Перейти к содержимому


- - - - -

.NET vs C++


  • Вы не можете ответить в тему
Сообщений в теме: 7

#1 SaNNy

SaNNy

    Обитатель2

  • Модераторы
  • 6 533 сообщений

Отправлено 29 мая 2007 - 09:41

Вот на сайте www.rsdn.ru нашел интересный дилог:O_o:

Здравствуйте, adontz, Вы писали:

A>Вот что мне в плане понимания даёт .Net? ООП? Ну я не спец, но вроде разбираюсь. Reflection? Я писал на JavaScript программу на JavaScript и на перле генерировал JavaScript и не хилый притом. Оно конечно не одно и то же, но в принципе что это и как с этим бороться я представляю.

Тут ты явно путаешь тёплое с мягким. Генерация кода в .NET — это DOM или Emit, к рефлекшену имеет весьма опосредованное отношение.

A>Ставим вопрос так: КАКИЕ из ещё не известных мне способов мышления пригодятся мне в .Net? Если учесть что проблемы языка нет. АВК утверждает, что Шарп можно осилить за 2 недели в тонкостях, а МС++ никто не отменял. Я соглсен считать тебя более опытным товарищем по плану переходов, но будть добр объясни, что нового из способов мышления мне придётся осилить.

Не вопрос, объясняю.

Начнём хотя бы с того, что ты слабо себе представляешь что такое рефлекшин. Рефлекшин — это такая штука, Рома, которая предоставляет исчерпывающую метадату о твоём приложении. С помощью рефлекшина ты можешь исследовать структуру любого типа, любой сборки вдоль и поперёк. IDispatch & ITypeInfo со своими возможностями рядом даже близко никогда не стояли. Добавим сюда возможность расширять метаданные с помощью атрибутов и, в результате, имеем ещё одно дополниетельное измерение. Как им распорядиться это уже дело твоей фантазии. Например, студия умеет распознавать и использовать твои собственные редакторы для твоих же объектов. Веб-сервисы используют атрибуты для отделения веб-методов от остальных процедур, для управления параметрими сессии и куками и т.п. Сериализаторы полностью настраиваются с помощью атрибутов. Защита, управление компиляцией и отладкой, всё это может свободно управляться с помощью атрибутов.

Далее.

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

А мимо по шикарной автостраде проносятся чуваки на новеньких мерсах и бумерах. Ты делашь два широких шага на своих ходулях, они пролетают две сотни метров. Ты смотришь куда бы побезопаснее ступить, они думаю следует или не следует слегка притормозить на следующем повороте. Их путь выстелен грамадным фреймворком, автоматическим сборщиком мусора и полностью безопасным кодом. Твой усыпан протухшими указателями, мемори-ликами и циклическими ссылками. У тебя уходит 50% времени на движение вперёд, 50% на уворачивание от граблей и ремонт ходуль. У них 50% так же на движение (но несравненно быстрое), 50% на изучение марштута, полировку своих тачек и определение стратегии движения.

Они конечно не умеют как ты ловко двигаться по пересечённой местности, но фору они тебе могут дать не слабую. Потому что ты большой специалист по решению мелких задач, а они работают по крупному, т.к. за то же время могут сделать в 2-3 раза больше.

#2 Agri

Agri

    Обитатель

  • Пользователи
  • 1 616 сообщений

Отправлено 29 мая 2007 - 11:30

Ерунда... программисту мешают только ошибки проектирования!
Мир - это мы, наше окружение, наши мысли и поступки. Можно наслаждаться его красотой, а можно насладиться один раз тем, как всё за минуты сгорает ярким пламенем.

#3 ecstasy

ecstasy

    Новенький

  • Пользователи
  • PipPip
  • 18 сообщений

Отправлено 29 мая 2007 - 05:41

..ага..и ночь=(((

#4 Raia wa Urusi

Raia wa Urusi

    Забанен до 17.04.2013

  • Пoльзователи
  • 3 828 сообщений

Отправлено 30 мая 2007 - 01:04

Ерунда... программисту мешают только ошибки проектирования!


да да да!


ps. в тему ты подметил кстати.

#5 Trickster

Trickster

    Новенький

  • Неактивные
  • Pip
  • 2 сообщений

Отправлено 13 ноября 2007 - 06:20

Ерунда... программисту мешают только ошибки проектирования!


если в ходе проектирования появляется образ программы на каком-то абстрактном языке и уровне, то суть кодирования - трансляция с кода абстракции на код выбранного языка программирования.

пусть даже весь проект расписан на псевдокоде(тоесть уровень детализации достаточно большой) - всё равно задача этой трансляции не тривиальна.

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

а теперь интересный момент: если относить выбор языка реализации к стадии проектирования то всё равно остаётся момент - уровень владения языком.

и именно тут с++ самое большое гавно из всего говна. "выучить" его невозможно, а пишут на нём что ни попадя.

Единственное "преимущество" кода на с/с++ маленькое потребление памяти и скорости системных вызовов(в идеальном коде без ошибок и тд). а идеальным может быть разве что Hello World! на лиспе.

#6 Raia wa Urusi

Raia wa Urusi

    Забанен до 17.04.2013

  • Пoльзователи
  • 3 828 сообщений

Отправлено 13 ноября 2007 - 10:52

и именно тут с++ самое большое гавно из всего говна. "выучить" его невозможно, а пишут на нём что ни попадя.


что значит "выучить" его невозможно ?

Единственное "преимущество" кода на с/с++ маленькое потребление памяти и скорости системных вызовов(в идеальном коде без ошибок и тд). а идеальным может быть разве что Hello World! на лиспе.


открываем отдельную тему про лисп?

#7 Trickster

Trickster

    Новенький

  • Неактивные
  • Pip
  • 2 сообщений

Отправлено 13 ноября 2007 - 06:09

что значит "выучить" его невозможно ?


что касается выучить - кривость стандарта, кривость реализаций.

что касается собственно недостатков
http://www.google.co...=utf-8&oe=utf-8


открываем отдельную тему про лисп?


посмотрим

#8 Raia wa Urusi

Raia wa Urusi

    Забанен до 17.04.2013

  • Пoльзователи
  • 3 828 сообщений

Отправлено 16 ноября 2007 - 08:45

что касается выучить - кривость стандарта, кривость реализаций.


да, особенности некоторых компиляторов просто поражают воображение...





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей