В настоящее время я участвую в конкурсе на программирование (http://contest.github.com), цель которого - создать механизм рекомендаций. Я начал кодировать в рубине, но вскоре понял, что это было недостаточно быстро для алгоритмов, которые я имел в виду. Поэтому я перешел на C, который является единственным языком, который не является скриптом, который я знаю. Это было быстро, конечно, но я каждый раз съеживался каждый раз, когда мне приходилось писать цикл for
, чтобы пройти через элементы массива (что было очень часто).Какой язык общего назначения следует изучать дальше?
Вот и началось: хотелось бы, чтобы я знал быстрый, но высокоуровневый язык, с легкостью программировать все эти интенсивные вычисления!
Итак, я посмотрел на свои варианты, но в наши дни есть много вариантов! Здесь лучшие кандидаты, которые я нашел в течение месяца, с чем-то, который беспокоит меня о каждом из них (которые, мы надеемся, вы можете очистить вверх):
- Clojure: Я не уверен, что я хочу, чтобы попасть в целое
lisp
вещь, мне нравится мой синтаксис и треск. Однако я мог убедиться. - Haskell: Слишком академичен? Мне все равно, чистый функциональный, я просто хочу что-то, что работает. Но он имеет хороший синтаксис, и я не против статического ввода текста.
- Scala: странный язык. Я попробовал, но это кажется беспорядочным/непоследовательным для меня.
- OCaml: Также интересно, слишком ли это академично? Плохая поддержка параллелизма также беспокоит меня.
- Arc: Пол Грэма, слишком неясный, и снова, я не уверен, что хочу научиться lisp. Но я доверяю этому человеку!
Любой совет? Мне очень нравятся функциональные языки, поскольку они легко управляют списками, но я также открыт для других вариантов. Я хотел что-то столь же быстро, как Java ..
вид вещей, я хочу, чтобы иметь возможность делать со списками, как (рубин):
([1, 2, 3, 4] - [2, 3]).map {|i| i * 2 } # which results in [2, 8]
Я также предпочитаю с открытым исходным кодом язык.
Благодаря
Угадайте, что это обман –
Я знаю все, «какие языки следует изучать», но я думал, что могу получить более персонализированные советы и обсуждения, заявив о своей проблеме и о том, что я имел в виду. – cloudhead
Что именно вас беспокоит LISP? – freiksenet