Содержание
- Где обучиться «компьютерному» языку бесплатно
- Учите Python, господа
- Интервью с создателем Python. Что он думает о других языках?
- Требует ли IT-рынок реально знать несколько языков программирования?
- Что выбрать новичку?
- Swift
- Практиковаться на реальных проектах
- JavaScript
- Почему выбирают PHP
- Как применять язык JavaScript на примерах
- Не языками едиными
- С чего начинать новичку
- Среда, в которой вы можете сосредоточиться
- Советы для программистов
- Почему JavaScript
- Выдающиеся люди
- Кто такой программист-полиглот?
- JavaScript
- Начинаем с основ
Где обучиться «компьютерному» языку бесплатно
3 варианта, как обучиться языку программирования бесплатно:
- По электронным книгам для новичков. Например, для начинающих подойдет руководство «Алгоритмы. Построение и анализ» от авторов Т. Кормена, Ч. Лейзерсона, Р. Ривеста и К. Штайна.
- На мини-курсах. В онлайн-школах часто проходят интенсивы, которые состоят из 2-3 видеоуроков. На них рассказывают о базовом синтаксисе и возможностях языка, показывают простые примеры.
- На демоуроках. Некоторые школы бесплатно открывают доступ к первому уроку. Вы можете посмотреть запись одной лекции и решить, нужен ли вам платный курс.
Найти бесплатные онлайн-курсы по программированию можно с помощью нашего сервиса. Переходите в раздел профессионального образования, выбирайте язык и слева установите кружок напротив «Бесплатные».
Подборка курсов
Все онлайн-курсы по программированию в 2021 году
Посмотреть подборку
Учите Python, господа
Анализируя расстановку сил на рыке языков программирования, IEEE Spectrum рекомендуют всем желающим связать свою карьеру с разработкой ПО, попытаться освоить Python. Это, по мнению специалистов, откроет доступ к огромному перечню библиотек (одному из крупнейших), предназначенных для решения тех или иных задач в различных сферах: искусственный интеллект, встраиваемые системы и т.д. В некоторых из библиотек, как отмечают составители рейтинга, разобраться будет сложнее, чем в самом Python.
Впрочем, не отрицают специалисты из IEEE и ценность других популярных языков, которые находятся в топе либо благодаря специфике решаемых с их помощью задач, либо благодаря обширной базе накопленного исходного кода, написанного на этих языках.
К первой категории эксперты относят R, предназначенный для статобработки данных, SQL, незаменимый при работе с базами данных и Matlab, созданный для решения вычислительных задач.
Во вторую категорию попали C, C++, Java и Javascript. Без последнего сегодня сложно представить Всемирную паутину. Язык C по-прежнему используется системными программистами и при написании проектов (или их отдельных частей), чувствительных к скорости выполнения кода. Java является признанным инструментом для разработки «тяжелых» высоконадежных корпоративных приложений.
Интервью с создателем Python. Что он думает о других языках?
Где смотреть: запись прямого эфира на YouTube.
Зачем смотреть: чтобы узнать немного об истории создания Python, планах на будущее и отношении Гвидо ван Россума к другим языкам.
Создатель Python ещё в мае дал интервью Microsoft. Он рассказал, что думает о Rust, Go, Julia и TypeScript.
- Rust, по его мнению, — отличный язык для своих целей. Ван Россум также отметил, что в Rust неплохо решена проблема с аллокацией памяти — в отличие от того же С++.
- Язык Go он назвал «самым питонистым» языком общего назначения.
- Julia, по мнению Гвидо, тоже напоминает Python — но с некоторыми отличиями. Поэтому он не советует программировать на Python и Julia в один день. Сравнивая эти два языка, Гвидо сказал, что в своей нише Julia явно выигрывает, зато сфера её применения не такая широкая.
- TypeScript тоже получил высокую оценку мэтра. Ван Россум признался, что Python нередко вдохновляется TypeScript, хотя и отметил, что TypeScript тоже учится у Python.
Гвидо также рассказал об истории создания Python, переходе с Python 2 на 3 и о том, планируется ли выход Python 4.
Требует ли IT-рынок реально знать несколько языков программирования?
Но вернёмся к минимальному порогу. Всё же знать четыре языка звучит реалистичнее, чем 20. Насколько часто IT-компании ищут таких эрудитов? Чтобы ответить на этот вопрос, я изучил несколько сотен вакансий на hh.ru. Большинство позиций с зарплатой от 150 тысяч выглядят примерно вот так:
Скриншот: сайт HeadHunter. Зарплатная вилка этой вакансии — от 150 до 200 тысяч рублей
Человека, который решил попробовать себя в программировании или просто не знаком с C++, такое количество иностранных слов может отпугнуть. Но опытный разработчик на C++ знает, что STL, Boost, MFC — это всего лишь библиотеки, а Qt — фреймворк. То есть в этой вакансии от вас требуется знание всего одного языка программирования — C++. И это, в общем-то, уже верхний уровень российского рынка.
Если вы обучились языку программирования, то быстро освоите работу с фреймворками и библиотеками. Представьте, что вы отлично знаете английский, но вас внезапно попросили добавить региональный акцент и научиться писать короткие посты в Twitter. Да, это потребует определённых усилий, но всё же задача здесь — расширить знания, а не выучить, например, ещё и арабский. Поэтому, если вы начинающий программист и ищете работу, внимательно изучайте требования к кандидатам: возможно, что от работы мечты вас отделяет всего пара часов нагугливания.
В других вакансиях от вас могут потребовать следующее:
Скриншот: сайт HeadHunter. Зарплатная вилка этого предложения — от 150 до 260 тысяч рублей
С HTML и CSS мы разобрались выше. React, Vue.js, Node.js опять-таки инструменты профильного языка представленной вакансии — JavaScript
Обратите внимание, что базовое понимание (не владение!) C++ не обязательно, а лишь будет плюсом. Знать Go тоже не нужно, если вы уже владеете Node.js
То есть обязательных требований здесь едва ли наберётся на два языка.
Вакансии с тремя языками — огромная редкость. А если вы вдруг наткнётесь на должность, которая требует знания четырёх языков программирования на крепком уровне, то велика вероятность, что работодатель либо некорректно сформулировал должностные обязанности, либо просто некомпетентен.
Скриншот: сайт HeadHunter. Один из немногих офферов, где фигурируют три языка (всё-таки требуется отличное знание PHP 7+ и РСУБД). Но и обещанная зарплата — до 500 тысяч рублей 🙂
Если рассуждать прагматично, то учить четыре языка и больше просто нет смысла — на рынке нет предложений для таких полиглотов. А вот знание ещё одного-двух действительно может пригодиться. Главное — чётко определиться, чем вы хотите заниматься, отобрать ведущие языки из этой области и изучить те, которые вам нравятся больше всего. Дополнительные знания расширят список потенциальных мест работы и позволят вам решать больше задач.
Если у вас всё же есть желание и время стать программистом-полиглотом, чтобы видеть мир разработки шире, то не доходите до крайности. Не беритесь за новые языки во вред старым, особенно если последние нужны вам для работы.
Что выбрать новичку?
Опишем краткий алгоритм выбора.
Для начала выберите не язык, а интересное вам направление. Это может быть веб-разработка, десктопная, мобильная или серверная разработка. А может быть, вы хотите заниматься анализом данных.
Теперь оцените свои силы и навыки и выберите язык, подходящий вашему уровню. Если вы никогда ничего не программировали и не учились программированию ни в школе, ни в университете, начните с языков полегче (JavaScript, CSS), а если вы чувствуете себя увереннее и уже пробовали что-то писать, можете выбрать Java.
Определившись с языком и изучив его синтаксис, не забудьте познакомиться со стеком технологий и популярными фреймворками — это вам точно пригодится
Не надо пытаться сразу всё досконально изучить, но важно ориентироваться в технологиях.
Swift
Раньше разработчики, работавшие в экосистеме Apple, могли программировать только на Objective-C. Спустя три десятилетия в Apple решили, что пришло время для чего-то нового. В 2014 году Apple запустила собственный язык программирования Swift.
Swift пригодится тем, кому интересно создавать приложения и сервисы для iOS, iPadOS, macOS, watchOS и всего остального, что Apple может запустить в течение следующих нескольких лет (например, ОС с дополненной реальностью)
Также знание iOS важно, если вы делаете продукты, которые взаимодействуют с мобильными приложениями и сервисами. . Если вы изучаете элементы Swift, познакомьтесь с функциями, циклами, наборами, массивами и строками, а также со структурами и классами
Swift Playgrounds, хотя и ориентирована на детей, полезна для начинающих программистов Swift всех возрастов.
Если вы изучаете элементы Swift, познакомьтесь с функциями, циклами, наборами, массивами и строками, а также со структурами и классами. Swift Playgrounds, хотя и ориентирована на детей, полезна для начинающих программистов Swift всех возрастов.
Практиковаться на реальных проектах
Итак, у вас есть огромное желание и мотивация изучать программирование, вы определились с языком — теперь начинайте развиваться в выбранном направлении. Читая статьи и книги, вы узнаете, как научиться основам программирования. Это правильный подход в начале пути, но без практического применения все полученные знания быстро улетучатся из головы. Практика — вот основа всего.
Еще немного лайфхаков для новичков в интервью с разработчиком.
Если у вас пока нет работы программиста, начинайте писать свой стартап-проект. Разумеется, из этого ничего не выйдет — в 99,99% случаев так и происходит. Зато вы получите бесценный опыт и «потрогаете» программирование своими руками.
JavaScript
Следующий must have среди языков — JavaScript, для работы с ним хватит браузера. Синтаксис здесь на порядок сложнее: появляются служебные символы и конструкции с разношерстными скобками, названия функций далеко не всегда раскрывают суть действия, и даже простейший код имеет структурированный вид. Взглянем на переписанный код с функцией Фибоначчи:
function fib_recursion(n) { return n < 1 ? n <= 2 ? 1 fib_recursion(n - 1) + fib_recursion(n - 2); } console.log(fib_recursion(10));
Объем кода практически не изменился, зато снизилась читаемость. После изучения Python вы без проблем разберетесь, как работает структура return, и оцените удобство именно такого способа записи.
Кроме того, экосистема JavaScript богаче, чем Python. Она предлагает обилие сред разработки, редакторов кода, фреймворков, библиотек. Это еще один шаг к пониманию, как работает «взрослое» программирование.
В целом, JavaScript незначительно уступает Python по спектру решаемых задач, но его возможности «глубже». Знание этого языка пригодится при разработке программ на любых платформах.
Почему выбирают PHP
PHP создан, чтобы облегчить веб-разработку. У него простой синтаксис, на нём несложно программировать, а новички часто выбирают его в качестве первого языка.
PHP активно развивается — сейчас ведётся работа уже над восьмой версией. Это очень гибкий и легко масштабируемый язык. А ещё он прощает ошибки при написании кода: скрипты будут работать даже при грубых недочётах, правда, только до возникновения первой проблемы.
У PHP одно из самых крупных сообществ на FAQ-портале StackOverflow — третье по величине. А это означает, что новичок быстро получит ответы на любые вопросы и легко найдёт наставника, а также инструмент под конкретные задачи своего проекта.
Для PHP создана очень подробная документация на русском, где описана каждая функция. У языка огромный потенциал в плане учебных ресурсов и перспектив в мире веб-разработки.
Как применять язык JavaScript на примерах
Базовых знаний JavaScript и принципов работы DOM достаточно для создания хоть и примитивных, но всё же рабочих приложений: органайзер для ведения списка дел, калькулятор, конвертер температур. Два месяца активного изучения основ JavaScript было достаточно, чтобы разобраться с простейшим приложением для списка гостей — RSVP app.
Пример кода для приложения RSVP
Другой пример — конвертер температур, написанный на ванильном JavaScript (без использования библиотеки jQuery и фреймовиков).
В приложении 3 документа: index.html, style.css и app.js
Содержание app.js — всего44 строки кода
Не языками едиными
Кроме языков программирования, нам нужны инструменты и методологии. Где бы вы ни работали, вам наверняка пригодится git. Даже если вы не работаете в команде, заведите аккаунт на GitHub и держите там домашние проекты.
Разберитесь с непрерывной интеграцией и развёртыванием — CI/CD. Настройте автоматическую сборку своих проектов.
Научитесь писать модульные тесты. Сделайте тестирование одним из этапов сборки, чтобы ваш проект собирался только в случае, если проходят все тесты.
Доведите знание английского до уровня B2 — Upper Intermediate. Этого достаточно, чтобы воспринимать английскую речь на слух, общаться с носителями языка и писать письма.
Я учил английский в школе. Мне хватало его, чтобы читать документацию и немного писать. Но сейчас, во времена YouTube, новые знаниях приходят к нам через видео лекции и доклады. Приходится доучивать английский, чтобы не перекрывать себе этот важнейший канал.
С чего начинать новичку
Наши рекомендации, как начинать изучать программирование:
- Выберите специализацию и язык. Для фронтенд-разработки нужно знать JavaScript, для веб-разработки – Python, Java, PHP, для создания мобильных приложений – Kotlin или Swift, для написания программ – С++, C#. При желании вы можете посмотреть короткие вебинары о каждом языке – их можно найти в свободном доступе, например, на Youtube.
- Установите необходимые компьютерные программы, чтобы научиться писать код на языке программирования. Вам потребуется редактор или среда разработки, в которой есть все инструменты: компилятор или интерпретатор, отладчик для поиска багов, визуализация и пр.
- Изучайте основы. У каждого языка свой синтаксис, но есть общие понятия: переменные, условные конструкции, функции, ввод данных и пр. Пройденный материал закрепляйте на практике: на онлайн-тестах, упражнениях и т. д. Переходите к более сложным темам постепенно, чтобы не было пробелов в знании базовой теории.
- Учитесь на онлайн-примерах. В сети есть примеры открытого кода, на основе которых можно писать собственные программы. Вы сможете повторять все действия по видеоуроку.
- Найдите наставника. Если вы учитесь на онлайн-курсах, то с трудностями поможет разобраться куратор. Если вы занимаетесь самостоятельно, то за помощью можно обратиться в любое интернет-сообщество программистов, например, найти подходящий форум. Опытные разработчики помогут решить сложную задачу или укажут на ошибку в коде.
- Учите логику, математику и английский язык.
Среда, в которой вы можете сосредоточиться
Давайте будем честны: для изучения нового языка программирования нужно много времени и усилий. Нет ничего невозможного, но не питайте иллюзий: программирование — это не просто.
Чтобы чему-то научиться, нужно сфокусировать на качестве своего обучении. Если вы будете слишком сильно заставлять себя, вы ничему не научитесь. Если в процессе обучения будете смотреть какие-нибудь забавные видео на YouTube, многого можете не ждать.
Итак, вам нужно:
- тихое место, где можно сосредоточиться только на обучении;
- место, которое вас вдохновляет, — идеале в этом месте у вас не должно возникать желания заняться чем-то другим;
- быстро выбрать IDE. Мы хотим выучить язык программирования, а не найти идеальный инструмент. Не тратьте на это много времени: просто выберите самый популярный вариант. Вы всегда можете поменять свой выбор попозже, в зависимости от ваших потребностей. Мой совет: выбирайте редактор кода, в котором есть автодополнение, вам это очень поможет.
Советы для программистов
1. Посещая курсы, помните, что количество людей не должно превышать 5 человек. Так вы максимально сосредоточитесь на работе.
2. Не забывайте о развитии всех навыков: вам понадобится и грамматика, и лексика, и понимание английского на слух, и, конечно, разговорная речь.
3. Помните о существовании газет и журналов на иностранном языке, а также выпусках новостей. Полезными журналами станут Business Spotlight, Bloomberg Businessweek, Business English Magazine, The Economist.
4. Читайте техническую литературу и выписывайте незнакомые слова, работайте с флеш-карточками, на одной стороне которой будет русское слово, а на другой – английское.
5. Не забывайте об том, что можно переписываться (перезваниваться) с носителями языка. Благодаря такому способу можно не только выучить правила, но и подтянуть устную речь.
Для современного человека подкасты – это путь в будущее. Достаточно выбрать любой понравившийся (например, ruby5, talkpython, devchat, cppcast) и слушать его постоянно, таким образом, получая новую информацию и улучшая восприятие иностранного языка на слух.
Хотите получать удовольствие от изучения английского языка? Смотрите фильмы и сериалы! Это могут быть «Hackers», «Silicon Valley», «The IT Crowd», «The Internship», «The Social Network». Субтитры на английском помогут узнать новые слова и выражения.
Именно поэтому для программиста перевод на английский очень важен, а если вы хотите стать специалистом в определенной отрасли, необходимо изучать иностранный язык.
Почему JavaScript
В веб-разработке JavaScript преподносится как язык по умолчанию. Он идеально подходит, если вы хотите создавать что-то большее, чем красивые, но всё же статичные сайты. Но это не единственная причина, по которой стоит выбрать JavaScript в качестве первого языка программирования.
Писать код можно прямо из браузера
Чтобы работать с JavaScript, не нужно ничего скачивать, устанавливать и компилировать, как для большинства других языков
Для новичка в программировании это особенно важно. Освоить командную строку и компилятор легко, но на первом этапе они усложняют восприятие и отбивают интерес к изучению
Всё, что нужно для работы с JavaScript, — это браузер.
Как открыть консоль разработчика в браузере Google Chrome
Кликните правой кнопкой мыши в любом месте на странице, выберите «Просмотреть код».
Далее выберите Console. Перед вами откроется окно консоли разработчика. Другой способ — клавиша F12 на Windows или Cmd+Opt+J на Маке.
Попробуйте написать первую стандартную команду — console.log (‘Hello, JS! ‘); и нажмите Enter. В скобках вместо ‘Hello, JS! ‘ может быть любое слово. Главное — не забудьте кавычки, если это набор букв (для чисел кавычки не нужны). Ниже строкой консоль выведет ваше сообщение.
Ресурсы по JavaScript для начинающих:
- Книга «Выразительный JavaScript».
- Современный учебник Javascript.
- Ресурсы по JavaScript на Mozilla Developer Network.
- Курс JavaScript от CodeCademy (на английском).
- FreeCodeCamp (на английском).
Язык Java тоже рекомендуют в качестве первого, но он сложнее в восприятии для новичка. Чтобы начать работать с Java на macOS, скачайте и установите пакет, разберитесь, как работает командная строка, и проверьте, установлен ли компилятор.
Следом в текстовом редакторе пишется сама программа, сохраняется, а затем компилируется с помощью «Терминала».
Команды для ввода в «Терминал» для создания директории, компиляции и запуска кода на Java
Выдающиеся люди
Андерс Хейлсберг
Юкихиро Мацумото
Грейс М. Хоппер
Бьярне Страуструп
Никлаус Вирт
Некоторые ключевые люди, которые помогали разрабатывать языки программирования:
- Алан Купер , разработчик Visual Basic .
- Алан Кей , новатор в области объектно-ориентированного программирования и создатель Smalltalk .
- Андерс Хейлсберг , разработчик Turbo Pascal , Delphi , C # и TypeScript .
- Артур Уитни , разработчик A + , k и q .
- Бертран Мейер , изобретатель Эйфеля .
- Бьярн Страуструп , разработчик C ++ .
- Брендан Эйх , разработчик JavaScript .
- Брайан Керниган , соавтор первой книги по языку программирования C, вместе с Деннисом Ритчи , соавтором языков программирования AWK и AMPL .
- Чак Мур , изобретатель Forth , первого языка конкатенативного программирования и выдающееся имя в разработке микропроцессоров стековых машин .
- Крис Латтнер , создатель Swift и LLVM .
- Клив Молер , создатель MATLAB .
- Деннис Ритчи , изобретатель C . Операционная система Unix, операционная система Plan 9.
- Дуглас Макилрой оказал влияние и разработал такие языки, как SNOBOL , TRAC , PL / I , ALTRAN , TMG и C ++ .
- Грейс Хоппер , первая использовавшая термин « компилятор и разработчик FLOW-MATIC» , повлияла на разработку COBOL . Популярились машинно-независимые языки программирования и термин « отладка ».
- Гвидо ван Россум , создатель Python .
- Джеймс Гослинг , ведущий разработчик Java и его предшественника Oak .
- Жан Ичбиа , главный дизайнер Ada , Ada 83 .
- Жан-Ив Жирар , соавтор полиморфного лямбда-исчисления (Система F).
- Джефф Безансон , главный дизайнер и один из основных разработчиков Julia .
- Джеффри Сновер , изобретатель PowerShell .
- Джо Армстронг , создатель Erlang .
- Джон Бэкус , изобретатель Фортрана, участвовал в разработке Алгола 58 и Алгола 60 .
- Джон С. Рейнольдс , соавтор полиморфного лямбда-исчисления (Система F).
- Джон Маккарти , изобретатель LISP .
- Джон фон Нейман , создатель концепции операционной системы .
- Грейдон Хоар , изобретатель Rust .
- Кен Томпсон , изобретатель B , Go , Inferno (операционная система) и соавтор операционной системы Unix .
- Кеннет Э. Айверсон , разработчик APL и соавтор J вместе с Роджером Хуэем .
- Конрад Цузе разработал первый язык программирования высокого уровня , Plankalkül (который повлиял на ALGOL 58 ).
- Кристен Найгаард , пионер объектно-ориентированного программирования, стала соавтором Simula .
- Ларри Уолл , создатель языка программирования Perl (см. Perl и Raku ).
- Мартин Одерски , создатель Scala и ранее участвовавший в разработке Java .
- Мартин Ричардс разработал BCPL программирования языка, предвестник B и C языках.
- Натаниэль Рочестер , изобретатель первого ассемблера (IBM 701).
- Никлаус Вирт , изобретатель Паскаля , Модулы и Оберона .
- Оле-Йохан Даль , пионер объектно-ориентированного программирования, стал соавтором Simula .
- Расмус Лердорф , создатель PHP .
- Рич Хики , создатель Clojure .
- Жан Паоли , соавтор XML
- Роберт Джентльмен , один из создателей R .
- Роберт Гриземер , один из создателей Go .
- Робин Милнер , изобретатель машинного обучения , разделяющий признание полиморфного вывода типа Хиндли-Милнера .
- Роб Пайк , соавтор Go , Inferno (операционная система) и Plan 9 (операционная система), соавтор операционной системы.
- Росс Иейка , один из создателей R .
- Стэнли Коэн , изобретатель Speakeasy , который был впервые создан с помощью объектно-ориентированной системы программирования OOPS в 1964 году.
- Стивен Вольфрам , создатель Mathematica .
- Брэд Кокс , соавтор Objective-C .
- Уолтер Брайт , создатель D .
- Юкихиро Мацумото , создатель Ruby .
- Райан Даль , создатель Node.js .
Кто такой программист-полиглот?
Для начала давайте чётко определимся с термином. Само понятие «полиглот» очень размытое: лингвисты расходятся во мнениях, сколько языков и на каком уровне должен знать человек, чтобы считаться полиглотом. Возьмём за отправную точку минимальный порог — четыре и более иностранных языка на уровне свободного владения.
То есть в нашем понимании «айтишным» полиглотом будет считаться тот, кто профессионально пишет код на четырёх и более языках программирования и может запросто устроиться в хорошую компанию, где эти языки профильные.
Другой важный момент — определить язык программирования. Мы не будем учитывать языки разметки и спецификаций, а также формальные, декларативные и другие компьютерные языки. Иными словами, знание HTML, XML, CSS или SQL — не в счёт. Также не стоит выделять фреймворки и платформы разработки — всё это прилегающие к языку программирования инструменты, которые кодер обязан знать.
JavaScript
Сложность: можно выучить JavaScript быстро, главное — отрабатывать теорию на практике в тренажерах (подборка хороших интерактивов и обучалок). Уже за полгода можно освоить документацию, поскольку логика у него простая и гибкая. Язык мощный, а его инструменты просты и доступны.
Профессии: Frontend-разработчик / Fullstack-разработчик / Веб-девелопер.
Продукты: Frontend сайтов программируют только на Javascript, так что он используется на большинстве сайтов.
JavaScript — язык веб-разработок. Изначально на нем можно было программировать только frontend сайтов, но сейчас, благодаря Node.js, который выступает в роли веб-сервера, можно писать и серверные приложения. Язык делает сайты интерактивными и высокопроизводительными. А чтобы эффективно использовать возможности языка для создания красочных сайтов, нужно уметь пользоваться инструментами верстки HTML и CSS, знать один из популярных фреймворков (React, Vue или Angular).
В веб-разработках сообщество большое, так как fullstack- и frontend-разработчики нужны всем. Сайтов огромное количество, мы пользуемся ими каждый день, и их всегда нужно улучшать. Кроме того, такие проекты можно вести самому с нуля вплоть до самого релиза, что тоже очень ценно, если вам привычнее инди-разработка.
Курс
Frontend-разработчик
Цель специализации — дать полный набор скилов, необходимых для погружения в реалии разработки визуальной части веб-приложений. Дополнительная скидка 5% по промокоду BLOG.
Узнать больше
Начинаем с основ
Сегодня говорим о том, что такое язык программирования.
Языки программирования (ЯП) похожи на языки человеческого общения, но устроены проще. Выучить язык программирования можно за несколько месяцев. Опытные программисты могут изучить новый язык за несколько недель. В мире уже более 8000 языков программирования. Нет такого консенсуса, как «лучший язык». Хотя есть языки, которые дают фундаментальные знания, С++ например. И есть отслеживание популярности языков, в частности, TIOBE Index.
Ядро из двух десятков наиболее популярных языков состоит из: Java, C, Python, C++, Visual Basic .NET, JavaScript, C#, PHP, SQL, Objective-C, Assembly language, MATLAB, Perl, Delphi/Object Pascal, R, Ruby, Visual Basic, Go, Groovy, Swift. Есть еще 2-3 десятка довольно широко используемых языков, таких как Scala, Lua, Fortran, COBOL, Lisp, Prolog, Rust, Kotlin, Eglang, Haskell и др. Со временем разработчик знает и сочетает несколько языков для разных задач и платформ.
У языков программирования есть авторы, правила, спецификации, стандарт конкретного языка и разные реализации / воплощения стандарта. Реализации языка влияют на то, как разработчики пользуются им.
Языки программирования – по сути, инструмент сторителлинга. У вас есть идея, «сюжет», и на языке программирования вы пишете структурированное «произведение», которое компьютер сможет считать, интерпретировать и выполнить. То есть «оживить» исходный код в виде программы, сайта, приложения и т. д., где доступен ряд действий. (Если образно, то напоминает придумывание сюжета, работу над архитектурой истории, написание добротного сценария без ляпов, овладение специальными инструментами для съемки, сам съемочный процесс, монтаж и демонстрацию кино, причем интерактивного.)
На языках программирования пишут любые компьютерные программы. Языки программирования манипулируют структурами данных и управляют вычислениями, которые происходят в компьютере, пока работает программа.
Язык программирования – это набор правил, которые определяют, как написанная компьютерная программа выглядит и что компьютер может сделать под ее управлением. Программа представляет собой код, написанный по правилам конкретного языка программирования. Код, из которого состоит программа, называют «исходный код».
Язык программирования – это средство общения человека и компьютера. При этом код на языке программирования пишется так, чтобы он был понятен человеку. Один из критериев хорошего кода – программист читает его и понимает, что это, для чего нужно и как будет работать.
Сегодня код, написанный на популярных языках программирования, для удобства выглядит как текст, состоящий из строк на английском языке. Для того чтобы исходный код смог прочитать и выполнить компьютер, он «переводится». Об этом Almamat Blog расскажет в другом выпуске IT-ликбеза.
В спецификациях языка прописаны его синтаксис и семантика. Каждый язык программирования имеет свой словарь/алфавит. Цепочки и последовательности символов образуют предложения, построенные по правилам языка программирования, – это грамматика. Синтаксическая структура языка служит для определения смысла написанного кода.
Семантика языка программирования – это начальное смысловое значение слов и конструкций языка. Семантика – это смысл кода, его назначение, то, что должно получиться в результате запуска написанного кода.
Синтаксис языка программирования – это порядок слов, форма записи; правила построения сообщений, комбинирования символов и слов. Синтаксис ЯП проще, чем синтаксис человеческих языков общения.
Итак, в программировании слова с каким-то начальным смыслом комбинируются по правилам, чтобы придать действиям смысл.

Эта тема закрыта для публикации ответов.