![]() |
Модераторы: diadiavova, gambit |
![]() ![]() ![]() |
|
||
|
-Mikle- |
|
||||||||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
Стал ли VB.NET теперь проще или наоборот? Что изменилось в нем в лучшую сторону, и что в худшую? Отпугивает ли вас огромный список пространства имен? И все другие подобные вопросы предлагаю обсудить в этом топике.
Всю свою програмерскую жизнь я был заядлым VB6 программистом ![]() Теперь меня за уши не оттянешь ![]() Я начну с очень простых примеров в защиту VB.NET ![]() 1. Сделать окно, которое находится поверх всех остальных: -> VB6 Нет встроеных средств, нужно использовать WinAPI: SetWindowPos -> VB.NET В режиме дизайна установить свойство TopMost формы в True или False, или в процедуре обработки события Load у формы написать одну строчку:
2. Сделать окно полупрозрачным: -> VB6 Нет встроеных средств, нужно использовать WinAPI: GetWindowLong, SetWindowLong, SetLayeredWindowAttributes -> VB.NET в любом месте пишете:
и окно становится полупрозрачным на заданное значение 3. Задать ограничения минимального и максимального размера формы: -> VB6 Нет встроеных средств, нужно использовать WinAPI для сабклассинга формы, что вообще само по себе в VB6 является не надежной вещью. -> VB.NET Пишем это:
4. Обрезать форму по картинке, где прозрачным должен быть например белый цвет -> VB6 Нет встроенных средств. Нужно проанализировать попиксельно изображение, создать регион, и затем присвоить его форме. Все это выполняется очень медленно, требует написания не малого кода, использование WinAPI, и обладает рядом недостатков. -> VB.NET 1. Задаете форме картинку, ложите ее на форму или рисуете программой. 2. Пишем:
после этого, все что на форме имеет белый цвет, становится абсолютно прозрачным, включая даже белую надпись в заголовке окна. --------------------------------------------------------------------------- Это так, для начала ![]() ![]() Это сообщение отредактировал(а) -Mikle- - 1.12.2004, 03:28 -------------------- Если тебе плюют в спину, значит ты впереди... |
||||||||
|
|||||||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
Ну так что? Жалающих высказать свое мнение по поводу простоты или сложности VB.NET нет? Никто спорить не будет ни с тем, ни с другим мнением.
![]() ![]() Это сообщение отредактировал(а) -Mikle- - 12.12.2004, 20:57 -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
YoD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 29.11.2004 Репутация: нет Всего: нет |
Ко всему вышеуказанному могу добавить: среда разработки стала значительно удобнее. Выравнивание кода - раз, улучшенные всплывающие подсказки - два, выделение элементов управления типа Таймер, которым не нужна визуализация, в отдельное окошко.
Едигнственное, что мне не особо нравится 6 это безусловно Дот Нет. Я понимаю все его преимущество, но другие этого не понимают. И не всегода соглашаются для маленькой программы ставить двадцатипятиметровый фрэёмворк... |
|||
|
||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
Спасибо за высказанное мнение.
На данный момент конечно это проблема и неудобство, так как Framework не встроен в Windows'ы. (в Windows XP есть, но не по умолчанию) Но в скором времени ситуация изменится, его будут встраивать как часть Windows, и соответственно проги будут работать без дополнительной предустановки CLR. Если верить мелкософтам, то уже в следующей версии Windows он станет не отъемлемой его частью. ![]() ![]() -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 1 Всего: 454 |
Это все бантики. Где принципиальные плюсы? которые перевесят необходимость фреймворка...
Это 1) ужасно 2) бардак 3) та же хрень что и с ослом, жабой и прочими наворотами. Нахрен мне в компе этот слон? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
-Mikle- |
|
||||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
А какие принципиальные плюсы чтоб использовать Direct3D? ![]() ![]() Хотя я не убеждаю тебя в своей позиции(как я и обещал не спорить), однажды тебе придется ставить новую Windows, в которой ты даже и не заметишь реально этот CLR. Это сообщение отредактировал(а) -Mikle- - 16.12.2004, 00:46 -------------------- Если тебе плюют в спину, значит ты впереди... |
||||
|
|||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
Поддерживаю -Mikle- !
|
|||
|
||||
[Last]Wizard |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 20.7.2004 Где: Минск, Беларусь Репутация: 2 Всего: 10 |
Ещё следует отметить, что VB.NET стал полноценным объектно-ориентированым языком.
Одно только это дает множество огромных плюсов. ![]() |
|||
|
||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
К тому же, это поставило сам VB.NET на один уовень с другими .NET языками ![]() Конечно работа с указателями в нем пока не предусмотрена(может быть и такую фишку сделают), но освоив идеологию и нэймспейсы .NET, с ними(указателями) можно будет работать и в C#, компиля эти ф-ии в dll'ки. В нем предусмотрена возможность использования не безопасного кода. Так что VB-программисты, радуйтесь!!! ![]() Это сообщение отредактировал(а) -Mikle- - 25.12.2004, 08:49 -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 165 |
В VB.NET только синтаксис остался
![]() На самом деле это такой же существенный прыжок как от QBasic к VB1.0. У'а това'иши! ![]() --------------------
|
|||
|
||||
korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
Господа, я в VB6.0 начинающий. Но так же хотел бы, в последствии, выучить и VB .NET. Но меня вот что смущает - насколько я знаю, если в VB .NET написан .EXE файл, то его нельзя запустить на компе, на котором не установлен VB .NET.
Отсюда вопрос, зачем нужен такой эксешник? Только поймите правильно, я не спорю, а спрашиваю. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
Для работы .NET программ, нужен не VB.NET, а Framework. Это совсем не проблема, потому как VB6 прога без библиотек Runtime, тоже не будет работать ни на одном компе. Установив Framework, любая .NET прога будет работать без проблем. Единственное что не удобно на данный момент, так это то, что Framework весит около 50 метров и не каждый захочет найти его или скачать. Но это временно, так как во всех следующих Windows, он будет встраиваться по умолчанию. Отталкивать это не должно, потому как если рассуждать что необходимость установки Framework'а это неудобно, то в сравнении можно сказать что устанавливать Direct3D для того чтоб играть в трехмерки, это тоже не удобно. Но Direct уже стали встраивать в Windows, и это не приносит никаких проблем. Так же и Framework будут встраивать в систему как ее часть, и обладатели новой винды смогут без проблемно запускать .NET программы. Так что не пугайся, и смело начинай изучать VB.NET или C# -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Лично у меня от этих бесчисленных system.xml да windows.forms башка кружится
![]() Хотя я конечно понимаю, это всё круто, но это уже другой язык. И смысла тогда прогить на VB смысла (кроме моей безграничной к нему любви) не вижу ![]() Тогда можно и на C# переходить, теперь и у него хорошая IDE!!! |
|||
|
||||
bankuss |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 26.3.2004 Репутация: нет Всего: 4 |
Run-time error
IDE там у всех одна ![]() а что тебе даст C#? только что синтаксис другой...ну и кое какие фичи есть дополнительные, которые простому программеру и не нужны вовсе. да и вообще какая разница на чем делать? главное чтоб работало... |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Вот этим я этот dotnet и не люблю
![]() Раньше был C++, был VB, был Java. А теперь всё смешали и вышла дотнет ![]() Разницы между языками как между бабой и мужиком и иде одна. Какой же я пессимист... Зато никаких CLSID и прочей дребедени ![]() |
|||
|
||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
Ну так это ж только к лучшему! Представь себе, один проект, и десять человек на его выполнение. Раньше нужно было бы искать C++ программеров, а сейчас хоть кого! Все могут писать на удобном для каждого синтаксисе, и при этом не замечать этого никаким образом! Это же классно! ![]() -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
Единственное, что я бы хотел сказать - это когда в команде есть человек, который мало знаком с нормальным стилем программирования, и часто копи-пэйстит, и ко всему, еще и от VB6 к VB.NET перешел - хавайся в бульбу.
|
|||
|
||||
[Last]Wizard |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 20.7.2004 Где: Минск, Беларусь Репутация: 2 Всего: 10 |
||||
|
||||
korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
-Mikle- - спасибо за пояснение.
Синтаксис другой, но он может быть кому-то и удобнее. Я вот раньше писал на Perl, в сентябре прошлого года начал учить VB6.0, теперь в Perl забываю ставить точку с запятой ![]() Это я к тому, что кто к какому синтаксису привык, тот ему и роднее. Говорят C# сильно на Java похож но Java и сам по себе язык довольно мощный, потому те кто программировал на Java, предпочетают именно его а не C#. Может я не прав? -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
[Last]Wizard |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 20.7.2004 Где: Минск, Беларусь Репутация: 2 Всего: 10 |
тогда тебе будет проще C# чем VB.NET ![]()
да и Java сама сильно на C++ смахивает |
||||
|
|||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
Если кто писал на Java, то проще для него будет не C#, а Java.NET ![]() -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
[Last]Wizard |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 20.7.2004 Где: Минск, Беларусь Репутация: 2 Всего: 10 |
Ну, не факт. Например в MSDN и прочих хелпах, сообществах и форумах почти все примеры написаны на C# или VB.NET. Не очень удобно переводить синтаксис одного языка на другой, пусть там и отличия небольшие. Во-вторых большинство человек пишут на C#, меньшее количество на VB.NET, а на прочих языках - небольшой процент. Если человек попадает в команду, где 10 человек пишут на C#, а он один - на J#, то у него будет проблема с общением с командой. Ради чего все это, если там отличия незначительные? Хотя, конечно, это личное дело каждого, на каком языке писать. |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Я конечно в яве не знаток
![]() ![]() ЗЫ Угадай почему MS в хэлпе не даёт J#? Она просто Sun Microsystems не уважает ![]() Это сообщение отредактировал(а) Run-time error - 12.1.2005, 21:46 |
|||
|
||||
Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: нет Всего: 34 |
Тяжело отвыкнуть от фукции Set
![]() Но в остальном просто супер. |
|||
|
||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
Оно того стоит!!! ![]() -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
Dron2004 |
|
|||
Unregistered |
Смотря с какой позиции судить :-). Поясняю:
Вот поставил себе недавно VB .NET 2003. Чувства двойственные. С одной стороны - прекрасная IDE, уйма новых возможностей, удобный редактор кода... С другой - ОЧЕНЬ СИЛЬНО (по моему мнению) ИЗМЕНЁН СИНТАКСИС ЯЗЫКА, а также работа с ФОРМАМИ (вместо них теперь Windows Forms), и, что самое "весёлое" в этой ситуации, все проги требуют гигантский фреймворк. Про фреймворк: его (фреймворка) почти ни у кого из моих знакомых не установлено. Ну да у знакомых нет - не страшно, я если что им вместе со своей прогой на CD дам... А вот в инет выкладывать прогу... Представляю ситуацию... Качает себе кто-нибудь калькулятор, а он ему: "мне фреймворк надо в 23 Мега скачать"... Большинство, я думаю, качать не будет :-((( Про синтаксис и форму: вот те на... Я, например, до сих пор с этим делом разобраться не могу... То, что на ВБ6 делалось легко и просто, тут как-то подругому делается. А вообще, нынче писать под .NET удобно не всегда, причина - всё тот же Framework |
|||
|
||||
Exception |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
в лучшую сторону ![]()
Чем хороши W.F. : ТЕПЕРЬ ВСЕ - КЛАССЫ ИЛИ МОДУЛИ. Теперь нет никаких чудес, какие были в VB6. Откуда бралась форма??? Это было неясно. А теперь форма - простой наследник класса System.Windows.Forms.Form . Советую почитать книгу "Переход на VB .NET: Стратегии, концепции, код." Дэна Эпплмана. Там рассматриваются все плюсы и минусы этой технологии. Еще и к [+] и к [-] можно отнести декомпилируемость .NET - кода. С помощью Reflector'a ты можешь узнать весь исходный код .NET Framework, но твой код также легко декомпилировать, как и код мелких. |
||||
|
|||||
bankuss |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 26.3.2004 Репутация: нет Всего: 4 |
Скачал с мелких VB2005. Первые впечатления - намного лучше 2003! Внешность IDE изменилась, ну и добавлено то, что было убрано из VB6
![]() Скорость кода немного выросла, тестировал на циклах с кучей вычислений. Рекомедую всем VB-нетчикам! |
|||
|
||||
lovermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 28.12.2004 Где: Прага Репутация: нет Всего: 8 |
Не с глаголами пишется раздельно. Третий класс, первая четверть.
|
|||
|
||||
bankuss |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 26.3.2004 Репутация: нет Всего: 4 |
lovermann Это мне? извиняюсь за оффтоп...
|
|||
|
||||
lovermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 28.12.2004 Где: Прага Репутация: нет Всего: 8 |
создателю опроса + по совместительству всем, кто не знает.
Прошу прощения, но мне это просто режет глаз. |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Да.. с правописанием у нас на форуме не очень.
И все же все это оффтоп. |
|||
|
||||
FL |
|
|||
Unregistered |
Сейчас все серьёзные фирмы переходят на .NET. (Пример тому, если не верите, хотя бы Sony, Sound Forge 8 которой требует .Net) Так что мне кажется, что в скором времени( или не очень) ДотНет будет установлен на подавляющем числе компов. А VB.NET мне очень понравился. Переучиваться к новому синтаксису - это конечно обидно, но тьма новых возможностей это компенсирует. Конечно WinApi всё равно иногда приходится использовать, но пригресс налицо. VB начинает подтягиваться до уровня C++. Конечно только начинает подтягиваться, но и это уже радует. |
|||
|
||||
Spawn™Production® |
|
|||
![]() Тестер ПО, VB.NET Developer ![]() ![]() Профиль Группа: Участник Сообщений: 398 Регистрация: 12.4.2005 Где: Зеленоград Репутация: нет Всего: 12 |
скорее отдалятся... Microsoft делает язык всё более высокоуровневым... так что драйвера ты всё ещё не можешь и никогда не сможешь писать на нём. -------------------- ОС: WinXP SP2 Rus Frameworks: v1.0.3705, v1.1.4322, v2.0.50215, v2.0.50727 Сам кодю на VB (6.0 (почти забросил), 7.1, 8.0) |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
Взгляни на http://research.microsoft.com/os/singularity/ ![]() Это сообщение отредактировал(а) arilou - 12.12.2005, 20:20 |
|||
|
||||
Spawn™Production® |
|
||||
![]() Тестер ПО, VB.NET Developer ![]() ![]() Профиль Группа: Участник Сообщений: 398 Регистрация: 12.4.2005 Где: Зеленоград Репутация: нет Всего: 12 |
Хм, ну посмотрим, к чму их research'ество приведёт... -------------------- ОС: WinXP SP2 Rus Frameworks: v1.0.3705, v1.1.4322, v2.0.50215, v2.0.50727 Сам кодю на VB (6.0 (почти забросил), 7.1, 8.0) |
||||
|
|||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Однако... ![]() Интересный проект ![]() Только я не понял, это что -- альтернатива Lonhhorn'у что ли? Или там Black-чего-то? Или потом их соединят? |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
Это просто исследовательский проект. Деньги вкладываются в исследования новых подходов к разработке ОС. Возможно, что-то из этого мы увидим в Windows XXII ![]() |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: нет Всего: 173 |
Ни то, ни другое. Это просто прототип ОС будущего, основанной на управляемом коде. До применения этого в реальных продуктах еще годы, если не десятилетия. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Смотрим в будущее ![]() M$ это что, спонсировать будет? Ресёрчеры ![]() |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
Ты сайт вообще видел? Это лабы Microsoft'а. Они за это платят. |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Точно... Ну дак если проект будет удачным, они его себе загребут что ли? |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
Run-time error
![]() ![]() У Microsoft есть свой исследовательский центр, где умные головастые дядьки ничего не делают, а только занимаются тем, что им нравится, и что потенциально нравится самому Microsoft'у. За это им платят денюшку, а правами на их разработки обладает сам MS. Вот такие, брат, дела. |
|||
|
||||
Терминатор |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 7.5.2006 Репутация: нет Всего: нет |
Сижу сейчас в VB.NET 2005. Пробую переписать то что так хорошо работало в VB.6
Труба полная. Всё время приходится сидеть в MSDM, вернее 60% 30% рыскать по Инету в поисках практического решения (кстати в интете есть варианты получше чем в MSDM, например работа с TabControl1) остальные 10% это уже написание самого кода. Какие трудности кодеры испытывают по всему миру - просто дива! Американцы, Европейцы, Африканцы, Индусы и Русские. Читая их проблемы и видя что 40% не находят решения (или решение нашлось, но на форуме не опубликовано) что-то прям мурашки по коже бегать начинают, от мысли "А как я буду переписывать прогу от которой зависит сейчас 90% работы на фирме, и вообще моё присутствие на работе?" Вот к примеру - переписываю процедуры в модулях. Там проблема: теперь из модуля обратиться к конролу на формах напрямую нельзя. Прошелся по инету - у всех от этого головная боль. Но кто-то уже быстро это освоил, кто-то пишет, цитирую дословно - "..Да, ну теперь всё, теперь я просто не использую обращение к контролам из модулей. В модулях пишу только функции..." Потом проблема при использовании Char, проблема при использовании As String * 1 и т.д. Так это только малюсенькая часть! А если у меня в программе более 30 форм, и куча всего того что вообще никак не хочет переноситься. Вывод один - писать абсолютно всё заново. Кстати, я заметил что 2005 получше 2003. Это радует. Может и дальше будут улучшения. Лично для себя я понял одно, это совсем другой язык. Я помню как просто по дороге на работу, я продумывал часть кода в голове, а уже на работе писал по памяти. Теперь по дороге на работу я стараюсь просто закрыть глаза - чтоб они немного отдохнули и поспать, - потому что приходится сидеть до глубокой ночи, в попытках разобраться как же ту или иную задачу выполнить. Да, я наверное отношусь к той категории людей которым всё новое даётся тяжело. Собственно вопрос - Я что-то не пойму, когда говорят о VB.8 - это какую версию имеют в виду? У меня Ноябрьская 2005. В ней нет прямого обращения из модулей. А как меня это достало! |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Я тебе вот что скажу. VB .NET совсем никак не связан с VB 6 и не подходит для переписывания проектов. Тебе придётся познакомиться с новой идеологией программирования на .NET, научиться писать с использованием ООП.. Так что лучше на нём писать новые проекты, однозначно.
Добавлено @ 00:04 А к формам так обращаться - дурной тон. Я тебе ОБЯЗАТЕЛЬНО советую почитать книжку "Переход на VB .NET: Стратегии, концепции, код" Дэна Эпплмана. Это то, что тебе необходимо. |
|||
|
||||
Терминатор |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 7.5.2006 Репутация: нет Всего: нет |
Да, я это понимаю, я обладатель не самых лучших привычек, которые развил благодаря VB6. Но требования тогда были невысокие, для любой небольшой конторы самые критичные данные - их базы данных. Для написания, которых связка VB+Access, VB+SQL не занимала вообще никаких усилий. Наверное многие (даже знающие Си)в те годы использовали VB для создания СУБД. Очень рентабельно получалось. Да и не 3D игры же писать Бейсике! Деваться некуда буду учить. Только вот подскажи пожалуйста, какой подход мне лучше избрать. Но для начала немножко войди в моё не лучшее положение. Я человек взрослый, работаю, учиться в учебных заведениях мне не с руки (семью кормить надо). То образование которое я получал в 80-гг теперь уже = 0 (нулю). Да и что кто-то научит языку который вышел пол года назад (согласись версия 2005 это уже не 2003) я слабо верю. Хотя конечно есть гуру, но они как раз всегда при деле, а "не за партой". Ну и ещё два весомых фактора, которые давят так, что хоть кричи, - в 40 лет не так просто заучивать, запоминать и разбираться в большом объёме информации. Второй фактор, который меня просто убивает на повал, это вот это новая технология. Может тебе знакомо такое со школьных или студенческих лет - ну никак не даётся химия или французский! Или ещё лучший пример, который всё чаще всплывает у меня пред глазами - 90-е гг. программист, который мне в отцы годился, с такими большими очками, толстыми линзами, говорит мне - «Всё что делается, теперь делается для Вас, для молодого поколения. Жалко, что только про нас забыли. Наверное, мне придется забыть про свою профессию.» У него был такой безысходный взгляд, что мне его жалко стало. Помню, он так в сердцах возмущался – «Да что же это за устройство такое придумали!» (про мышь, чувствовал, наверное, сердцем, что всё, не будет больше ДОС-а) А с другой стороны, я тогда думал, "вот из-за таких людей у нас нет прогресса!". Ты смотр-ка, как в жизни всё разворачивается. Теперь получи и распишись. Мне даже теперь жена со стороны сказала, "ты что-то старшее поколение уважать начал. Стареешь чтоль?" Так вот вопрос. Учитывая всё это, но самое главное, учитывая то что мне этим свой хлеб зарабатывать надо а не просто "познавать невиданное", какой подход лучше выбрать для изучения "этого ООП." Книгами я уже обложился, слава Богу Интернет есть и дома и на работе.(инет - это дар, для всех программистов!) Но чувствую я, что-то не так я делаю. Одно только ADO.net чего стоит. Но ведь как-то же люди изучают языки за пол года! Если у кого был такой этап, и он пройден хотя бы наполовину, поделитесь. Что является залогом успешного изучения такого языка.? Ведь "нахрапом" не возьмешь. Сейчас я пытаюсь по кусочкам реализовать то что у меня было. Почему это не правильно? Также я просматриваю готовые варианты небольших программ, которые можно скачать в инете. Книги? в прицепе да. Но, например мне надо решить то-то и то-то, в книгах такого нет. Там общие решения. Справка помогает, благо английский не забыл. Но ведь наверное не так должен изучаться новый язык.? В общем, поделитесь ребята. Я вот тут по-написал, может так на форуме не стоит откровенно, но тяжко мне, честно. В реальной жизни вида не подаю, но в уме шок. ------------------------------------------------------------------- Если кто-то ответит на моё послание даже через месяц - буду рад. |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Да, наверное, в моём возрасте учиться новому легче
![]() |
|||
|
||||
XPurple |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 4.5.2006 Где: Челябинск Репутация: нет Всего: 1 |
Немного в оффтоп.
Если программа требует для своей работы Framework.NET - например Sony Vegas- значит ли это, что она написана на языке Visual Basic.NET ? --------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего. Не помню, кто сказал, может быть, я (с) |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Это значит, что она написана на каком-либо языке .NET, будь то VB .NET, C#, Delphi .NET, etc.
|
|||
|
||||
XPurple |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 4.5.2006 Где: Челябинск Репутация: нет Всего: 1 |
Exception,
Ясно --------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего. Не помню, кто сказал, может быть, я (с) |
|||
|
||||
HellMasterHaiL |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 9.8.2006 Где: Россия, МО, г. Юб илейный Репутация: нет Всего: 1 |
к сожалению судить не могу, т.к. VB6 никогда в глаза не видел, а начал сходу изучать VB.NET, но думаю в каждой версии есть свои плюсы и минусы, будь то сложность разработки или качество...
|
|||
|
||||
DarkDragon |
|
||||||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
Приемущество VB6 перед VB.NET: Заключается в том что у VB6 [Native Code], а это означает что программа работает под Win32, с использованием всего одной библиотеки, которая поступает уже вместе с XP. Весит эта библиотека в чистом виде 1 метр с хвостом (10 - 500 килобайт). У VB.NET, и других языков той же самой платформы .NET, Intermediate Language (промежуточный язык), который обязательно переводится в машинный язык, при старте. Первое: снижение запуска приложения! Обязательно Framework 23-25 мега(В будущем, возможно данный недостаток будет устранен). Теперь по поводу недостатков VB6, VB.NET. Это пропорции. Это очень круто снижает скорость приравнивания/получения значения, нежели если мы будем обращаться напрямую к переменной. По мойму лучше написать процедуру приравнивания SetValue (ByVal Val As Value). VB.NET - Form->Control->Боевое снабжение на все случаи жизни. Если я не ошибаюсь то он используется визде, где нужен Visual Control. Размер в памяти у него очень не маленький. Можно даже сравнить используя NativeWindow и Control. Все типы в VB.NET стали структурами, недостаток: меньше и быстрее реальная переменная (int), чем структура Integer в VB.NET. Вообщем самая главная проблема .NET это оптимизация. Проги на данной платформе грузятся и выполняются медленне чем на платформе Win32. Хватит о плохом, пора переходить к хорошим! Какая простота работа с массивами.
Можем спокойно в run-time создовать массивы практически любых типов. А как легко создавать контролы в run-time, добавлять, удалять. ![]()
А как легко пишутся плагины ![]() А как легко модернизируются контролы ![]() А как легко работать в VS 2003/VS 2005:) А как легко дизайнить формы, с помощью конструктора. А как круто, когда к Object можно передать любой тип (byte,short,integer,....,string,.....,control.....). А как круто когда есть System.Windows.Forms, System.IO, System.Reflection, System.Runtime, System.Web, System.Net, и многие другие (есть и DirectX манагед!). Кланю к тому что там столько классов, тока создавай и пользуйся ф-циями. А как круто, конвертится:
А как круто выполнить динамический код в runtime. +ковсему этому можно пределать то что степень риска вредоностности программы снижается! Т. е. не зделаешь на VB.NET вирус, хотя кто его знает. Ведь в VB.NET И др. языках .NET можно свободно пользоваться функциями из реальных библиотек работающих на Win32. Вообщем яб рассказал как это возможно, но помоему незя этого обсуждать на форумах Vingrada. Вообщем можно книгу писать Достоинство VB.NET И сех Language.NET. |
||||||
|
|||||||
Exception |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Что хорошего в native code? Быстродействия он не обеспечивает, т.к. код целиком состоит из вызовов функций msvbvmxx.dll. Фреймворк будет поставляться с Windows Vista, конечно, он большой, но - сравни возможности библиотек! А преимущества .NET перед COM очевидны. Контроль версий (прощай, DLL hell), , стандарты языков, обеспечивающие межъязыковое взаимодействие. Богатый набор классов. Очень мощный GUI и фреймворк для взаимодействия с БД.
Ты ошибаешься: IL-код компилируется не перед стартом приложения, а перед выполнением метода в первый раз, причём результирующий машинный код можно оптимизировать. Если очень хочется - можно заранее скомпилировать весь код и запретить JIT-компиляцию с помощью утилиты ngen.exe. Это ты свойства (properties) называешь "пропорциями"? К твоему сведению, из свойства SomeProperty компилятор генерирует два метода - get_SomeProperty и set_SomeProperty, так что я не понимаю, о какой потере производительности идёт речь. Далее, что значит - "нужен Control"? Control - всего лишь базовый класс, какие к нему могут быть претензии ![]() По поводу переменных типа Integer - ты вновь ошибаешься. Они оборачиваются в структуру только по необходимости, и эта операция называется упаковкой (boxing). Дабы пояснить, приведу пример:
По поводу кода создания массива - он вызывает ошибку компилятора, потому что ты пытаешься неявно привести тип System.Array к массиву Byte. Ошибку можно отключить, выставив Option Strict в Off, но это чревато ошибками, и за такой подход обычно дают пинка. На самом деле следует явно привести тип оператором CType. По поводу того кода, который ты написал для конвертации: да, он работает, но этот подход не одобряется и присутствует лишь в VB .NET. В С# так делать нельзя. Ведь подумай сам: что делает функция CInt? Она приводит класс к Integer, если он это разрешает. У System.String этого оператора приведения нет. Поэтому правильно делать так:
Да, ты совершенно прав, степень риска очень заметно снижается благодаря хитрой системе безопасности в .NET. Например, можно настроить систему так, чтобы сборки, загруженные из интернета, не имели доступ к файловой системе или, например, не могли вызывать/выполнять небезопасный код. Это сообщение отредактировал(а) Exception - 4.10.2006, 15:22 |
||||
|
|||||
DarkDragon |
|
||||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
Насчет Properties: То что properties генерируют в функции get и set, я понял когда в C++.NET строил приложения. Я имею виду использовать функцию в том случаи, если требуется при преравнивании выполнить еще какие нибудь действия. А если просто потребуется получить, приравнить значение, то лучше обращаться на прямую к variable, нежели стучаться в функции. И как ты думаешь, что быстрее: Прямая адресация к переменной, либо вызов функций? Насчет ngen (и il), незнал. Попробую ![]() Control - всего лишь базовый класс. Согласен. Размер смотрел этого класса? Даю 100% я напишу контрол "Button", которая в 20 раз быстрее и меньше чем при использовании Control. Конечно нельзя будет добавлять с помощью Controls.Add, но можно будет написать свой Array для контролов которые основываются на NativeWindow, либо еще ускорить написав структуру WindowClassEx. Насчет упаковки, и распоковке, и структур - значить ошибся ![]() Я вот Exception непонимаю, для чего ты пишешь код? Для того чтобы им пользовались другие? если так, то пускай радуются что для них еще пишут. А то можно и вооще забить. Если я пишу какой то код, то для начала я убеждаюсь, что он в реале работает на определенном языке, и не стараюсь чтоб кто нибудь переписывал его на другой язык. Так что если пишу на VB.NET, мне грубо говоря напливать что кто то будет переписывать на C#. Пусть тогда сразу просить на каком языке ему приводить пример. А типа писать красивый код, чтобы другие любовались, пускай сами пишут для себя. Насчет CType - привиди пример. Array, у меня на VB.NET работают без глюков, и без сообщения компилятора. Все нормально компилируется, без установки опций. +Хорошего в .NET, не так сложно написать свой язык программирования(.NET). |
||||
|
|||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 5 Всего: 149 |
А если тебе нужно чуть больше действий, чем просто обновить переменную? Например обновить контрол (обновил свойство text контрола). Причем это может понадобиться в дальнейшем. Не лучше ли сделать задел (причем очень простой) на будущее. + для оптимизации кода существует компиляции в релизе. В ней уже компилятор убирает все ненужные переменные и заменяет гетеры и сетеры на реальные действия. В наше время объем и скорость (таких массштабов) не критичны. Добавление картинки в приложение с лихвой перекроет объем вложенного кода. А преимуществ это дает очень много. Программист просто делает то что ему нужно, сильно не заботясь о поведении будующего контрола. |
|||
|
||||
DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
Насчет релизе - Release - это уже окончательное компилированние без доп. инфы относительно Debugerra. Когда то писал все под Debuger. А потом прочил что Release, максимально сжимает и оптимизирует выходной код. Ну естестно стал писать под Release. К стате если используешь Release то ошибки в коде(не путать с синтаксисом) не будет высвечеваться, если запускаешь из под студию. Лучше мастерить под Debug, а в самом конце компилить в Release, когда проект будет готов.
|
|||
|
||||
Exception |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
А главное, какая аргументация! В .NET всё равно ты не увидишь никакой прямой адресации ![]() И что? А что ты скажешь о переносимости твоего кода в перспективе под тот же, например Mono? О том, что же придётся делать бедняге, который возьмётся когда-нибудь за твой код, чтобы понять его суть? О работе твоего приложения, если WinAPI поменяется? Для себя, других или заказчика.
А мне нет. Потому что в конце концов из VB .NET уберут всю эту VB6-дрянь.
Rubbish. Красивый и понятный код вкупе с грамотным проектированием существенно сокращает стадию отладки и тестирования приложения. Читай "Совершенный Код" Макконнелла. |
||||
|
|||||
DarkDragon |
|
||||||||||||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
.NET под Windows, не использует своей структуры (имею в виду Forms, Controls), а использует WinAPI, который полностью, или частично скрыт, от пользователя. Так что если перенести в Mono, или в ноый WinAPI, то из этого ничего хорошего не выйдет. Хотя если, переписать все библиотеки на другую платформу, или ОС (вчастности оставив прежнии названия процедур), то возможно переносимость обеспечена. Не могу утверждать, так как глубоко в платформе .NET не копался.
Ну это уже извращение, писать совершенный код под VB. Могу согласиться в том случаи если пишешь под Assembler.
А вот за такие слова, и действительно можно получить в репу. А если уберут все ф-ции VB6, то буду тоскать библиотеку из VS2003, со своими приложениями ![]()
Это уже косается лично тебя.
Ошибаешься. Через указатели, можно получить доступ к памяти. И можно написать свои функции для создания переменных в неуправляемой, или управляемой памяти ![]() ![]()
Вот представь себе ситуацию: тебе предлогают VB компилятор, и VB интерпретатор. У них возможности одинаковы, за исключением конечно выходного файла. Что ты выберешь? |
||||||||||||
|
|||||||||||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Интересная разворачивается дискуссия
![]() Я говорю о том, что, если использовать исключительно классы Windows Forms, проблем с переносимостью, реализуй WF полностью в Mono, не будет. А завязываться на конкретных API.. какой тогда вообще смысл в использовании .NET, как не абстрагирование от этих API?
Не понял ![]() ![]() Зачем тебе функции VB 6? Чем тебе не нравятся аналогичные методы классов .NET Framework? Скажи, зачем тебе нужно так извращаться с этой памятью? Указателей в .NET нет и не будет. Есть лишь специальные обёртки для них. Неужели ты действительно думаешь, что так работа ощутимо пойдёт быстрее? Тогда приведи два куска кода с тестами. Я лично устал повторять, что .NET - никакой не интерпретатор. Я считаю схему с JIT-компилятором более расширяемой и универсальной, нежели схему с прямой компиляцией в нативный код, нацеленный на конкретную платформу. Да - кстати, VB 6 как раз и был интерпретатором. |
|||
|
||||
DarkDragon |
|
||||||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
Да они мне впринцепе и не нужны. Я могу полностью писать средствами .NET. Просто вьелись мне VB6, и се тут. Если ты говоришь, что вскоре уберут эти функции(т. е. библиотеку), то больше их трогать не буду.
Я просто привел пример языка, для которого, как я считаю нужно писать код, так чтобы можно было потом делать нормальную отладку, модификацию, и т. д. А для VB.NET я думаю есть очень хороший стилист(редактор в VS7 и выше). Это я о красивом коде. Когда говорил о интерпретаторе, то не имел ввиду VB.NET:) И ты что так быстро устаешь? ![]() ![]() ![]()
Приведу небольшой пример: в VB.NET есть таковой класс Bitmap(сам наверное знаешь). Скажем нужно приделать такую фичу, которая называется негатив. В класс Bitmap входят 2 функции (GetPixel, SetPixel). Единственное где можно использовать эти функции, то только если изображение не больше 124x124. А то ждать конца функции придется очень долго. Но если мы используем неуправляемую память, куда вобщем то и помищаются данные изображения, то данная функция займет считанные секунды, и разрешения изображения могут быть хоть 1024x1024. Поверь, это личный, горький мой опыт. Столкнулся я с ним, когда разрабатывал алгоритм увелечения изображения. Использовал я именно GetPixel, SetPixel, и изображение 320x240. Так запарился, что к черту проект стер. Только потом я узнал как работать с Unman. памятью. |
||||||
|
|||||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Нет-нет, Асм тут уж точно ни при чём
![]() ![]() |
|||
|
||||
DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
Вообще когда я делаю серьезные проекты на .NET, я разбиваю программу на отдельные части (количество определяется функционированием проекта, ну и некоторыми процедурами). Так мне в принцепе не составляет труда отлаживать программу. Насчет книги: читать то не лень, а вот найти книгу вотето проблема. У нас компьютеры и интернет только начинают развиваться(по этому литературу, трудно найти), так что приходится заказывать. Конечно возможно что кто то заталкал книгу на CD, но читать на экране, только вредить своему здоровью. Тем более, если книга толстая.
Но если найду, то обязательно надо будет прочесть. Вдруг я тоже ошибаюсь ![]() |
|||
|
||||
DviRUS |
|
|||
![]() Капыч ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.10.2006 Где: Волгоград Репутация: нет Всего: 5 |
Начал пользаться 8-й версией - даволен всем!!!!! Кроме одного! мало помощи.... Еслиб ещё учебник в электронном виде к нему прилогался... Эх... *задумчиво вздыхает смотря в поталок и улыбаясь*
Очень понравилось присутствие нескольких примеров программ с множеством функци, по которым можно многое узнать! -------------------- Это не только мерзко, но и невозможно! (с) |
|||
|
||||
Piphon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 30.3.2004 Где: Екатеринбург Репутация: нет Всего: 2 |
А мне например пофиг что .NET 20-50 мб., пускай качают. Ленивый пользователь не менее опасен, чем любопытный.
VB6 и VB .NET вообще не собираюсь ставить в ряд. 'Шестерка' это классика простоты среди всех языков программирования и мой первый язык, но в нем мне не хватало функциональности (API в то время для меня были дебрями). А .NET - это лучшее, что есть у прикладного программиста... P.S. И все-таки VB .NET рулит. Причина: я рисую на control'ах. ![]() Это сообщение отредактировал(а) Piphon - 24.10.2006, 23:21 --------------------
Non Progredi Est Regredi... |
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 5 Всего: 149 |
||||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
![]() Ага, абсолютно согласен. |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: нет Всего: 22 |
Ну Мелкософтцы это предусмотрели и сделали System.Drawing.Imaging.BitmapData.Scan0 и System.Runtime.InteropServices.Marshal.Copy(). При этом единственно используется высокоуровневый указатель IntPtr. Я конечно понимаю неудобство копирования информации (из неуправляемого битмапа в управляемый массив и обратно), но скорость работы выше, чем при использовании GetPixel и SetPixel. К тому же, даже на C# я бы не стал использовать небезопасный код для прямой работы с памятью чисто идеологически (а то программировал бы на C++ ![]() |
|||
|
||||
Nephrit |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Прочитал я всё, что Вы написали, но так и не понял, что выбрать лучше. Какой язык программирования оптимален.
Я сейчас Программирую на VB6. Решил попробовать поработать на VB.NET, но там полнейший караул с Базами даннных |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Какой ещё караул с базами данных
![]() P.S. VB .NET - это не просто "новая версия" языка, а скорее принципиально новый язык, и, чтобы эффективно программировать на нём, тебе придётся много чего забыть и много чему научиться заново. В частности, тебе нужно будет научиться нормально, рационально использовать ООП и избавиться от дурных привычек (модули, глобальные переменные, отсутствие классов), оставшихся от VB 6. P.P.S. Будущее за VB .NET однозначно; Microsoft уже прекратила поддержку VB 6. |
|||
|
||||
Piphon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 30.3.2004 Где: Екатеринбург Репутация: нет Всего: 2 |
Вот только кое какие вещи для переноса с VB6 они все-таки оставили в .NET (namespace Microsoft.VisualBasic). Я до сих пор не понимаю как они работают managed или unmanaged? --------------------
Non Progredi Est Regredi... |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Эта библиотека была создана только для обеспечения хоть какой-то совместимости и работы Upgrade Wizard, на мой взгляд, кстати, зря. Конечно, она полностью managed
![]() |
|||
|
||||
DarkDragon |
|
||||||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
Эта я и узнал ![]()
А вот мне не пофиг! Потому что не у всех интернет с High Speed. Вот у меня например средняя скорость 9,2 Кбит/с это только он рисует, на самом деле около 1.2, а качка в 0.75. 2 метра качаются около 18 часов. И как интерестно мне скачать Framework.NET 2.0?
Давай, давай. Посмотрим сможешь ли чего интерестного нарисовать. |
||||||
|
|||||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Между прочим, можно самому и правда очень красивые компоненты мутить средствами GDI+ (тут у нас mr.DUDA спец). А как ты игры устанавливаешь? Тоже из интернета выкачиваешь? Они ведь громадный DX требуют. |
|||
|
||||
DarkDragon |
|
||||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
![]()
![]() А востновном приносят друзья диски. А так покупаю. А купил игру я в последний раз где то 4 года назад. |
||||
|
|||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Нет-нет, в VB6 не было GDI+ и всех этих градиентов и прочего ![]() Ну, ты ведь не юзер. Вот видишь, ты игры даже не пытаешься качать из инета. Заказчику-то ты всё равно сможешь диск сунуть. |
|||
|
||||
DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
В принцепе в GDI+, просто реализованы алгаритмы, которые также можно реализовать и с помощью GDI. Правда для этого нужно разбираться в графике. А в .NET все зделали за нас мелкософт'цы.
Если работать с заказчиком в прямую. Но если работаешь через инет, 23 мега, могут привратить заказ в отказ. |
|||
|
||||
Piphon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 30.3.2004 Где: Екатеринбург Репутация: нет Всего: 2 |
Жди. Время будет сделаю... У меня тоже не High Speed. Хотя и побыстрее твоего будет. Аргумент весомый... но для приклодных приложений Windows .NET становиться тем же самым, что DirectX для Windows или OpenGL для *nix игр. Framework .NET 2.0 уже распространяется уже и в играх(NeverWinter Night 2). А вот насчет инета. Заказчику отправляешь ЛИШЬ свою программу и дополнительны библиотеки. А CLR ему прейдется достовать самому (хотя он может и пойти в отказ). --------------------
Non Progredi Est Regredi... |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
||||
|
||||
DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
||||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Будет, кстати
![]() |
|||
|
||||
Piphon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 30.3.2004 Где: Екатеринбург Репутация: нет Всего: 2 |
--------------------
Non Progredi Est Regredi... |
|||
|
||||
DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
Даю волю своей фантазии:
Чтобы большинство людей могли спокойно качать программы основанные на платформе .NET, Биллу Гейтсу нужно купить один отдельный спутник, запустить его по середине континентов, так чтобы любой имеющий у себя цифравую тарелку и модуль к матери(компьютера), мог свободно получить к ней доступ. Ну и транстлировать последнии версии Framework'a, через этот спутник. Теперь я не говорю что эта проблема будет исчерпана, но все же много людей смогут подсесть под .NET(Зная что Framework эта уже не проблема. если есть компьютер и тарелка ![]() |
|||
|
||||
Piphon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 30.3.2004 Где: Екатеринбург Репутация: нет Всего: 2 |
DarkDragon,
![]() ![]() Добавлено @ 19:43 Но не думаю что все заведут себе тарелки... --------------------
Non Progredi Est Regredi... |
|||
|
||||
DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
||||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Модератор: Давайте вернёмся к теме обсуждения.
![]() ![]() ![]() |
|||
|
||||
RST8 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 8.12.2004 Репутация: нет Всего: 1 |
Во во, точно. Никак не пойму логику работы. А это, ну вобще нет слов, авторы в книга объясняют как. Кинут сетку на форму и в дизайне подстыкуют к ней таблицу. Вот смотрите как все просто и легко. Ну и что с этим потом делать. Такое практически никогда ненужно. Где нормально написано как просто из таблицы, полностью в коде, получить значение одного поля одной записи. Да этих книг десяток перерыл пока нашел нормальный пример. Нашел его все работает, но стиль, логика, всего этого проста ужасна. З.Ы. А как все красиво в делфях, создал конект, выполнил запрос, и вот тебе все данные. В нормальной логичной форме. --------------------
Посадка, с места которой можно уйти на собственных ногах, считается удачной! |
|||
|
||||
MBars |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 17.1.2007 Репутация: нет Всего: нет |
Начнем с того, что FW-это прежде всего "системные" библиотеки. 1.1, скажем, вообще идет вместе с Win2003. И половина профессионального софта уже писана под .NET. А если сравнивать среды разработки VB6 и VS2003(VS2005) - то тут уж никаких вопросов. Я не профессиональный программер, однако переход с VB6 на VS2003-2005 прошел безболезненно. И вообще считаю, что VB6 - был и остается средством
|
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Если Вам непонятно, как работать с System.Data, это вовсе не значит, что библиотека плоха / неудобна / etc. Если разобраться, то в .NET работа с БД организована очень хорошо. |
|||
|
||||
Darth_Sidious |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 29.6.2007 Репутация: нет Всего: нет |
Плюсы:
VB.NET стал удобнее: нет лишних команд (типа Set, особенно при работе с объектами), появилось ООП (что делает язык гораздо мощнее, чем раньше), появилось много новых инструментов на Toolbox, а значит увеличивается производительность труда программиста. Минусы: Добавление платформы .NET - это добавление необходимости изучения этой технологии (а она, судя по всему, не маленькая), а значит приводит (по крайней мере, на первых порах) к резкому снижению производительности труда программистов, если у них есть жизненная необходимость работать именно с этой технологией. |
|||
|
||||
Maryzybina |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 21.2.2008 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
Модератор: [B]Maryzybina, прочтите правила форума: http://forum.vingrad.ru/index.php?act=boardrules[/B]
-------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
SaschaL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 880 Регистрация: 13.12.2006 Где: Челябинская обл г .Нязепетровcк Репутация: нет Всего: 9 |
Ну безусловно это шаг вперед , и несомненно стал лучше.
|
|||
|
||||
NeoKesha |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 24.8.2011 Репутация: нет Всего: нет |
Лучше! Он стал поддерживать DirectX 9 и выше. Стал продвинутее, много много чего. Например: множество свойств объектов.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума VB .NET | |
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | VB .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |