Функции закрытия .NET популярны среди многих разработчиков, и Java, похоже, скоро их реализует. Конечно, это особенность языка, а не функция среды выполнения. Я думаю, какой из двух вариантов вы в конечном итоге выберете, зависит от личных предпочтений и местных возможностей карьерного роста. Функции закрытия .NET популярны среди многих разработчиков, и Java, похоже, скоро их реализует. Конечно, это особенность языка, а не функция среды выполнения. Я думаю, какой из двух вариантов вы в конечном итоге выберете, зависит от личных предпочтений и местных возможностей карьерного роста.
1.Что произойдет, когда Java SE 7 встретит .NET CLR?
Как видно из списка функций Java SE 7, она значительно улучшилась по сравнению с предыдущими версиями. Так что, я так не думаю? За последние несколько лет в JVM и .NET CLR было внесено множество улучшений; многие вещи, которые раньше могли быть выполнены только очень опытными программистами, теперь доступны обычным программистам благодаря усовершенствованиям JVM. и .NET CLR.
Хотя JVM и .NET CLR не реализовали одну и ту же идею одновременно, если хорошая идея появляется с одной стороны, другая сторона быстро ее реализует. Это отражается не только на уровне выполнения. Например, для Java после того, как проект Hibernate добился большого успеха, .NET также быстро запустил NHibernate. Функции закрытия .NET очень популярны среди многих разработчиков, и Java, похоже, скоро их реализует. Конечно, это особенность языка, а не функция среды выполнения.
Замыкания .NET стали хитом, и Java вскоре последует этому примеру.
2. Сможет ли одна среда выполнения полностью победить другую в обозримом будущем?
Хотя JVM и .NET CLR очень похожи на техническом уровне, каждая из них имеет свой собственный рынок, и ни один из них не отличается особой гибкостью. Если кто-то создал свою инфраструктуру вокруг сервера .NET и IIS, он не сможет проснуться на следующий день и перенести все это на Java, и наоборот. Даже если компания решит сменить платформу разработки, ей, возможно, придется заменить всю команду разработчиков или обучить ее с нуля. Даже после завершения обучения все еще остаются серьезные недостатки в навыках, ведь старший .NET-разработчик не может вдруг стать старшим Java-разработчиком после 3 месяцев обучения.
Кроме того, компании необходимо сохранить существующий технический персонал для поддержания существующего кодекса. Думаете ли вы, что эти сотрудники будут сидеть сложа руки и смотреть, как их позиции сокращаются, или их навыки становятся бесполезными или обесцениваются? Конечно, нет. Для компании полный переход с Java на .NET или полный переход с .NET на Java — это акт самоубийства. В лучшем случае сотрудники будут переобучены в рамках многолетнего проекта. Переход с VB6 на .NET занял 8 лет с момента выпуска .NET.
Трансформация программистов и проектов требует времени
3. Является ли стоимость разработки Java более экономичной, чем разработка .NET? Если да, обратятся ли люди к Java, чтобы сэкономить инвестиции?
Если вы просто смотрите на инструменты, мой ответ — «и правильно, и неправильно». Действительно, если хотите, вы можете запускать Java в пакете с полностью открытым исходным кодом. Вы можете использовать комбинацию Linux/Tomcat/MySQL/Java или использовать комбинацию SpringSource на стороне сервера и Eclipse или NetBeans на компьютере разработчика. Но важно отметить, что вы не станете большим поклонником альтернатив с открытым исходным кодом по какой-либо причине, и я не говорю, что альтернативы плохи, если это так, цена инструментов Java по сравнению с ценой; Инструменты .NET Достаточно, а во многих случаях даже дороже. Глядя на то, что делают такие компании, как Oracle и IBM, становится ясно, что многие компании чувствуют необходимость платить за проприетарные инструменты Java. С точки зрения цен Microsoft почти всегда является самым дешевым корпоративным поставщиком в любом сегменте рынка.
Кроме того, вы должны учитывать, сколько денег сэкономила бы компания, если бы не было затрат на переход. Стоимость копии Visual Studio намного меньше, чем еженедельная зарплата и страховой взнос разработчика со средним доходом. Более того, время, необходимое одному и тому же разработчику, чтобы изучить Java и достичь уровня, на котором он хорошо разбирается в .NET, намного превышает неделю.
Честно говоря, этот анализ применим и к переходу с Java на .NET. По сравнению с болью, связанной с переключением платформ, стоимость инструментов разработки действительно незначительна. Конечно, есть два исключения. Первая ситуация — создать новую компанию, чтобы не возникало проблем с затратами на миграцию. В этом случае Java по-прежнему не имеет ценового преимущества, поскольку Microsoft также запустила бесплатную версию Visual Studio (версия Express), и если ваша компания является новой компанией, вы можете получить ее бесплатно в течение трех лет через BizSpark. планирую MSDN и лицензию Microsoft, они неплохие. Другим исключением являются компании с очень высоким соотношением числа серверов и разработчиков, такие как Google или Yahoo. В таких компаниях над приложением, работающим на тысячах серверов, может работать множество разработчиков. В этом случае основным фактором экономии средств являются не инструменты разработчика, а место на сервере. Для компаний, оказавшихся в такой ситуации, Java (и другие технологии с открытым исходным кодом) может иметь решающее преимущество в стоимости.
4. Какой язык сценариев необходимо знать разработчику Java, чтобы добиться эффективности в .NET?
Во-первых, вы занимаетесь веб-разработкой? Если да, возможно, вам захочется немного изучить JavaScript и ознакомиться с соответствующими фреймворками. Для серверной работы знание динамического или скриптового языка не является обязательным или обязательным. Тем не менее, в среде Java для этой цели существует множество хороших вариантов. Для человека, который в настоящее время не является разработчиком Java, у меня нет реального опыта в этой области, но я слышал много хороших отзывов о Groovy и Scala. Если вы хотите выбрать некоторые из наиболее распространённых технологий, JRuby и Jython — хороший выбор.
Существуют различные способы повышения производительности Java-приложений.
За последние несколько лет JVM начала массово поддерживать языки, отличные от Java, и у разработчиков теперь есть много вариантов. Изучение одного из них определенно поможет вам стать лучшим разработчиком (даже если вы не используете их в реальных производственных проектах) и может предоставить вам альтернативное направление, когда ваш проект застрянет.
Заменит ли Java .NET? Пока рано говорить. В то же время .NET не уничтожит Java. Оба имеют свои преимущества и недостатки. Я думаю, какой из двух вариантов вы в конечном итоге выберете, зависит от личных предпочтений и местных возможностей карьерного роста.