Язык Java очень похож на языки С и С++. От С язык Java унаследовал синтаксис, а от С++ — объектную модель.
Сходство Java с языками С и С++ играет важную роль. Во-первых, многие программисты знакомы с синтаксисом С и С++, что упрощает изучение языка Java. Те же, кто освоил Java, могут без труда изучить С и С++.
Во-вторых, тем, кто программирует на Java, не приходится изобретать колесо. Они могут успешно применять уже известные и хорошо зарекомендовавшие себя подходы.
Современная эпоха в программировании, по существу, началась с языка С. Затем появился язык С++, а после него — Java.
Имея такое богатое наследство, Java предоставляет программистам производительную и логически согласованную среду, в которой были реализованы лучшие из уже известных решений и добавлены новые средства, необходимые для интерактивной среды.
Очень важно отметить тот факт, что вследствие своей схожести языки С, С++ и Java сформировали концептуальную основу для профессионального программирования.
При переходе от одного языка к другому программистамне приходится преодолевать глубокие «пропасти» принципиального характера.
Один из принципов проектирования, заложенных в основу С и С++, заключается в предоставлении программисту широчайших полномочий.
Разработчики Java также следовали этому принципу. Если не учитывать ограничения, накладываемые средой Интернета, то следует признать, что Java предоставляет программисту полный контроль над кодом.
Если вы умеете грамотно программировать, это будет видно по вашим программам. Недостаток опыта также отразится на ваших программах. Одним словом, Java-язык не для дилетантов, а для профессионалов.
У Java имеется еще одно сходство с языками С и С++: все эти языки были задуманы, разработаны, проверены и уточнены программистами-практиками.
В их основу положены реальные потребности их создателей. При таком подходе к разработке языка программирования велика вероятность получить качественный продукт, способный найти признание у специалистов.
Из-за сходства языков Java и С++, в особенности из-за подобия предоставляемых ими средств для объектно-ориентированного программирования, возникает соблазн рассматривать Java как своего рода версию С++ для Интернета.
Но это было бы ошибкой. У Java имеется целый ряд существенных отличий от С++ как в концептуальном,так и в прикладном плане.
Несмотря на то что С++ оказал очень сильное влияние наязык Java, последний вовсе не является расширенной версией первого.
В частности, эти языки не совместимы ни сверху вниз, ни снизу вверх. Конечно, сходство с языком С++ очень важно, и если у вас имеется опыт программирования на С++, вы будете чувствовать себя в своей стихии, программируя на Java.
Но не следует забывать, что Java был разработан не на замену С++, а для решения вполне определенного круга задач, отличающихся от тех, что решаются с помощью С++.
Именно поэтому мирное сосуществование Java и С++ будет продолжаться еще многие годы.
Через несколько лет после создания Java корпорация Microsoft разработала язык С#. И это очень важно, поскольку С# тесно связан с Java.
В самом деле, у многих языковых средств С# имеются свои аналоги в Java. В Java и С# используется единый общий синтаксис, похожий на синтаксис С++, поддерживается распределенное программированиеи применяется одна и та же объектная модель.
Разумеется, у Java и С# имеются отличия, но внешне эти языки очень похожи. Это означает, что, зная С#, вы сможете относительно легко изучить Java, и, наоборот, если вам предстоит изучить С#, знание Java может очень пригодиться.
Учитывая сходство Java и С#, вы можете спросить: «Заменит ли С# язык Java?» Безусловно, ответ на этот вопрос будет отрицательным.
Java и С# оптимизированы для абсолютно разных типов вычислительных сред. Как и вместе с языком С++, Java будет мирно сосуществовать с языком С# еще многие годы.