В силу того, что язык Си не поддерживает ООП парадигму
программирования, отметим основные различия между Java и С++. Java
является кроссплатформенным языком, а С++ нет. Java поддерживает
только одну парадигму программирования – ООП, а С++ несколько.
Доступ к оборудованию у Java очень ограничен, так как это противоречит
кроссплатформенности, а С++ позволяет работать с аппаратным
обеспечением на любом уровне. Java поддерживает многопоточность с
первых версий, а С++ только начиная с версии C++11 [29]. Время
разработки и отладки программы на языке Java сравнительно ниже чем на
С++. Таким образом, несмотря на то, что круг решаемых Java задач уже
чем у языка С++, эти задачи Java позволяет решить лучше и эффективнее с
экономической точки зрения.
Рассмотрим редакции, версии и основные элементы языка Java.
Существуют три редакции Java: Java Standard Edition (Java SE) –
стандартная редакция Java, Java Enterprise Edition (Java EE) – редакция Java
для приложений уровня предприятия, Java Micro Edition (Java ME) –
редакция Java для устройств с ограниченными ресурсами.
Java SE содержит большое количество API общего назначения,
спецификацию языка Java и спецификацию виртуальной машины Java. В
качестве примера API можно перечислить следующие пакеты Java SE как
общего, так и специального назначения: java.lang, java.io, java.math,
java.net, java.text, java.util, java.security, java.sql, java.rmi, javax.xml [39].
Java EE это набор спецификаций, который может рассматриваться
как расширение Java SE, цель которого разработка распределенных,
надежных, эффективных и высоко доступных приложений. Подобно тому,
как Java SE обеспечивает API для работы с коллекциями, Java EE
обеспечивает набор инструментов для работы с транзакциями, используя
Java Transaction API (JTA), работу с сообщениями, используя Java Message