Достоинства и недостатки .Net
От: Flea  
Дата: 02.01.04 23:31
Оценка:
Навеяно этим
Автор: Геннадий Васильев
Дата: 18.12.03
, этим
Автор: Ozone
Дата: 17.11.03
и поисками работы .
На собеседованиях часто спрашивают сабж. Хотелось бы услышать мнения...
Re: Достоинства и недостатки .Net
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 02.01.04 23:53
Оценка:
Здравствуйте, Flea, Вы писали:

F>Навеяно этим
Автор: Геннадий Васильев
Дата: 18.12.03
, этим
Автор: Ozone
Дата: 17.11.03
и поисками работы .

F>На собеседованиях часто спрашивают сабж. Хотелось бы услышать мнения...

О поисках работы? По-моему — очень нехилый вопрос для соискателя, примерно эдак на диссертацию за две минуты. Сами-то работодатели на него в состоянии ответить? И если да, то как? И с чем сравнивают? (Помним, что достоинства и недостатки можно искать только в сравнении с чем-то ещё.)

Но, вообще, было бы любопытно услышать, с чем равняют и что по этому поводу думают.
... << RSDN@Home 1.1.2 beta 2 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re: Достоинства и недостатки .Net
От: Воронков Василий Россия  
Дата: 03.01.04 10:38
Оценка:
Здравствуйте, Flea, Вы писали:

F>Навеяно этим
Автор: Геннадий Васильев
Дата: 18.12.03
, этим
Автор: Ozone
Дата: 17.11.03
и поисками работы .

F>На собеседованиях часто спрашивают сабж. Хотелось бы услышать мнения...

Думаю, когда задают такой вопрос, хотят получить не ответ, а посмотреть, насколько хорошо человек умеет рассуждать. Вопрос как таковой не имеет ответа. Любой недостаток можно рассматривать как достоинство и наоборот. Чистый флейм. Наиболее правильным подходом при ответе на такой вопрос будет ИМХО рассмотрение достоинств и недостатков использования дотнета в тех или иных областях (дотнет и автоматизация, дотнет и веб, дотнет и десктоп), а не какие-то мифологических достоинств и недостатков самого дотнета. Разница подходов понятна? То, что является достоинством в п.1, будет недостатком в п.2 и пр.
... << RSDN@Home 1.1.2 beta 1 >>
Re[2]: Достоинства и недостатки .Net
От: Flea  
Дата: 03.01.04 11:54
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Думаю, когда задают такой вопрос, хотят получить не ответ, а посмотреть, насколько хорошо человек умеет рассуждать. Вопрос как таковой не имеет ответа. Любой недостаток можно рассматривать как достоинство и наоборот. Чистый флейм. Наиболее правильным подходом при ответе на такой вопрос будет ИМХО рассмотрение достоинств и недостатков использования дотнета в тех или иных областях (дотнет и автоматизация, дотнет и веб, дотнет и десктоп), а не какие-то мифологических достоинств и недостатков самого дотнета. Разница подходов понятна? То, что является достоинством в п.1, будет недостатком в п.2 и пр.

Это я в принципе и сам понимаю, но вот интересно, что бы Вы ответили на этот вопрос?
Re[3]: Достоинства и недостатки .Net
От: Воронков Василий Россия  
Дата: 03.01.04 12:53
Оценка: 17 (5)
Здравствуйте, Flea, Вы писали:

F>Это я в принципе и сам понимаю, но вот интересно, что бы Вы ответили на этот вопрос?


Вероятно, я бы:
1. указал на то, что говорить о достоинствах и недостатках лучше в отношении какого-то конкретного проекта (или какой-то конкретной области, как я уже писал)

2. сказал бы, что недостатки как правило вытекают из достоинств. например, "безопасность", скорость разработки и прочий пиар дотнета приводит к серьезному снижению собственно языковых возможностей. Очень много проблем решаются путем "ампутации". Макросы, например, очень удобная и полезная ИМХО штука, однако я могу на макросах такой код написать, что у тех, кто его будет читать, волосы от ужаса вылезут. Как тут быть? Правильно, выкинуть на фиг макросы. Такой подход, к сожалению, сильно чувствуется во всем дотнете, и это ИМХО плохо. (Да и вообще примитивный препроцессинг, отсутсвие на наст. момент даже банального pragma warning — это при том, что при включенной генерации доки по XML-комментариям компилятор бросает варнинги на каждый пропущенный комментарий (!) — это просто какое-то злодеяние).

3. старался бы всеми путями уйти от простого перебора достоинств и недостатков. Почему? Ты вот посмотри топики, где например обсуждается проблема отсутствия в C# множественного наследования. Некоторые кричат, что это зло, некоторые — что множественное наследование это зло. Еще непонятно, как отнесутся к тем недостаткам, о которых ты говоришь. Если бы все-таки прижали и пришлось бы перечислять по пунктам, то сказал бы, пожалуй, о следующем:
Общие недостатки:
— высокие системные и аппаратные требования,
— если это десктоп, то приложение тяжело распространять по причине отсутствия на большинстве клиентских машин дотнета — причем эта проблема будет всегда, если только МС не придумает какой-нибудь неотключаемый вин-апдейт, дающий гарантию того, что новая версия дотнета сразу после выхода появится повсеместно.
— на настоящий момент приложения, написанные на платформе дотнет, имеют склонность быть медленными,
— по "степени" межплатформенности дотнет и в подметки джаве не годится, некоторые библиотеки просто прибиты гвоздями к винАпи и никуда их при всем желании не портируешь (Windows Forms, например; в Моно, например, это дело живет под WINE).
Недостатки CRT и библиотек:
— нет полного покрытия винАпи, необходимость попомнить старый добрый матерный язык может возникать довольно часто,
— закрытость библиотек — много сделано private/internal по совершенно непонятным причинам, многое "supports .NET Framework infrastructure", т.е. совершенно недокументировано.
— отсутвие ручного контроля над памятью; иногда это довольно плохо. Указатели в C# — это такая дикая фигня, что даже говорить о них не хочется,
— урезанность языков. На настоящий момент это иногда приводит к тупому дублированию кода (типизированные коллекции, блин!),
и пр.
В числе достоинств упомянул бы:
— дотнет на настоящий момент это самая перспективная технология под Windows. На этом в принципе можно и закончить. Она перспективная не потому, что она хорошая. Просто такова политика партии. Если хотите писать под Windows, пишите на дотнете. Вопрос не обсуждается.
Если по существу, то:
— возможность писать на нескольких языках, легкость перехода с одного языка на другой. В перспективе (пока так ИМХО никто не делает, но F# и пр. наводят на мысли о том, что скоро это станет более, так сказать, общепринято) возможность писать отдельные части системы на тех языках, которые больше всего для этого подходят — т.е. возможность такая была и раньше, но благодаря общему рантайму, CLSCompliant, на дотнете это делается очень легко и просто.
— надежность, безопасность, скорость разработки и пр. Теперь писать плохой код стало значительно труднее, но, как говорится, нет ничего невозможного . В принципе читабельность кода действительно повышается — благодаря отрубанию возможностей, которые могут серьезно запутать код. Благодаря ЖЦ меньше времени проводишь за отладкой и пр. В общем понятно, как можно развить эту тему.
— Чистый ООП. Не знаю, стоит ли об этом упоминать. Некоторые наверное не согласятся с тем, что это достоинство, некоторые даже не согласятся с тем, что тот же C# более объектно-ориентированный язык, чем С++,
— Если сравнивать подобное с подобным, то стоит сказать, что приложения написанные на дотнете имеют склонность быть более быстрыми, чем приложения, написанные на джаве,
— Рефлекшин, кодогенерация — тут можно сказать только одно — это круто.
далее уже можно идти по конкретным технологиям — ASP.NET что хорошо, что плохо, Windows Forms там, ремотинг и пр.

4. Еще хорошим подходом было бы посмотреть, что собственно пишут в конторе, куда устраиваешься, и постараться "угадать" те проблемы, которые они могут испытывать при разработке. Это, конечно, сложно. Важно еще "угадать" предпочтения. Т.е., например, как пишут интерфейс на ASP.NET — серверные контролы, XSLT... Если компании требуется ASP.NET программист с сильными знаниями XSLT, то можно, пожалуй, рассказать о некоторых недостатках модели серверных контролов, да и вообще концепции по перетаскиванию на сторону сервера всего чего можно ради "сокрытия" от разработчика "сложного" DHTML.
... << RSDN@Home 1.1.2 beta 1 >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.