Несколько лет пишу на C#, для винды устраивает полностью, но для профессионального роста хотелось бы научиться создавать приложения и для Linux. Именно десктопные, не веб. С++ учить нет желания, хочется чего-то более высокоуровнего. Насчет Java есть опасения, не будет ли джава-дотнетовской каши в голове. Какие еще альтернативы? В идеале нужен фреймфорк, позволяющий эффективно решать часто возникающие задачи — многопоточное/сетевое программирование, работа с БД, расчеты.
Правда, сразу должен заметить, язык после C# будет казаться весьма и весьма странным. Ну и работать надо с 2.7, а не 3.0. Между 2.х и 3.х нет совместимости, множество инструментов и библиотек не поддерживают 3.х
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, Алексей, Вы писали:
А>>А он как, справляется со всеми заявленными задачами?
A>Да вроде ответили уже. http://www.rsdn.ru/forum/philosophy/4355240.1.aspx
Ага, увидел, спасибо.
A>Правда, сразу должен заметить, язык после C# будет казаться весьма и весьма странным. Ну и работать надо с 2.7, а не 3.0. Между 2.х и 3.х нет совместимости, множество инструментов и библиотек не поддерживают 3.х
А есть какие-либо гарантии, что язык не умрет в ближайшие два года? Например, из-за такой вот несовместимости.
Здравствуйте, Алексей, Вы писали:
А>А есть какие-либо гарантии, что язык не умрет в ближайшие два года? Например, из-за такой вот несовместимости.
Да этой несовместимости уже года три, так что нет. Да и реализаций питона много: CPython, PyPy, Jython, IronPython, ActivePython, unladen-swallow и наверняка ещё есть, все сразу за один день не сдохнут.
Здравствуйте, Алексей, Вы писали:
А>Несколько лет пишу на C#, для винды устраивает полностью, но для профессионального роста хотелось бы научиться создавать приложения и для Linux. Именно десктопные, не веб. С++ учить нет желания, хочется чего-то более высокоуровнего. Насчет Java есть опасения, не будет ли джава-дотнетовской каши в голове. Какие еще альтернативы? В идеале нужен фреймфорк, позволяющий эффективно решать часто возникающие задачи — многопоточное/сетевое программирование, работа с БД, расчеты.
Здравствуйте, sereginseregin, Вы писали:
S>Здравствуйте, Алексей, Вы писали:
А>>Несколько лет пишу на C#, для винды устраивает полностью, но для профессионального роста хотелось бы научиться создавать приложения и для Linux. Именно десктопные, не веб. С++ учить нет желания, хочется чего-то более высокоуровнего. Насчет Java есть опасения, не будет ли джава-дотнетовской каши в голове. Какие еще альтернативы? В идеале нужен фреймфорк, позволяющий эффективно решать часто возникающие задачи — многопоточное/сетевое программирование, работа с БД, расчеты.
S>А как же http://www.mono-project.com
Здравствуйте, Алексей, Вы писали:
А> Какие еще альтернативы? В идеале нужен фреймфорк, позволяющий эффективно решать часто возникающие задачи — многопоточное/сетевое программирование, работа с БД, расчеты.
Если ни python, C++, java и даже mono не подходят по разным причинам, то можно посмотреть на go
Для выше обозначенных целей, в нем вроде все есть, а так же
+ Разработка от another evil corporation
+ Компилируемый
+ Структурная типизация
+ Сборщик мусора
+ goroutins вместо многопоточности
Самый суровый минус — язык юный, релизов нет, компилятор берем из репозитория.
Что язык, что стандартная бибилиотека потихоньку меняются.
Здравствуйте, kmmbvnr, Вы писали:
K>Здравствуйте, Алексей, Вы писали:
А>> Какие еще альтернативы? В идеале нужен фреймфорк, позволяющий эффективно решать часто возникающие задачи — многопоточное/сетевое программирование, работа с БД, расчеты.
K>Если ни python, C++, java и даже mono не подходят по разным причинам, то можно посмотреть на go
K>Для выше обозначенных целей, в нем вроде все есть, а так же
K>+ Разработка от another evil corporation K>+ Компилируемый K>+ Структурная типизация K>+ Сборщик мусора K>+ goroutins вместо многопоточности
K>Самый суровый минус — язык юный, релизов нет, компилятор берем из репозитория. K>Что язык, что стандартная бибилиотека потихоньку меняются.
Спасибо за вариант, но идея использования юного языка точно не понравится руководству и клиентам.
Здравствуйте, Алексей, Вы писали:
А>Здравствуйте, sereginseregin, Вы писали:
S>>Здравствуйте, Алексей, Вы писали:
А>>>Несколько лет пишу на C#, для винды устраивает полностью, но для профессионального роста хотелось бы научиться создавать приложения и для Linux. Именно десктопные, не веб. С++ учить нет желания, хочется чего-то более высокоуровнего. Насчет Java есть опасения, не будет ли джава-дотнетовской каши в голове. Какие еще альтернативы? В идеале нужен фреймфорк, позволяющий эффективно решать часто возникающие задачи — многопоточное/сетевое программирование, работа с БД, расчеты.
S>>А как же http://www.mono-project.com
А>Ой не нравится мне эта идея.
Вообще, для десктопных приложений важно выбрать связку графической библиотеки GTK, wxWidgets, QT, ... со средой исполнения Mono, Python, QT, Java
Здравствуйте, Алексей, Вы писали:
А>Несколько лет пишу на C#, для винды устраивает полностью, но для профессионального роста хотелось бы научиться создавать приложения и для Linux. Именно десктопные, не веб. С++ учить нет желания, хочется чего-то более высокоуровнего. Насчет Java есть опасения, не будет ли джава-дотнетовской каши в голове. Какие еще альтернативы? В идеале нужен фреймфорк, позволяющий эффективно решать часто возникающие задачи — многопоточное/сетевое программирование, работа с БД, расчеты.
Писал на C# для Windows. Перешёл на Java? писал для Windows и Unix (IBM AIX) и никакой каши не было. Даже в чём-то помогло. Java понравилась больше. В т.ч. полной переносимостью и относительной простотой самого языка.
Здравствуйте, sereginseregin, Вы писали:
S>Здравствуйте, Алексей, Вы писали:
А>>Здравствуйте, sereginseregin, Вы писали:
S>>>Здравствуйте, Алексей, Вы писали:
А>>>>Несколько лет пишу на C#, для винды устраивает полностью, но для профессионального роста хотелось бы научиться создавать приложения и для Linux. Именно десктопные, не веб. С++ учить нет желания, хочется чего-то более высокоуровнего. Насчет Java есть опасения, не будет ли джава-дотнетовской каши в голове. Какие еще альтернативы? В идеале нужен фреймфорк, позволяющий эффективно решать часто возникающие задачи — многопоточное/сетевое программирование, работа с БД, расчеты.
S>>>А как же http://www.mono-project.com
А>>Ой не нравится мне эта идея.
S>Вообще, для десктопных приложений важно выбрать связку графической библиотеки GTK, wxWidgets, QT, ... со средой исполнения Mono, Python, QT, Java
Да, это верно. А какая графическая библиотека хорошо подойдет для Python?
Здравствуйте, Алексей, Вы писали:
А> Несколько лет пишу на C#, для винды устраивает полностью, но для профессионального роста хотелось бы научиться создавать приложения и для Linux. Именно десктопные, не веб. С++ учить нет желания, хочется чего-то более высокоуровнего. Насчет Java есть опасения, не будет ли джава-дотнетовской каши в голове. Какие еще альтернативы? В идеале нужен фреймфорк, позволяющий эффективно решать часто возникающие задачи — многопоточное/сетевое программирование, работа с БД, расчеты.
On 25.07.2011 6:57, Алексей wrote: > высокоуровнего. Насчет Java есть опасения, не будет ли джава-дотнетовской каши в > голове. Какие еще альтернативы? В идеале нужен фреймфорк, позволяющий эффективно > решать часто возникающие задачи — многопоточное/сетевое программирование, работа > с БД, расчеты.
Во-первых, есть Mono. Оно конечно не идеально, но всё же.
Во-вторых, рекомендую Python. Очень много программ в современном линуксе
написано на нём, к нему есть абсолютно любой инструментарий.
Здравствуйте, Алексей, Вы писали:
А>Несколько лет пишу на C#, для винды устраивает полностью, но для профессионального роста хотелось бы научиться создавать приложения и для Linux. Именно десктопные, не веб. С++ учить нет желания, хочется чего-то более высокоуровнего. Насчет Java есть опасения, не будет ли джава-дотнетовской каши в голове. Какие еще альтернативы? В идеале нужен фреймфорк, позволяющий эффективно решать часто возникающие задачи — многопоточное/сетевое программирование, работа с БД, расчеты.
Скажу за Ruby (странно, что еще не прозвучало в этой теме). Для сетевого программирования в нем есть особо мощная поддержка ( http://ru.wikipedia.org/wiki/%D0%E0%F1%EF%F0%E5%E4%E5%EB%E5%ED%ED%FB%E9_Ruby ). Сам особо не копал, но судя по описанию — гораздо удобнее и проще в использовании (но не менее функциональная) чем скажем WCF. Графика, БД и многопоточность — с этим всё нормально. Вычисления — сам Бог велел.
Здравствуйте, sunshine, Вы писали:
S>Скажу за Ruby (странно, что еще не прозвучало в этой теме). Для сетевого программирования в нем есть особо мощная поддержка ( http://ru.wikipedia.org/wiki/%D0%E0%F1%EF%F0%E5%E4%E5%EB%E5%ED%ED%FB%E9_Ruby ). Сам особо не копал, но судя по описанию — гораздо удобнее и проще в использовании (но не менее функциональная) чем скажем WCF. Графика, БД и многопоточность — с этим всё нормально. Вычисления — сам Бог велел.
Можно узнать почему вычисления? Из всех перечисленных языков руби самый тормозной. Хотя и самый приятный, да.
Здравствуйте, 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. Надеюсь, вы осознаете, что означает слово "быдло" и как может отразиться на вашем благополучии его использование применительно к людям в реальной жизни.