Приветствую вас в своём блоге, друзья! К сожалению, в последнее время навалилось много работы и занятий с учениками, поэтому в последних попытках подготовиться к ЕГЭ никак не удается стабильно выпускать статьи на канале. Летом постараюсь исправить ситуацию :)
Недавно мне стало интересно собрать небольшую статистику среди подписчиков канала Physics.Math.Code в telegram. Ядро аудитории канала составляют физики, математики, разработчики со стажем, учителя, научные работники и другие люди, интересующиеся Computer Science и точными науками. Поэтому для подходящей аудитории был создан подходящий опрос, ключевым вопросом которого было: «С какого языка начинать изучать программирование?»
К сожалению, опрос в telegram нельзя сделать на бесконечно много языков. Доступны были только 10 пунктов, поэтому я выбрал языки, которые, на мой субъективный взгляд, будут самыми популярными и у всех на слуху. Если туда не попал ваш язык, то прошу не обижаться.
В опросе на данный момент проголосовало около 3865 человек, поэтому, с учетом серьезного состава целевой аудитории, можно с хорошей долей достоверности понять какой язык для новичков считается самым лучшим. Догадываетесь о результатах?
Результаты опроса
Немного структурируем данные для лучшего зрительного восприятия (размеры столбцов указаны в процентах от общего числа проголосовавших):
Итак, вырисовывается четверка явных лидеров: Python, C++, Pascal и C.
Разумеется, данная тема вызвала очень бурные дискуссии и обсуждения, общее число комментариев дошло до 400. Обсуждение опроса вы можете почитать здесь.
Лично я в своё время начинал изучение программирования с Pascal. Не скажу, что я жалею об этом, но после Pascal язык C казался сложным и непривычным. Если бы я вернулся в прошлое, то скорее всего взял бы за основу язык C и еще какой-нибудь другой ЯП параллельно с ним.
Почему именно C в приоритете ?
1. Наиболее широкие возможности от низкого до высокого уровня
2. Быстродействие компилируемого языка
3. Си-подобный синтаксис, который встречается во многих других ЯП
4. Актуальность использования
5. Навыки работы с памятью и указателями
6. Разумная сложность
7. После него легче изучать C++
Подходящие книги для изучения языка C:
1. Язык программирования C. Лекции и упражнения, 6-е издание [2015] Стивен Прата
2. Керниган Б., Ритчи Д. Язык программирования
После изучения языка C можно начать знакомство с окружающими его низкоуровневым языком Assembler и высокоуровневым C++. Уже в дальнейшем стоит познакомиться с Python и JavaScript, чтобы хотя бы примерно понимать их недостатки, преимущества и особенности.
4 крутых книги по JavaScrypt
8 крутых книг по Python
Также опытные разработчики советуют изучить хотя бы один функциональный язык программирования. К примеру, Haskell или Лисп
Здесь еще стоит упомянуть, что любой ЯП - всего лишь инструмент, который выбирается для выполнения определенной задачи. Есть более важные вещи, чем заучивание синтаксиса, а именно изучение алгоритмов и структур данных.
Подходящая книга: Алгоритмы. Построение и анализ. Изд. 3-е [2013] Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн
Вместе с алгоритмами, если вы выбираете C и C++, то следующая подборка книг будет полезной для тех, кто уже чуть чуть отошел от нулевого уровня: 6 книг по эффективному программированию на C++
Computer Science безграничен, а его изучение занимает очень много времени. Для тренировки своих продвинутых навыков обращаю ваше внимание на: Как разобраться в Computer Science самостоятельно
Хочется еще чего-нибудь более сложного? Попробуйте проработать данные книги: Сложные задачи на C++
Есть еще очень хорошая серия книг от нашего соотечественника и современника. Эта серия позволяет пройти путь от самого начала к профессии программиста:
Андрей Столяров Программирование: введение в профессию
Как вы уже поняли, языков много, их невозможно уместить в одной статье. В данной заметки мы поговорили только о том, с чего можно начать свой путь. Самое важное, что нужно помнить начинающему, так это то, что путь в разработчики не является простым, всё это очень сложно. Если вы слышали какие-то истории успешного успеха, что за 6 месяцев люди становятся крутыми разработчиками, то это всегда связано с быстрым изучением основ WEB-разработки, т.к. там самый низкий порог входа.
Иногда, чтобы выбрать язык, вы должны ответить на несколько вопросов о том, что вы хотите получить в дальнейшем
А с какого языка программирования Вы бы советовали начать? Расскажите о своём опыте в комментариях.
Если Вам нужен репетитор по физике, математике или информатике/программированию, Вы можете написать мне или в мою группу Репетитор IT mentor в VK
Библиотека с книгами для физиков, математиков и программистов
Репетитор IT mentor в VK
Репетитор IT mentor в Instagram
Репетитор IT mentor в telegram