А так недавно собирал трудный проект при помощи clang особых трудностей не было… были скорее DARWIN/BSD специфичные. Ну и честно говоря не вижу смысла менять шило на мыло если этого захотела Apple.
Functional interface — наиболее подходящий эквивалент.
Это сколько лишней писанины по сравнению с C,C++,Ruby,Python… или я плохо документацию изучил?
Потому что разным пользователям нужны разные версии, и потому, что платформа развивается.
Разные версии чего? Языка или платформы? И разница то часто не столько в фичах сколько в брендах: dev-java/apple-jdk-bin, dev-java/hp-jdk-bin, dev-java/ibm-jdk-bin, dev-java/oracle-jdk-bin, dev-java/soylatte-jdk-bin, dev-java/sun-jdk — честно понятия не имею в чём разница. Это больше похожее на агонию, а не развитие.
Опять же в C++,Python и т.д. мире то же есть разные компиляторы и интерпретаторы но они все стараются по максимуму реализовать платформу (хотя возможно и со своими идеями), а не внести туда свои плюшки и это больше похоже на здоровую конкуренцию.
Для эффективной работы системы с автоматической сборкой мусора нужно «пространство для маневра». А мусора — много, это особенность языка. Нет, можно писать код так, чтобы вообще выйти на некое плато и не порождать объекты, но это уже будет не совсем java-программа
Python, Ruby так же имеют сборщики мусора, почему то они не весят столько (причём это динамические языки, а значит почти всё там хэш таблицы). Ну и это к слову пример почему в современном мире новые сайты (с некоторыми исключениями, как тот же Twitter) никто не пишет на Java, а пишут на PHP,Python,Ruby…
Ну и по хорошему — вот в чём плюс Java перед современным C++ с мультиплатформенными либами? В идеале Java не надо собирать для каждой платформы, на практике для Windows,Linux,MacOSX всё равно приходится делать свои сборки.
К самому языку Java у меня только одна претензия — невозможность передать функцию как аргумент (без оборачивания этого хозяйства в объект или ещё какое шаманство).
А вот к Sun, Oracle, IBM и экосистеме претензий куча. Для начала неразбериха с лицензиями и Java машинами. К примеру почему OpenJDK не всё может запустить а оракловый требует явно не свободную и ограничивающую лицензию? И потом у меня в списках пакетов есть куча JRE,JDK разных, вся эта мешанина — мешает.
Потом — память, ещё ни одно приложение на Java не кушала меньше 500 мегабайт, а в среднем гиг (тот же Eclipse).
Потом — ужасные GUI библиотеки без нормальных биндингов (Qt, GTK), помню как долго мучался что бы в NetBeans в меню шрифты стали не вырви глаз а со сглаживанием (как в системе), а про внешний вид я уже и молчу.
Собственно если эти проблемы убрать то будет хороший инструмент. Правда он тогда будет мало отличатся от C++ особенно C++11.
Проектов — много но я почти ничего не встречал по работе кроме может быть Redmine (крайне медленный) и SASS, HAML, CoffeeScript (и то я так понял, сейчас SASS, CoffeScript работают без Ruby и не завязаны на него)
Вот это кок раз и есть частности. Многие вещи нельзя разрабатывать удалёно. А так по всем опросам, и ссылкам что были приведены в начале статьи, python выше ruby (ну кроме проектов на github :) любят рубисты его).
Ну и мне честно говоря интересен именно рынок РФ такак тут сижу.
Крайне спорное утверждение. Ruby по сути популярно за счёт Rails, а на Python множество различных фреймворков (неплохо конкурирующих), в том числе асинхронных (tornado, twisted, gevent). Кроме того Python банально старше Ruby. ИМХО то что вижу лично я, соответствует статистике, Python популярен, но не капитально… раза в 2 не больше.
Скрипты на python вижу, но всё же кроме веба Python плотно засел в десктоп приложениях (PyQt очень вкусный).
(ИМХО на это повлиял тот факт, что только начиная с 1.9 интерпретатор руби сравнялся по скорости с python интерпретатором)
И ещё одно ИМХО которое так же сответсвует графикам с сайтов — бум интереса к Ruby прошёл, сейчас он скорее теряет очки (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html — как тут к примеру).
В 95% остальных случаев, веб — это java script, php и может быть ruby.
Скорее Python чем Ruby, судя по статистике в топике.
Поэтому нельзя называть «самый популярный язык» просто считая людей, которые им пользуются.
А с этим я не спорил. Хотя всё же скажу: если язык универсальный, и его использует очень много людей есть вероятность перетекания из одной области в другую. И я всё же разделил бы компилируемые языки и интерпретируемые (во многом они и вправду не пересекаются).
1. Думаю тому же Yandex это не страшно. (а там многие внешние сервисы именно на C++)
2. CppCMS, Wt достаточно долго живут и вроде не собираются умирать. Если всё было так хорошо у динамических языков, то Фейсбуку и прочим, не пришлось бы придумывать трансляторы PHP в C++. Я и сам сталкивался с нехваткой производительности (а новые ресурсы приобрести было нельзя).
3. Советую CppCMS глянуть, мне очень понравилось, и кода не многим больше чем на PHP приходится писать.
Ну на счёт второго вы зря. Есть очень неплохие фреймворки для С++ достаточно много контор именно на нём делают свои веб приложения. У меня только положительный опыт от этого (ооочень быстро, и если не намудрить то и оперативки мало кушает).
Вот для JS увы и впрямь мало научных либ или их качество не дотягивает хотя бы до Python.
Правда llvm и gcc уже подросли с тех пор…
А так недавно собирал трудный проект при помощи clang особых трудностей не было… были скорее DARWIN/BSD специфичные. Ну и честно говоря не вижу смысла менять шило на мыло если этого захотела Apple.
Это сколько лишней писанины по сравнению с C,C++,Ruby,Python… или я плохо документацию изучил?
Разные версии чего? Языка или платформы? И разница то часто не столько в фичах сколько в брендах: dev-java/apple-jdk-bin, dev-java/hp-jdk-bin, dev-java/ibm-jdk-bin, dev-java/oracle-jdk-bin, dev-java/soylatte-jdk-bin, dev-java/sun-jdk — честно понятия не имею в чём разница. Это больше похожее на агонию, а не развитие.
Опять же в C++,Python и т.д. мире то же есть разные компиляторы и интерпретаторы но они все стараются по максимуму реализовать платформу (хотя возможно и со своими идеями), а не внести туда свои плюшки и это больше похоже на здоровую конкуренцию.
Python, Ruby так же имеют сборщики мусора, почему то они не весят столько (причём это динамические языки, а значит почти всё там хэш таблицы). Ну и это к слову пример почему в современном мире новые сайты (с некоторыми исключениями, как тот же Twitter) никто не пишет на Java, а пишут на PHP,Python,Ruby…
Ну и по хорошему — вот в чём плюс Java перед современным C++ с мультиплатформенными либами? В идеале Java не надо собирать для каждой платформы, на практике для Windows,Linux,MacOSX всё равно приходится делать свои сборки.
А вот к Sun, Oracle, IBM и экосистеме претензий куча. Для начала неразбериха с лицензиями и Java машинами. К примеру почему OpenJDK не всё может запустить а оракловый требует явно не свободную и ограничивающую лицензию? И потом у меня в списках пакетов есть куча JRE,JDK разных, вся эта мешанина — мешает.
Потом — память, ещё ни одно приложение на Java не кушала меньше 500 мегабайт, а в среднем гиг (тот же Eclipse).
Потом — ужасные GUI библиотеки без нормальных биндингов (Qt, GTK), помню как долго мучался что бы в NetBeans в меню шрифты стали не вырви глаз а со сглаживанием (как в системе), а про внешний вид я уже и молчу.
Собственно если эти проблемы убрать то будет хороший инструмент. Правда он тогда будет мало отличатся от C++ особенно C++11.
PS зато Python хорошо в науке отметился, для ruby хорошего аналога SciPy нету.
Ну и мне честно говоря интересен именно рынок РФ такак тут сижу.
Ну не совсем, выше сылочки приводил.
Ну так сравните:
hantim.ru/?q=ruby
hantim.ru/?q=python
Список по python как раз в 2 раза длиннее.
А ещё наша контора сейчас ищет срочно Ruby разработчика и за 2 недели никого не смогли найти. :(
Скрипты на python вижу, но всё же кроме веба Python плотно засел в десктоп приложениях (PyQt очень вкусный).
(ИМХО на это повлиял тот факт, что только начиная с 1.9 интерпретатор руби сравнялся по скорости с python интерпретатором)
И ещё одно ИМХО которое так же сответсвует графикам с сайтов — бум интереса к Ruby прошёл, сейчас он скорее теряет очки (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html — как тут к примеру).
Скорее Python чем Ruby, судя по статистике в топике.
А с этим я не спорил. Хотя всё же скажу: если язык универсальный, и его использует очень много людей есть вероятность перетекания из одной области в другую. И я всё же разделил бы компилируемые языки и интерпретируемые (во многом они и вправду не пересекаются).
2. CppCMS, Wt достаточно долго живут и вроде не собираются умирать. Если всё было так хорошо у динамических языков, то Фейсбуку и прочим, не пришлось бы придумывать трансляторы PHP в C++. Я и сам сталкивался с нехваткой производительности (а новые ресурсы приобрести было нельзя).
3. Советую CppCMS глянуть, мне очень понравилось, и кода не многим больше чем на PHP приходится писать.
Вот для JS увы и впрямь мало научных либ или их качество не дотягивает хотя бы до Python.