Найти тему
Исходный код

Программирование с чего начать? какой язык выбрать? тенденции.

Когда начинаешь заниматься программированием, встаёт вопрос с чего начать? В интернете много разной информации по it, что может запутать вас. Если вы начнетё изучение со сложной информации, это может отбить всё желание программировать. Для успешного обучения человеку всегда нужны маленькие успехи, тогда у вас всё получится. Для этого попробуем разобраться во всём по порядку.

Каждый язык создается для решения определенных задач.

PHP

И сразу скажу, что я советую начинать изучение программирования с языка php.

Почему php?

Примерно 70-80% сайтов в мире написаны на php. Статистику вы можете сами проанализировать. Зарплаты так же на хорошем уровне, а вход в разработку не займёт много времени.

Языки веб-разработки можно поделить на клиентские и серверные.

Клиентские - это языки , чей код выполняется на стороне клиента, внутри браузера. HTML,CSS, XML,JavaScript

Серверные - код выполняется на стороне сервера ( условно на удаленом компьютере) php, python,c#,c++, JavaScript и другие

Вы наверное помните со школы язык html. Спросите почему бы с него не начать. HTML - это язык верстки(разметки) он не выполняет логические задачи, он позволяет только отрисовать сайт визуально. И к тому же совсем простой в понимании, и будет использоваться как прикладной вместе с javascript и css.

Как установить php?

И так. Как для любого серверного языка для php нужна среда исполнения кода. Установить php на компьютер можно с оф.сайта , но мы сделаем ещё проще, что бы не настраивать веб-сервер (Хотя сейчас php можно запускать без веб-сервера) и делать много манипуляций, скачаем бесплатную программу OpenServer.

-2

Теперь у вас есть среда разработки, которая будет выполнять код php на компьютере. А еще нам нужен текстовый редактор. Я советую atom либо visualstudiocode. Есть еще хороший редактор phpstorm, но он платный.

И так посмотрим как выглядит редактор и синтаксис языка.

-3

По обучению php будут отдельные статьи, пока мы просто знакомимся.

БЭКЕНД ФРОНТЕНД?

И так отойдем немного в сторону. Мы уже делили языки на клиентские и серверные. А что такое бэкенд и фронтенд, в интернете этому дают определения точно такие же, как у серверных языков и клиентских. Это не верно.

Попробуем разобраться, после начала использования API (способ взаимодействия одной компьютерной программы с другими) мы смогли делить сайт на разные программы. Таким образом мы отделили логическую часть БЭКЕНД от визуальной ФРОНТЕНД.

Для фронтенда больше подходят такие языки как vuejs, react,php, javascript и само собой язык разметки html, каскадные таблицы стилей css по умолчанию(ведь это то, что мы видим).

Для бэкенда php, python, c#, nodejs

Не пугайтесь vuejs, nodejs, reactjs - пока мы это отнесем все к javascript т.к. с него всё начиналось. Просто обратим внимание, что на php мы можем писать фронтенд и бэкенд. Но в современых проектах php принято использовать для бэкенда, а не для фронтенда.

Большие проекты состоят не просто из бэкенда и фронтенда, на стороне бэкенда бывает по 10 серверов на разных языках и каждый выполняет свои задачи, а обмен между разными серверами происходит по API. Грубо говоря API передает простой текст в определеном формате(JSON) без лишнего кода, который воспринимают все языки и они могут производить разные манипуляции с ним. Это позволяет разделить работу где над логикой работают бэкендщики, а над визуальной частью фронтедщики.

И так мы поняли, что php позволит писать нам обычные сайты(статические), потом сайт с логикой(динамические) и бэкенд.

Python

Сейчас везде рекламируют python , но я считаю он не совсем подходит как первый язык, для новичка.

Что такое python и для чего?

Он больше похож на языки С, он типизированный, асинхронный и имеет множество библиотек для разных вычеслений и ИИ(искуственный интелект). Да он позволяет сделать сайт, есть библиотки. Но он медленный. Сделаем вывод, он больше подойдёт для бэкенда или написания dll библиотек, где не нужно работать с визуальной частью, а нужно делать не стандартные, вычесления. Для большинства задач возможности python не нужны. Если вы хотите сразу начать работать в сфере it и разобраться в сайтах.

Так же я считаю, что с php будет проще перейти на языки python, c# и javascript(vue,node).

C++, C#

Расмотрим C#, так как он взял лучшее с языков с++ и других.

Про C# мы говорим, когда речь идёт о программах для windows. Но на самом деле он очень универсальный, на нем можно писать сайты, мобильные приложения, консольные программы для windows и linux и он также имеет множество библиотек.

Для C# используется специальная программа visual studio

-4

Для программ под windows она позволяет создавать интерфейс как конструктор. И посмотрим синтаксис программы.

-5

JavaScript, vuejs, nodejs, reactjs

И так начнем с того, что раньше сайты были простые на html, без каких либо визуальных эфектов (всплывающих окон, появления, перелистывание слайдеров, подсветка ошибок) для это в веб разработке появился JavaScript(дальше сокращено js). Он помогал взаимодействовать с обьектами на странице, а код исполнялся внутри браузера. Развитие этот язык получил после появления браузера chrome и движка v8, браузер умел НЕ ПОВЕРИТЕ! обновляться:) в отличие от explorer и поэтому язык мог совершенствоваться. И всё было просто и понятно, php был для логики на сервере, он отображал html, css, и js. А js выполнялся внутри браузера для разных эффектов. Это было до тех пор пока в 2009 Райан Даль не вытащил из chrome v8 доработал его и запустил без браузера:) с тех пор javacript стал еще и серверным языком, он может взамодействовать с системой и выполнять лолгику, а потом еще и типизированом, версия этого языка называется typescript.

В дальнейшем это дало развитие реактивным фреймворкам vuejs, reactjs, angular.

Это системы которые написаны на javasrcipt и typescript. Они упрощают написание сложных фронтенд интерфейсов. После этого появились по настоящему крутые сервисы, которые называються не сайты, а веб-приложения. Такие как youtube. В интернете пишут, что он почти весь на python, но я не согласен, это не так. Интрфейс работает как реактивное приложение, по анализу кода видны библиотеки на typescript и es5(ECMAScript). А так же специфичные атрибуты в html, по аналогии с реактивными фреймворками. Поэтому интерфейс точно весь на javascript и на реактивном фреймворке, но только не на известных, не на vuejs, reactjs, angular, а на каком то своём, но работающий по аналогии. На python возможна обработка видео и другие задачи.

Тенденция

Как мы видим тенденция идёт к разделению сайтов на бэкенд и фронтенд. Где для фронтенда упор идет на реактивные фреймворки на javascript. А бэкенд на python, nodejs ,php, c#.

Так же из всех языков могу выделить vue,angular,react они написаны на(javascrip, es5, typescript) и С#.

Почему?

Потому что эти языки позволяют делать кросплатформенную разработку, на это сейчас тренд. Тоесть эти языки позволят делать сайт и мобильное приложение под ios,android. Но C# ко всему позволяет еще и на windows писать программы.

Но старый добрый php не куда не денется, он выпускает новые версии языка, улучшают работу с сокетами и многозадачностью. Поэтому для бекенда он остается очень хорошим и востребованным. На нём популярны фреймворки yii2,yii3 и laravel.