Объясните для незнающего человека.
Какие недостатки у .NET? Можно ли работать
с WinAPI? Имеет ли смысл переходить с
Borland C++Builder? Сложно ли это будет?
Вот так много вопросов...
20.10.04 11:54: Перенесено модератором из '.NET' — AndrewVK
возможности .NET
От:
Аноним
Дата:
19.10.04 09:40
Оценка:
для меня один недостаток — некроссплатформенность. в остальном очень удобная и приятная среда разработки.
с винапи работать можно
думаю, что имеет
нет. имхо по простое изучения на одном из первых мест
Автор благодарит русский алфавит за предоставленные буквы.
Здравствуйте, <Аноним>, Вы писали:
А>Объясните для незнающего человека. А>Какие недостатки у .NET?
Многие относят к недостаткам:
1. То что на клиентских машинах нужно ставить .NET Framework
2. То что .NET-приложения в целом более требовательны к ресурсам чем приложения с той же функциональностью, написанные на C++/VB итп.
А>Можно ли работать с WinAPI?
Можно — используя PInvoke.
Из моего опыта могу сказать что во многих случаях тебе не обойтись без использования WinAPI. Хотя базовая функциональность реализуется управляемым кодом, когда хочется что-то особенное — часто приходится обращаться к WinAPI.
А>Имеет ли смысл переходить с Borland C++Builder? Сложно ли это будет?
Тебе самому решать — стоит или нет. Если C++ знаешь — особых проблем с переходом на C# не будет. Основные проблемы — изучить основы, изучить многочисленные и обширные библиотеки.
А>Вот так много вопросов...
Здравствуйте, nzeemin, Вы писали:
N>1. То что на клиентских машинах нужно ставить .NET Framework
На сколько мне известно не обязательно...есть в поставке что-то, работающее из коммандной строки способдное
перелапатить исходник и сделать его не требовательным с .NET Framework (сам не смотрел, но один уважаемый человек
сегодня поведал)...
N>2. То что .NET-приложения в целом более требовательны к ресурсам чем приложения с той же функциональностью, написанные на C++/VB итп.
Это факт — "managed" код ясен кучу всего при выполнении вокруг себя "строит".
По поводу кроссплатформенности вроде есть что-то работающее под free bsd и под пару еще каких-то платформ...да и просто стратегически должно замышляться у мелкомягких.
А>>Имеет ли смысл переходить с Borland C++Builder? Сложно ли это будет?
С прицелом на будущее — да. Если будут этот язык продвигать и ЛонгХорн на нем "пописывать".
Сам сейчас сижу, изучаю. До этого на C++Builder 5 лет, и на студии периодически ))
Изучение начал со спецификации ECMA 334.
Библиотека визуальных компонентов в дот.нет напоминает очень VCL. Много похожестей всяких, потому
писать визуальные части не сложно совсем. В среде есть и обжект инспектор и все такое... Хотя Visual C# 2005 Express Edition Beta на порядок
неудобнее, ИМХО. (возможно я просто очень привык к среде билдера, потому помидорами не кидать!)
А вот с остальными классами FCL — немного сложнее Изучать кто-что делает приходится...
зы: понравилось то, что строки теперь все в юникоде
Hello, temofey!
N>> 1. То что на клиентских машинах нужно ставить .NET Framework
t> На сколько мне известно не обязательно...есть в поставке что-то, t> работающее из коммандной строки способдное перелапатить исходник и t> сделать его не требовательным с .NET Framework (сам не смотрел, но один t> уважаемый человек сегодня поведал)...
Можешь его больше не уважать Обманул он тебя.
WBR, Igor Evgrafov.
Posted via RSDN NNTP Server 1.9 gamma
WBR, Igor Evgrafov
Re[3]: возможности .NET
От:
Аноним
Дата:
19.10.04 15:39
Оценка:
Какие недостатки у .NET?
Очень хочется написать — отсутствуют! Но увы... Это не совсем так, пока. А для их обсуждения надо плясать не от НЕТ-вообще, а от НЕТ-для конкретной задачи. Ибо любое(практически) св-во платформы в приложении к конретной проблеме легко меняет свой знак с + на — и так же легко обратно.
nzeemin wrote:
> А>Объясните для незнающего человека. > А>Какие недостатки у .NET? > > Многие относят к недостаткам: > 1. То что на клиентских машинах нужно ставить .NET Framework > 2. То что .NET-приложения в целом более требовательны к ресурсам чем > приложения с той же функциональностью, написанные на C++/VB итп.
Еще можно добавить:
3. Проект получается почти Open Source, т.к. средства
дизассемблирования .NET программ рулят (получаешь полный, ну или почти
полный код всего приложения)
--
WBR, Denis Basargin
ICQ: 33681277
Mail: sailorman(at)rin.ru
Origin: Hедовольные были, но мы их пофиксили
Здравствуйте, sailorman, Вы писали:
S> Еще можно добавить: S> 3. Проект получается почти Open Source, т.к. средства S>дизассемблирования .NET программ рулят (получаешь полный, ну или почти S>полный код всего приложения)
Ну, обфускаторы мгут сильно попрортить радость от опенсорсности. Я тут на одну игрушку поглядел. Декомпилироваться то она декомпилируется, но радости от этих всех клсс a свойство b никакой. Как в том анекдотке:
Граждане! Будьте бдительны! В магазинах города появились поддельные ёлочные игрушки. С виду они как настоящие, но радости от ник никакой!
... << RSDN@Home 1.1.4 beta 3 rev. 206>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: возможности .NET
От:
Аноним
Дата:
19.10.04 23:09
Оценка:
Думаю если дело того стоит, то и с классом A, и со свойством B можно разобратсья; и "забить", так сказать, на радости. Вот в чём вся вся проблема!
Здравствуйте, A. Prokopenko, Вы писали:
AP> Думаю если дело того стоит, то и с классом A, и со свойством B можно разобратсья; и "забить", так сказать, на радости. Вот в чём вся вся проблема!
А ты не думай. Ты попробуй разобраться. Многие из тех кто попробовали пришли к выводу, что проще написать код самому чем разгадывать шарады.
... << RSDN@Home 1.1.4 beta 3 rev. 206>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>А ты не думай. Ты попробуй разобраться. Многие из тех кто попробовали пришли к выводу, что проще написать код самому чем разгадывать шарады.
Но согласись, что если нам необходимо спрятать участок кода это возможно сделать только используя неуправляемый код или вынеся его на удаленный сервер. С одной стороны это большой минус (больше психологический конечно), с другой стороны таких мест в программе может и не быть.
Здравствуйте, VladD2, Вы писали:
AP>> Думаю если дело того стоит, то и с классом A, и со свойством B можно разобратсья; и "забить", так сказать, на радости. Вот в чём вся вся проблема!
VD>А ты не думай. Ты попробуй разобраться. Многие из тех кто попробовали пришли к выводу, что проще написать код самому чем разгадывать шарады.
Ну, так рассуждать, большинство юзеров классической "сишной" программки не полезут в исходники, даже если эти самые исходники приложить — хоть без обфускаций и с комментариями.
Только такая вот проблемка: если кто-то хитрый решит скоммуниздить полезный кусочек кода из моей программули, то он это сделает тупым копированием всех этих а и б. Выдерет для себя "чёрный ящик". После чего глобальной заменой подправит пару имён на более удобные. И получается, что я своим кодом (кровью и потом ) кормлю потенциальную армию халявщиков? Кроме того, это сейчас обфускаторы выдают нечто нечитаемое... А потом энтузиасты "утирательства носа мелкософту" напишут тулзы, позволяющие ускорить разбор кода — закономерности всякие откопают, связи будут наглядно показывать и тэ пэ.
Значит, потребуется придумывать новые способы защиты? Вставлять в каждый более-менее обособленный кусок кода всяческие хитрости, чтоб он не смог работать в отрыве от всей программы? А если я этот код захочу потом сам использовать?
Да, и ещё, не могу понять: почему-то в эру становления дотнета все громко кричали: нет, двелопер, тебе не нужно будет менять любимый язык! Пиши на C++! Пиши на Дельфе! Пиши на чём хочешь, всё скомпилится в дотнет! А теперь как-то забыли об этом, теперь "говорим дотнет — подразумеваем C#"... Что за фигня?
З.Ы.Не пинайте в случае чего, не дотнетчик я пока...
З.З.Ы. Нет, вы представьте — фактически ЛонгХорн пойдёт в исходниках?!!
Здравствуйте, VladD2, Вы писали:
VD>А ты не думай. Ты попробуй разобраться.
А что там разбираться , если код компилится берешь в руки C#Refactory И начинаешь class A называть для начала ClassA и всё становиться понятно. VD>Многие из тех кто попробовали пришли к выводу, что проще написать код самому чем разгадывать шарады.
Слабые нервы
p/s/ Некоторые обфускаторы еще добавляют IL конструкции, при виде которых ildasm падает
Кстати, насчет "если знаешь Цпп, то на C# перейти очень просто"... А вот нифига подобного! Многие "проблемы" возникают именно у тех, кто переходит с Цпп. Они просто не понимают простоты и мощности C#.
Легко переходят Дельфийцы! Создатель-то тот же!
—
"Real programmers don't comment their code.
If it was hard to write, it should be hard to understand."
Здравствуйте, Аноним, Вы писали:
А>Многие "проблемы" возникают именно у тех, кто переходит с Цпп. Они просто не понимают простоты и мощности C#.
Да нет, скорее наоборот понимают, но не простоту и мощность, а ущербность и #$@нутость...
Извините, пока читал терпел сколько мог, но всё равно не смог удержаться от комментария...
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Здравствуйте, Аноним, Вы писали:
А>Объясните для незнающего человека. А>Какие недостатки у .NET? Можно ли работать А>с WinAPI? Имеет ли смысл переходить с А>Borland C++Builder? Сложно ли это будет? А>Вот так много вопросов...
NET прекрасно ложится на масштабируемые решения + Internet(Intranet). Для таких приложений, там очень много сделано. Достаточно много сделано для создания приложений корпоративного уровня.
Клиент-сервер — значительно удобнее Delphoвые среды. В первое время, при создании тестовой программы для подобной задачи, вспоминал великий и могучий. Естественно, после этого проект делался на другой платформе (Delphi).
Для системных утилит — слишком большие требования к ресурсам.
Переход достаточно прост, надо только понять сущность GC, и систему биндинга. Сразу найдешь множество плюсов. Хотя искренне желаю не переходить, а просто доучиваться. Рекомендуемая платформа все таки сильно зависит от решаемой задачи.
Здравствуйте, Twirl, Вы писали:
T>Но согласись, что если нам необходимо спрятать участок кода это возможно сделать только используя неуправляемый код или вынеся его на удаленный сервер. С одной стороны это большой минус (больше психологический конечно), с другой стороны таких мест в программе может и не быть.
Я вообще не считаю необходимым что-то прятать. Если ты изобрел гиниальный алгоритм (что сомнительно, но все же), то запатентуй его. А иначе что прятать то?
Ну, и не соглашусь, что обфускированный код пригоден для изучения. Разбираться в нем — трять время.
Приимущества тут только при вскрытии защит. А они сами по себе бред. И с их семом нет проблем и в анменеджед-коде. Блыло бы зачем это делать.
... << RSDN@Home 1.1.4 beta 3 rev. 206>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Glen Able, Вы писали:
GA>Только такая вот проблемка: если кто-то хитрый решит скоммуниздить полезный кусочек кода из моей программули, то он это сделает тупым копированием всех этих а и б. Выдерет для себя "чёрный ящик".
Он не хитрый. Он тупой. Это все равно что бомбу с часовым механизмом заложить под свой офис.
GA> После чего глобальной заменой подправит пару имён на более удобные.
Гы. Перед этим с эменами прийдется разобраться. Еще раз предлагаю сделать это разок. Я вот пробовал разбираться с а и б. И пришел к выводу, что игра не стоит свечь.
GA> И получается, что я своим кодом (кровью и потом ) кормлю потенциальную армию халявщиков? Кроме того, это сейчас обфускаторы выдают нечто нечитаемое... А потом энтузиасты "утирательства носа мелкософту" напишут тулзы, позволяющие ускорить разбор кода — закономерности всякие откопают, связи будут наглядно показывать и тэ пэ.
МС тут вообще не причем. Они обфускаторы не делают и не используют. Тулзы такие тоже нельзя создать.
GA>Да, и ещё, не могу понять: почему-то в эру становления дотнета все громко кричали: нет, двелопер, тебе не нужно будет менять любимый язык! Пиши на C++! Пиши на Дельфе! Пиши на чём хочешь, всё скомпилится в дотнет! А теперь как-то забыли об этом, теперь "говорим дотнет — подразумеваем C#"... Что за фигня?
Собственно это офтоп, но отвечу. Кто такое говорит? Просто большинство комьюнити пишет на Шарпе. Почему? Да удобно.
GA>З.З.Ы. Нет, вы представьте — фактически ЛонгХорн пойдёт в исходниках?!!
В ЛХ менеджед-кода будет процента 2. В "исходниках" пойдет то что и так всю жизь не пряталось. Будет только проще искать ошибки и создавать более красивые решения. Так что тут декомпилируемость дотнета только на руку. Причем на руку и нам, и МС.
... << RSDN@Home 1.1.4 beta 3 rev. 206>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, V.Petrovski, Вы писали:
VP>А что там разбираться , если код компилится берешь в руки C#Refactory И начинаешь class A называть для начала ClassA и всё становиться понятно.
Ну, флаг тебе в руку если тебе понятно что такое ClassA.
VP>p/s/ Некоторые обфускаторы еще добавляют IL конструкции, при виде которых ildasm падает
ildasm вообще никого не интересует. Да и обойти такие приколы можно. Это как раз хреновая защита. Защита от случайного зеваки.
... << RSDN@Home 1.1.4 beta 3 rev. 206>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.