Skip navigation

C# е просто по-различен от Java

Networkworld България - брой 3, 2002 г. / Съдържание
1246 прочитания, 0

Андерс Хайлсберг, шеф на екипа, разработил езика за програмиране C# в Microsoft, отговаря на въпроси на NW/Б за старта на web услугите .NET и за различията между Java и C# В. Кога започнахте работата върху C# като част от платформата .NET? О. През януари 1996 г. Бяхме общо 5 човека и това са най-талантливите разработчици, с които някога съм работил. Срещахме се всеки понеделник след обед, за да видим докъде сме стигнали и да обсъдим спецификациите. За една година “черновата” беше готова и голяма част от библиотеките с класове на C++ бяха вече импортирани в C#. Да разработваш нов език за програмиране и при това да имаш фирма като Microsoft зад гърба си е рядка възможност, която се среща веднъж в живота. В. Паралелите с Java са повече от очевидни.Разглеждате ли C# и .NET като подобрена версия на Java и J2EE? О. Не, разбира се, че не. Развитието на .NET беше инспирирано от цяла поредица нови технологии. Моят професионален опит е свързан преди всичко с Delphi и Java. В C# има и елементи от C++. Софтуерното инженерство е много деликатно изкуство – имате налични няколко готови алтернативи и трябва да решите как да оптимизирате всяка от тях, и как да ги комбинирате в нов продукт. В. Коя според вас е най-голямата слабост на Java и как сте я коригирали в C#? О. С разработката на C# не сме се стремили конкретно да търсим уязвимите места на Java и да ги поправим. Това би било съвсем реакционен подход. Старали сме се да акцентираме на изискванията и препоръките на нашите клиенти. Това автоматично ни насочи към web услугите. Светът се обръща към системи, които са свързани помежду си или са напълно съвместими. Тази тенденция намира израз чрез .NET и C#. В. Кога C# ще стане достъпен и за други платформи? О. Shared Source Common Language Infrastructure (SCLI) има две опорни точки. Първо, софтуерът трябва да работи и на други платформи и второ, изходният код да е достъпен. До два месеца ще е официалната промоция на SCLI версията на C#. В. C# беше стандартизиран от комитета ECMA. Това не ограничава ли свободата ви при разработването на бъдещи версии на езика? О. Не, не мисля, защото стандартът дефинира само основните линии и оставя достатъчно място за нововъведения. Именно този стандарт ще направи езика популярен сред много разработчици, а това е вече добре, защото ще идват повече идеи и препоръки. В. Заради продължаващите спорове със Sun Microsystems Microsoft поддържа анти-Java политика. Защо в .NET има и Java-дериват като J#? О. Много клиенти са написали кода си на Java и ние искаме да ги улесним при миграцията към .NET. По принцип, платформата .NET е неутрална към езиците за програмиране и нищо не пречи в нея да се интегрира и Java. J# е имплементация на J++ на базата на Common Language Runtime и е разширена с някои функции. В. В каква посока искате за в бъдеще да се развива C#? О. Искаме да добавим нови полезни елементи и затова подготвяме няколко проекта. Освен това под името Bartok в нашия изследователски център работи група, която оптимизира компилатора за IL (Intermidiate Language) кода (нещо подобно на Bytecode за Java – б.ред.). В. Какви са Вашите бъдещи задачи сега, след като C# вече е факт? О. Аз продължавам да съм ангажиран със C#, не забравяйте, че това беше само първата версия, 1.0. Работя и по други проекти на Microsoft, свързани с web услугите и следващо поколение Windows клиенти. Отделям много време да размишлявам за бъдещото развитие на езиците за програмиране. Следващото ниво на абстракция ще изисква по-декларативен стил, малко като HTML. За целта няма да се преработват сегашните инструменти за разработка, по-скоро ще се опитаме да комбинираме вече готовите модули с декларативни елемени. В. Разви ли се C# по начина, който очаквахте? О. Доволен съм от начина, по който се развива. Разбира се средствата за разработка също се развиват и между тях и езика винаги трябва да се намери разумен компромис. През последните 10 години изучаването на който и да е обектно-ориентиран език за програмиране се състоеше 50% от изучаване на самия език и 50% изучаване на API. При C# и .Net съотношението е 3% работа с езика и 97% API. C# максимално снижава бариерата пред начинаещите програмисти, а това е нещо, с което много се гордея. В същото време той вдига производителността, без да поставя някакви ограничения, а разработчиците на С++ могат да разчитат на придобитите си познания. В. Има ли нещо в C#, което бихте искали да промените в бъдещата версия? О. Не, защото той е перфектен (смее се). Всъщност перфектни езици за програмиране няма, но на този етап не искам нищо да променям.

(02.07.2002)

КОМЕНТАРИ

Трябва да сте регистриран потребител, за да коментирате статията
"C# е просто по-различен от Java "



    

© Ай Си Ти Медиа ЕООД 1997 - 2012 съгласно общи условия за ползване