Здравствуйте, Ziaw, Вы писали:
Z>Здравствуйте, sunshine, Вы писали:
S>>Скажу за Ruby (странно, что еще не прозвучало в этой теме). Для сетевого программирования в нем есть особо мощная поддержка ( http://ru.wikipedia.org/wiki/%D0%E0%F1%EF%F0%E5%E4%E5%EB%E5%ED%ED%FB%E9_Ruby ). Сам особо не копал, но судя по описанию — гораздо удобнее и проще в использовании (но не менее функциональная) чем скажем WCF. Графика, БД и многопоточность — с этим всё нормально. Вычисления — сам Бог велел.
Z>Можно узнать почему вычисления? Из всех перечисленных языков руби самый тормозной. Хотя и самый приятный, да.
Что касается тормознутости, то версия 1.92 как я понял лишь где-то процентов на 20-30 медленнее Питона, но с другой стороны использует опять-же где-то процентов на 30 меньше памяти. В принципе, конечно, медленнее, но все же не в разы. Возможно, если уж выбирать тот или иной интерпретируемый язык, не компилируемый в машинные коды, то на такого размера различия в скорости можно и забить.
Что касается того почему он подходит для вычислений — просто там есть полная поддержка для этого, ну и к тому же наверно не стоит сбрасывать со счетов тот факт, что изначально этот язык и был создан как раз-таки для вычислительных задач, и лишь потом уже стал более широко известен благодаря Ruby On Rails.
Здравствуйте, Алексей, Вы писали:
А>Несколько лет пишу на C#, для винды устраивает полностью, но для профессионального роста хотелось бы научиться создавать приложения и для Linux. Именно десктопные, не веб. С++ учить нет желания, хочется чего-то более высокоуровнего. Насчет Java есть опасения, не будет ли джава-дотнетовской каши в голове. Какие еще альтернативы? В идеале нужен фреймфорк, позволяющий эффективно решать часто возникающие задачи — многопоточное/сетевое программирование, работа с БД, расчеты.
Берём первый попавшийся дистрибутив Linux и смотрим, сколько на каком языке написано:
Оценки приблизительны, теги не везде расставлены. Первая десятка, очевидно, под Linux более-менее популярна и хорошо подходит для разработки. C и C++ не подходят из-за идеологических причин, Java тяжеловата, как и C#, PHP для веба, Lisp, OCaml и Haskell слишком академичны, Lua и SQL несамостоятельны, Tcl/Tk для настоящих труъ. Остаются довольно простой (но мощный) Python, значительно сложнее Perl, отстающий Ruby. Ну ещё остаются экзотические Object-C (особенно, если планируются потом и маки), Pascal для тех, кто не перерос короткие штанишки Turbo Pascal/Delphy, Ada для тех, кто перерос. Не отражено в списке, но JavaScript и Vala имеют хорошие перспективы для разработки несложных десктопных приложений и десклетов (впрочем, Python и т.п. имеют те же возможности).
Здравствуйте, kmmbvnr, Вы писали:
K>Здравствуйте, sunshine, Вы писали:
s>> этот язык и был создан как раз-таки для вычислительных задач
K>А разве в ruby быстрая арифметика и операции с массивами?
K>В python для вычислительных целей используется лишь как удобный интерпретатор к Си библиотекам. Тот же Opencv или Numpy
Да, кстати, и в Руби такая-же фишка есть — тяжелые вычисления можно при желании делать на C и обращаться к этим библиотекам из Руби. Собственно, для этого уже есть готовые классы-обертки к готовым библиотекам на C — как например для работы с графикой, да надо полагать и для математических алгоритмов тоже это уже всё написано (я просто не в курсе, сам не использовал).
Голосую за Python и Java по следующим причинам:
1. Зрелые, но в то же время развивающиеся языки.
2. Просты в изучении и легко читаемы
3. Очень много хороших библиотек, и их число растёт
4. Кроссплатформенные.
5. Дружат друг с другом (есть реализация Python для JVM)
6. Много живых проектов.
7. Много разработчиков, использующих эти языки.
Бизнес любит жабу сильнее, чем питона, поэтому с т.з. карьерных перспектив Java предпочтительнее. Для больших проектов Java опять же предпочтительнее, т.к. лучше развит инструментарий (IDE, управление зависимостями, сборка, отладка, тестирование, оптимизация и т.д.)
Здравствуйте, Алексей, Вы писали:
А>Несколько лет пишу на C#, для винды устраивает полностью, но для профессионального роста хотелось бы научиться создавать приложения и для Linux. Именно десктопные, не веб. С++ учить нет желания, хочется чего-то более высокоуровнего. Насчет Java есть опасения, не будет ли джава-дотнетовской каши в голове. Какие еще альтернативы? В идеале нужен фреймфорк, позволяющий эффективно решать часто возникающие задачи — многопоточное/сетевое программирование, работа с БД, расчеты.
Mono?
Этих фреймворков over9000. "Программист" ограниченный узким набором языков программирования и фреймворков, да ещё не владеющий C -- инвалид-быдлокодер.
Здравствуйте, fk0, Вы писали:
fk0>Здравствуйте, Алексей, Вы писали:
А>>Несколько лет пишу на C#, для винды устраивает полностью, но для профессионального роста хотелось бы научиться создавать приложения и для Linux. Именно десктопные, не веб. С++ учить нет желания, хочется чего-то более высокоуровнего. Насчет Java есть опасения, не будет ли джава-дотнетовской каши в голове. Какие еще альтернативы? В идеале нужен фреймфорк, позволяющий эффективно решать часто возникающие задачи — многопоточное/сетевое программирование, работа с БД, расчеты.
fk0> Mono?
fk0> Этих фреймворков over9000. "Программист" ограниченный узким набором языков программирования и фреймворков, да ещё не владеющий C -- инвалид-быдлокодер.
Мне "узкий набор" помогает успешно разрабатывать и сдавать проекты, я доволен, заказчик доволен. Ваша-то претензия в чем? И причем тут С вообще? Программирование нормальной предсказуемой логики без полного понимания внутренней работы программы не является преступлением. Кроме того, часто приходится работать в команде, а лично мне важна скорость и я не могу позволить себе всю жизнь ковыряться в чьих-то указателях на указатели на указатели. И тем более изучать писанные на коленке песперспективные языки с их "over9000" фреймворками. Кроме программирования я еще люблю путешествия и девушек.
Если вы собрались "раскачать" себя до уровня супермена, рушащего защиту Пентагона, выйдя в сеть с игрового автомата, — это ваше личное дело. Я свои цели обозначил в первом же сообщении.
P.S. Надеюсь, вы осознаете, что означает слово "быдло" и как может отразиться на вашем благополучии его использование применительно к людям в реальной жизни.
Здравствуйте, Алексей, Вы писали:
А>P.S. Надеюсь, вы осознаете, что означает слово "быдло" и как может отразиться на вашем благополучии его использование применительно к людям в реальной жизни.