Технологии
Языки программирования
Различные задачи требуют использования разных языков программирования. Ниже перечислены языки программирования, которые мы активно используем в разработке программного обеспечения.
- C++ (stl, qt)
- C
- Java (hibernate, spring, hivemind, jetty, tomcat)
- Assembler
- Python
- PHP
- Perl
Операционные системы
Операционная система (ОС) - платформа, на которой базируется разрабатываемое программное обеспечение. Соответственно важно выбрать правильную операционную систему для будущего проекта.
Операционная система Windows наиболее широко распространена и удобна для конечных пользователей, что часто диктует использование Windows в разрабатываемом клиентском программном обеспечении.
С другой стороны, операционная система Unix обладает непревзойденной надёжностью, производительностью, масштабируемостью, гибкостью, защищённостью (security) и возможностями удалённого управления. Поэтому обычно Unix - оптимальный выбор для серверной части разрабатываемого программного обеспечения.
Особенно надо отметить операционную систему Linux, которая является свободным (Free software) и открытым (opensource) вариантом Unix. Современные дистрибутивы Linux все чаще оказываются функциональней и мощнее традиционных Unix систем (например, таких как Solaris).
Наиболее часто используемые нами дистрибутивы Linux:
- Debian Linux
- Ubunta Linux
- Redhat Enterprise
- CentOS
- Gentoo Linux
При разработке встраиваемых систем (embeded) мы использовали операционную систему реального времени (RTOS) uC OS-2.
Системы управления базами данных (СУБД)
Мы использовали в своих проектах следующие СУБД:
- PostgreSql Server
- Microsoft Sql Server
- Oracle Sql Server
- MySQL server
- Versant OODB
Сейчас, для обычных случаев, наиболее оптимальным является использования PostgreSQL. Это открытая СУБД (opensource), весьма эффективная, надёжная, масштабируемая и динамично развивающаяся. Она потребляет поразительно мало ресурсов в системах с небольшой нагрузкой и при этом хорошо справляется с большой нагрузкой. PostgreSQL работает под управлением ОС Linux, FreeBSD, Solaris и Windows.
Microsoft SQL сервер (он же MS SQL) широко распространён. Мы также применяли его в ряде проектов. Но наш опыт показывает, что обычно, это неэффективное и дорогое решение, работающее только под Windows системами. На наш взгяд, использование MS SQL целесообразно только в случае, если проект уже зависит от этой СУБД.
Oracle - коммерческая СУБД, фактически стандарт реляционных баз данных. Работает и под Unix/Linux системами, и под Windows. Применение Oracle, на наш взгляд, может иметь смысл только в больших проектах, с большой нагрузкой. Это дорогое решение, потребляющее много ресурсов.
MySQL - широко распространённая, opensource СУБД. С высокой производительностью и небольшим потреблением ресурсов. На наш взгляд, эта система весьма ненадёжная и сложная в эксплуатации ввиду её неправильной архитектуры. PostgreSQL во всех случаях предпочтительный выбор. MySQL имеет смысл использовать, только если проект уже привязан к этой системе.
Опыт работы с различными СУБД и знание их специфических особенностей позволяют выбирать нам оптимальное для каждого проекта решение.

