С какого языка программирования начинать?

Программирование не о каком-то конкретном языке программированиия, поэтому думать нужно не о синтаксисе, а о реализации. Язык – это всего лишь способ выражения вашей мысли и логики программы, которую вы хотите реализовать. 

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

Это то же самое, что умение говорить. Определяет ли умение говорить знание английского языка? Нет, потому что в целом не имеет значения, на каком языке вы выражаете мысль. Сколько великих произведений написано на русском и потом с успехом переведены на другие языки?  Или великолепные творения Шекспира великолепны не потому, что они написаны на английском, а потому что они великолепны. 

Конечно же читать литературные произведения желательно в оригинале, тогда вы видите именно то, что написал автор, какие слова он использовал. Перевод – это уже результат работы переводчика и на сколько хорошо можно было и удалось подобрать хорошие слова на другом языке. 

Примерно то же самое и в программировании. Вы можете написать реализацию своей логики программы на том языке, который вы знаете и любите. Другие программисты могут транслировать ваши алгоритмы на другие языки и результат этого будет зависит от того, на сколько схожи языки, на сколько переводчику удалось правильно подобрать нужные схожие возможности. Результат может быть одинаковый, но вид и реализация могут отличаться. 

И тут мы подходим к самому популярному вопросу новичков – с какого языка начинать или какой язык программирования использовать. Пофиг. Я всегда рекомендую начинать с типизированного языка программирования, но в целом все это не имеет значения. 

Дочка сейчас учиться на программиста в канадском колледже и тут начинают с С, классического Си без классов и именно на нем сейчас проходят переменные, условные операторы и циклы. Хороший выбор, потому что студенты могут познакомиться с выделением памяти. Большинству в наше время это не нужно, потому что освобождение происходит автоматически в большинстве современных языков программирования, а когда память автоматически освобождается уже точно не нудно думать о выделении. 

Не смотря на то, что я считаю Си хорошим выбором, он все же не обязательный. 

Первым языком может быть абсолютно любой, это не важно. Это всего лишь язык. В отличии от иностранных языков языки программировании легко учатся даже взрослыми. Каждый новый учится быстрее. 

С первым языком вы должны научиться понимать как компьютер выполняет код. Я не побоюсь этого слова и скажу, что нужно научиться думать как компьютер. 

В мое время в книгах по программированию для начинающих можно было встретить обучение блок схемам, где на примере блоков показывалось, как выполняется код. Я как-то тоже на их основе пытался рассказывать о программировании на своём сайте. 

Были времена, когда машинное время стоило очень дорого, к компьютеру подпускали на определенное время и приходилось заранее продумывать логику в виде блок-схем, а потом переносить ее на код программ. Я никогда схемами сам не болел и даже не понимал их, потому что считал пустой тратой времени. Я всегда сразу же начинал писать код и сейчас так делаю. Как только я увидел в голове общую картину, понял как я буду реализовывать что-то, то тут же берусь за код. 

Опять же пример с дочкой – даже в 2020-м году изучают блок схемы и псевдокод. Параллельно с изучением языка программирования она проходит блок-схемы и на их основе разбираются с тем, как думает компьютер. Они также пишут псевдокод, когда просто на английском языке описываются какие-то псевдо (реально не существующие команды) команды и определяют логику. 

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

У дочки одновременно идёт и теория и практика. На теории она проходит псевдокод, на практике используют Си. Но языком для практики может быть абсолютно любой язык. 

На этапе обучения нужно думать в алгоритмах, в имплементации, паттернах, но не о конкретных языках. 

Начинающие могут задавать этот вопрос в поисках более простого языка программирования, но тогда это будут Python, JavaScript, PHP и множество других языков, где типы данных не имеют значения, где выделение и освобождение памяти никому не нужно. Но разве это вам нужно? Вы хотите научиться программировать или найти простой путь в ИТ? 

Когда задают вопрос о том, с какого языка начинать, конечно же не это хотят услышать, мол возьмите любой и используйте. Так какой же тогда выбрать? Мы определились, что нужно учить программирование, а не язык, но должен же быть язык, на котором можно было бы практиковаться. 

Как я уже сказал, моя рекомендация – язык программирования с типами данных. Ещё одним параметром при выборе может быть простота поиска работы и очень часто это Java или C#, эти два языка с типами данных и достаточно популярны, чтобы потом найти работу. 

Подумайте о том, что вы хотите потом писать. Если вам нравится Web, то к уже названным мной можно добавить Python и PHP. 

При выборе первого языка не стоит думать о том, что проще, не нужно думать о чем-то конкретном. Подумайте о том, что вы хотите реализовывать. Я могу вам сейчас порекомендовать PHP, но это будет глупым советом, если вам нравится программирование под iOS. 

Определившись с тем, что вы хотите, смотрите на популярные в этой сфере языки программирования и пробуйте их и только так сможете понять – нравится вам выбор или нет.



Внимание!!! Если ты копируешь эту статью себе на сайт, то оставляй ссылку непосредственно на эту страницу. Спасибо за понимание

Комментарии

Паника, что-то случилось!!! Ничего не найдено в комментариях. Срочно нужно что-то добавить, чтобы это место не оставалось пустым.

Добавить Комментарий

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне