Какие новые языковые варианты для опытных программистов? - PullRequest
1 голос
/ 14 сентября 2009

Я знаю, что тема, которую я начал, слишком субъективна. Но я просто хотел некоторого экспертного руководства, изучающего новые языки. Я работал с языками .NET (C #, VB.NET) довольно много лет (около 4). И прошло много лет с тех пор, как я остановился экспериментируя с новыми языками после того, как устроился на работу.

Несколько недель назад я только начал работать над своим личным проект, который я собираюсь потратить много времени в будущем месяцы. Во время анализа я обнаружил, что просто не могу разместить роскошь экономически эффективных языков, программы и IDE. Поэтому я планировал перейти на широкий спектр языков и инструментов с открытым исходным кодом.

И когда я смотрю на текущий выбор, я просто дар речи. Сотни перспективных открытых языков и наборы инструментов и я нашел, что это трудно выбрать. И я не могу даже думать о оценке каждого языка сам (это худший кошмарный сон). В настоящее время я начал с Mono (ради C #).

Я чувствовал, что это будет хороший шанс для изучения нового языки программирования и модели. Так что я открыт для любого язык, который предлагает мне следующее:

  • более функциональный
  • функции динамического языка
  • улучшенная языковая элегантность (например, лямбда, Haskel , например синтаксис SQL или C # LINQ )
  • лучшая поддержка сообщества
  • должно быть открыто
  • простое взаимодействие с сетью
  • поддержка параллелизма и параллелизма (легкая многопоточность)
  • лучше по производительности
  • проверенные веб-фреймворки
  • лучшая поддержка IDE (у меня синдром простоты использования после многих лет использования инструментов MS)

Мне нравится подход программирования языков Haskel и Erlang . Но я понятия не имею о веб-стеке этих языков и механизмы параллелизма.

EDIT: Я был бы признателен за несколько причин, а также ваш выбор. Это будет действительно полезно.

Ответы [ 7 ]

7 голосов
/ 14 сентября 2009

Я думаю, что все это соответствует вашим требованиям:

Могу поспорить, что вы получите Groovier IDE с Groovy (и это Groovy Eclipse Plugin ).

3 голосов
/ 14 сентября 2009

Изучение ООП, DesignPatterns, понимание Алгоритмов ... остальное "просто" язык. Если вы изучите 5-й и 8-й язык, вы обнаружите, что есть некоторые сходства, некоторые недостатки и недостатки ... Что вам нужно выучить, это перенести потребности бизнеса на какую-то техническую платформу.

2 голосов
/ 14 сентября 2009

Это не новые языки, но я голосую за то, что если у вас есть опыт работы с ними, то вы станете лучшим программистом на любом языке, который вы выберете:

  • Smalltalk (или Objective-C), иначе вы не испытали ООП.
  • Лисп для функционального, рефлексивного, метапрограммирования.
  • Пролог для логического программирования.

Все они довольно далеки от вашего базового C-подобного языка, как по концепции, так и по синтаксису.

Алан Кей изобрел ООП и Smalltalk, его цитируют как «C ++ - это не то, что я хотел» , а C ++ - то, что имитирует большинство современных языков ООП. ООП в стиле C ++ - это просто синтаксический сахар поверх структур с указателями на функции. ООП может быть намного больше. Ruby тесно связан, но вы могли бы пропустить чередующиеся имена методов.

Lisp существует с 1958 года, и фанаты продолжают говорить, что все, что добавляется к любому новому языку, является чем-то заимствованным из Lisp. Может быть, не совсем верно, но несколько точно, Лисп собирал мусор 50 лет назад. Самый простой способ испытать это сегодня - написать что-то на Clojure.

Пролог основан на формальной логике. Пролог является декларативным, где вы объявляете факты и правила и выполняется путем построения запросов по этим отношениям. Вроде как логические игры в некоторых журналах:).

2 голосов
/ 14 сентября 2009

Weird. Я не могу поверить, что никто еще не предложил Python.

1 голос
/ 14 сентября 2009

В мире .NET звучит так, будто вы говорите либо F # и IronRuby . IronPython также может удовлетворить ваши потребности.

0 голосов
/ 14 сентября 2009

Вы действительно не говорите, какое программирование вы хотите делать. Вы уже знаете C / C ++? Если нет, я бы порекомендовал изучить их, а не что-то новое и необычное.

Однако, если вы хотите что-то новое и интересное и хотите писать собственные приложения, я бы посмотрел на:

D

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

0 голосов
/ 14 сентября 2009

Лично я собираюсь отдать голос за Python, Ruby и Mono.NET.

Из трех вы, вероятно, были на правильном пути, когда сказали, что смотрите на Моно; это C # (с которым у вас есть предыдущий опыт), есть хорошие бесплатные IDE SharpDevelop - это один , что делает его дешевым, и за всем этим стоит действительно солидное сообщество.

...