Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 |

 

  Вопрос: Пилю игру мечты :) Добавлено: 03.02.13 11:29  

Автор вопроса:  Mikle

Ответить

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

Номер ответа: 31
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #31 Добавлено: 19.02.13 10:54
Windows 8 релизнулась больше полугода назад. Или вы считаете сырыми бетами все системы до тех пор, пока на них не вышел третий сервиспак?

Ответить

Номер ответа: 32
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #32
Добавлено: 19.02.13 16:37
кстати в магазинах полноценная Win8 не продаётся ещё. Я встречал только апгрейд на Win7. И похоже она для продвинутых, я абсолютно не разобрался как ею пользоваться.)
p.s. всем срочно переходить на питон. хочешь сайты пиши, хочешь десктопные программы.

Ответить

Номер ответа: 33
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #33 Добавлено: 19.02.13 17:23
Вялый флейм... Я думал, Artyom из этого вырос.. ан-нет. Мало что тут изменилось за последних пару лет.

Ответить

Номер ответа: 34
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #34 Добавлено: 19.02.13 17:35
Мало что тут изменилось за последних пару лет.

UU, ты это будешь писать каждые 2 года? :)))) Только на моей памяти это было 4-5 раз точно..

Ответить

Номер ответа: 35
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #35 Добавлено: 19.02.13 18:05
Ну я по каждому пункту расписал все детально, где кто не прав. Но потом стер и не стал публиковать. Надоело. Уже тысячу раз здесь писал, да и не только я. И смысл какой? Я в этой олимпиаде давно свои медали получил

Ответить

Номер ответа: 36
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #36 Добавлено: 19.02.13 18:48
Собственно, время когда нужно было аргументированно доказывать преимущества дотнета перед VB6 уже прошло. Сейчас он уже борется с жабой за первое место, и по крайней мере по очкам уделывает ее (http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java)

Пора VB6-никам озвучивать аргументы в пользу их инструмента, но получается это у них очень хреново.

Ответить

Номер ответа: 37
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #37 Добавлено: 19.02.13 19:18
Artyom пишет:
Я в этой олимпиаде давно свои медали получил
 

Специальной олимпиаде?:)

Ответить

Номер ответа: 38
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #38 Добавлено: 19.02.13 19:47
Mikle пишет:
А если без аллигорий - делаю я простенькую игру, какое API использовать для графики в vb.net? Только такое, где не требуется таскать с игрой инсталляшку, которая не ставится без админских прав?

Mikkle, я лично не занимаюсь геймдевом, но точно знаю, но на .NET игры пишутся. Следовательно, API для разработки игр под дотнет существует.

Можно использовать тот же DirectX напрямую, хотя необходимость работать с неуправляемым кодом сильно усложнит работу, проще уже плюсах писать. Есть Managed DirectX, есть XNA, есть ряд сторонних управляемых оберток над DirectX. Во многих случаях будет удобнее работать на более высоком уровне, использовать готовые игровые движки. Например сейчас на слуху Unity.

Если стоит обязательное требование "никаких инсталляций", то, скорее всего нужно использовать управляемую обертку над DirectX. Например, SharpDX

Ответить

Номер ответа: 39
Автор ответа:
 Mikle



Вопросов: 5
Ответов: 134
 Профиль | | #39 Добавлено: 19.02.13 22:54
Есть Managed DirectX, есть XNA, есть ряд сторонних управляемых оберток над DirectX

Я в курсе, Managed DirectX даже когда-то использовал, думал в следующей винде он уже будет стоять по умолчанию... не тут то было, вместо этого Микрософт его убила, создала XNA, а потом и его убила. Мне теперь больше интересны SharpDX и SlimDX. Только вот не убьют ли в следующей винде net framework?
Например, SharpDX

То есть он будет работать, просто лежа в папке с игрой?

Ответить

Номер ответа: 40
Автор ответа:
 vito



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

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #40
Добавлено: 20.02.13 07:45
В чем – то Mikle прав… VB6 идеальное средство для начала и популизации кодинга.
Сейчас просто нет средств, чтобы проявивший желание «втянулся» в процесс. Отсюда и малый приток молодежи.
Все ООП языки отобьют желание у новичка почти наверняка. А 6 – ка, как азартная игра… Легкий старт и «понеслось».
Да и не стоит забывать, что ООП ценен для разработчика в двух случаях.
1. Если он обладает фундаментальными знаниями в логике(хотя в данном случае есть и другие средства.
2. Для группы разработчиков.
Простой вопрос: что представляет из себя с точки зрения теории множеств наследование и связь посредством интерфейсов?
Подсказка: наследование - объединение(UNION).
Интерфейс: пересечение(Intersect), возможно нечеткое.
Даже начала крайне сложны.

Но на мой взгляд, Mikle время подобных средств ушло безвозвратно. Системы все сложнее, и лучше начинать с простых уроков по современным языкам, с учетом тех запросов которые актуальны для сегодняшнего пользователя. А это в основном сеть и все с ней связанное(боты, распознавание образов и т.д.). Даже примеры работы с блютуз(сканирование, коннект и т.д.) будут очень интересны.
Игры.. Раньше было хорошей затравкой для начала. Но теперь, первые примитивы начинающего разочаруют, на контрасте с современными играми.
 
И да отладчик… Оно конечно Имхо, но бывая попадая в длинные циклы приходилось перегружаться, потому как остановить процесс VB6 был не в состоянии.
Да и сама Майкрософт не отрицает наличия неисправимых багов в 6-ке.

Резюме – время «популярного» кодинга прошло. И теперь это удел специалистов.

Ответить

Номер ответа: 41
Автор ответа:
 Mikle



Вопросов: 5
Ответов: 134
 Профиль | | #41 Добавлено: 20.02.13 12:03
для начала

лучше начинать с простых уроков по современным языкам

Игры.. Раньше было хорошей затравкой для начала. Но теперь, первые примитивы начинающего разочаруют

Уже второй считает меня молодым новичком...надо имидж менять :)
Я не молодой и не новичёк, и теми же vb.net и C# не пользуюсь (точнее мало пользуюсь) не потому, что не в состоянии их освоить. Того же полноценного наследования мне, как раз, в VB6 не хватает, там есть наследование интерфейсов, но нет наследования реализаций, я с этим просто МИРЮСЬ.
Если отвечать в тему, прочитав предыдущие посты, то, что написано выше, должно было быть понятно.
Майкрософт не отрицает наличия неисправимых багов в 6-ке

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

А вот тут хотелось бы пример в студию, как говорится. VB6 при отладке по Ctrl+Break остановит любой цикл, а если это скомпилировано в EXE, то, во-первых, такой цикл - ошибка программиста, во-вторых, снять задачу не проблема, что перезагружать?

Ответить

Номер ответа: 42
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #42 Добавлено: 20.02.13 21:03
Mikle пишет:
Ну а Майкрософт будет сгущать краски, VB6 давно стоит у них поперёк горла, потому что конкурирует с их же новыми продуктами.

Mikle, ты, похоже, действительно, далеко не новичек в программировании. Но говоришь местами реально ерунду.
Microsoft'у давно насрать на VB6, поэтому они и отказались от какой-либо поддержки этого продукта и забыли про него как про страшный сон.

http://dou.ua/lenta/articles/programming-languages-rating-2011-07/
http://dou.ua/lenta/articles/language-rating-1h2012/

Из этого опроса очень четко видно, как именно .NET, занимая 1-2 места в рейтинге конкурирует с VB6 который стоит где-то на аутсайдерских позициях с долей меньше половины процента. Что входит в эти полпроцента можно догадываться, но если скажешь, что поддержка говнокода, написанного в 2000 году, скорее всего будешь очень близок к истине.

Также прими во внимание, что основная область использования .NET - разработка веб-приложений. Область в которую на VB6 заезжают только самые упоротые его проповедники.

Под Windows VB6 может как-то формально конкурировать с дотнетом. Но за счет чего? За счет того что не нужна инсталяция .NET Framework? Очень неубедительный аргумент, учитывая, что он уже давно повсеместно стоит, а если не стоит, скачивается и ставится за несколько минут.

Удобство разработки - ну да, можно быстро добавить формочку и даже накидать на нее кнопочек.

А когда тебе понадобится закинуть на формочку что-то посложнее кнопки с надписью, то ты начнешь прозревать от того насколько куцая библиотека классом VB6. TreeView - забудь. ListView - аналогично. Все это надо подключать снаружи и таскать за собой dll-ки, многие из которых требуют регистрациюв реестре. DataGrid - также, но почему-то он подозрительно похож на DataGrid из Windows 3.11? А вот контролы DirListBox и DriveListBox - вот, они не просто похожи, они именно и взяты из Windows 3.11! Подключать что-то левое надо для всего. Даже для того чтоб показать окно открытия файла.

Дальше больше. Сложно отрицать, что большинство разрабатываемых приложений так или иначе взаимодействуют с интернетом. Что у нас есть в VB6 для работы с интернетом? Ничего абсолютно. Если для работы с файловой системой еще был запилен абсолютно упоротый API, не менявшийся еще со времен QuickBasic, то с интернетом не повезло.

Не беда, мы можем подключить к нашему проекту еще и WinSock. Очень интересный контрол (WTF, почему КОНТРОЛ для работы с сетью? не понятно). Он действительно позволяет работать с сетью. Проблема этого контрола в том, что он полностью основан на Event based патерне, что сильно усложняет его использование. Можно возразить - в .NET некоторые классы, работающие с сетью, также используют Event based patern. Верно. Но во-первых, в .NET языках ЕСТЬ возможность подписаться на событие когда угодно, а не только в дизайн тайме. во-вторых, все сетевые классы также реализуют и классический APM и даже синхронные методы, что делает работу с сетью в дотнете почти такой же простой, как и работу с файловой системой в дотнете.

Проблема не только в том, что нужно подключать сторонние библиотеки, а и в их ассортименте. Это ленивые дотнетчики могут выбирать из 5 первоклассных коммерческих библиотек контролов и целого зоопарка бесплатных и опенсорцных. В случае VB6 список 3d party компонентов будет сильно ограничен. Кроме того, дата их последнего обновления не очень сильно будет отличаться от даты последнего обновления самого VB6, а с технической поддержкой дела скорее всего будут обстоять еще хуже. Поэтому когда ваш любимый грид заглючит по непонятной причине, будет много попаболи

Mikle пишет:
А вот тут хотелось бы пример в студию, как говорится. VB6 при отладке по Ctrl+Break остановит любой цикл, а если это скомпилировано в EXE, то, во-первых, такой цикл - ошибка программиста, во-вторых, снять задачу не проблема, что перезагружать?

Mikle, так любая ошибка в программе - это ошибка программиста. Пусть программисты сначала исправят все ошибки, а потом уже запускают программу в отладчике?

С чем сложно поспорить - с тем что отладка в VB6 работате быстрее - не нужно ждать пока проект скомпилируется перед запуском. Ну и плюс можно прямо во время выполнения модифицировать код программы (В Visual Studio .NET такая возможность есть, но очень часто после модификации все равно нужно пересобирать проект, так как в рантайме это сделать не удается). По всем остальным пунктам в плане отладки и профилирования VB6 абсолютно безнадежно проигрывает Visual Studio .NET.

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

И что дальше? Кто его будет исправлять? Я, например, тоже находил баг, связанный с Visual Studio 2012 и репортил его, сейчас он исправлен и все хорошо.

Mikle пишет:
Я не молодой и не новичёк, и теми же vb.net и C# не пользуюсь (точнее мало пользуюсь) не потому, что не в состоянии их освоить. Того же полноценного наследования мне, как раз, в VB6 не хватает, там есть наследование интерфейсов, но нет наследования реализаций, я с этим просто МИРЮСЬ.

Ты в своих постах описываешь что приходится делать, чтоб продолжать писать на VB6. Очевидно, что приходится прикладывать определенные усилия, хотя бы потому что больше никто за тебя это не сделает. Непонятно другое - зачем это делать? Зачем использовать устаревший по всем пунктам маргинальный инструмент, решать связанные с ним проблемы, когда есть инструменты, лишенные этих проблем, более удобные, более подходящие для решения задач? Это не обязательно дотнет, но такие инструменты есть. Засесть в одном стеке в одном языке программирования и сидеть там потому что "проблемы есть, но факт их наличия пока еще не привел к катастрофе" - это имеет очень мало общего с профессионализмом.

Кстати, ты говорил что .NET Framework может не оказаться в следующих версиях Windows. Нет смысла спорить - может что так и случится. Пока же что мы видим, что .NET Framework (не полный, но тем не мене вся CLR и большая часть клиентской части FCL) успешно переполз под Windows Phone и Windows Rt, а вот msvbvm60 ни в первый ни во второй не попала, пичалька. Уже есть как минимум 2 версии винды, в которых поделки на VB6 технически не будут работать.

Ответить

Номер ответа: 43
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #43
Добавлено: 21.02.13 00:58
Ясное дело, что каждый пишет на том, на чём ему нравится (если есть выбор), однако использование VB6 для 3D проекта сложно объяснить чем-то кроме just for fun. А также попыток доказать, что старый добрый друг vb6 вполне способен делать то же, что и современные инструменты. Этим можно объяснить, что прознав об MVC я реализовал его на VB6, чисто посмотреть возможно ли. Возможно. Этим же можно объяснить ассемблерные вставки и самописные внешние библиотеки на Си в моём vb6-аудиоплеере, которым я до сих пор пользуюсь, если слушаю локальную музыку. Ну получил некоторое удовлетворение, написав на бейсике невозможное, и преодолев его ограничения тонной хаков. Да только зачем?
Сейчас вот задумался, почему я ни разу в жизни не попробовал писать на дотнете. Когда-то был недоволен тем, что VB.Net убил классический тёплый ламповый бейсик. А потом захотелось кроссплатформенности, Моно вполне уже существовал, но я всё равно по этическим соображениям не стал рассматривать дотнет, как возможную платформу. Пробовал Qt/C++ с их фирменной IDE. Но после бейсика на цпп писать тяжеловато, поскольку нельзя проверять работоспособность программы после каждой написанной строчки. В итоге пока остановился на проекте WinPython, и программы запускаю старой доброй клавишей F5)

Я просто хотел написать, что не могу найти четкой причины, почему не использовал .нет никогда. Точно также, как неделю назад задал себе вопрос, почему я не признаю айфоны. В детстве восхищался продукцией Apple, а потом я решил, что только Андройд и всё. Хотя кроме айтюнса даже не знаю, что меня не ещё устраивает.

Ответить

Номер ответа: 44
Автор ответа:
 Mikle



Вопросов: 5
Ответов: 134
 Профиль | | #44 Добавлено: 21.02.13 12:59
Artyom
Microsoft'у давно насрать на VB6, поэтому они и отказались от какой-либо поддержки этого продукта и забыли про него как про страшный сон.

Сейчас уже действительно насрать, но было время, когда они его старательно убивали. И не всегда это делалось "пряником" (выпуск в 2005-м году Express студии), было и "кнутом" (необоснованное удаление из DirectX dx7vb.dll и dx8vb.dll). Мне кажется, и ManagedDX был сделан для этого. Вообще, примерно с 2005-го г. Майкрософт резко сменила политику поддержки старых продуктов, но это уже отдельный разговор.
Из этого опроса очень четко видно, как именно .NET, занимая 1-2 места в рейтинге конкурирует с VB6 который стоит где-то на аутсайдерских позициях с долей меньше половины процента.

Я неверно выразился, нужно было написать не "конкурирует", а "конкурировал".
Подключать что-то левое надо для всего. Даже для того чтоб показать окно открытия файла.

Я всегда старался не пользоваться ActiveX, теперь вижу, что правильно делал. Когда не хватало встроенных контролов - есть же WinAPI.
За счет того что не нужна инсталяция .NET Framework?

Нет, за счёт того, что в таком большом фреймворке до сих пор не нашлось места для 3D графики. Вот тут и приходится таскать за собой что-то левое.
На счёт того, что SharpDX можно не инсталлировать, я пока не нашёл подтверждения.
для работы с файловой системой еще был запилен абсолютно упоротый API, не менявшийся еще со времен QuickBasic

Не надо путать синтаксис с API. Да, для работы с файлами используется устаревшая конструкция "Open", есть ещё несколько устаревших псевдометодов - "Print", "Pset", "Line". Но это всего лишь устаревший синтаксис, а не функциональность.
Сложно отрицать, что большинство разрабатываемых приложений так или иначе взаимодействуют с интернетом

А я и не отрицаю. Мне это не интересно.
Mikle, так любая ошибка в программе - это ошибка программиста. Пусть программисты сначала исправят все ошибки, а потом уже запускают программу в отладчике?

Перечитай мой прошлый ответ, в отладчике это легко прерывается.
С чем сложно поспорить - с тем что отладка в VB6 работате быстрее - не нужно ждать пока проект скомпилируется перед запуском. Ну и плюс можно прямо во время выполнения модифицировать код программы

По всем остальным пунктам в плане отладки и профилирования VB6 абсолютно безнадежно проигрывает Visual Studio .NET.

В VB6 в Immediate Window мы имеем нечто вроде диалогового старинного бейсика. Предположим, мы отлавливаем трудновоспроизводимую ошибку, вот наконец мы поймали этот момент, прямо на паузе можно написать в Immediate Window что-то типа:
  1. For i = 0 To UBound(Ar): Debug.Print i, Ar(i): Next i

И это выполнится! Так мы просмотрели содержимое массива Ar(), это мог бы быть не массив, а объект, мы просмотрели его свойства.
Нужно что-то большее, чем простой цикл - пожалуйста! Прямо в коде программы, ПРЯМО НА ПАУЗЕ пишем всё, что нам нужно в новую процедуру Sub и вызываем её прямо из Immediate Window. Можно заранее заготовить в проекте пустую форму для диагностики, и ПРЯМО НА ПАУЗЕ мы можем разместить в ней какой угодно код диагностики с визуализацией графиками, таблицами и т. п., а потом в Immediate Window просто написать:
  1. Form2.Show

Так что я допускаю, что VB6 в каких-то аспектах отладки проигрывает Visual Studio .NET, но не "По всем остальным пунктам".
И что дальше? Кто его будет исправлять?

Никто, естественно, не будет.
Засесть в одном стеке в одном языке программирования и сидеть там потому что "проблемы есть, но факт их наличия пока еще не привел к катастрофе" - это имеет очень мало общего с профессионализмом.

Я работаю звукорежиссёром и не собираюсь перепрофилироваться в программисты, хотя бы потому, что они в Туапсе не требуются, вообще. И на своей игре я тоже не планирую заработать, это хобби, мне никто не диктует, я делаю только то, что мне интересно. Ещё мне интересно, к примеру, программировать на ассемблере, а dx_vb.dll, с помощью которой моя игра использует DX9 - это мой порт, написанный на C++. В своё время я ознакомился с vb.net и C#, они мне понравились, я их не критикую, этот холивар начал не я.
Winand
использование VB6 для 3D проекта сложно объяснить чем-то кроме just for fun

Да.
А также попыток доказать, что старый добрый друг vb6 вполне способен делать то же, что и современные инструменты.

Есть и это, не спорю.
Когда-то был недоволен тем, что VB.Net убил классический тёплый ламповый бейсик.

У меня это быстро прошло, мне vb.net вполне нравится, я даже понимаю, что он лучше, логичнее и почти не сложнее, мне не нравится, что он .Net.

Ответить

Номер ответа: 45
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #45 Добавлено: 21.02.13 14:49
Радуют энтузиазм и постояноство Artyom'а, троллящего на тему "остойности VB6" в каждом втором топике на уже не меньше чем полтора года. Хорошо когда у человека есть хобби, на которое можно тратить всё свободное время.
Между тем, ситуация уже давно всеми разжевана. Писать новые программные продукты на VB6 неосмысленно ввиду наличия более продвинутых средств разработки. Так же как не имеет реального смысла переносить готовые продукты с "шестерки" на .NET - сопровождение готового кода гораздо дешевле и, пардон за тавтологию, у .NET нет настолько весомых преимуществ, окупивших бы в итоге полную переработку готового продукта (имеется ввиду нечто более комплексное чем одна dll и две формы).
А к тому времени когда сам запуск собранного в VB6 приложения будет вызывать трудности на новой системе - не факт что мелкомягие не замутят еще какую-нибудь технологию на смену .NET.
Вообще спор на тему какой инструмент разработки круче на программерском форуме сродни мероприятию по мерянию пиписками в детском садике. Да и надоело.

Ответить

Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 |

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



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