Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 | 2 |

 

  Вопрос: .NET рулит или DLL Hell Добавлено: 01.02.04 06:15  

Автор вопроса:  Павел | Web-сайт: www.vbnet.ru | ICQ: 326066673 

Ответить

  Ответы Всего ответов: 30  

Номер ответа: 16
Автор ответа:
 shuffle



Администратор

ICQ: 201502381 

Вопросов: 15
Ответов: 737
 Профиль | | #16 Добавлено: 02.02.04 14:49
Конечно, программист .NET вряд ли будет знать как работать с
регистрами процессора и управлять памятью. Но с другой стороны: зачем
это нужно? Технология .NET достаточно хороша, чтобы не произошло
ошибок, которых программист не смог исправить. И тут, ИМХО, у
программиста есть выбор: если он хочет быстроту создания и удобный IDE
- пиши на .NET. Опять же, ведь никто тебе не мешает программировать на
Асме. И не стоит судить Microsoft за то, что они так активно
продвигают свою технологию. Все-таки им же тоже кушать хочется :)

P.S, что-то твоя ссылка не грузит

Ответить

Номер ответа: 17
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #17
Добавлено: 03.02.04 01:44

>CyRax, а почему ты не прогарммируешь на ассемблере, раз уж тебе так
хочется низкоуровневого программирования?
 И не собираюсь пока. Это основы программирования. К ассемблеру они имеют косвенное отношение. Их должен знать любой не MS Visual программист. Я не знаю так много что бы программировать на АСМ, но я знаю основы программирования, что позволяет мне создавакть полноценные программы.

>И причём здесь интерпретируемость?
 Собственно а зачем он привязан к 20-ти метровому рантайму. Поприкалываться? Если бы это был не интерпритатор, то бы смог делать вызовы CLR из проги, а не быть жестко к ней привязаным.

>А зачем тебе доступ к памяти? К прерываниям?
 Получается что это ты говоришь, сам не понимая предмета разговора.
 Прерывания уже заблокированы Микрософтом в защищённом режиме и доступа к ним не может быть из Windows на уровне Ring 3. Для доступа к ним нужно писать драйвер или использовать лазейки, не предусмотренные Микрософт.
А вообще профессионал отличается тем, что для него не существует жесткой привязки к среде программирования. Помню в бытность свою изучения QB я видел программы на подобие описаных Sharp'ом
Microsoft.Windows.Framework.Software.Standart.Editor.PlainText.Executable.RUN,
 но видел и программы профессионалов с низкоуровневыми вставками через INT86x.
 Зачем доступ к памяти? Хм, вопрос явно задёт не прораммист или программист на VB, что в принципе одно и тоже. Поэтому вопрос заранее не имеет ответа для тебя. Потому что ты решил всё таки отнести себя к новой генерации программистов. Для стандартного программирования действительно ничего этого не нужно. Но если ты программируешь стандартно, то и мыслить начинаешь стандартно. Тем самым ты притупляешь своё воображение.

>.NET - только с кучей книжек, бесчисленными расспросами специалистов, и то ещё нужно постичь многое...
 Ну хорошо, допустим Микрософт промазал с интерфейсом нового VB и он сильно усложнился. Но это не значит что его не сможит выучить домохозяйка. Потому что он на английском языке. А английский язык зашит в CLR. Она сказала - Хочу что бы было окошко. Гиганская 20-ти (200, 2ГБ,... до бесконечности) CLR проанализировала запрос и после продолжительного хрюканья выплюнула ей это окно на экран. Вот собственно почему он для домохозяек. Ей не нужно программировать - ей всего лишь нужно правильно расставить блоки. Причём эти блоки могут быть очень сложными и потребовать от неё больших умственных затрат и толстых талмудов с описанием объекта. Например у неё есть ванная и она говорит компьютеру: "Framework.Show.My.BathRoom". Он показывает ей ванную, но она путая. Что же делать??? Домохозяйка в ужасе.
 Допустим наша домохозяйка выкрутится моментально - она позовёт слесаря Васю, который за бутылку ей всё сделает. Но русская душа - потёмки. При чём VB расчитан не на нашу, а пока на американскую домохозяйку (остальных прийдётся просто американизировать).
 Первым делом она конечно позвонит в службу поддержки, а может быть даже самому большому Билу. Разумеется и там и там будет занято (сами догадайтесь почему). Немного пострадав (ведь накануне товарка показывала ей отличнейшую ванную на своём суперсовременном компе) она конечно же полезет в справочное руководство, где на чистейшем английском (заметьте не на языке программирования а на английском) будет написана программа отображения ванной.
MyFirstBathroom Is Framework.MyHouse.Bathroom With Subjects
Subjects.Add "Мыло","Полотенце" и т.д.
Framework.Collection.Add.Bathroom name:="First Bathroom"
Ну и так далее. Тем же способом расположение координат каждого предмета свойства и т.д.
Не правда ли довольно сложно? Да, я согласен - сложно. Но это не программирование.

>Насчёт ассемблера: на чём ты быстрее напишешь нормальную прогу под
заказ (допустим, проект для управлением контентом веб-сайта), на
ассемблере, или на ЯВУ?
 Я - нет. Всю жизнь программировал только на Бейсике. Причём не только на интерпритаторах.
А программист на АСМ конечно же быстрее. Но дело то ведь не в этом. Ты создашь документ, а он напишет программу.

>Конечно, программист .NET вряд ли будет знать как работать с
регистрами процессора и управлять памятью. Но с другой стороны: зачем
это нужно?
 Без коментариев. Это я описал выше.

>И не стоит судить Microsoft за то, что они так активно
продвигают свою технологию. Все-таки им же тоже кушать хочется :)
 Да по моему уже некуда кушать - скоро лопнет. Вернее уже лопнул.

>что-то твоя ссылка не грузит
 Сайт глючит. Пробуй время от времени.

===

Вывод. Не циклитесь на VB.NET - он не может быть лучшим языком программирования только потому что он языком проограммирования не является. Хотя время его ещё не пришло (если вообще прийдёт). Будущее покажет.

Ответить

Номер ответа: 18
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #18
Добавлено: 03.02.04 02:41

Кстати неплохо было ыб повторить опрос об инуструментарии.

Какой версией VB Вы пользуетесь? Если вариантов несколько, то укажите более часто используемое.
1. VB 1 - 3
(2)
2. VB 4
(1)
3. VB 5
(12)
4. VB 6
(269)
5. VB .NET
(48)
6. VBScript
(26)

Этот вроде бы прошлогодний и скорее всего не отражает действительности. Можно PB добавить.

Ответить

Номер ответа: 19
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #19
Добавлено: 03.02.04 07:48

Фантазия оказывается ещё не у мерла у .NET программистов.

Не ну как вам это нравится?

===

http://faq.pp.ru/forums/index.php?act=ST&f=5&t=831&s=

Давайте вспомним, как работает VB с логическими величинами. Представим себе, что вы проверяете результат выполнения функции, например InStr, которая возвращает 0 (по логике это False) , если подстрока не найдена, или ее позицию в строке, если она найдена, т.е. любое число больше 0 (по логике это True). Но, посмотрите на следующий пример:

If InStr(1, "Журнал Программист", "Программист") And_
InStr(1, "Журнал Программист", "Журнал") Then
Console.WriteLine("True")
Else
Console.WriteLine("False")
End If

Рассуждая логически, если первое выражение "истина" и второе тоже "истина", то операция And также должна давать "истину"... Но только не в Visual Basic! Вы никогда не получите логически предсказуемый результат в данном случае. Первый вызов InStr вернет 8, второй 1 и при выполнении операции And вы получите не что иное, как False! Почему? Все очень просто, оператор And (и Or, кстати, также) выполняют не логическое сравнение, а поразрядную операцию, а результат в данном случае получается 0, т.е. False.
===

Может ему надо что бы он ещё и сам в консоли это написал :)

Хотя можно и так сделать. Естественно за счёт увеличения CLR.

Нет, как говорится, предела людским желаниям.

Ответить

Номер ответа: 20
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #20
Добавлено: 03.02.04 08:40

Да, кстати, а VB.NET умеет делать ActiveX OCX или DLL?

Или он уже полноценные DLL-ки создаёт?

А то я почему то не видел тем типа "Помогите создать DLL-ку на VB.NET". Пропустил наверное :)

Ответить

Номер ответа: 21
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #21
Добавлено: 03.02.04 10:11
DLL у него свои, лучше ActiveX'овых и классических :)
Кстати, их можно использовать как COM.

Ответить

Номер ответа: 22
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #22
Добавлено: 03.02.04 10:12
> Да, кстати, а VB.NET умеет делать ActiveX OCX или DLL?
DLL он делать умеет, полноценные, лучше ActiveX и классических :)

> Может ему надо что бы он ещё и сам в консоли это написал :)
А я не понял, о чём ты...
Если о "Console.Write", то ... в общем, это получается то же самое,
что и в QBasic'е команда Print. Что в этом тебя не устраивает?

> Кстати неплохо было ыб повторить опрос об инуструментарии.
Сейчас сделаю. Самому тоже интересно.

> Получается что это ты говоришь, сам не понимая предмета разговора.
Я не знаю детально, какие там кольца защиты, как ограничен доступ к
прерываниям. ИМХО, это нужно только системным программистам. А мен
нужно писать программы, а не железо мучить.

> Зачем доступ к памяти?
Зачем? Я не помню ни одного случая, когда мне нужно было бы самому
управлять памятью. Всё отлично делается и без этого. Хотя возможно в
VB6 могло бы ещё что-то пригодиться при работе с API. Но зачем в такие
дебри лезть?

Не помню, где я это вычитал, очень умная мысль: когда пишешь программу
нужно думать не о технических нюансах, а о самой программе, принципах
её работы, бизнес логике.

> Хм, вопрос явно задёт не прораммист или программист на VB, что в принципе одно и тоже.
Этим ты оскорбляешь всех VB-программистов...

> А программист на АСМ конечно же быстрее.
А я что-то так не думаю...


Думаю, тему надо прикрывать... Это уже идёт спор не о .NET, а о том,
как CyRax ненавидит Microsoft...

Ответить

Номер ответа: 23
Автор ответа:
 shuffle



Администратор

ICQ: 201502381 

Вопросов: 15
Ответов: 737
 Профиль | | #23 Добавлено: 03.02.04 13:09
>Собственно а зачем он привязан к 20-ти метровому рантайму.
А зачем обычные exe файлы привязаны к API?

>Но это не значит что его не сможит выучить домохозяйка. Потому что он на английском языке.
А на каком языке он должен быть?

>Гиганская 20-ти (200, 2ГБ,... до бесконечности)
Вот не понимаю, почему все так боятся размера .NET FW? Никого
не волнует, что библиотеки API весят больше 100 метров. А почему?
Потому что они есть в каждом Windows'е. Ну и .NET FW тоже будет в
каждом Windows'е. Это лишь вопрос времени...

>Она сказала - Хочу что бы было окошко... ...CLR проанализировала запрос и после продолжительного хрюканья выплюнула ей это окно на экран.
А как было в VB6?

>Первым делом она конечно позвонит в службу поддержки
Может быть домохозяйки так и будут делать, я не знаю... Но программист
(хотя программистов .NET ты, похоже, уже не считаешь программистами)
вполне способен сам решить свою проблему.

Ответить

Номер ответа: 24
Автор ответа:
 Maxik



Вопросов: 58
Ответов: 201
 Профиль | | #24 Добавлено: 03.02.04 14:17
>не логическое сравнение, а поразрядную операцию
Это всем давно известно. Чтобы получить предсказуемый результат, нужно
добавить всего два символа:
InStr(1, "Журнал Программист", "Программист")>0
Это вернет логическую величину.

Это не такой уж большой недостаток. Ни когда не страдал из-за этого.

Ответить

Номер ответа: 25
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #25
Добавлено: 03.02.04 15:20
Если внимательно перечитать его речи, он и себя программистом не считает...
Alex, давай прикрывать тему.

Ответить

Номер ответа: 26
Автор ответа:
 Alex3



ICQ: 9481061 

Вопросов: 18
Ответов: 132
 Профиль | | #26 Добавлено: 03.02.04 16:17

Сначала хотел ответить по "критике", но потом понял, что CyRax на все вопросы для себя уже ответил. Причем, не зная .Net. Человеку, который не хочет понять, что-то объяснить невозможно, какие-то глупые "примеры" приводит...

Короче, клинический случай, закрываете тему!

Ответить

Номер ответа: 27
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #27
Добавлено: 04.02.04 00:30

>InStr(1, "Журнал Программист", "Программист")>0
 - Там же ссылка есть на статью. Почитал бы хоть. Для такой задачи используется CBool.

>А я не понял, о чём ты...
Если о "Console.Write", то ... в общем, это получается то же самое,
что и в QBasic'е команда Print. Что в этом тебя не устраивает?
 - Ты не понял вопроса.

>Не помню, где я это вычитал, очень умная мысль: когда пишешь программу
нужно думать не о технических нюансах, а о самой программе, принципах
её работы, бизнес логике.
 - Ты задумываться над этим не должен, но если ты программист, то должен знать.

>Думаю, тему надо прикрывать... Это уже идёт спор не о .NET, а о том,
как CyRax ненавидит Microsoft...
 - Собственно IMHO

>Зачем? Я не помню ни одного случая, когда мне нужно было бы самому
управлять памятью. Всё отлично делается и без этого. Хотя возможно в
VB6 могло бы ещё что-то пригодиться при работе с API. Но зачем в такие
дебри лезть?
 - Ага, особеннно если этого доступа нет(!!!)

DLL у него свои, лучше ActiveX'овых и классических :)
 - Разумеется с поддержкой CLR?

Сначала хотел ответить по "критике", но потом понял, что CyRax на все вопросы для себя уже ответил. Причем, не зная .Net. Человеку, который не хочет понять, что-то объяснить невозможно, какие-то глупые "примеры" приводит...
Короче, клинический случай, закрываете тему!
 - Без комИнтариев :)

Если внимательно перечитать его речи, он и себя программистом не считает...
 - Это уже не бои на арене, а плач обиженного ребёнка.

Ни одного существенного довода в пользу Vb.Net так и не удалось услышать. Остаюсь при своём мнении. Хотите таскать 20 метровый рантайм за прогой в 10 кБ - таскайте.

Ну не хотите как хотите. Если вы все обиделись, то можно и прекратить. Хотя я думаю эта тема привлекает внимание не только к VB.NET, но и к сайту VbNet.Ru.

 

Ответить

Номер ответа: 28
Автор ответа:
 USA



Вопросов: 1
Ответов: 184
 Профиль | | #28 Добавлено: 04.02.04 04:22

CyRax - МОЛОДЕЦ!!! Лично мне просто лень столько писать, да к тому же спорить.

NET - это всего-лишь результат маркетинговой политики MS.

Ответить

Номер ответа: 29
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #29
Добавлено: 04.02.04 14:20
> Это уже не бои на арене, а плач обиженного ребёнка.
Ну, собственно, могу мою мысль пояснить цитатами из твоих речей, но не
буду время тратить.

> Ни одного существенного довода в пользу Vb.Net так и не удалось услышать
Услышать удалось, понять - нет.

> Если вы все обиделись, то можно и прекратить.
Мы не обиделись. Но лично я не вижу смысла продолжать. Путсая трата
времени, ибо твоя задача мне непонятна... Ни единого, даже весьма
весомого, довода за .NET ты принимать не хочешь. Так зачем оно мне
надо, выслушивать твои оскорбления?

> Хотя я думаю эта тема привлекает внимание не только к VB.NET, но и к сайту VbNet.Ru.
Возможно. Но интерес привлекают, ИМХО, только первый десяток
сообщений. Остальное - вода.

За сим откланиваюсь.
Тема закрыта.

Ответить

Номер ответа: 30
Автор ответа:
 Maxik



Вопросов: 58
Ответов: 201
 Профиль | | #30 Добавлено: 04.02.04 20:09
А если бы не те, злополучные, 20 мб, ты бы также говорил?
Думаю, нет. У тебя психоз из-за проблем с распространением .net
программ.
Это пройдет, когда framework будет поставляться вместе с windows. Или
когда увеличится качество инет связи.
Лично я настроен более оптимистично.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам