Закрыть
Вход на сайт
Регистрация
Вы успешно зарегистрировались!

Перейти к обучению
Регистрация
Войти на сайт

Какой язык программирования необходимо знать каждому?

15 January 2019
1029
Очень частый вопрос начинающих разработчиков: «что изучать?» Php? Ruyb? Python? WordPress? 1C-Bitrix? Joomla? Yii2? Ruby On Rails? Django?   Сразу ск...

Очень частый вопрос начинающих разработчиков: «что изучать?» Php? Ruyb? Python? WordPress? 1C-Bitrix? Joomla? Yii2? Ruby On Rails? Django?
 
Сразу скажу, что мы будем сейчас рассуждать со стороны FullStack разработчика занимающего фрилансом. 

Мое мнение такое: знать нужно все. Хотя бы по чуть-чуть. Чтобы понимать для себя плюс и минусы той или иной технологии. Звучит страшно, поэтому постараюсь объяснить зачем и почему. 

К примеру, я знаю и ruby и php. Приходит ко мне человек с заказом на одностраничник. Зачем мне его ставить на RubyOnRails? Для этого надо будет сервер покупать, делать сложную систему выгрузки сайта на сервер, да и потом человеку чтобы обслуживать сайт, необходимо будет искать людей, знающих RubyOnRails. Да и налаживать эту экосистему ради того, чтобы «форма захвата» работала на сайте как-то не рационально. 

Другое дело php. Залил пару файлов на хостинг любой, отправление почты одним файлов подключил и готово. И любой «опездух» на фрилансе сможет внести правки. 

Заметьте, я не говорю, что ruby хуже php. Просто в этой ситуации php выигрывает. 

Или нужен человеку блог. Зачем городить админки и кучу функционала писать с нуля? WordPress изначально создавался для блогов. Поставьте сайт на WordPress. 

А если интернет-магазин? Есть 1C-Bitrix. И скорее всего есть еще более удобные CMS для интернет-магазинов о которых я не знаю. Найдите что-то сверх заточенное под интернет-магазины. 

Ну а что делать, если надо написать абсолютно новый сервис, под который никогда не создавались CMS? Конечно есть фреймворки. Php-Yii2, Ruby - RubyOnRails, Python - Django, Java - Spring. Выбирай на вкус и цвет.

На самом деле именно в этой ситуации по большей части начинаются проблемы.  Допустим, есть задача: «сделать конструктор обучающих программ для онлайн-школ». 

Что делает человек, знающий только WordPress? Начнет искать кучу плагинов, нашпиговывать в бедный WP эти плагины, в итоге сайт разрастается, становится не удобным, не читаемым, не обслуживаемым. 

А по большей части люди, знающие WP умеют работать только с плагинами. Они не понимают как работает код, не могут вносить «индивидуальный» функционал и работают только в рамках того, что предоставляет плагин. В итоге получается шаблонный сайт, ограниченный по функционалу.

Ладно еще 1C-Bitrix - там есть встроенный мини-фреймворк, на котором можно что-то навоять, но это будет сложный, громадный  монстр. 

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

К чему я это все разглагольствую? Нет плохих и хороших языков. Нет плохих и хороших CMS, нет плохих и хороших фреймворков. Есть технология, подходящая под конкретный проект и удовлетворяющая потребности разработчика и заказчика. И точка.