Подскажите, что выбрать!
Вы выбрали языки наиболее близкие по звучанию? :) Си отличается от C#, намного больше, чем, например, C# от Delphi...
С - это процедурный язык, разработанный в начале 70-х ... если не планируете писать драйвера, смело переходите к описанию С++ :)
С++ - начальное название "Си с классами". Это "расширенный" Си - в нем появились классы, шаблоны и много других полезных фич... Очень мощный и гибкий язык, требующий однако повышенного внимания и квалификации... Его мощь и одновременно самое уязвимое место - управление памятью, которое полностью (хотя и меньше, чем в Си) лежит на программисте.
C# - новый и очень классный язык программирования, ориентированный под .Net. Куча заморочек, которые надо постоянно держать в голове при программировании на С++ для этого языка просто не актуальны. У него огромная и очень мощная "стандартная" система классов, а чего там нет уже написано третьими лицами :)
Если Вам для общего развития, я бы порекомендовал C# - очень мощный и в тоже время простой для изучения.
Прочитай название раздела :)
Подобные вопросы задаются тут часто. Например:
http://forum.codenet.ru/showthread.php?t=52168
Но почему-то в списке нет Java (ведь синтаксис подобный). Читая разные статьи, пришел к мнению, что Java плохо подходит для написания настольных приложений. Не зависит от ОС, зато зависит от версии, производителя виртуальных машин, а если виртуальных машин установленно несколько от разных производителей, то вообще работа приложения непредсказуема. Примерно то же для апплетов.
Может ошибаюсь, но такие выводы подтверждают работодатели - нужны, в основном, разработчики сервлетов и мидлетов.
Ну Nemerle там тоже нету :) Он тоже похож синтаксисом (на том сходства заканчиваются). И JavaScript.
Нормально она подходит. На NetBeans посмотри :) На фоне такого халявного функционала даже VS2008 смотрится бледновато.
Это понятно. Но не интересно же делать настольное приложение, которое будет работать только у меня на компе. Ну, можно конечно таскать с собой дистрибутив виртуальной машины или использовать компиляторы, которые создают нативное приложение. Но оба подхода малость не изящные.
На NetBeans смотрю. Нравится.
Среды исполнения ("виртуальные машины") сейчас в любой кофеварке есть. За ними будущее.
Оно меня всегда смущало :) Но я где-то уже видел такое обсуждение, так что не буду зря флудить здесь :)
На Java действительно не очень много спроса ... C# в этом плане намного лучше, и специалисты требуется и оплачиваются даже лучше, чем на С++...
Столь великому императору не пристало возиться с программами.
Количеством плюсов: 0, 2 и 4.[QUOTE=Kogrom]Но почему-то в списке нет Java (ведь синтаксис подобный).[/QUOTE]И Spec# почему-то упущен :(
Согласен с kot_: "ИМХО когда человек хочет - он изучает, когда ему нечего делать он спрашивает на форуме что ему изучать".
Я предполагал, что развитие шло (исторически) примерно так:
C -> C++ -> java -> C#
поэтому удивился, что java выпала.
А вообще, просто хотел добавить этот язык в список рассматриваемых :)
для общего развития - хорошо идет философия, физика, математика, литература... иностранные языки очень полезны.
Ну вобще то ты ставишь один раз виртуальную машину и ползуешь. Виртуальные машины уже давно внедряются везде куда можно. .Net софт ведь у тебя тоже без .Net фреймворка работать не будет. )
На Java действительно не очень много спроса ...
Ага, конечно. ) Глянь на TIOBE index, который они помоему ежемесячно обновляют. Java оттуда уже много лет с первого места не сходит. )
Можешь вакансии посмотреть и по России. Помоему всегда уж J2EE разработчиков требовалось валом.
А вобще тема глупая. Во превых создаются подобные с переодичностью наверно раз в месяц. И каждый раз спорят.
Во вторых все выливается в то, что каждый свое болото хвалит. )
squirL, шарит. =)
Ну, я исхожу из своих потребностей. Мне часто требуется запускать свои программки на разных компьютерах, у которых может быть другой хозяин. Обычно на этих компах установлен Win XP (редко 2000 или 98). А вот установлены ли там какие-нибудь фреймворки или виртуальные машины - неизвестно. Ну, конечно, можно попытаться уговорить владельца компа уговорить что-то поставить, что-то удалить.