2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 11:23 
Заслуженный участник


20/08/14
11063
Россия, Москва
upgrade в сообщении #1162121 писал(а):
Кстати когда то бейсик был встроен прямо в железо и вызывался прерыванием для работы.
Ну уж не в железо, максимум в BIOS (Int 18h), не более. Да и то это скорее исключение, распространения не получившее.

 Профиль  
                  
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 13:32 


11/12/14
893
arseniiv в сообщении #1161735 писал(а):
Расскажите, кто знает, о случаях заимствования каких-то идей из бейсика (оригинального) в языки, в названии которых слова basic (не как прилагательного) уже нет, в языки, довольно известные сегодня (не важно, недавно созданные или давно, известные из-за широты использования сейчас или просто считаемые исторически значимыми). Желательно, чтобы нельзя было приписать это заимствованию из другого языка.


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

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

 Профиль  
                  
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 13:48 
Заслуженный участник
Аватара пользователя


19/12/10
1546
aa_dav в сообщении #1162188 писал(а):
думаю сомнений мало вызывают чем синтаксис навеян...

Pascal?

 Профиль  
                  
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 14:10 


11/12/14
893
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 
Заслуженный участник


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

 Профиль  
                  
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 14:41 


10/04/12
704
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 
Аватара пользователя


27/02/12
3706

(Оффтоп)

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

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


18/06/12

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

(Оффтоп)

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

 Профиль  
                  
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 18:23 
Заслуженный участник


27/04/09
28128
upgrade

(Оффтоп)

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

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

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

 Профиль  
                  
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 20:16 


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


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

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

 Профиль  
                  
 
 Re: Влияние бейсика на языки программирования
Сообщение23.10.2016, 20:24 
Заслуженный участник


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

 Профиль  
                  
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 00:07 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Всё очень просто. Visual Basic больше похож на Algol etc, чем на Basic.

 Профиль  
                  
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 11:00 


11/12/14
893
А существовал ли вообще некий "каноничный" Basic?
Сколько помню - всегда диалекты.
Диалект Sinclair (причём двух видов), диалект MS, диалект Радио-РК и так далее.

 Профиль  
                  
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 11:23 


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

 Профиль  
                  
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 11:24 
Заслуженный участник
Аватара пользователя


19/12/10
1546
aa_dav в сообщении #1162480 писал(а):
А существовал ли вообще некий "каноничный" Basic?
Сколько помню - всегда диалекты.

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 43 ]  На страницу Пред.  1, 2, 3  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group