2010-10-16 3 views
0

У меня впереди два проекта, и я довольно новичок в Ruby and Ruby on Rails. Это действительно весело! =) Кроме того, я считаю себя свободно в C++ и Java (и JavaEE), но очень мало опыта с C# .NET и Ruby. Кроме того, я очень хочу узнать Ruby, но не хочу тратить время на разработку навыков на C#, что очень похоже на Java (по крайней мере для меня).Какой язык/рамки программирования я должен выбрать для этого проекта?

ПРОЕКТ 1: Я буду разрабатывать корпоративное веб-приложение, которое должно хорошо масштабироваться с 100 000 обращений в день. С какими технологиями я должен идти?

Варианты:
1) Java, JSP, сервлеты - опытный
2) Java, JSF, JPA - вид нового в этом, но есть понимание этого.
3) C# .NET - новый в этом
4) Руби и Ruby On Rails - новичок в этом - хотя я очень хочу, чтобы узнать, что RoR, как!

Среди всех этих, которые, по вашему мнению, будут масштабироваться лучше всего? (У меня будут проблемы с масштабируемостью, если я пойду с RoR?) Легче и быстрее разрабатывать и поддерживать? Более безопасный? Больше программиста?

PROJECT 2: Другой проект - настольное приложение (с несколькими основными элементами пользовательского интерфейса), которое попытается запланировать что-то. Алгоритм позади будет включать в себя некоторые методы ИИ и машинного обучения и очень тяжелые вычисления. Ожидается, что программа, как только начнется, займет 7-20 часов для вывода достойного графика.

Варианты:

1) C++ - свободно с C++, но интерфейс будет очень болезненным. Кроме того, я хочу попробовать что-то новое - программирование на C++ все время!
2) Java - свободно и пользовательский интерфейс будет проще.
3) Ruby - очень новый на этом. Но очень хочется. Может ли Руби справиться с тяжелыми вычислениями? Будет ли это очень отличаться с точки зрения производительности?

Оба проекта должны заканчиваться весенним сроком - так что не спешите. Я просто хочу достойный продукт, A и ценный опыт в конце! для обоих.

Все комментарии и ответы приветствуются. Спасибо очень много заранее.

+0

Интересно, почему вы исключаете C# для второго проекта? – dtb

+0

Потому что я считаю Java и C# одинаковыми для этого проекта. И я не хочу беспокоиться об этом, когда я знаю больше о Java и предпочитаю лучше поработать над этим. –

ответ

2

Java/C#/Ruby для веб-проекта Я думаю, более или менее одинаковы. Итак, что бы я тогда выбрал? Это вопрос вашего опыта в этом.

Каждый специалист одного из этих языков может сказать вам, что их язык является лучшим, но это только вопрос знания. Вы можете иметь такую ​​же производительность/скорость в любом из них, если вы настоящий эксперт, и у вас есть правильная машина.

Поскольку я каждый день разрабатываю C#, я бы сказал вам выбрать C#, но это по той причине, о которой я только что упомянул.

Если бы вы не были экспертом на каких-либо из этих языков, я бы, вероятно, рекомендовал вам C#, потому что легко начать, проще, чем другие, есть много учебного материала, графический интерфейс поражает, Библиотеки .NET включают в себя почти все и т. Д.

Для второго проекта, возможно, C++ для его оптимизации.

1

Java и C#, скорее всего, помогут вам после школы. Если у вас есть гибкость на этом этапе, я бы узнал что-то новое.

+0

Это так. –

+0

Да, для рынка труда эти два в значительной степени. Ruby - это «классная» область, в которую можно играть, но это нишевое поле, которое до сих пор не получило широкого распространения или поддержки. C++ будет на некоторое время, конечно, но вам действительно нужно иметь определенное требование, которое требует его в наши дни. Нет никаких оснований для того, чтобы делать свое собственное управление памятью и больше. – Manius

0

Поскольку вы уже знакомы с Java, вы не упомянули, что вам следует исследовать разработку интерфейса RIA с помощью Adobe Flex. (Если бы вы были парнем C# /. NET, я бы сказал Silverlight.) Это позволит вам вырезать JSF из проекта и исключить длинный список других вещей, которые вам, как правило, нужно для создания старой школьной веб-страницы Java. Это также хорошо для предотвращения смешивания кода уровня интерфейса/презентации с кодом, который работает исключительно на вашем сервере.

С удаленным удалением Flex вы можете использовать очень эффективный двоичный протокол AMF (быстрее, чем конкурирующие протоколы AJAX на основе тестирования), и ваш код Java конденсируется вплоть до кучи вызовов методов, которые ничего не делают, кроме как реагируют на запросы от клиента Flex (или любой другой «клиент») - это, конечно, заставляет вас отделить ваш код переднего конца от задней части - это хорошо, и дает вам гибкость, чтобы полностью перестроить код клиента, не касаясь кода сервера.) В качестве бонуса вам никогда не придется исправлять код, чтобы исправить проблему с новым браузером или новой версией браузера, поскольку вы используете (эффективно) «виртуальную машину», которая защищена от нестандартизированных и быстро меняющихся браузера (DOM/DHTML/JS/etc).

Смежные вопросы