Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Обсуждение статей

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

 

  Вопрос: Почему я (не) перешел на .NET с Visual Basic 6.0 Добавлено: 16.08.05 12:51  

Автор вопроса:  Павел | Web-сайт: www.vbnet.ru | ICQ: 326066673 
Обсуждение статьи "Почему я (не) перешел на .NET с Visual Basic 6.0".

http://www.vbnet.ru/articles/showarticle.aspx?id=196

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

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



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

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 16.08.05 14:17
По поводу двух последних абзацев предвижу неистовство "программистов-классиков", которые "жить не могут" без Option Explicit и программирования "лесенкой", а всех, кто этим пренебрегает считают "немытыми чайниками".


Понимаю, что если переменных достаточно много, то их объявление утомительно. Но приведу один пример.. Допустим, для указания угла поворота использована переменная iRotationAngle. Вы допустили опечатку и написали в коде iRotationAnlge. Как долго Вы будете искать ошибку в коде, когда в результате работы одной из формул вместо ожидаемого результата 250 полчите 0 или, того хуже, 210?

Более того, во многих более современных языках Вы даже не сможете не объявлять переменные... Например, в C#.


не утверждаю это однозначно, но создается впечатление, что некоторые структуры Framework удобнее их API аналогов


Несомненно.


Вместо нее появилась для свободного тестирования Бета 2. Но инсталлируется, как я понял, она только прямо с сайта Майкрософт.


Не обязательно. Ее можно бесплатно заказать на DVD.


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


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


Пока VB.NET существенно уступает Vb6 и по количеству мультимедийных контролов. Совсем плохо обстоит дело с записью звука.


Да, таких контролов нет в составе .Net Framework. Но! Никто не мешает Вам использовать те же самые старые контролы ActiveX. В .NET неплохо проработаны возможности взаимодействия со старым кодом: Вы можете без проблем в .NET-приложениях использовать COM-объекты, а .NET-библиотеки при желании использовать в старых приложениях так же, как и COM-объекты.


Наличие единого для Си и Бейсика компилятора имеет предпосылку для объединения в одном ехе-шнике разноязычных модулей. Иногда такое решение было бы оптимальным. Возможно так можно поступать и сейчас. Встречаются на сей счет кое-какие намеки. Но механизм такого объединения нужно реализовать простым и понятным для пользователя способом, чтобы ему не приходилось ломать голову над представлением переменных в разных языках, а больше думать над решаемой физической задачей,


Все .NET-языки построены на базе спецификаии CLS, что позволяет без проблем производить взаимодействие между коом, созанным на разных языках: будь то C#, VB или Python.
Ранее была небольшая путаница с типами числовых данных, в частности в VB не поддерживались такие типы как UInt32, SByte и т.д., что вызывало затрунения при миграции приложений с C# на VB .NET. Но в версии 2005 и эти различия устранены.


И, наконец, последнее, что уж давно у меня наболело, но самому времени на это не хватает. В VB.NET есть прекрасные быстродействующие средства вывода графиков, сформированных по данным массивов. Но конкретное программное решение всегда требует написания значительного объема надежно застрахованного от ошибок кода. Тут бы иметь подходящий ОСХ или DLL-льку. Но, как у Булата – "Надо б лампочку повесить – денег все не соберем". Вот и таскаю модуль из одного места в другое. И каждый раз корежу до неузнаваемости исходный код.


Вот с этого места, пожалуйста, поподробнее.
Номер ответа: 2
Автор ответа:
 vladislav



ICQ: 326813285 

Вопросов: 0
Ответов: 4
 Профиль | | #2 Добавлено: 16.08.05 16:33
Вот моя реакция на замечания:

"Допустим, для указания угла поворота использована переменная iRotationAngle. Вы допустили опечатку и написали в коде iRotationAnlge" - А я всегда имена сложных переменных вставляю из буфера или "перетаскиваю", но с переходом в Vb.Net я стал придерживаться Option Explicit - там редактор получше. Я написал об этом в первой редакции статьи, но после Вашей критики, что, мол 20000 символов - многовато - убрал.

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

"Не обязательно. Ее можно бесплатно заказать на DVD." А просто скачать по какой-нибудь ссылке можно? - мне бы мои спонсоры это сделали. А если нет - подскажите, как получить DVD.


"Никто не мешает Вам использовать те же самые старые контролы ActiveX. В .NET неплохо проработаны возможности взаимодействия со старым кодом" - Может оно и так, да вот мне неплохо было бы для одной задачи встроить в программу MMControl. Не улыбайтесь - он хоть и самый старый, но те, что поновее, пишут звук с разрывами. Так вот я его и сам в программу встроить не смог и прмерчик просил подкинутть в разных рассылках - глухо. Если встретите где - буду признателен.

"Все .NET-языки построены... Но в версии 2005 и эти различия устранены" - но ведь "она - Бета". Да дело и не в Бете, а в отсутствии ясного примерчика(ков), если это действительно так просто. Я не критикую в этой части .NET, а просто призываю более компетентных в этих вопросах к практическому творческому общению и помощи. А, со своей стороны, сообщаю в статье о своих возможностях. Это и поможет решить каждому, "где ему быть: в Vb6 или в NET".

"Вот с этого места, пожалуйста, поподробнее." - ну "поподробнее" рискует быть очень длинным. Это мое больное место еще в Vb6. И там я всегда мечтал о контроле, в который пошлешь по определенным правилам массив, а он сам выберет границы шкал, сеточку сделает - в общем - нарисует график, по которомму - щелкни мышкой и он уже в статье или отчете в Word-e. Я и сам такие контролы для внутреннего употребления пописывал. Сделал даже один, загружаемый в Excel. Да только все, мне известные, неудобны в работе по разным причинам. Поэтому для предварительных несложных расчетов, чаще всего использую Excel. А вот для графического отображения подходит, лучше всего, известный Advanced Grapher. Хотя и в нем не все решено для удовлетворения требований разных редакций. А уж когда идут долгие рутинные общеты - тут каждый раз пишешь "заново, корежа свой же исходный код".
Поэтому вопрос этот требует еще глубокого философского осмысления. Вот сделал бы Майкрософт или кто-иной типа Advanced Grapher с Бейсик-интерфейсом, каак у Word и Excel. Да еще с открытым кодом. Тогда бы Бейсик-рускоязычная братва навалилась на него и, глядишь, довела бы до ума.
Номер ответа: 3
Автор ответа:
 Павел



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

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #3
Добавлено: 16.08.05 16:52
Написал об этом в первой редакции статьи, но после Вашей критики, что, мол 20000 символов - многовато - убрал.


Ok.


А просто скачать по какой-нибудь ссылке можно?


Не знаю.


А если нет - подскажите, как получить DVD.


http://www.microsoft.com/emea/msdn/betaexperience/ruru/default.aspx


Да дело и не в Бете, а в отсутствии ясного примерчика(ков), если это действительно так просто.


Даже и не знаю, какие примеры Вам необходимы... Ну Вы ведь наверняка используете классы из .Net Framework Library? Большинство из них написано на C#. Однако Вы их абсолютно прозрачно используете из VB .NET, и даже не задумываетесь о реализации межязыкового взаимодействия.


Я и сам такие контролы для внутреннего употребления пописывал.

Да, мне тоже приходилось делать такое в .NET :) Делал вывод графика зависимости количества заказов от даты, данные в него передавались в виде массивов, отрисовка срествами GDI+. Не знаю только, нужно ли это было в действительности: ведь есть куча контролов от сторонних производителей, например ComponentOne Chart. Не пробовали?


А вообще, не вполне понял проблему...
Номер ответа: 4
Автор ответа:
 vladislav



ICQ: 326813285 

Вопросов: 0
Ответов: 4
 Профиль | | #4 Добавлено: 16.08.05 17:26
ComponentOne Chart, в частности, пробовал. Он мне тоже не по вкусу. Вероятно - я сейчас кратко понятнее объяснить почему - не могу, но для самоого меня это также ясно, как и Вам Ваше "Даже и не знаю, какие примеры Вам необходимы... Ну Вы ведь наверняка используете классы из .Net Framework Library? Большинство из них написано на C#. Однако Вы их абсолютно прозрачно используете из VB .NET, и даже не задумываетесь о реализации межязыкового взаимодействия." - Есть хорошая книга "Физики шутят". У меня ее сейчас нет под рукой, но одна фраза очень напоминает нашу ситуацию. Эта фраза звучит примерно так: "Как бы ясно ни была высказана твоя мысль - все равно найдется человек, которрый поймет ее иначе". Я задумаюсь над Вашим ответом. Ну а, если - все равно пойму иначе, позволю впоследствии обратиться еще раз к Вам лично.
И в отношении "А вообще, не вполне понял проблему..." тоже постараюсь подумать, как это лучше объяснить. Но, скорее всего - тоже приватно и не скоро - то сеть вне рамок конкурса. А пока уж - ешшьте без соли меня, - каков есть...
Номер ответа: 5
Автор ответа:
 Павел



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

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #5
Добавлено: 16.08.05 17:54
Ok.

Спасибо за статью.
Номер ответа: 6
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #6 Добавлено: 16.08.05 19:34
Мой опыт программирования на Visual Basic 6.0 связан с необходимостью решения круга задач, которые для конкретности уместно сопроводить таким перечнем:

- динамика колебаний сложных механических структур – стержней переменного сечения, слоистых конструкций, пластин и т. п.;

- регистрация сложных электрических сигналов с помощью звуковых карт и иных АЦП;

- спектральный, корреляционный анализ этих сигналов, а также родственные этим методам и связанные с ними методы обработки цифровых массивов данных;

- прогнозирование событий по опытным табличным данным (например, прогноз ветрового волнения моря);

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

Совершенно очевидно, что для решения каждой из таких задач следует основное внимание сосредоточить на физике исследуемого процесса, в максимальной мере сопровождая результаты вычисления графическими характеристиками процесса. Это позволяет оперативно сопоставлять результаты расчета со здравым смыслом и вовремя выявлять огрехи в вычислениях и выбранных алгоритмах. Visual Basic 6.0 при решении таких задач в идеальной мере освобождает программиста от обращения к специальным графическим библиотекам.


Очень. Очень оригинальная точка зрения. Решение таких задач на VB без использования специальных графических библиотек напоминает попытки просунуть корабельный канат в игольное ушко :) Какими же средствами VB рисовались эти графики, гистограммы и модели, если не секрет? При помощи встроенного Line????

Что касается самого процесса решения задач (а не отображения результатов решения этих задач):

Для таких задач есть фортран и с/с++. Особенно последний, который в большей степени язык конструирования, чем язык программирования, и идеально подходит для такого круга задач.
    А может автор просто "забыл" упомянуть о подключенных библиотеках, на которые ложится львиная доля работы? Если так, то наверняка не на VB/VB.NET написаны эти библиотеки.
    Если всё же кроме VB ничего не использовалось для решения таких задач, то статью следовало бы назвать "Как я мазохировал с помощью VB".
Номер ответа: 7
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #7 Добавлено: 16.08.05 19:56
Тут есть файл:
http://www.webfile.ru/462552

Простейшие 3D-поверхности.
Сможет ли автор реализовать такое используя только встроенные средства VB ? И чтобы не тормозило безбожно.
Очень сомневаюсь. Хотя поверхности действительно простые, и с заявленными в статье задачами несопоставимы по уровню сложности.

Хотя бы такое простое :) И только VB.
Номер ответа: 8
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #8
Добавлено: 16.08.05 20:58
В этих условиях был необходим язык, не требовавший при программировании обращения за каждой мелочью к соответствующим библиотекам, как, например Си или Паскаль.
 С приходом эры подлинно персональных ЭВМ,...стал Бейсик,...

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

Из всех версий Бейсика эры начала ПЭВМ пальму первенства за возможность объединения в одной программе модулей, написанных на разных языках, следует отдать версии QB4.5 фирмы Майкрософт.

 Опять промашка, в те времена лучшим считался Turbo Basic, а Quick Basic был вторым.

- Vb6 медленно работает с файлами, известные приемы чтения бинарных файлов для ускорения ввода данных не всегда дают желаемого результата;

 Что значит не всегда? Не мог бы ты привести пример?

Vb6 медленно считает

 Ну да, этого у него не отнимешь :) Хотя смотря кто как считает. Если тебе нужны чисто математические расчёты, то лучше бы тебе писать DLL-ки на Фортране и комбинировать с VB-шным интерфейсом.
Номер ответа: 9
Автор ответа:
 Павел



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

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #9
Добавлено: 19.08.05 13:17
Владислав из-за проблем с интернетом не смог опубликовать здесь свой ответ, и попросил это сделать меня. Читайте ниже.



По-видимому больше замечаний по статье не будет и пришла пора поблагодарить моих оппонентов за добровольно взятый на себя труд по прочтению статьи и изложение своих мнений о ней на этом форуме.
Подводя итог анализу критических замечаний к статье считаю своим долгом перед критиками высказать свое мнение по существу замечаний и возможным причинам, вызвавшим их.
1. Я не то, чтобы не согласен с рядом высказанных мнений. Просто они не соответствуют цели, которая продиктована условиями конкурса, и мотивам, побудившим меня принять участие в этом конкурсе именно в форме предложенной статьи.
Вообще-то я не охоч до активного участия в конкурсах и обсуждениях чужих статей и рукописей. Предпочитаю тихо наблюдать за происходящим из своего окопа и вносить коррективы в приемы выполнения своей работы. А тут вот сподобился, поскольку
- Бейсик стал моим любимым подспорьем в моей основной деятельности, на разных этапах которой я перепробовал (сейчас подсчитал!) еще 6 – 7 разных языков и их модификаций;
- следя в Интернете за достижениями Бейсик-программистов, охотно предоставляющих коды своих или инсталяхи оригинальных решений той или иной задачи, я успешно использовал эти коды и реализованные идеи в своей деятельности, но при этом ощущал, что эти люди очень далеки от нужд специалистов, для которых программирование не является основной профессией, а лишь необходимым и удобным подспорьем для решения прикладных задач;
- и вот представилась возможность от имени людей своей профессии поделиться взглядами на необходимость перехода с Vb6 на Vb,NET и подсказать бескорыстным и увлеченным Бейсик-программистам, чем бы они могли нам помочь (а там, глядишь, и корысть покажется).
2. В представленной на конкурс статье я должен был одновременно придерживаться поставленной мною цели и условиям конкурса. Поэтому, естественно, "за бортом", остались некоторые программные средства, в первую очередь – графического отображения, также эффективно используемые мною. Однако, эти ограничения, как мне кажется, не нарушили целостности изложения, поскольку
- на первом этапе решения прикладной задачи исследователь сам пытается понять, с чем он имеет дело, и здесь, в большинстве случаев, достаточно Excel и встроенной в эти таблицы двух и 3-х мерной графики;
- решающую роль на всех этапах играет количественная оценка получаемых результатов, которая (увы!), лучше всего иллюстрируется двумерной графикой;
- на последующих этапах исследователь начинает делиться с коллегами получаемыми результатами в форме научных статей и отчетов и здесь-то необходима помощь "увлеченных Бейсик-программистов" в разработке средств типа Advanced Grapher, но с интерфейсом, как у Excel, и, чтобы графический материал соответствовал сложившимся отраслевым стандартам и требованиям редакций;
- на рисунке, приведенном в статье, щелчок мыши по соответствующим картинкам, как раз и создает такой образ в буфере Windows, что позволяет легко вставлять его в текст редактора Word, в котором и оформляются нынче статьи и отчеты;
- только вот для этого приходится каждый раз встраивать в программу соответствующий модуль, использующий единственный оператор Бейсика – line (иногда еще, простите, circle) и его Vb.NET аналоги…
- для реализации 3-х мерной графики в "моих" задачах, здесь лучше всего подходит упомянутый в статье пакет Surfer, но встроенный в него Бейсик при этом практически не используется, поэтому это и не упомянуто в статье.
3. Из изложенного выше следует, что в статье я преследовал цель рассказать, чем меня привлекали на разных этапах деятельности те или иные модификации Бейсика. Вопрос, "для кого – тупых студентов или тупых доцентов" написан Бейсик, для меня не играл никакой роли. Впервые за прошедшие десятилетия мне намекнули – "это не для тебя". Некоторые мои весьма именитые друзья и коллеги до сих пор пользуют Qb45… То же и в отношении преимуществ Tb по сравнению с Qb45. Меня последний устраивал в связи с простой реализацией преемственности ранее обретенного Фортран-опыта при решении задач на только что появившихся в начале 80-х ПЭВМ.
Я вообще не могу в большинстве случаев понять, что значит "считался". Собралась группа лиц и обсудила вопрос результатов сравнительного тестирования скорости работы Tb по сравнению с Qb45. Ну, где-то, после выхода соответствующей публикацииее коллективное мнение звучит как "считается". А остальное население Земного Шара и слова-то Бейсик не знает… И что я скажу теперь моим "именитым друзьям и коллегам"?..
4. И наконец, в отношении чтения бинарных файлов средствами Vb6. Метод работает прекрасно, пока оперативная память позволяет втиснуть в нее весь файл сразу. Однако это не всегда удается, если файл очень большой. С помощью средств Vb.NET достичь приемлемой скорости чтения в этих ситуациях достаточно просто.
Так или иначе, еще раз благодарю всех, принявших участие в обсуждении.
С уважением. Владислав.
Номер ответа: 10
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #10
Добавлено: 19.08.05 17:00
пришла пора поблагодарить моих оппонентов за добровольно взятый на себя труд

 Ну разве ж это труд, любезнейший? Это скорее отдых :)

Бейсик стал моим любимым подспорьем в моей основной деятельности, на разных этапах которой я перепробовал (сейчас подсчитал!) еще 6 – 7 разных языков и их модификаций;
 А что за модификации? QB, а остальное VB1-VB.NET?
 Хочь я тебе перечислю свои? ;)
 1. Spectrum-Basic (куда ж без него)
 2. GW-BASIC (интерпретатор, первое детище Билли)
 3. Turbo Basic (использовал только для компиляции прог на GW-BASIC)
 4. QB 4.5/QBasic 1.0 (Довольно мощная штука, интерпретатор либо вшивается в экзешник, либо идёт отдельным файлом/QBasic - чистый интерпретатор)
 5. ASIC 4.0 (Упрощённый Бейсик, не вполне компилятор, т.к. не позволяет писать в строку более одной операции, зато скорость как у Си, а размер приложения от 300 Байт, хотя нестандартный подход (вызов сервисов BIOS вместо функций ДОС-а) под виндой в некоторых случаях даёт уже отрицательные, а не положительные результаты)
 6. VBDOS (тот же QB, но уже с формами, прада экзешник уже от 150 кБ)
 7. VB3 (первое полноценное средство разработки форм для Си-программистов или приложений для новичков, интерпретатор идёт отдельным файлом)
 8. VB6 (последнее поколение дизайнера форм для Си программистов, довольно мощный, хотя по возможностям с тем же QB не сравнить; в качестве интерпретатора выступает виртуальная машина)
 9. PB/WIN 7 и PB/CC 3 (полноценный компилятор Turbo Basic под Windows, в плане возможностей намного превосходит QB, хотя по некоторым параметрам всё же уступает; с VB6 сравнивать нет смысла, т.к. последний основан на технологии COM)
 Ну и на последок VBA (предметно-ориентированный интерпретатор)
 Кстати, кто не в курсе, появился компилятор IBasic Pro. Это уже не та дрянь что была раньше, хотя синтаксис такой же неудобный и остался.

Бейсик, для меня не играл никакой роли. Впервые за прошедшие десятилетия мне намекнули – "это не для тебя". Некоторые мои весьма именитые друзья и коллеги до сих пор пользуют Qb45…

 Знакомая история :) Я знаю профессора, нехилого специалиста (в т.ч. и в высшей математике), который до сих пор програмит на Фортране (а Бейсик для него как втрой иностранный язык). Так он и не собирается переходить с досовского Фортрана, на виндовый.
 Кстати, если хошь, могу кинуть ссылку на GCC Fortran'95 (инсталяха где то 10 МБ). Или можешь качнуть Intel Фортран с их сайта (платный, к тому же качать более 200 метров), ну и на последок MS Fortran (судя по твоей любви к продуктам MS).

Я вообще не могу в большинстве случаев понять, что значит "считался". Собралась группа лиц и обсудила вопрос результатов сравнительного тестирования скорости работы Tb по сравнению с Qb45. Ну, где-то, после выхода соответствующей публикацииее коллективное мнение звучит как "считается".

 Ну программирование под ДОС уже давно кануло в лету, поэтому всё же "считался".

И наконец, в отношении чтения бинарных файлов средствами Vb6. Метод работает прекрасно, пока оперативная память позволяет втиснуть в нее весь файл сразу. Однако это не всегда удается, если файл очень большой.

 Дело в том что двоичный режим файла предназначен для более квалифицированных специалистов. Тех, котоые заранее планируют структуру файла и считывают только те записи, которые в данный момент необходимы, а не для тех кто знает команду, которой можно прочесть весь файл в строку или в байтовый массив. Иногда (хотя я считаю что всегда) нужно понимать, а не просто заучивать.
Номер ответа: 11
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #11
Добавлено: 19.08.05 17:02
пришла пора поблагодарить моих оппонентов за добровольно взятый на себя труд

 Ну разве ж это труд, любезнейший? Это скорее отдых :)

Бейсик стал моим любимым подспорьем в моей основной деятельности, на разных этапах которой я перепробовал (сейчас подсчитал!) еще 6 – 7 разных языков и их модификаций;

 А что за модификации? QB, а остальное VB1-VB.NET?
 Хочь я тебе перечислю свои? ;)
 1. Spectrum-Basic (куда ж без него)
 2. GW-BASIC (интерпретатор, первое детище Билли)
 3. Turbo Basic (использовал только для компиляции прог на GW-BASIC)
 4. QB 4.5/QBasic 1.0 (Довольно мощная штука, интерпретатор либо вшивается в экзешник, либо идёт отдельным файлом/QBasic - чистый интерпретатор)
 5. ASIC 4.0 (Упрощённый Бейсик, не вполне компилятор, т.к. не позволяет писать в строку более одной операции, зато скорость как у Си, а размер приложения от 300 Байт, хотя нестандартный подход (вызов сервисов BIOS вместо функций ДОС-а) под виндой в некоторых случаях даёт уже отрицательные, а не положительные результаты)
 6. VBDOS (тот же QB, но уже с формами, прада экзешник уже от 150 кБ)
 7. VB3 (первое полноценное средство разработки форм для Си-программистов или приложений для новичков, интерпретатор идёт отдельным файлом)
 8. VB6 (последнее поколение дизайнера форм для Си программистов, довольно мощный, хотя по возможностям с тем же QB не сравнить; в качестве интерпретатора выступает виртуальная машина)
 9. PB/WIN 7 и PB/CC 3 (полноценный компилятор Turbo Basic под Windows, в плане возможностей намного превосходит QB, хотя по некоторым параметрам всё же уступает; с VB6 сравнивать нет смысла, т.к. последний основан на технологии COM)
 Ну и на последок VBA (предметно-ориентированный интерпретатор)
 Кстати, кто не в курсе, появился компилятор IBasic Pro. Это уже не та дрянь что была раньше, хотя синтаксис такой же неудобный и остался.

Бейсик, для меня не играл никакой роли. Впервые за прошедшие десятилетия мне намекнули – "это не для тебя". Некоторые мои весьма именитые друзья и коллеги до сих пор пользуют Qb45…

 Знакомая история :) Я знаю профессора, нехилого специалиста (в т.ч. и в высшей математике), который до сих пор програмит на Фортране (а Бейсик для него как втрой иностранный язык). Так он и не собирается переходить с досовского Фортрана, на виндовый.
 Кстати, если хошь, могу кинуть ссылку на GCC Fortran'95 (инсталяха где то 10 МБ). Или можешь качнуть Intel Фортран с их сайта (платный, к тому же качать более 200 метров), ну и на последок MS Fortran (судя по твоей любви к продуктам MS).

Я вообще не могу в большинстве случаев понять, что значит "считался". Собралась группа лиц и обсудила вопрос результатов сравнительного тестирования скорости работы Tb по сравнению с Qb45. Ну, где-то, после выхода соответствующей публикацииее коллективное мнение звучит как "считается".

 Ну программирование под ДОС уже давно кануло в лету, поэтому всё же "считался".

И наконец, в отношении чтения бинарных файлов средствами Vb6. Метод работает прекрасно, пока оперативная память позволяет втиснуть в нее весь файл сразу. Однако это не всегда удается, если файл очень большой.

 Дело в том что двоичный режим файла предназначен для более квалифицированных специалистов. Тех, котоые заранее планируют структуру файла и считывают только те записи, которые в данный момент необходимы, а не для тех кто знает команду, которой можно прочесть весь файл в строку или в байтовый массив. Иногда (хотя я считаю что всегда) нужно понимать, а не просто заучивать.
Номер ответа: 12
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #12 Добавлено: 19.08.05 17:35
И наконец, в отношении чтения бинарных файлов средствами Vb6. Метод работает прекрасно, пока оперативная память позволяет втиснуть в нее весь файл сразу. Однако это не всегда удается, если файл очень большой. С помощью средств Vb.NET достичь приемлемой скорости чтения в этих ситуациях достаточно просто.


Всегда удивлялся, почему народ добровольно замыкается в рамках "средств Vb6" и напрочь не видит того, что вокруг, а именно: CreateFileMapping/MapViewOfFile.

Владислав, без обид, но если вы не знаете, что кроме "средств Vb" есть ещё и элементарные широкодокументированные api, которые очень просто вызываются из vb, то не стоит наверное браться за написание статей.

А то получается, что если некоторая функция из vb работает медленно, надо переходить на .net. А если в .net окажутся (и они там есть в большом количестве) медленные функции, куда переходить дальше???
Может просто взять msdn да почитать его? И сделать быстро, надёжно и просто...
Номер ответа: 13
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #13
Добавлено: 19.08.05 18:05
HOOLIGAN,
 если не трудно, как работать с указателем, полученным MapViewOfFile из VB? Всё делать через API или копировать в байтовый массив. На уровне VB-программиста первое достаточно сложно и неудобно, а второе достаточно медленно. В VB нет такого понятия как память и соответственно указатели отсутствуют, а виртуальная машина не предоставляет в полной мере (это значит применительно к любому типу данных) аналога проецирования.
Номер ответа: 14
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #14
Добавлено: 19.08.05 18:24
vladislav,
 кстати, для твоих именитых друзей могу посоветовать коллекцию исходников для ДОС - ABC Reader 95
The All BASIC Code (ABC) Archives is a large repository for BASIC source codes. These include QBasic, QuickBASIC, PDS, VisualBASIC (DOS/WIN), PowerBASIC, LibertyBASIC, ASIC, and BasicBASIC, just to name a few. Other lesser known BASIC languages include XBasic, ZBasic, MoonRock, GFA-BASIC, TrueBASIC, and many more that shuffle through the internet every year. The ABC Archives collects these source codes from around the world, and organizes them in a way much like a custom database. These “databases” of source code, are called ABC Packets (which are released bi-monthly). If you’re familiar with SWAG, then you’ll be comfortable with the runnings of the ABC Reader and what we’re all about.

ABC Homepages

USA: http://charlie.simplenet.com/abchome/abc.html
Netherlands: http://www.xs4all.nl/~excel/pbabc.html
UK: http://www.cvnet.co.uk/o.cook/abc/
Canada: http://www.edmc.net/~voxel/
Номер ответа: 15
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #15
Добавлено: 19.08.05 18:44
Фраза "до сих пор программирует на Фортране" меня немного покоробила :) Во-первых, синтаксис Фортрана в последней редакции стандарта (да-да, на него есть стандарт, в отличие от всяких там VB6) уже на уровне Си и давно превзошел Паскакаль. Во-вторых, количество кода для решения математических задач на нем превышает количество его же на других языках вместе взятых, как следствие традиции, не на один порядок. В-третьих, его синтаксис заточен изначально на эффективнейшую оптимизацию (особенно для больших ЭВМ), что в среднем позволяет создавать на Фортране программы более быстрые, чем на Си и особенно Си++

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

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



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