Java vs .NET
Преди няколко месеца реших да се занимавам с Java малко по-сериозно. Накупих си доста книжки, намерих си удобен редактор и седнах да се уча. Малко след това пък започнахме да го учим и в университета и ми дойде точно навреме.
Млако по-късно пък си говорехме с един приятел в ICQ за дотнет. Той ми каза, че било много по-добро от Джава и да го пробвам обезтелно. Оки. Купих си книжка. Взех си Визуал Студио 2005 и започнах. Сега какви са ми впечатленията.
Засега Дот.Нета бие Джавата по доста показатели(поне за мен. Като се има в предвид краткият ми опит с 2та езика)
Както повечето от нас знаят, Джава е създадена от Сън доста годинки преди Дот.Нет Като идея е била нещо наистина революционно за времето си. Еднакъв код да се изпълнява на много платформи, стига те да разполагат с виртуална машина да го преведат. От това идва и един голям недостатък свързан с по-бавното изпълняване на програмите.
Докато четох "Да мислим на Java" направих няколко паралела между този език и PHP. Според мен PHP доста по-добре се е реализирал като език за програмиран в УЕБ. Доколкото разбирам това са искали да постигнат хората от Сън с проекта си.
Дот.Нет е измислен от Майкрософт, но е бил предложен на европейската комисия по стандартизация(дано да не бъркам за името). Това не означава, че Майкрософт държи правата за този език. При предлагането му на тази комисия той вече става стандарт и се откъсва от Майкрософт. В момента този стандарт съществува както за Майкрософт платформи, така и за Линукс. Може да го има и за други платформи. Не съм толкова запознат.
Че какво прави Майкрософт с това "чудо" и защо ми харесва повече:
Има .exe на изпълнимите файлове :) Малко, но важно за мен подобрение. Аз като начинаеш на Джава в началото се чудех как да си направя файл с подобно разширение.
Виртуалната му машина(в дот.нет не се казва точно така а беше нещо с друго име, но за мен със същата ф-я) и компилатора му са по-добре реализирани и програмите на дот.нет вървят по-бързо отколкото на Джава.
В него абсолютно всичко е обекти(В Джава примитивните типове не са)
Възможност за използване на няколко езика за програмиране в един проект.
Наличието на асемблита(най-общо казано това са *.dll i *.exe файловте). Всяко асембли си има номер и уникален идентификатор, който го прави различен от всяко друго асембли. Така по много елегантен начин е решен проблема с длл файловете с еднакво име. (същият този проблем е и основна причина много хора да псуват уиндоуз като бъгава). Всяка програма си ползва асембли от определена версия. Може в системата да има няколко асемблита с еднакви имена, но тъй като те са различни версии не се препокриват и не си пречат. Това кара програмите да не забиват заради грешни длл-и и прави уиндоуса по-стабилен.
Има и други, но в момента не се сещам. Тези са нещата, които в началото ми направиха най-голямо впечатление.
Какво харсвам в Джава пък:
Все още мобилните телефони работят с Джава и ако реша да си правя някакво приложение за телефона си(който не е с Уиндоус 2003 примерно) трябва да ползвам Джава.
Все още не съм запознат как стои въпроса с дот.нет и уеб програмирането и има ли в дот.нет нещо от сорта на аплетите в Джава.
Тя все пак е първа. Иноватор е и трябва да и се отдаде заслуженото уважение.
В университета продължаваме с Джава и така ли иначе продължавам да се занимавам с нея.
В момента работя паралелно и с 2те среди. Да си призная везните се накланят в ползва на дот.нет заради компилатора на майкрософт на С#(както и на други езици подържащи стандарта(J#, ASP.NET...)) - Visual Studio 2005 .
Ползването на Visual Studio 2005 ми доставя по-голямо удоволствие. Хелпа му е страхотен. Малките неща улесняващи програмирането като изкачащи полета до всеки метод, скобите за големите блокове от текст....има БЕЗПЛАТНА версия(може и да е ограничена и направена само за зарибявка, но все пак е нещо).
Сега за заключение да повторя, че съм начинещ и в 2та езика и може да допуснам грешки. Ако е така няма да се разсърдя ако ги поправите. Ще се зарадвам ако допълните списъка с характеристики и да кажете кое предпочитате вие и защо.
А и впечатленията ми от .net са придобити главно от работата ми с C#. Искам да вмъкна това, да не би да си направите извода, че не правя разлика между С# и .net
само една забележка колкото да покажа че съм прочел статията
"Дот.Нет е измислен от Майкрософт, но е бил предложен на европейската комисия по стандартизация(дано да не бъркам за името). Това не означава, че Майкрософт държи правата за този език."
Дотнет е платформа. ( Не го пиша за да се заяждам ). В тази платформа се включват компилатори за различни езици и CLR (което е същото като JVM).
Rumen тогава съм се объркал. Правя разлика, но си и признах, че съм начинаещ. Няма нищо лошо в критиките. Нали целта е да научим нещо ново.
А и за коментара на първият анонимен, започнах това сравнение без никаква предварителна подготовка. Всичко което казах е от обща култура и не съм го проверявал и повечето е прочетено от тук от там.
Виж сега знам вече нещо ново и наистина е имало смисал. Ще се радвам ако има и нови коментари