Веб-фреймворки и доступные библиотеки: смелый шаг, чтобы выбрать Node.js вместо Python? - PullRequest
0 голосов
/ 24 ноября 2011

У меня достаточно времени (месяц или два), прежде чем я действительно смогу начать изучать язык веб-программирования;поэтому я все еще беспокоюсь о том, какой язык выучить.

Какой бы язык программирования я не выбрал, мне также пришлось бы изучать JavaScript вместе с этим языком, так как он подходит для написания сценариев на стороне клиента.* Я смотрю на: (1) Python, Ruby, JavaScript (Node.js - на стороне сервера и jQuery - на стороне клиента); (2) СУБД - PostgreSQL (3) В любом случае я собираюсь изучать C / C ++ (но после того, как выучу язык программирования высокого уровня среди упомянутых выше).

Итак, вопрос в том, является ли смелый шаг выбором Node.js / JavaScript для программирования на стороне сервера?(смелый в этом смысле, изучение Python будет намного проще и лучше, и вы только пытаетесь быть смелым / глупым, выбрав Node.js)

Точки, которые нужно учитывать:

  • Я уверен, что у Python, Ruby и всех будет большое будущее.Будет ли Node.js наслаждаться тем же?Ты думаешь?(долгосрочные планы)

  • Веб-инфраструктуры доступности: существует ли платформа для Node.js, которая является такой же зрелой и полной, как Django (или Pylons)?

  • Доступность поддержки со стороны сообщества SO и Интернета: то есть, могу ли я быть уверен, что получу несколько хороших ответов от сообщества SO, если что-то пойдет не так, и мне нужна помощь?Я имею в виду, я уверен, что я бы, если это Python, C / C ++ и т. Д.

  • слишком медленно кодирует Node.js чем Python?

Почему я даже думаю о Node.js?

  • Я читал комментарии / ответы на SO, говоря, что Node.js намного быстрее, чем другиеязыки высокого уровня, такие как Python, Ruby или PHP.Извините, но, как я уже сказал, это не мое мнение [ READ ] .
  • Если я выберу Node.js, мне придется в основном изучать только один язык программированияJavaScript.(Я не ищу работу, я хочу разработать (большое?) Веб-приложение, такое как социальная сеть или служба обмена фотографиями)

[Я думаю, что у кого-то могут возникнуть эти вопросытак что это не совсем субъективно]

1 Ответ

0 голосов
/ 24 ноября 2011

1) Я лично люблю (!) Ruby, я думаю, что это самый красивый язык, на котором можно писать, но мне также нравится скорость Node.js и JavaScript.К счастью, я могу объединить то, что мне нравится в этих двух, ответ - CoffeeScript (он имеет стиль программирования Ruby / Python, но компилируется в простой JavaScript).Примечание: вы должны правильно выучить JavaScript и только потом переходить на CoffeeScript .

2) Я бы не использовал PostgreSQL, потому что я хотел бы использовать что-то более «быстрое», например MongoDB (JavaScript наБД также - легче изучать MongoDB, чем CouchDB, если вы знаете только SQL) или CouchDB (что довольно удивительно, также в JavaScript - он поддерживает синхронизацию по умолчанию).Однако, если вы хотите использовать PostgreSQL, есть драйверы для него.

3) Здорово, что вы планируете изучать C / C ++, так как каждый язык построен на этом.Вы можете написать модули C / C ++ для Ruby, Node или Python.

Отвечая на ваши (дополнительные) 3 пункта:

1) Существует действительно хороший веб-фреймворк, называемый Экспресс , который очень вдохновлен Синатра (Рубин).Существуют и другие фреймворки, но я считаю, что Express - лучший из существующих (вы даже можете создать свой собственный фреймворк на его основе и т. Д., Он «гибкий»).

2) Я фактически подписан на "node.js "на SO, и я могу сказать, что если вы разместите правильный вопрос, вы получите ответ от 1 минуты до 24 часов.Более того, просто присоединитесь к каналам IRC для Node (# node.js #express # socket.io #nodejitsu) и проверьте активность там.Уверяю вас, пока я учился, у меня не было вопросов без ответа (на самом деле, ребята очень полезны).

3) Нет, это не тот случай, когда вы к этому привыкнете.Единственное, к чему нужно привыкнуть при кодировании в Node.js (не только в Erlang, Twisted или EventMachine), это асинхронный способ программирования.Также имеется множество модулей и помощников практически для всего (что также может ускорить ваше кодирование, вам не нужно заново изобретать колесо - вы также можете использовать некоторый код JS для внешнего интерфейса).

По своему опыту я могу сказать, что как только вы привыкнете к асинхронному стилю программирования (с обратными вызовами и т. Д.), Больше ничего не сможет вас замедлить.

Extra

Хотя Node.js довольно молод (2009), его используют Github, Linkedin, Yahoo, 37signals, Learnboost, Trello, так что вы не будете такими смелыми: P

...