В очередной раз получил вопрос о том, какой язык выбрать. Я из получаю регулярно, но тут автор письма спросил конкретно - C# или Java.
Выбирай тот язык, который больше нравится, потому что по обоим пока работу найти достаточно легко кажется в любой стране. Если не знаешь, какой нравится, попробуй оба. Снова не решил? Выбирай тот, который сейчас нужен и востребован в твоём регионе, по крайней мере на твой взгляд.
Это был мой стандартный ответ на любой подобный вопрос. Но сейчас я хотел бы все же остановится более подробно на перспективах обоих языков, раз уж именно они были затронуты. Я кажется уже сравнивал эти языки, но время идёт, все в жизни меняется и я даже не буду искать ту заметку, а опишу свои нынешние ощущения.
Мне кажется, что Java останется популярной ещё очень долго благодаря Google и платформе Андроид. Этот же язык будет очень много использоваться на мейнфреймах благодаря IBM и большому количеству банковских систем, которые уже написаны на этой платформе. Не думаю, что кто-то решиться переводить все это на другой язык, просто это все слишком крупные решения.
Но если говорить о новых разработках, то тут все больше компаний для крупных проектов мне кажется выбирает все же платформу Microsoft. И тут все просто, Java потерял свободу, когда ушел под крыло Oracle. До этого перехода Sun тратил огромные ресурсы на этот язык и много делалось ради свободы, открытого кода и просто Java. С переходом под крыло Oracle язык все же потерял, стал развиваться медленнее. Та же участь постигла и MySQL.
Из-за судебных проблем с Oracle есть вероятность, что Google начнёт серьезно переводить все на другой язык, например, на Go. Если что-то такое начнется, то перспективы Java достаточно плохие, популярность этого языка пойдет серьезно вниз.
В случае с .NET, Microsoft делает на много больше усилий. Язык развивается все ещё достаточно серьёзно, компания выпустила бесплатный редактор кода под все платформы, и как раз начинает вкладываться в открытость, делает все, что касается .NET свободным.
Трудно сейчас сказать, что будет с Windows в будущем, но пока что все же эта платформа останется самой популярной. А тут C# набирает популярность. Майкрософт продолжает вкладываться и в свою мобильную платформу и если у них эти действия принесут плоды, то C# может ещё более серьёзно выстрелить.
Java находится на пике своей популярности и я особо не вижу, как этот язык может начать расти еще дальше вверх. Зато я вижу, как он может полететь вниз.
У популярности .NET все еще впереди. Сейчас эту платформу сделали дружественной к Arduino и благодаря открытому исходному коду я вижу возможные перспективы, где этот язык может выстрелить - встраиваемые системы и мобильная платформа. Произойдёт это или нет, я сказать не могу, но я просто вижу возможную перспективу тут.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Spring Boot всё ещё слишком популярен и продолжает развиваться, так что слабо верится что с него резко начнут слезать.
Нравятся такие заметки. Именно свой опыт и свой взгляд ценен.
А если рассматривать выбор между java и c# в свете следующих потребностей: десктопные приложения под windows, мобильные под android и и веб-сервисы?
Точнее хочется создавать приложения, которые могут синхронизироваться между телефоном, планшетом, компьютером. Какую технологию лучше выбрать?
Microsoft Azure? Node.js? Xamarin? Cordova?
Михаил, лучше добавить ещё swift для сравнения.)
В 8 java появились лямда и др. и вот на подходе 9. Все бесплатно. Eclipse или Netbeans бесплатны и кросплатформены, есть IDEA. Jenkins для CI gradle maven spring akka play gwt бесплатны. Работает на винде маке и луноходе. О смерте java говорят лет так 10 уже но на tiobe после выпуска 8 версии рост и сейчас на 1 месте. Есть андроид и большая инфраструктура, чего не скажешь о windows phone и его популярности.
В свою очередь C# это платная VS платные windows сервера, привязка ко всему MS.
В интерпрайзе red hat это стандарт. Поэтому говорить о смерте java как-то рановато, она тоже не стоит на месте и развивается.
У go другая ориентированность. Java более многословна и занимает свою нишу.
1. Здесь стояла конкретная цель сравнить только два языка C# и Java, поэтому Swift будет немного лишним. Но его можно сравнить с чем-то отдельно.
2. Я не говорю о смерти Java прямо сейчас, я говорю о будущем, какие могут быть перспективы далее.
Я считаю, что нужно изучать Ассебмлер и C++, Ассебмлер, потому что зная его как происходит работа программы на физическом уровне,как помещается информация в ячейку памяти. С++, потому что PHP,JAVA,C# прямые потомки от C++,у них синтаксис и основнные конструкции от си.
Есть бесплатная VS 2013 ~ 2015 Community Edition , которая эквивалентна редакции Professional.
А что скажете о WPF? Есть ли смысл его изучать, и переходить с Windows Forms? Windows Form использует gdi, где все лагает, особенно при выводе большого кол-ва информации. Или есть другие альтернативы?
WPF мне лично нравится, я об этом много раз писал. Но вот в перспективы не сильно верю. Silverlight под в
Web уже убили, а на мобилке сильно пропагандируют web технологии. Так что не знаю, будут ли эту технологию поддерживать в будущем. Но лично мне она очень нравится
Overdrive, а SharpDevelop тоже платная, а VS Express? Не надо про привязку. На них вполне можно работать, хоть и не так удобно.
под мобильники WinRT))
2С. Наделла для интерпрайза комьюнити версии недостаточно.
https://www.visualstudio.com/ru-ru/products/compare-visual-studio-2015-products-vs.aspx
Поэтому придется покупать. Как и windows сервера и др.
2Overdrive, интерпрайз сможет это себе позволить, не так ли? То не есть проблема.
Правило просто как двери, зарабатываешь солидно на студии, изволь купить, ибо на деньги прилетит проверка.
А если ты шлепаешь пет-прожекты , то пожалуйста, пиши себе бесплатно, сидя с чашечкой дешевого кофе , почитывая Адама Фримена....
А то как послушаешь, так у всех порталы с миллионами посетителей в он-лайне и триллионами запросов к базе данных )))
12. Корпоративными считаются организации с >250 ПК или годовым доходом >1 млн долларов США.
Чем же комьюнити недостаточно? Работаю на ней с первого дня как её выпустили и всего хватает. Да, нет некоторых фич, но совсем не критично, всё равно их не юзаю. Самое заметное чего нет это подсказки сверху методов которые в 2013 студии появились.
Оффтоп: Михаил, убери автокомплит на коде подтверждения, подсказка перекрывает картинку каждый раз.
2Я думаю по поводу их
1) Visual Studio Community - для коммерции запрещена, только в учебных целях opensource и т.д. Поэтому на любом предприятии, будь то даже ИП, выложи деньги, а расценки не маленькие =). Да есть бесплатные аналоги, но где их реально используют? Везде где я работал была VS.
2) Значит хостинг дороже и windows сервер, если ты что-то для себя делал. И все упирается в windows, и среда разработки и среда исполнения. Под Mac и Linux все это полноценно не работает, хотя разговоры идут уже много лет, а на деле все печально. Потому, что вся инфраструктура MS выстроена вокруг своих продуктов, и это логично.
Возможности Visual Studio Community может быть и хорошие, но по лицензионным соглашениям она может быть запрещена к использованию в коммерческих проектах. Express Edition тоже была запрещена.
https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx
Any individual developer can use Visual Studio Community to create their own free or paid apps
An unlimited number of users within an organization can use Visual Studio Community for the following scenarios: in a classroom learning environment, for academic research, or for contributing to open source projects.
For all other usage scenarios:
In non-enterprise organizations, up to five users can use Visual Studio Community. In enterprise organizations (meaning those with >250 PCs or >$1 Million US Dollars in annual revenue), no use is permitted beyond the open source, academic research, and classroom learning environment scenarios described above.
То есть для себя можно писать без ограничений платный и бесплатный софт, что отлично для фрилансеров, а для серьёзных фирм думаю можно и купить хоть каждый год, с учётом зарплат программистов цена студии это копейки, по крайней мере Professional редакции (499$), которой с головой хватит для любых приложений.
Я написал, что "она может быть запрещена к использованию в коммерческих проектах", обрати внимание на второе слово. Я лицензионное соглашение не читал, но догадывался, что могут быть проблемы и ограничения действительно оказались. Их нет только для индивидуальных программистов
Михаил, добрый вечер!!!
Давно что-то к вам не заходил да не читал ваши блоги.
Вопросы такие:
1. можете ли привести сравнение JavaFX и WPF?
Что лучше работает в плане стабильности, производительности, качества.
2. Какого мнения о бесплатной ide C# Shell developer? (чем она уступает платному MS Visual Studio)
3. Читал, что Java теперь принадлежит Oracle, это значит что компилятор Java теперь платный, включая Java FX или также свободная?
4. И еще вопрос в Вики написано, Shell developer не поддерживает COM - компоненты, это что ж означает, что на shell developer я откомпилировать библиотеку (*.dll) не смогу для вызова ее в другой программе (конкретно 1С предприятие 8) или
наоборот shell developer не понимает внешние библиотеки, откомпилированные в других системах?
пардон Sharp Develop вместо shell develop
1. Чтобы провести такое сравнение, нужно знать JavaFX, а я его не знаю
2. Ну долгое время писал код в Notepad++ даже на C# и сейчас часто это делаю, так что мне особо не нужны супер фишки среды разработки.
3. Я не слежу за Java. Да, она принадлежит Oracle, но платной они ее кажется не делали. Просто там есть некоторые пункты лицензии, которые всегда нарушались, а сейчас Oracle стала следить за этим.
4. Ничего не могу сказать, потому что не знаю
По использованию Visual Studio Community.
Несколько дней назад я был на конференции CodeFest 2016 в Новосибирске. Подошёл к стенду Microsoft и задал этот вопрос. Так вот, в компаниях с годовым доходом менее 1млн $ в год и количеством ПК менее 250 коммерческое использование Visual Studio Community РАЗРЕШЕНО, и даже приветствуется (не более 5 рабочих мест). Если надо например 7, можно использовать 5 Community и 2 Express, или купить две Professional, итд.
Это ты у юриста из MS спрашивал? Я не буду спорить в отношении лицензий, но я бы лучше с юристом посоветовался, а не просто с сотрудниками MS.
> Это ты у юриста из MS спрашивал?
Спрашивал у самого продвинутого консультанта MS на конференции. Конечно, для уверенности консультация юриста не повредит. Но раз сотрудники MS делают такие заявления, скорее всего ответ юриста будет положительный.
> Visual Studio Community - для коммерции запрещена, только в учебных целях opensource и т.д. Поэтому на любом предприятии, будь то даже ИП, выложи деньги
Вот тут товарищ Overdrive явно не обращался к юристу, в этом я убеждён
> Ну долгое время писал код в Notepad++ даже на C# и сейчас часто это делаю, так что мне особо не нужны супер фишки среды разработки.
Я сомневаюсь в Вашей компетенции.
Оставлю свои 2 копейки по поводу JavaFX. Весьма годный GUI фреймворк, качественные API, да и в java 8 - это gui по-умолчанию, что говорит само за себя. Сам использую около 1.5 лет и очень доволен по сравнению с Swing'ом, который, к слову, приходится использовать в старых проектах. Шарпами заинтересовался на фоне движения .net в сторону open-source и выходом VS Community Edition в которой есть Xamarin. Одной из причин также является следующий факт. Сам я maven user, и потратил времени на его изучение много, а теперь получается, что нужно изучать gradle, а с ним groovy только потому что разрабы из google выбрали эту систему сборки для android и не поддерживают maven. Как-то это не демократично на мой взгляд. А в VS если не ошибаюсь данный процесс вообще прозрачен, на выходе всегда одна и та же сборка. Если ошибаюсь, поправьте
> Это ты у юриста из MS спрашивал?
А разве нельзя самостоятельно проконсультироваться с другим юристом? Перевод лицензии ведь входит в комплект выпуска студии.
Spring Boot и микросервисы со мной навсегда. :)
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.