Я работаю над относительно большой системой:
Все запросы будут обрабатываться интерфейсом RESTful, низкоуровневые коды С++/C, относящиеся к реальной тяжелой работе (анализ/обработка), а база данных используется для некоторых промежуточных результатов для повторного использования в будущем.
В этом случае, какой язык программирования лучше всего подходит для работы?
Что-то, о чем я подумал:
Java: Restlet довольно прост в использовании, он хорошо работает с MySQL, однако его интерфейс с C/С++ с использованием JNI сейчас устарел. JNA лучше обновляется, но не поддерживает сопоставление классов С++, поэтому интеграция может быть неудобной.
Net: система предназначена для ОС Linux, поэтому исключает .Net
Python: может работать с C/С++ с использованием ctypes/SWIG, работать с MySQL и иметь собственную Python DB. Интерфейс RESTful может быть реализован с использованием CherryPy и т.д. Я не знаком с Python, и это также означает, что моей команде также нужно изучить Python.
другие? Perl? Рубин? и т.д...
Вы получите другой ответ от каждого поклонника языка программирования.
Но я бы предложил рубины/рельсы:
Если вам нравятся динамические языки, Ruby - отличный выбор для части Web (службы). Я бы предложил не использовать Rails для этой конкретной цели, если вам не нужно создавать веб-интерфейс для некоторой логики, которая использует ваш MySQL DB; скорее, с чем-то более легким, например Sinatra.