Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

С какого языка программирования лучше начинать учиться программированию?

Встречал мнение, что лучше начинать не с Python, а с чего-нибудь вроде Pascal. Как вы считаете?

ОбразованиеПрограммирование+3
Давид Кац
  ·   · 20,1 K
Образовательная платформа Хекслет  · 19 нояб 2021  · ru.hexlet.io
Подобные вопросы "какой ЯП изучать первым" достаточно популярный.
Рекомендую к просмотру видео
Язык для новичка вторичен. Единственная его задача - не учить плохому и не мешать учиться. У новичка, изучающего программирование, сложности возникают во всём и в первую очередь в алгоритмическом решении. Например возникает задача что-то посчитать, то человек, который знаёт основы языка говорит "я не знаю, как подступиться к задаче", такое нередко случается, довольно часто. Для того, чтобы понимать, как подходить к задаче, как производить вычисления, Как пошагово двигаться, как составлять алгоритм пошагово это целая история, это нельзя выучить.
Т.е. невозможно просто прочитать и выучить синтаксис и всё получится. Можно сравнить это с решением иностранного языка. Если выучите слова, то не сможете составлять преложение. В большинстве своём новички не отдают себе отчёт, что базовые конструкции языков идентичные. Они иногда различаются, но концепции +- одинаковые. В конечном итоге получаем некое решение в виде вычислений, которые что-то делают последовательно. К таким конструкциям относятся переменные, константы, условные конструкции, которые включают небольшое знание булевой алгебры. Функции, циклы, рекурсии. И по большому счету это все. Это ядро, которому нужно научиться. Это есть вообще в любом языке.
Первично понять эти вещи и двигаться дальше. Настоящее изучение языка происходит после этой истории. И тема после которой можно двигаться дальше это работа с коллекциями и агрегатными функциями. Например у вас есть текст и вам нужно посчитать, сколько раз встречается каждое слово. Если вы не можете сейчас решить задачу без специфики языка, то нужно просто научиться мыслить алгоритмически, суметь воспроизвести задачу в псевдокоде, а потом в конкретном коде. После того, как вы научились работать с коллекциями, вы можете идти дальше. На каком языке лучше это делать? Есть две стратегии
  1. Нужно устроиться как можно быстрее, нет времени на раскачку - нужно сменить работу. ограничены средства. Тогда имеет смысл просмотреть вакансии в регионе, посмотреть самые популярные языки. В последние года стандартный расклад в регионах по языкам - PHP/Java, Javascript. Самые массовые языки. Javascript почти везде идёт вторым языком. Java - аутсорсинг (заказная разработка). Есть как правило в каждом городе и компании достаточно крупные. PHP - веб-студии, заказная разработка, сайты. Вероятно самый простой способ войти в разработку (другой вопрос про уровень разработки).
  2. При изучении конкретного языка вы не можете избежать ограничений данного языка на те концепции, которые есть в программировании. Это строительные блоки, подходы, которые есть в программировании, с помощью которых решаются задачи. Язык - это конкретный способ выразить ваш алгоритм. Как конкретно вы собираетесь перевернуть строчку. И ни один из них не связан ни с одним языком. Но когда вы реализуете задачу, вы используете язык, его подходы (они могут кардинально отличаться). Возникает вопрос, какой язык лучше выбрать? некоторые языки могут вам мешать, требовать дополнительных знаний, которые требуются для реализации но для концепций не важны. К таким языкам относятся чаще статические языки, типа Java, C#. Как первый язык возможно не стоит их использовать. Процесс обучения стоит строить на другом языке. Например у Java серьезный порог входа. Например на JS задача переворота строки делается в 3-4 строки, то в Java будет огромное количество особенностей и подходов для работы самого языка. Это не то, что помогает новичку учиться. Для обучения стоит использовать динамический язык, который не отвлекает от сути.
Когда программисты изучают программирование, то не могут отделить концепцию от реализации языка, начинают думать, что концепция именно такая, как в языке. Но как только они встречаются с этим в другом языке, то у них происходит переосмысление. Каждый язык содержит ограничения ,которые могут скрывать или искажать программисткую реальность. Не считайте, что первый язык программирования это на чём вы потом будете писать код. Наоборот, если вы знаете два языка программирования, умете решать простые задачи, работать с коллекциями. В таком случае понимание концепции у вас будет более широкое и вы будете отделять четко само программирование от конкретного языка и тех способов, Которые реализуются в конкретном языке. Изучать второй язык сразу не стоит, но когда вы будете решать простые задачки, вы можете уже пробовать второй язык.
Перечисленные выше языки они больше про прикладную разработку (туда например ещё входят Python, Ruby). Если у вас есть время, желание действительно разобраться, то приглядитесь к семейству языков Lisp (Common Lisp, Racket, Scheme). Эти языки кардинально отличаются от перечисленных языков. На практике они редко используются, но это языки, у которых "отсутствует синтаксис". Они оказывают минимальное влияние на концепции программирования. В Lisp маленькое ядро, но оно хорошо комбинируется, то получается, что можно породить огромное количество разных вещей, используя базовые конструкции. Поэтому Lisp с точки зрения правильного мышления очень хороший язык.
Помогаем новичкам освоить профессию веб-разработчикаПерейти на ru.hexlet.io/webinars
это точно, во всех языках есть общее, к примеру, возвращаемое значение, о чем вы и сказали.
Веб-разработчик, геймер, специалист по этике  · 3 авг 2021
Этот вопрос основан на популярном заблуждении, что в разработке программного обеспечения решающее значение имеет выбранный язык программирования. Реальность же такова, что решающее значение имеет предметная область, в которой... Читать далее
10 экспертов согласны

Всё верно, программирование решает реальные задачи бизнеса, а не просто в вакууме существует.

Меня зовут Тимур, я работаю в области образования...  · 30 июн 2021
Очень хороший вопрос, это зависит от возраста и заинтересованности ребёнка! Если говорить про начало-"нулевой уровень" и возраст около 7-10 лет, то подойдут любые графические редакторы с элементами блочного программирования... Читать далее
1 эксперт согласен

Ребенок пробовал и Scratch и Minecraft. Наверно, это не вина редакторов, но интерес со временем пропал.

Привет, на связи Татьяна из HTML Academy! Я знаю...  · 21 июл 2021  · htmlacademy.ru
На старте бывает непонятно, какой язык программирования выбрать первым. На самом деле, нет идеального языка, который раз и навсегда определит вашу карьеру. Освоить новый язык программирования — всё равно что выучить ещё один... Читать далее
Знакомство с вёрсткой, JavaScript и PHP — бесплатные тренажёры 🎮Перейти на htmlacademy.ru/courses/intro-to-web-development
1 эксперт согласен
Невозможно на старте выбрать направление! :) Тогда бы специализация начиналась ещё в детском саду (помнится... Читать дальше
html-верстальщик, математик-программист, инженер-о...  · 30 сент 2021
Начинать нужно, в первую очередь, с довольно скучной дисциплины "Основы алгоритмизации и программирования", там объяснят необходимые азы: типы данных и их преобразования, логические операторы, условия/ветвления, циклы, функции... Читать далее
1 эксперт согласен
Кстати, есть ещё такая замечательная УЧЕБНАЯ штука как MS Small Basic. Школьники от него в восторге (особенно после удава...)
Интересующие темы: история математики, история хри...  · 30 сент 2021
Общий ответ был бы Python и C++, но этот общий ответ неправильный, так как: 1. Как говорил один мой коллега, "не учите синтаксис, учите математику!" Т.е., сначала, собственно, математический бэкграунд (простите) как таковой и... Читать далее
Увлекаюсь естественными науками и математикой...  · 26 июн 2021
Программировать нужно начинать с изучения самого программирования, а вовсе не с языка. Что касается языка для обучения азам программирования, то по-моему здесь очень важны возраст и склад ума. Тем, кто входят в программирование... Читать далее
1 эксперт не согласен
Очень хороший вопрос, это зависит от возраста и заинтересованности ребёнка! Если говорить про начало-"нулевой... Читать дальше
Специалист в области управления и информатики в...  · 8 дек 2021
Довольно сложный вопрос. В современном контексте все зависит от возраста начинающего и его подготовки. Если речь о детях (до 14 лет), то тут можно начать с языка Scratch. По нему сейчас много различных курсов и школ. Как первый... Читать далее
Вы забыли рассказать о совместимости языковых сред и об uses  модулей.  И странно, что вы не сказали о разработке... Читать дальше
Openstack DevOps and IBM/Informix Certified DBA...  · 26 июн 2021
Ключевой вопрос - Ваш возраст ? 1. Вам 16 и впереди КЕГЭ стандарт 2021 2. Вы старше 17 и учитетесь в Техническом Универcитете. 3. Вы имеете Высшее образование и старше 22-23. 4. Вы старше 22-23 образование средне техническое. Т... Читать далее
Учебный центр информационных технологий. Компьютер...  · 19 авг 2021  · infa-education.ru
Отвечает
АБ
Начните с простейшего языка программирования Microsoft Small Basic. Он гораздо новее и проще, чем Python или Pascal. Этот язык программирования гораздо удобнее и легче. Вот сайт с описанием и бесплатными учебными материалами... Читать далее
Microsoft Small Basic- Простейший язык программирования для начинающих.Перейти на small-basic.ru