vg писал(а):Хотелось бы узнать, зачем его создали.
Мало С++ или VB?
Вероятно есть некие области программирования, где это просто необходимо?
Насколько широко его используют, и в каких областях?
Спасибо.
Это длинная история
Начинается она в 1995 году, когда SUN создал технологию которую потом назвали Java platform aka J2SE.
Эта технология включала в себя VM выполняющую CPU independent bytecode c garbage collectorom.
Этот подход был известен достаточно давно (Smalltalk etc.). SUN добавил несколько новых вещей: язык с хорошо известным C-like синтаксисом
и bytecode verifier позволяющий проверять корректность кода перед его выполнением.
В результате получился язык позволяющий разработчикам сконцентрироваться на бизнесс логике и не отвлекаться на memory-management.
Если не считать GUI(Swing) который у Sun-a вообще не очень получился, то на сегодняшней день достигнута 100%-я переносимость Java кода на любую OS c JVM.
Java начала пользоваться успехом, и была лицензирована даже MS

MS срочно наняли Anders-а Hejlsberg-а (создателя Turbo Pascal and Delphi (
http://www.artima.com/intv/csdes.html ) и под его руководством создали MS-версию Java - J++. Они туда добавили несколько вещей которых не было у SUNa: delegates как часть языка и COM intefaces и Windows specific GUI framework.
В результате стало возможным создавать непереносимые Java applications.
SUN подал в суд на МS за нарушение лицензии и после догих разбирательств выиграл, запретив MS распространение J++.
Но MS ,понимая все преимущества такой технологии для application development, нашли -таки путь обойти решение суда, они решили созадать свою, "улучшенную" версию Java platform - .NET

И новую "улучшенную" версию языка Java - C#
Я вобщем могу об этом долго говорить, писать, правда, лениво...
IMHO, насегодняшний день можно говорить о стеке языков программиривания (как в TCP/IP

) взависимости от области их применения
assembler - bootloaders, some small embedded systems
C/C++ - OSes, drivers, VMs, some of-the-shelf applications
Java/C# - of-the-shelf applications, custom applications
PHP/Python/Perl etc. - prototyping, small scale systems