You know nothing, Jon Snow
Добрый день!
Нужна консультация по выбору языка программирования.
Работаю в конторе, пишущей ПО для банков. Работаем с MS Visual FoxPro 9.0 и SQL Server 2008. Возникла необходимость смены объектно-ориентированного языка, поскольку Фокс уже не развивается. Потому встал вопрос, какой из современных, развивающихся языков лучше взять за основу?
При этом важно, что базы данных будут все так же в SQL Server. Т.е. какой язык хорошо будет работать с ним? С большими базами? Приблизительно хотелось бы узнать и размер Exe'шных файлов, ибо нам важно, чтобы он весил не слишком много.
Нужна консультация по выбору языка программирования.
Работаю в конторе, пишущей ПО для банков. Работаем с MS Visual FoxPro 9.0 и SQL Server 2008. Возникла необходимость смены объектно-ориентированного языка, поскольку Фокс уже не развивается. Потому встал вопрос, какой из современных, развивающихся языков лучше взять за основу?
При этом важно, что базы данных будут все так же в SQL Server. Т.е. какой язык хорошо будет работать с ним? С большими базами? Приблизительно хотелось бы узнать и размер Exe'шных файлов, ибо нам важно, чтобы он весил не слишком много.
Плюсы: Си-подобный синтаксис, не надо заморачиваться с освобождением памяти, отличные встроенные библиотеки (лучшие, с которыми доводилось сталкиваться) и много свободных и коммерческих внешних библиотек, действительно object-oriented, есть LINQ, лямбда-выражения и прочий синтаксический сахарок, с БД работает по парадигмам ADO.NET, вполне удобно и без перерасходов паямти.
Минусы: требуется фреймворк, который сам по себе весит прилично, но в современных виндах уже встроен. Не годится для настоящего real-time (хотя с хочу-быть-RT справляется неплохо, если у программиста нет ошибки в ДНК), не позволяет рулить памятью и арифметикой указателей, не позволяет выполнять asm-инструкции.
Преимущества:
- классическое ООП;
- огромное дерево уже готовых классов;
- простота разработки новых классов;
- есть классы и методы, исправляющие многие врождённые пороки С++ (например, для работы со строками, или с привидением типов);
- офигенно удобная IDE QtCreator;
- есть интерфейсы ко всем распространённым СУБД;
- очень удобный редактор GUI, позволяющий быстро создать красивый интерфейс;
- полная кросплатформенность: написанное под одной ОС спокойно соберётся и заработает под другой;
- большое количество документации, как из коробки, так и в Сети;
- двойное лицензирование: можно писать под GNU GPL, а можно заплатить за лицензию (для банка, думается, сумма покажется копеечной) и писать закрытый софт.
Недостатки:
- C++ таки есть C++, со всеми его завихрениями (впрочем, для кого-то это преимущество);
- документация в основном на английском;
- несколько необычная для Windows-программистов концепция сигналов и слотов. Впрочем, к ней привыкаешь быстро.
Так удобно)
Сами думали между Java и C#
Кстати, арифметикой указателей он вполне себе позволяет рулить, но через извраты с маршалингом и многочисленным преобразованием типов... Только вот, нахрена это нужно в банковском ПО?
> ибо нам важно, чтобы он весил не слишком много.
Вот это несколкьо настораживает. Банки до сих пор живут в 20-м веке?
и не поверите, половина банков еще не пользуются АБС, а счет ведут всему в экселе..