В стандарте POSIX, который /bin/sh
, как предполагается, уважает, команда .
(единственная точка), не source
. Эти source
команда csh
- изм, который вытянули в bash
.
Попытка
. $env_name/bin/activate
Или если у Вас должен быть неPOSIX bash
- измы в Вашем коде, используйте #!/bin/bash
.
Поскольку вы говорите «рабочий стол» перед тем, как сказать «Интернет», я могу предположить, что настольная сторона этого приложения более важна. .Net имеет определенное преимущество в создании настольных приложений, а у Java этого преимущества нет.
Сказав это, я бы просто выбрал то, в чем ваша команда разработчиков имеет больше опыта.
Java EE, безусловно, сильно изменилась. Самые большие изменения, о которых вам стоит знать, - это Spring и новая спецификация EJB3
Spring не является частью стандарта Sun Java EE. Это кристаллизация консалтингового опыта Рода Джонсона в основу для разработки POJO, которая получила большую поддержку. И, для справки, есть версии Spring как для Java, так и для .NET. То же самое и с Hibernate, популярным инструментом ORM.
EJB3 многое позаимствовал у Spring и Hibernate. Вы можете использовать EJB3 с Glassfish, JBOSS или WebLogic.
Еще одна идея, о которой вам следует помнить, - это веб-службы. Это распределенные веб-компоненты, которые могут работать с любым клиентом, Java EE или .NET, настольным компьютером или браузером. Я думаю, что их главные преимущества - это акцент на сообщениях и сокрытие деталей внутренней реализации. Если вы пишете веб-службы, вашим клиентам не нужно знать или заботиться о том, написаны ли они на Java или .NET.
Веб-службы хорошо работают с богатыми Интернет-клиентами, такими как Flex и Silverlight. Они могут помочь сохранить ваши возможности открытыми.
Извините, я не могу говорить, исходя из личного опыта о .NET.
Это настоящий вопрос типа «яблоки и апельсины».
Вообще говоря, я бы предпочел заниматься разработкой для настольных компьютеров в .Net. Если бы я делал это на Java, я бы, вероятно, предпочел Eclipse SWT или Netbeans RCP Java Swing.
Для программирования на стороне сервера вы можете использовать любой из них. Я не большой поклонник Windows как серверной платформы (по сравнению с Linux), и стек Java по сути бесплатный, что особенно полезно с точки зрения начальных затрат (несмотря на Bizspark).
Самая важная особенность сервера Java apps больше не является J2EE. Весна. Вы, вероятно, найдете больше веб-приложений Java, работающих с Tomcat и Spring, чем приложений с полным стеком J2EE (обычно это означает, включая EJB).
EJB3 превратился в POJO, как Spring.
Вы это видели?
http://en.wikipedia.org/wiki/.NET_Framework#.NET_vs._Java_and_Java_EE
http://en.wikipedia.org/ wiki / Comparison_of_the_Java_and_.NET_platforms