Для успешного окончания вуза студент обязан подготовить диплом по прикладной информатике на определённую тему. В каждом дипломе непременно должна быть глава, где обосновывается выбор языка программирования. Часто написание этой главы вызывает затруднения. Обычно студент описывает современные языки программирования, анализирует их преимущества и недостатки. Затем на основании проведённого анализа принимается решение о том, какой язык выбрать для решения поставленной задачи.
К примеру, если нужно разработать локальную базу данных для учёта товаров в небольшой компании изучается функционал разных языков, с помощью которых можно это воплотить в жизнь и выбирается оптимальное решение, которое обосновывается.
Популярность языков программирования
Сегодня существует несколько тысяч языков программирования, постоянно появляются новые. Наиболее популярными и используемыми считаются около 30-40 языков. В топ языков входят Java, C, Objective-C, C++, C#, PHP, Python, Visual Basic, Perl, Ruby, JavaScript, Lisp, Pascal, Delphi/Object Pascal, SQL.
Обычно студент в совершенстве владеет одним языком программирования из нескольких изученных и ему отдаёт предпочтение при выполнении курсовых работ, а в последствии и диплома. Другими словами, вопрос выбора перед студентом не стоит. Но в дипломе необходимо обязательно провести сравнение языков программирования.
Факторы выбора
Бывает практически невозможно подобрать адекватный набор критериев, при котором один из языков, который выбирает студент, превосходит остальные. Но глава с обоснованием выбора языка должна присутствовать в дипломной работе. По ней можно судить о глубине полученных знаний и квалификации студента как IT-специалиста. Необходимо кратко рассказать об основных вычислительных моделях, которые описывают методы программирования и соответствующие им языки.
Правильный выбор языка поможет создать компактное, простое в отладке, документировании, расширении и исправлении ошибок решение. При выборе языка программирования нужно учитывать такие факторы, как целевая платформа, гибкость языка, время исполнения, производительность, поддержка.
Целевая платформа
Важный фактор выбора языка — целевая платформа, на которой будет работать программа. Возьмём для примера Java™ и C. Если программа написана на C и должна работать на машинах с Windows и Linux, нужны компиляторы для платформ и два разных исполняемых файла. В случае с Java сгенерированного байт-кода будет достаточно для выполнения программы на любом компьютере, где установлена виртуальная Java-машина.
Такой же аргумент подходит и для веб-сайтов. Они должны выглядеть и работать одинаково во всех браузерах. Использование тегов CSS3 и HTML5 без проверки совместимости с браузерами приведет к разному отображению и поведению веб-сайта в разных браузерах.
Гибкость языка
Гибкость языка определяется лёгкостью, с которой можно добавлять к существующей программе новые функциональные возможности. К примеру, получится ли добавить новый набор функций или использовать существующие библиотеки для добавления новой функциональности.
Время исполнения
Здесь имеется в виду время, которое потребуется для создания рабочей версии программы. При расчёте этого времени нужно принимать во внимание не только логику управления, но и логику представления. Время исполнения зависит от размера кода. В теории, чем проще изучить язык и чем меньше объём кода, тем меньше и время.
Производительность
Каждая платформа и программа имеет определённый предел производительности, на которую влияет используемый при разработке язык. Есть много способов сравнения скорости работы в одинаковой среде программ, которые были написаны на разных языках. Можно использовать разные эталонные тесты. Но их результаты не являются конкретной оценкой производительности того или иного языка.
Производительность следует учитывать и в ситуациях, когда целевая среда не предлагает широкой масштабируемости. К примеру, при разработке для мобильных устройств.
Поддержка
Язык программирования должен опираться на твёрдую поддержку сообщества. Язык с активным форумом будет популярнее языка, помощь по которому сложно найти. Поддержка сообщества — это специализированные сайты, форумы, учебные руководства, дополнительные библиотеки, развивающие язык. Никто не захочет изучать горы документов, чтобы решить небольшую проблему. Если у языка много сторонников, это повышает шансы на то, что кто-то сталкивался с такой проблемой и уже написал об этом на форуме.