Как стать автором
Обновить

Комментарии 31

А ещё BASIC был создан для обучению Фортрану, и выглядит как упрощённый Фортран (и по сути таковым и являлся). А вместо IDE имел интерпретарор работавший с командной строки, что облегчало обучение, так как у Фотрана был компилятор работавший с командной же строки.

PS Помню как я сам учил Бейсик, и как знание Бейсика мне помогло быстро освоить Фортран, в котором очень многое было уже знакомым из Бейсика.
ПМСМ, это очень спорное утверждение. Если взять синтаксис классического Бейсика, он мало похож на Фортран.
Например, сравните конструкцию «обход»:
IF (ABC.EQ.3) GO TO 555
и
IF ABC = 3 THEN GOTO 555

Цикл со счетчиком:
DO 555 I=1,10,1 (не помню точный порядок параметров, уж извините)
555…

и

FOR i = 1 TO 10

NEXT i

Вывод текста на экран:

OPEN(UNIT=5, FILE='CON'....)
WRITE(5, 555)'Hello world'
555 FORMAT(.....)

и

PRINT «Hello world»

Есть, разумеется, какие-то общие моменты, но они повсюду примерно такие.
Сходств и общих моментов между Бейсиком и Фортраном всё-таки больше чем с Паскалем или Алголом…
Паскаль — более поздный язык, тут даже сравнивать нечего.

Сходств и общих моментов между Бейсиком и Фортраном

Какие-то есть, да. Например, счетчик с циклом с произвольным шагом типа
FOR i = 1 TO 10 STEP 0.001

Но в общем и целом мне они схожими не кажутся.

П.С. изучал сначала Фортран, потом Бейсик, какое-то время параллельно.
Я лично с Бейсика на Фортран перешёл за пару дней, так как многое мне было уже знакомым. Для сравнения — Паскаль я изучал намного дольше.
Не вижу ни одной объективной причины для этого. Разумеется, если мы ограничимся только теми конструкциями, которые есть в Ф. и Б., иначе смысл сравнения теряется — естественно, больший объем будет изучаться дольше.
Для быстрого старта — сходств хватает. А дальше, естественно, нужно учит углублённо.

Это как зная С можно быстро начать использовать C++, но полное использование возможностей языка требует глубокого обучения.
Все равно не вижу разительных отличий Паскаля. Напротив, я бы сказал, что концептуально Паскаль больше похож на Фортран, если не брать некоторые отдельные конструкции, появившиеся как концепции позже.
Например, представим, что пишем что-то простое, какой-то модуль, смотрим, что используем.

В Фортране и Паскале модули есть, в Бейсике (классическом) — нет.
В Фортране и Паскале есть User defined функции и подпрограммы, в Бейсике — нет (GOSUB по метке не в счет, это эрзац и ничего похожего нет ни в П. ни в Ф)
В Фортране и Паскале надо объявлять переменные заранее, «вверху», в Бейсике нет объявление, все по первому использованию.
Вывод и ввод в Фортране не похож ни на что. Вывод в переменную с форматированием — только на sprintf из C.
Цикл со счетчиком похож у Бейсика и Паскаля, но не у Бейсика и Фортрана.
Обращение со встроенными строками похоже у всех трех, но доступ к подстрокам у Фортрана свой, не похожий ни на что.

Серьезно, я не вижу сходств, которые позволяли бы быстро пересесть с Фортрана на Бейсик/наоборот, но не на Паскаль.
Покажите мне хоть одну-две конструкции.
Зная Бейсик и выучив те различия, что Вы указали в посте https://habrahabr.ru/post/309914/?utm_source=tm_megamozg&utm_medium=tm_block&utm_campaign=tm_promo#comment_9804544 — уже можно написать на Фортране относительно сносно работающую программу.
А вот в случае Паскаля учить придётся больше и дольше, то есть сходу так быстро не напишешь.
Это не так.
Покажите мне хоть одну-две конструкции.
Я с книгой по Fortran-77 в качестве справочника и зная Бейсик написать рабочую программу на Фортране (не HelloWorld!) смог написать в тот же самый день.
А вот чтобы написать что-то рабочее на Паскеле мне пришлось сначала прочитать всю книгу.
Вы описываете свой опыт, весьма субъективный. Я прошу конкретные конструкции, для интереса, не срача ради.
Я писал на Ф., потом перешел на Бейсик, потом на Паскаль и сейчас работаю на Дельфи. Поэтому все три языка — «мои». И я не могу понять, что потребовалось изучать в Паскале, прочитав всю книгу, если вы уже умели писать на Фортране.

Я могу сейчас составить три короткие программы на этих языках и показать наглядно, почему ваша точка зрения мне кажется странной и неправдоподобной.
Другой синтаксис: ни в Бейсике ни в Фортране — нет begin и end, нет точки с запятой, присвоение в Бейсике и Фортране — одинаковое, и так далее. Если сравнить то языки — очень похожи, и оба отличаются от Паскаля.
Да нет же. В собщении https://habrahabr.ru/post/309914/#comment_9807566 я приводил сравнение ряда параметров, Паскаль по ряду параметров больше похож на Ф и на Б, чем те два между собой.

Согласитесь, такие вещи, как «нет точки с запятой», «присвоение — = а не :=», необходимость расставления блоков и вне цикла — это не то, из-за чего сложно изучить язык настолько, что это займет 2 недели и чтение литературы, вместо прямого перехода со справочником в руках.

Я чуть позже все-таки приведу пример какой-нибудь простой программы на этих трех языках, чтобы было яснее.
И в Бэйсике и в Фортране подпрограммы называются SUBROUTINE
— в Паскале это Procedure
Оператор PRINT имеется и в Бэйсике и в Фортране
— в Паскале это такого оператора нет
… и так далее => программу на Бэйсике достаточно лишь немного подправить чтобы она смогла откомпилироваться на Фортране, а вот для Паскаля придётся практически всё переписывать.
И в Бэйсике и в Фортране подпрограммы называются SUBROUTINE

Вот только незадача: да, есть такие диалекты Бейсика, где подпрограммы называются SUB, например, тот же Quick Basic. Однако, ветка началась с вашего высказывания о том, что-де Бейсик создан для обучения Фортрану и очень на него похож. Однако ж в том Бейсике, и в большинстве более поздних диалектов такого конструкта как «подпрограмма» нет вообще. Точнее, нет в привычном нам понимании. Есть только блок кода с метками, который вызывается GOSUB, почти как GOTO, с доступом ко всем переменным, без разграничения области видимости. Как в машинном коде. Например:

940 GOTO 1000
950 LET a = 3


990 RETURN
1000 FOR i = 1 to 10
1010 GOSUB 950
1020 NEXT i

В то время как и в Ф. и в П. есть привычные нам подпрограммы, пусть они и обозначаются разными ключевыми словами.

Согласитесь, приведенное мною отличие намного важнее разницы в ключевых словах.

Оператор PRINT имеется и в Бэйсике и в Фортране

Есть, но делает он несколько иное. Это тот же вывод «в устройство». Не каждый диалект Фортрана разрешит вам использовать PRINT с произвольным форматом и выводом «по умолчанию».
write Паскаля много ближе Бейсиковскому PRINT'у — здесь отличие по факту только в скобках и названии оператора.

… и так далее => программу на Бэйсике достаточно лишь немного подправить чтобы она смогла откомпилироваться на Фортране, а вот для Паскаля придётся практически всё переписывать.

Это разница в названии операторов и синтаксисе. Это мелочь, поймите — концептуальная разница где-то меньше между П и Ф, где-то между П и Б. Но практически везде велика между Ф и Б.
Я все же напишу примеры как-нибудь, надо настроить среды для Ф и Б.
Ах да, в том Фортране, который был во времена разработки Бейсика, не было PRINT'а.
Я писал на хардкорном Бейсике без IDE в коммандной строке под ДОС/РВ (выглядел как гибрид Доса с Юниксом). А Quick-Basic я увидел уже после Фортрана, и кажется после Паскаля.
GOSUB — не встречал
А еще были такие уникальные ЭВМ как М-220, СПЭМ и ВЕСНА. И на них тоже работал Фортран-Алмо.
А в книге

Орлов, В.Н.
Комплексирование программ в ОС ЕС
Издательство: М.: Финансы и статистика
Переплет: мягкий; 133 страниц; 1986 г.

были такие разделы про ФОРТРАН:

Связь ПЛ/1 — Фортран
Связь Фортран — ПЛ/1
Связь Фортран — Ассемблер
Связь Ассемблер — Фортран

Эх, старые и добрые друзья ФОРТРАН и ПЛ/1
А ведь книжки-то юбилей, 30-лет!
FORTRAN — первый язык, который я освоил, и которому многим обязан. Уже потом были ассемблер PDP-11, PASCAL, MODULA-2, C/C++, Perl, немного Java…

Спасибо за статью. Вот только зацепило предложение: «Были разработаны компиляторы (трансляторы) для большинства отечественных ЭВМ –… ЕС ЭВМ, СМ ЭВМ...»

Неплохо было бы уточнить, что ЕС — это как бы IBM System/360/370, а СМ — DEC PDP-11 (из серии СМ-3/4/1420). То есть, компиляторы, как и ОСи для этих клонов, в СССР не разрабатывались, а скорее, адаптировались…
С приходом ЕС ЭВМ разработка компиляторов да и проектирование новых ЭВМ, не в смысле производства (один ряд ЕС ЭВМ от ЕС-1007 до ЕС-1066 чего стоит), практически прекратился. И СССР в след за IBM прозевал наступление Эры персональных ЭВМ. А до ЕС ЭВМ и СМ все компиляторы были отечественной разработки. Чего один Фортран-Алмо стоит. Так и хочется упонянуть об обратной польской записи — неоьъемлемой части Алмо.
А оптимизирующий Фортран для БЭСМ-6?
Да, БЭСМ-6 была отечественной разработкой (тогда и понятия такого не было как импортозамещение) и ней много чего было и диски от ЕС ЭВМ, а посути от IBM
Присобачить можно много чего — мы лентопротяжки от ЕС к СМ подключали, чтобы с большими лентами работать. Это сути не меняет, БЭСМ — наша машина, с очень интересными решениями. Например, вирутальная память, своп.
Она и дольше всех работала, чуть ли не сейчас еще!
Последняя отключена в 1994 если верить интеренту.
Ну это уже позже — пишут, что изначально к ней стыковались родные магнитные барабаны.
И лентопротяжки своего формата. Принтеры тоже необычные, без буферизации.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации