2014 dxdy logo

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

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




На страницу Пред.  1, 2, 3
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 11:31 
Аватара пользователя
upgrade в сообщении #1162489 писал(а):
Можете эксперимент провести - определить "порог вхождения" для бейсика и для любого другого языка. У бейсика самый низкий. Это азбука программирования по сути. Очень высокая адаптация под мышление среднего европейского человека (не знаю как с китайцами) - это именно прерогатива бейсика. Можно написать простейшую программу непрограммисту, яснее синтаксиса нет. Мануалы понимаются большинством сходу. В паскале это невозможно, в си это невозможно, и вообще ни в каком другом языке это невозможно.
Есть ссылки на уже проведенные эксперименты? Известные мне примеры либо одинаково хорошо усваивали бейсик и паскаль, либо одинаково не усваивали. Но для статистики их маловато.

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 11:48 
Xaositect в сообщении #1162495 писал(а):
upgrade в сообщении #1162489 писал(а):
Можете эксперимент провести - определить "порог вхождения" для бейсика и для любого другого языка. У бейсика самый низкий. Это азбука программирования по сути. Очень высокая адаптация под мышление среднего европейского человека (не знаю как с китайцами) - это именно прерогатива бейсика. Можно написать простейшую программу непрограммисту, яснее синтаксиса нет. Мануалы понимаются большинством сходу. В паскале это невозможно, в си это невозможно, и вообще ни в каком другом языке это невозможно.
Есть ссылки на уже проведенные эксперименты? Известные мне примеры либо одинаково хорошо усваивали бейсик и паскаль, либо одинаково не усваивали. Но для статистики их маловато.

Студенты - возможно. Я говорю о среднестатистическом жителе планеты Земля, ну, в крайнем случае России. Бейсик не требователен к программисту вообще. Можно написать
Код:
x=2
y=3
z=x+y
?z

и оно заработает.
На паскале запуск такой программы потребует как минимум знания того, что у переменных бывают типы

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 12:04 
upgrade в сообщении #1162507 писал(а):
Бейсик не требователен к программисту вообще.
Что-то пошла путаница. Сначала кто-то говорит что-то про Visual Basic, ему отвечают с примерами из просто Basic. Что ж, продолжу в том же духе. По моим наблюдениям, Visual Basic довольно требователен к программисту. Именно, он требует, чтобы программист был не слишком высокого уровня. Знакомые мне неплохие программисты от VB плюются и с большим трудом запоминают его адски нагромождённые конструкции. Не вызывает серьёзных проблем он только у тех, кто когда-то был вынужден его использовать как основной язык программирования. Но при этом судя по некоторым другим данным, многим так-себе-программистам он действительно проще.

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 12:13 
warlock66613 в сообщении #1162512 писал(а):
Знакомые мне неплохие программисты
Все правильно. И я об этом. Когда начинается специализация берут специальные инструменты. Когда надо просто забить гвоздь большинство берет молоток и забивает, не заморачиваясь квантовой механикой процесса забивания гвоздя.

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 13:04 
whitefox в сообщении #1162491 писал(а):
Оригинальный BASIC
уж точно не был диалектом, по определению.


А, ну кстати, оттуда же можно выйти на общую картину.
Многочисленные диалекты бейсика можно поделить на 3 поколения, в каждом из которых сильно трепались основы и ломалась совместимость (при том что совместимость и в одном поколении часто ломалась на раз).
Первое поколение - "неструктурированный бейсик". В его основу легла пятая версия Dartmouth Basic. Нумерация строк, GOSUB, строковые переменные через доллар.
Второе поколение - "структурированный бейсик". Если вратце, то DECLARE SUB и IF ... THEN ... END IF во все поля. Типичный представитель - Quick Basic.
Третье поколение - "объектно-ориентированный бейсик", второе поколение + объекты. Типичный представитель - Visual Basic.

Вот 1С как и VBA заимствует где то между вторым и третьим поколением.

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 17:56 
aa_dav, да, неплохая классификация. Интересно заодно, о каком же из поколений говорит upgrade. Он так до сих пор точно и не сказал, хотя этот вопрос у меня в оффтопе и упоминался. Хотя я и не в восторге от захвата темы. Но так как исходный вопрос, кажется, уже почти ясен, лично мне по барабану, будет отделение или всё останется здесь. Я только хочу напомнить upgrade, что языки программирования не все влезают в аффинную оболочку паскаля, C и бейсиков. Включая документацию и поддержку.

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 18:11 
arseniiv в сообщении #1162589 писал(а):
Интересно заодно, о каком же из поколений говорит upgrade.

О самых что ни на есть первых (QB, TB, B и т.п.). Современные языки явно двигаются в сторону снижения порога вхождения и применения - они все пытаются в этом смысле быть бейсиками. Объекто-ориентированность - развитие этого подхода, хотя он явно и не обозначен нигде. "Надо, чтобы дистанция между созданием сложных штук и среднестатистическим индивидуумом конкретной социальной группы не росла так быстро, иначе их просто некому будет делать (количество и частота появления гениев эволюцию не устраивают - их слишком мало и слишком редко, а время то идет)"

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 18:31 
upgrade в сообщении #1162594 писал(а):
они все пытаются в этом смысле быть бейсиками
Напоминает высказывания нашей учительницы литературы «в каждом из нас есть Обломов». Почто такая персонификация?

Количество необоснованных утверждений всё растёт.

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 18:50 
Чтобы нажималась и обрабатывалась "кнопка" в языках до "визуал" эпохи, надо писать много много строк. Теперь программистом просто мышкой рисуется квадратик и по нажатию выбирается процедура обработки. Это упрощение. У бейсика точно такая же была задача - наиболее быстро и просто получить результат. Встроенный бейсик для того и встраивался в биос, чтобы заставить работать машину максимально просто - ввел строчку на понятном языке, ентер нажал получил результат. Альтернатива - побайтный ввод данных с клавиатуры с последующей расшифровкой побайтных же результатов.
Если вы видите влияние бейсика исключительно в распространении и модификации синтаксиса бейсика, то такого влияния, естественно нет, ибо синтаксис следует за задачами, а не впереди них. Надо цикл организовать - применяется конструкция "начало/конец + условие выхода" в бейсике это фор условие некст, в другом языке другие элементы управления. Какое именно влияние вы хотите увидеть - чтобы везде применялся именно фор некст?

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение24.10.2016, 18:59 
upgrade в сообщении #1162611 писал(а):
Теперь программистом просто мышкой рисуется квадратик и по нажатию выбирается процедура обработки. Это упрощение.
Вообще-то, иногда это усложнение. Когда надо генерировать много похожих UI, от всех конкретных видов которых можно абстрагироваться, просто лепление контролов на формочку разве что позволит разобрать пример.

upgrade в сообщении #1162611 писал(а):
Это упрощение. У бейсика точно такая же была задача - наиболее быстро и просто получить результат.
Это не прерогатива бейсика. Суть языка полностью не может определяться одной такой абстрактной идеей. Даже взяв манифест Python’а и создав язык, по-вашему отвечающий его требованиям, вы получите, скорее всего, что-то довольно отличающееся. Так что нельзя называть какую-то общую идею («чтобы было просто и быстро» — да при желании это можно натянуть на что угодно!) собственностью одного языка, и что она вошла в мир языков программирования только вместе с ним.

upgrade в сообщении #1162611 писал(а):
Какое именно влияние вы хотите увидеть - чтобы везде применялся именно фор некст?
Пока вы собирались, я уже всё выяснил. Можете почитать посты остальных участников, чтобы составить впечатление, как и что. :mrgreen:

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

Как бы это ни называть, Visual Basic - уже ни в каком смысле не диалект Basic, это новый язык.

upgrade в сообщении #1162489 писал(а):
Можете эксперимент провести - определить "порог вхождения" для бейсика и для любого другого языка. У бейсика самый низкий. Это азбука программирования по сути... Можно написать простейшую программу непрограммисту, яснее синтаксиса нет. Мануалы понимаются большинством сходу. В паскале это невозможно, в си это невозможно, и вообще ни в каком другом языке это невозможно.

Вопрос спорный, существуют и другие языки, подходящие под это описание: Scratch, Logo, Python, PHP, Squeak, Lua и так далее.

-- 24.10.2016 20:35:01 --

aa_dav в сообщении #1162526 писал(а):
Второе поколение - "структурированный бейсик". Если вратце, то DECLARE SUB и IF ... THEN ... END IF во все поля. Типичный представитель - Quick Basic.

Ах да, был же ещё Quick Basic, который уже ни в каком смысле не являлся бейсиком! (Бейсиком является только то, что у вас названо "первым поколением".)

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение25.10.2016, 05:40 
Munin в сообщении #1162652 писал(а):
Ах да, был же ещё Quick Basic, который уже ни в каком смысле не являлся бейсиком!


И не он единственный, более того, забавно, но к этому поколению относится так же реализация с название True Basic.
P.S.
Вообще надо еще не забывать, что обратная совместимость всё таки была.
В тот же Quick Basic можно было загнать программу из неструктурированного бейсика и если в ней не применялись какие либо странности какого либо диалекта, то оно бы заработало.
Т.е. можно было в начале строки написать число (и далее писать по нарастающей, хотя можно делать пропуски) и будут нумерованные строки, на которые можно переходить по GOTO и GOSUB.
Если написать IF ... THEN ... на одной строке, то это будет IF ... THEN ... именно из неструктурированного бейсика - т.е. не будет ожидать END IF, а ветка закончится в то же строке. Для END IF нужен перевод строки сразу после THEN.
Просто NEXT работает, но от NEXT i ему тоже не поплохеет.
И т.п. и т.д. Даже не знаю способен ли такое переваривать Visual Basic, скорее всего нет, но точно помню что Quick Basic еще мог.

 
 
 
 Re: Влияние бейсика на языки программирования
Сообщение27.10.2016, 14:27 
Аватара пользователя
В Visual Basic классический Бейсик играл роль топора в солдатском супе. То есть точно был, но навару от него немного...

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


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