2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3  След.
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 11:23 
upgrade в сообщении #1162121 писал(а):
Кстати когда то бейсик был встроен прямо в железо и вызывался прерыванием для работы.
Ну уж не в железо, максимум в BIOS (Int 18h), не более. Да и то это скорее исключение, распространения не получившее.

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 13:32 
arseniiv в сообщении #1161735 писал(а):
Расскажите, кто знает, о случаях заимствования каких-то идей из бейсика (оригинального) в языки, в названии которых слова basic (не как прилагательного) уже нет, в языки, довольно известные сегодня (не важно, недавно созданные или давно, известные из-за широты использования сейчас или просто считаемые исторически значимыми). Желательно, чтобы нельзя было приписать это заимствованию из другого языка.


Язык программирования 1С, как 7.7 так и 8.x просто дышит тем, что это русифицированное переосмысление Visual Basic или даже VBA из MS Access.
Это не тот, конечно, Basic, который был в 80-х, но
Код:
Функция ЧтоТоСЧемТо( А, Б )
  Перем В;
  Если А = Б Тогда
     ...
  КонецЕсли;
  Для А = 1 По 10 Цикл
     ...
  КонецЦикла;
КонецФункции

думаю сомнений мало вызывают чем синтаксис навеян...

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 13:48 
Аватара пользователя
aa_dav в сообщении #1162188 писал(а):
думаю сомнений мало вызывают чем синтаксис навеян...

Pascal?

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 14:10 
whitefox в сообщении #1162199 писал(а):
aa_dav в сообщении #1162188 писал(а):
думаю сомнений мало вызывают чем синтаксис навеян...

Pascal?


Ни в коем разе. Земля и небо. В паскале begin/end унифицированы и употребляются в любых видах блоков.
В бейсике же для каждого begin существует свой end:
Код:
If A = B Then
End If
Sub A()
End Sub

в 1С пробел убрали, но в остальном то же самое:
Код:
Если А = Б Тогда
КонецЕсли;
Процедура А()
КонецПроцедуры
Функция Б()
КонецФункции
Пока ... Цикл
КонецЦикла;

ну и еще несколько типичных моментов: передача параметров по умолчанию происходит по ссылке, в строках " "" " - экранирование ", регистр неважен, логического типа нет, поэтому никак не может быть валидно выражение Если А Тогда (только для 7.7), всегда должны быть операторы сравнения.
Но есть и заимствования заметные из классики компиляции - точки-с-запятой везде, массив индексируется через квадратные скобки, вызов процедуры должен заканчиваться пустыми круглыми.

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 14:14 
aa_dav в сообщении #1162188 писал(а):
думаю сомнений мало вызывают чем синтаксис навеян...
Чем угодно. Это может быть тот же Алгол-60 (практически дословный перевод), это может быть Фортран (с поправкой на отсутствие замены слова "Цикл"), что-то подобное было в PL/1... в общем, вариантов море.

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 14:41 
Munin в сообщении #1161754 писал(а):
Впрочем, в голову приходит единственная, и возможно, ценная вещь. Когда к каждой переменной приписывается префикс в виде специального значка, указывающий на её тип. Вроде, это есть в Perl и PHP.


В бейсике было два типа — числовой и строковый. Так вот, суффикс был у строковых переменных. В PHP ситуация другая, там знак доллара обозначает непосредственно переменную, и заимствование шло скорее из шеловских скриптов (перед выполнением команды заменяем все переменные (знак доллара) на значения, потом выполняем. Да, в Perl три базовых типа, и знак перед переменной указывает на этот тип. Но вот сказать, повлиял на это shell или Basix сложно.

-- 23.10.2016, 13:52 --

whitefox в сообщении #1161876 писал(а):
В каком-то скриптовом языке (не могу вспомнить в каком, видимо, он не соответствует критерию известности) встречал ключевое слово LET (речь ведь об оригинальном BASIC).


В Basic LET это оператор присваивания. Например,

Используется синтаксис Visual Basic
10 LET A = 1
20 IF A > 10 THEN 50
30 LET A = A + 8
40 GOTO 20
50 PRINT A


Чисто такой семантики в языках программирования нет. В Rust let это объявление переменной, в Хаскеле это вообще вложенный набор связываний...

-- 23.10.2016, 13:57 --

Мне кажеться, что BASIC был изначально заточен под интерактивный ввод программы, в этом состоит его основная фишка. Поэтому все системы, где ввод программы выполняется пооператорно, каждая строка проверяется и добавляется на лету после ввода. Соответственно, все подобного рода системы, где код собирается из кубиков, часто мышкой, можно считать наследниками BASIC. Вот только не знаю, заимствовано ли это из Fortran или нет...

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 15:23 
Аватара пользователя

(Оффтоп)

Нынешнее состояние языков программирования - это уже "вавилонское смешение" или где?

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 18:08 
Аватара пользователя
warlock66613 в сообщении #1161880 писал(а):
Не знаю, где вы встречали, но в JavaScript такое ключевое слово есть. Также оно используется в Rust
whitefox в сообщении #1161881 писал(а):
Это был какой-то скриптовый язык, но точно не JavaScript.
В JS такое слово есть (начиная с es6/es2015), и насколько мне известно, оно работает несколько похоже на Бейсиковский вариант, разве что не надо его каждый раз писать при переприсваивании значения.

(Оффтоп)

Хотя лично мне не хотелось бы, чтобы Джаваскриптовый let был аналогом let mut у Раста.

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 18:23 
upgrade

(Оффтоп)

Давайте не повышать энтропию насильственно, она и сама это умеет. Эта тема не о том, какой бейсик хороший, а о том, о чём написано в первом посте.

upgrade в сообщении #1162121 писал(а):
У бейсика самый короткий путь между "надо что то автоматизировать" до "наконец то хоть как то автоматизировалось". Поэтому VBA применяется массово непрограммистами при решении маленьких офисных задач.
На самом деле VB(A) уже достаточно далёк от ранних бейсиков. Кроме того, VBA применялся (не знаю, есть ли он ещё в современных версиях MS Office) просто потому что это был единственный скриптовый язык для MSO (если не говорить о VBS/JScript вместе с OLE, что в описываемых вами ситуациях обычно неудобнее). В OpenOffice тоже бейсикоподобный язык, один (был, когда я смотрел).

upgrade в сообщении #1162121 писал(а):
Интуитивно синтаксис понятен большинству людей.
Ой, давайте тут-то не разводить бред. Это не прерогатива одного бейсика (к тому же вы, видимо, имеете в виду не тот, который имеется в виду в теме), если «интуитивная понятность синтаксиса» вообще определена.

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 20:16 
Pphantom в сообщении #1162209 писал(а):
aa_dav в сообщении #1162188 писал(а):
думаю сомнений мало вызывают чем синтаксис навеян...
Чем угодно. Это может быть тот же Алгол-60 (практически дословный перевод), это может быть Фортран (с поправкой на отсутствие замены слова "Цикл"), что-то подобное было в PL/1... в общем, вариантов море.


Тогда нельзя ответить на вопрос топиккастера, ведь всегда найдётся язык похожий по произвольных деталям синтаксиса на что угодно.
Т.е. всегда вместо "basic" можно придумать "pascal". Не думая и не обращая внимания ни на что.

Это ли хотел топиккастер?

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 20:24 
Ну не совсем ужасно всё. Если рассматривать языки во времени и иметь в виду те причинные связи, которые известны, всё получается не так неоднозначно. В общем, даже если 1С калькирует исключительно из VBA, это, эм… весьма показательная характеристика следов бейсика в истории. :-)

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 00:07 
Аватара пользователя
Всё очень просто. Visual Basic больше похож на Algol etc, чем на Basic.

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 11:00 
А существовал ли вообще некий "каноничный" Basic?
Сколько помню - всегда диалекты.
Диалект Sinclair (причём двух видов), диалект MS, диалект Радио-РК и так далее.

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 11:23 
arseniiv в сообщении #1162289 писал(а):
Ой, давайте тут-то не разводить бред. Это не прерогатива одного бейсика (к тому же вы, видимо, имеете в виду не тот, который имеется в виду в теме), если «интуитивная понятность синтаксиса» вообще определена.
Можете эксперимент провести - определить "порог вхождения" для бейсика и для любого другого языка. У бейсика самый низкий. Это азбука программирования по сути. Очень высокая адаптация под мышление среднего европейского человека (не знаю как с китайцами) - это именно прерогатива бейсика. Можно написать простейшую программу непрограммисту, яснее синтаксиса нет. Мануалы понимаются большинством сходу. В паскале это невозможно, в си это невозможно, и вообще ни в каком другом языке это невозможно.

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 11:24 
Аватара пользователя
aa_dav в сообщении #1162480 писал(а):
А существовал ли вообще некий "каноничный" Basic?
Сколько помню - всегда диалекты.

Оригинальный BASIC уж точно не был диалектом, по определению.

 
 
 [ Сообщений: 43 ]  На страницу Пред.  1, 2, 3  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group