Комментарии 8
Для знакомства с программированием: не имеет никакого значения компилируемый язык или интерпретируемый. Важно, что бы при самостоятельном изучении, на человека не вываливались всякие «побочные эффекты» операций, шаблоны, ООП. Поэтому Си, Функциональщина и другие «взрослые языки» не особо подходят, важно, что бы сложность алгоритма кореллировала со сложностью программы. Языки, в которых прямая реализация, например, сортировки — бесполезна, в виду медлительности, а гвозди забивают микроскопом, просто потому что такая функция есть — тоже не подходят (это как раз про фразу «с искалеченным Бейсиком мозгом», хотя Бейсик на современных машинах уже не так себя ведёт, зато Питон у нас в опросе — лидер). В теории, получается, что ассемблер, для какого-нибудь простого процессора, z80 или Risc-V будет хорошим вариантом (все инструкции могут уместиться на паре листов, циклы, структуры данных приближенные к железу), но проблема в том, что помимо всего прочего, обучающийся ещё должен видеть результаты своего труда, в ярко представленном виде, а не числами в регистрах… По факту, я думаю, что нет ни одного языка удовлетворяющего всем факторам, я бы посоветвал: Начать с ассемблера, одновременно накидывать диалоговые окошки с салютами в каком-нибудь Дельфи или другом языке с развитым визуальным программированием и дозированно изучать SQL, что бы иметь представление о декларативных вещах. И уже после того, как человек начнёт хоть какие-то минимальные программы на всём этом писать, тут же начинать выбирать язык для работы и все усилия направлять только на него и уже не важно Си++, С#, Java или 1С, если же работа ещё не будет интересовать, то выбрать какой-нибудь промежуточный язык со строгой типизацией типа того же Дельфи и что-нибудь динамическое из Web, но долго на них не задерживаться.
Не голосовал и вот почему:
Для какого возраста предлагаем первый язык для изучения? Для дошкольников, для школьников разных возрастов, первокурсников и взрослых людей рекомендации могут быть радикально разными. Вряд ли мы будем обучать пятилетку Haskell, а аналитика данных Scratch.
Какова цель изучения программирования? Нужно побыстрому освоить полезный инструмент в какой-то области? Или мы хотим учить новичков-первокурсников и рассмотреть с ними важные концепции, так сказать поставит правильно мозги? Или мы ведём кружок для детей, и надо чтобы было увлекательно и не сложно?
В списке языков нет: Assembler, Haskell, Standard ML, Scratch, Scheme, Common Lisp, Emacs Lisp, Shell, Rust.
Если бы C был указан отдельно от C++...
Согласен с Вами. На выбор языка влияет большое число факторов, и самих языков очень много. Но каждый каким-то образом формирует свое мнение о важности или пользе изучения языка программирования, и это мнение может (или не может) высказать в этом опросе. Было время когда все начинали с Бейсика и на тот момент вопросов об этом не возникало, т.к. вариантов практически не было. Сейчас же ситуация гораздо сложнее.
Моим первым языком как-раз был Basic для DOS, тот самый с нумерцией строк. Но в реальности у преподавателей выбор был шире: Turbo Pascal, Torbo C. Нас даже после обучали языку dDase...
Если вернуться к опросу, то мой посыл не в разнообразии всё же языков, а в том, что вне контекста результат опроса сферичен.
Когда был помоложе и студентом, тыкали пальцем на кафедру, где еще преподавали Паскаль, издавая громкий гогот. Мы не понимали, как в техническом ВУЗе еще существует кафедра, преподающая Паскаль?! Шел 2005г... И это был региональный ВУЗ. Категорически в списках нельзя вообще упоминать Паскаль, а преподавать Паскаль в 2021(23)гг - это кринж.
Первый язык учит думать. Лучше всего учить думать помогает изучение алгоритмов. А теперь открываем рейтинги на любом сайте, посвященном алгоритмике и видим сплошь С/С++. В большинстве ВУЗов этот язык является базой и неспроста.
Какие бывают языки программирования?