Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Какой серверный язык учить? (https://javascript.ru/forum/offtopic/29965-kakojj-servernyjj-yazyk-uchit.html)

nerv_ 19.07.2012 11:29

Какой серверный язык учить?
 
Всем привет! )

В очередной раз передо мной встала проблема, проблема выбора - серверные технологии. Какой язык учить, что осваивать? Есть ли смысл изучать что-то новое, раз существует node.js? Хотелось бы услышать ваше мнение на этот счет.

В качестве "языков" для обучения я рассматриваю:
p.s.: ссылки на литературу для освоения приветствуются

Aetae 19.07.2012 11:42

С++

А если серьёзно - выбор языка зависит от того, что и как ты собираешся делать.

DjDiablo 19.07.2012 11:43

PHP (если сайты делать собрался)
+ на него проще перейти с javascript, чем на ruby или python
+ существует масса крутых фреймворков, yii, codeinghter, symphony, kohana, и тд
+ самые популярные движки сайтов написаны на php, joomla, drupal, wordpress, TYPO3, PHPBB, bitrix и тд

если посмотреть на движки 10 000 самых популярных сайтов, то становится ясно что знание php позволит охватить где-то 90% рынка.



бесплатные по рунету 2012г

Gozar 19.07.2012 11:59

А мне php не нравится. На js мне приятнее писать. Потихоньку ковыряю Node.js

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

Node.js нужно собирать из исходников и там все может быть не стабильно. Развитие php я уже однажды прошел.

На фреймворки я забил большущий болт, некогда изучать и js и php и фреймворки обоих языков.

Php программистов море, потому что начинать изучение с php очень легко и просто, старт изучения гораздо легче чем js. Книг тоже много и есть очень хорошие, хотя и плохих навалом.

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

DjDiablo 19.07.2012 12:08

php программист, php программисту рознь
ты можешь писать приложения на zend или yii
моешь клпать модули для джумлы, drupal или wordpress
получить сертификат и ваять для 1с битрикс

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

К примеру я не могу писать для drupal к примеру, так как я воспитан на c++ то ООП для меня всё. Без него я как на другой планете. Посли красивого yii выворачивает наизнанку от убожества битрикса т.д.

Gozar 19.07.2012 12:11

Цитата:

Сообщение от DjDiablo
я воспитан на c++ то ООП для меня всё. Без него я как на другой планете

Бывает, но иногда проходит. ООП головного мозга лечится расширением кругозора.

DjDiablo 19.07.2012 12:29

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

Gozar 19.07.2012 12:35

Цитата:

Сообщение от DjDiablo
Святую войну оопэшников с быдлокодерами

Тогда уж быдлооопышниками с быдлокодерами.

Так как иначе оопешниками с процедурщиками.

Попиши на Erlang.

Dim@ 19.07.2012 12:35

DjDiablo,
да войны не надо :D

DjDiablo 19.07.2012 12:59

erlang всятаки для многопроцессорных/многоядровых систем создан, тыбы ещё ассемблер привёл в пример. Это не тот класс задач.

я рассматриваю вопрос моделирования.
Есть плита есть чайник, плита передаёт тепло чайнику, чайник реагирует и нагревается, по достижению какого то уровня он начинает трещать, при достижении критичиской температуры он воспламеняется. На ооп всё понятно, есть экземпляр класса чайник. Каждый раз при повышении температуры, какая-то функция чайника сопоставляет температуру с критическими значениями и определяет что надо трещать или воспламенятся. То есть чайник отвечает сам за своё поведение, плита отдельно, чайник отдельно.

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

Да бог с ней с логикой, посмотрим на удобство.
плита вызывает функцию A нагрева чайника, функция A вызывает все остальные. b-треск C-возгорания
1) если чайников много, то между функциями a-b, a -c постоянно придётся таскать указатель на структуру со свойствами чайника

2) если появится второй тип чайников, которые не загараются а взрываются ( функция d)то придётся не только писать функцию d но и изменять функцию a чтобы она взависимости от типа чайника вызывала либо С либо D.. Либо менять поведение плиты, чтобы она для разного типа чайников вызывала разное a(нагрев который вызывает взрыв вместо возгорания), что уж со всем странно, с какого перепуга плита должна подстраиватся под чайник.

3) если будет сто типов чайников и каждый со свое реакцией, то функция A станет адово сложной, ибо вынуждена учитывать в себе поведение всех 1000 типов чайников при максимальном нагреве. Придётся выносить вызов возгорания/взрывания/ расплавления и тд в другую отдельную функцию. Я же должен как то разгрузить функцию A.

4) недайбог мне придётся менять теперь какой то чайник, у которого не две реакции треск и возгарание а 100 к примеру. Да Я охренею прыгать по кучи файлов изменяя функции и вызовы этих функций.

А теперь вопрос, НАХРЕНА ВЕСЬ ЭТОТ ГЕМОР НУЖЕН ?
Ведь в ооп мне достаточно создать один базовый класс чайника, и унаследовать от него хоть 100 хоть 1000 различных видов чайника, там где реакция будет отличаться я просто впишу нужную функцию реакции и всё.


Часовой пояс GMT +3, время: 04:16.