Comments 222
На текущий момент Delphi весело обходится без .NET и поддерживает нативную(!) кросс-компиляцию на кучу платформ, как десктопных (Windows, Linux, MacOS), так и мобильных (iOS и Android).
Делфи похоронило то, что его разработчики не сделали бесплатной версии. Если бы она была, комьюнити было бы ощутимо больше.
Есть же Community. Но уже было поздно бить Боржоми, согласен
Исключительно пиратство?
Зато прелесть Delphi в том, что даже мои старые проекты, написанные 15-20 лет назад, до сих пор компилируются и запускаются безо всяких бубнов и шаманства.
Попробуйте поднять .Net проект пятилетней давности или хотя бы Андроид-проект годовой давности. Они не запустятся. Нужно будет качать зависимости, обновления и допиливать всё ручками
(Отличная была среда, иногда с ностальгией вспоминаю, а пару лет назад даже еще писал на ней мелочи)
Попробуйте поднять .Net проект пятилетней давности
Легко, проблема обычно не в самом .Net, а куче сторонних либ/компонент (если таковые использовались). Но с дельфями ровно та же проблема в принципе.
Я на практике с таким геморроем постоянно встречался, что ну уж нет.
Никто же не заставляет нас переписывать Си либы под .NET и можно просто взаимодействовать с ними описав структуры.
Просто дать возможность из .NET запускать VBA модули и он сам со временем уйдет в забвение.
Я как-то писал на C# com-visible библиотеку с формой и вызывал ее в VBA. Так вот, почему-то не везде оно корректно разворачивалось...=( Да и разворачивание геморное было- это нужно было регать ее в системе.
А так-то с 2013 офиса Microsoft продвигает Javascript, как замену VBA, по той причине, что такие надстройки будут работать не только на десктопной версии офиса, но и в веб (https://docs.microsoft.com/ru-ru/office/dev/add-ins/).
Или майкрософтовскую вариацию на тему J++ и J#?
Помню, что когда javascript только набирал популярность, у майкрософта был Visual-Basic-Script для Internet Explorer.
<% Option Explicit
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>VBScript Example</title>
</head>
<body>
<div><%
' Grab current time from Now() function.
' An '=' sign occurring after a context switch (<%) is shorthand
' for a call to the Write() method of the Response object.
Dim timeValue = Now %>
The time, in 24-hour format, is
<%=Hour(timeValue)%>:<%=Minute(timeValue)%>:<%=Second(timeValue)%>.
</div>
</body>
</html>
<%="ASP"%>
Но я не понял, к чему это? Речь шла о JS.
Надо было бы для полной эпичности
Несколько лет назад на реддите был AMA с разработчиками MS Office. Они сказали, что VBA улучшать не будут, а планируют заменить его Питоном
Новое в 2016
Новое в 2019
У офисных приложений есть два следующих неубиваемых преимущества:
1) Они уже есть везде, их не надо докупать.
2) Сотрудники уже знают, как с ними работать, их не надо дообучать или донанимать.
Чтобы писать то же самое на шарпе, нужно поставить шарп, то есть заплатить за это (если ты пишешь для коммерческой компании, то бесплатная версия будет нелегальной).
Потом нужно найти сотрудника, который умеет писать на шарпе — и заинтересовать его, чтобы он не ушёл туда, где пишут именно программы, а занимался обычным документооборотом. То есть опять платить за это.
Наконец целью обсуждаемого бизнес-процесса является не написание программы как таковой, а работа с отчётами и данными, программирование лишь ускоряет и упрощает этот процесс. Внесение в работу с офисными документами дополнительных посредников типа нового языка программирования убивает совместимость — следующего сотрудника нужно будет искать среди программистов, а не среди офисных работников. Снова невыгодно.
Просто статью написал представитель так называемого «высокого программирования», который сидит в своей башне из слоновой кости и применяет машинное обучение на биг дата к диджитализации аджайла. Читатели на хабре в основном тоже из этой категории.
Но в это время на земле тоже идёт какая-то жизнь, там живут обычные люди, которые создают обычные скрипты для формирования квартального отчёта из однотипных отчётов нескольких подразделений.
Рассуждения о смерти VBA сродни рассуждениям о смерти часов.
Да, почти у каждого человека сейчас есть смартфон, а вокруг на улице и в помещениях, в общественном транспорте — всюду есть часы.
Но рынок часов не падает, и вовсе не за счёт элитных марок.
Просто статью написал представитель так называемого «высокого программирования», который сидит в своей башне из слоновой кости и применяет машинное обучение на биг дата к диджитализации аджайла. Читатели на хабре в основном тоже из этой категории.
Да и HP QTP (утилита для автотестов ) поддерживает VB — и вот там фича «взять и исполнить код оттуда до сюда, посмотреть, что получилось на текущем шаге, дописать и продолжить» просто восхитительна.
Чтобы писать то же самое на шарпе, нужно поставить шарп, то есть заплатить за это (если ты пишешь для коммерческой компании, то бесплатная версия будет нелегальной).
Необязательно нелегальной. Лицензия позволяет создавать приложения с любой целью для индивидуалов (включая продажу), или же, если в компании (включая родительские и дочернии компании) не более 250 компов и оборот не более миллиона долларов в год — то до 5 пользователей могут использовать Community версию без проблем.
следующего сотрудника нужно будет искать среди программистов, а не среди офисных работников
Среди подавляющего большинства офисных работников VB (как и любым другим языком программирования) владеет подавляющее меньшинство, так что если речь о VB то всё равно придётся искать кого-то кто хотя бы в общих чертах умеет писать программы.
И в целом людей с часами на улице вижу гораздо меньше, чем в 90х. Вопрос «Не подскажете, который час» слышу по ощущениям на порядок реже.
Могу представить только интерес к элитным часам и смарт-часам. Но и те, и другие не совсем часы.
Хотя могут быть какие-нибудь другие тренды, конечно — например больше стало велосипедистов. Как заметили комментарием выше, на велосипеде удобней смотреть на руку.
От третьей картинки аж ностальгия. Да и от первой тоже, хотя под DOS'ом мы больше на TurboPascal'е писали...
Например популярный файловый менеджер для Windows — XYplorer написан на VB6
Потому что быстрый нативный код
Странный выбор. Во-первых, код не нативный — для VB runtime должен стоять (правда в современной винде он есть обычно), во-вторых, не такой уж и быстрый.
Compiling a project with the Native Code option means that the code you write will be fully compiled to the native instructions of the processor chip, instead of being compiled to p-code. This will greatly speed up loops and mathematical calculations, and may somewhat speed up calls to the services provided by MSVBVM60.DLL. However, it does not eliminate the need for the DLL.
Хотя конечно сравнивать неуправляемый и управляемый код не совсем честно.
Под быстрым я имел в виду тот же нативный Delphi
работают начиная с Windows 95 до Windows 10 без всяких танцев с бубном
Насколько помню, рантайм (MSVBVM60.DLL) на Win 95 все же надо ставить. На Win 98 SE и выше идет из коробки
Это конечно очень важно
Не понимаю Вашего сарказма
Вы можете предположить, что изменения .NET стали причинами возникновения трещин в фундаменте VB и привели к началу неизбежного упадка
Для меня именно так и было. Я поглядел что надо учить всё заново, а уже давно была необходимость освоить С так и ушёл от VB6. Но первые две буквы ника остались, как дань уважения языку с которого начинал.
У меня, как у всякого любопытного кодера, обширные знакомства с языками. Я начинал с паскаля, затем не очень подробно изучал си/си++, писал курсовую и дипломную на делфи, делал лабы на прологе, затем работал джавистом, сделал небольшой проект на C#, наконец обосновался в уютной нише JS. Но ничто из перечисленного, даже пролог, не казалось мне настолько инопланетянским, как VBA.
По долгу службы иногда пишу макросы для MS Office. И должен сказать, что каждый раз у меня чувство, будто я программирую на каком-то эзотерическом языке, который, возможно, и не создан специально для того, чтобы заставлять разработчика страдать, но по факту активно этому способствует.
Абсолютно с Вами согласен. Сам в точно такой ситуации, довольно много приходится делать автоматизации на коленке в excel VBA
Кстати, в 2007 офисе встречался глюк, когда запись не показывала некоторых команд с диаграммой связанных с ее элементами
В старых версиях MS Office макрорекордер еще не умел записывать манипуляции с чартами.
Знаете, простая вроде задача "взять из строки таблицы данные и эмаль и отправить почту" решается в 3 разных версиях Экселя пятью разными несовместимыми способами. Это не инопланетный язык, это непонятное колдунство!
Ну и раз уж у нас тут ностальгии пост, поделюсь своим: никак не могу для себя сообразить, какой был фатальный недостаток у Delphi, что оно ушло в забвение.
Delphi: низкий порог вхождения, отсюда куча низкоквалифицированных программистов, общественное порицание языка. При этом никто не умер, бизнес продолжает пользоваться Delphi, особенно с легаси. Любители частично перешли на Lazarus.
Какой у него порог вхождения?
1. Поставить RAD.
2. Накидать на форму компоненты, выровнять.
3. Кликнуть контрол, прямо в обработчике писать бизнес-логику на Паскале, который знаешь с первого курса ВУЗа (специальность — не математика, и не программирование). Или даже со школы.
4. Компиляция за [доли] секунды.
5. Строгая типизация защищает от части ошибок.
6. Вменяемая справка прямо в среде, куча литературы в обычных книжных.
7. Деплой — просто переноска экзешника, никакого рантайма и фреймворка, только WinAPI,
Как с Питонам по этим пунктам?
Не знаю как у Питона, потому интересно узнать почему и как он взлетел.
Зато отлично работает SDL.
Успех Python вполне объясним. Python создан как язык для быстрой разработки приложений. Его синтаксис позволяет очень быстро писать легко-читаемый код.
При этом приложение работает со скоростью, сравнимой с С++, то есть очень быстро.
приложение работает со скоростью, сравнимой с С++, то есть очень быстро.
Питон разве компилируемый?
только P-код все равно интерпретируется ) Python медленее Java, и явно невозможно сравнить с C.
Как-то пробовал Eclipse установить под Windows. Вообще не понял, кому понадобилось писать IDE на Java. А в Linux и на Маке последние лет 10 пишу только в нём.
Но если бы стояла задача кровь из носу написать что-то сложнее одного окошка — наверное разобрался бы (хотя недавняя моя попытка соорудить что-то вместо Access на питоне с треском провалилась)
какой был фатальный недостаток у Delphi, что оно ушло в забвениеНаверное, фатального нет, но:
- «Как jQuery» — когда использование отличного инструмента с огромным комьюнити и кучей дополнений внезапно стало табу потому что инструмент позволяет писать плохой код.
- Жлобская ценовая политика. Бесплатная Delphi Community Edition появилась только в 2018 (?!). VS Express была уже в мохнатом 2005.
- C# откусил кусок пирога.
- Поздно завезли поддержку юникода.
Javascript, кстати, может наступить на те же грабли. Можно говнокодить — да, распухший npm — да. Дойдёт ли до стадии «помогите где найти кампанент Vue которым можно зделать табличьку с кнопками в ячейках»? :D
в электронной таблице посчитать что-нибудь посложнее, чем позволяют встроенные в нее формулы вроде =AVG(A1:A10).
Что меня РЕАЛЬНО БЕСИТ!!! так это несовместимая русефекация экселя!
Когда «SUMM» не работает на одних компьютерах, а на других не работает «СУММ».
Тогда была модной идея писать код прямо на английском языке. У нас же из этого получился АЛГОЛ, текст которого из-за русского языка просто нечитаем.
Потом возникли проблемы с портированием программ, из которых был сделан однозначный вывод — нельзя переводить элементы синтаксиса языка программирования с английского на русский. Поэтому софт для PDP-11 уже был весь англоязычный, переводились только сообщения об ошибках и документация.
В 1990-х в компании Microsoft про этот опыт то ли не знали, то ли забыли.
В 1990-х в компании Microsoft про этот опыт то ли не знали, то ли забыли.
это несколько сложнее
ЦА экселя, это менеджеры не умеющие в программирование и в те годы было предположение что им так проще будет использовать этот инструмент
это был общий тренд, тогда и 1С с точно такойже формулировкой сделали своё рускоязычное поделие (ну у них кстати неплохо получилось в итоге, плюсом они заизолировали кучу разработчиков на своей платформе которые не признают английский язык в принципе теперь)
Do While… Loop
Эм… Оно в QBASIC уже было. Кстати, очень мощная структура, с четырьмя вариантами условия
Do While… Loop
Do Until… Loop
Do… Loop While
Do… Loop Until
никак не могу для себя сообразить, какой был фатальный недостаток у Delphi, что оно ушло в забвение.Синтаксис.
Его коболовидный "begin" его и угробил.
Посмотрите на Java — она пытается держаться на плаву, синтаксически мимикрируя (я про новый синтаксис (лямды, потоки, var) начиная с Java 8) под… JavaScript.
Какая ирония судьбы — само название JavaScript (как и внезапно добавленный в него оператор new) получил из-за того что в то время Java стремительно взлетела под «рёв трибун»!
Синтаксис решает судьбу языка. (С) Взлетит он или… станет нишевым.
если бы дело было в begin..end, то он бы и не взлетел, а он взлетел.Для взлёта (в 1995 году) был нужен восходящий тренд — и он был — ООП.
Ну, а когда взлетела (в том же 1995 году, но тогда она была ни к чему не годна и не помышляла ни о чём больше, кроме «анимации картинки в броузере — в виде апплета») внезапно(!) Java — "ООП без begin" — то Delphi… стал неумолимо падать.
Синтаксис решает судьбу языка. (С)
внезапно(!) Java — «ООП без begin» — то Delphi… стал неумолимо падать.
Ну вы не забывайте что Sun был поставщиком корпоративного софта и железа, и язык писался под это… на что и подсел ентерпрайз получивший все изкоробки
А делфи выпускала чисто софтовая контора и их софт не навязывался с ос/железом что и сказалось на популярности
вы не забывайте что Sun был поставщиком корпоративного софта и железа, и язык писался под это… на что и подсел ентерпрайз получивший все изкоробкиВерно, железо там присутствовало как… катализатор, но какое!
Я уже описывал историю появления Java.
Но можно ещё раз тут поместить:
Всё было не так. (С) Было всё веселее.
Жил был один инженер которому поручили разработать ПО для пульта телевизора. Писал код он на С.
Дело было новое и железо (микропроцессоры для пульта) ему приносила часто новое и разное.
И запарился он иметь зоопарк своих программ на С под разное железо для пульта. Запарился по полгода читать доки на каждый микропроцессор.
Решил он повеситься. Выбрал для этого серверную. Там хорошо, холодно. Висеть можно долго пока не найдут. Но не пустили его в серверную. И пошёл он к своему руководству с заявлением на увольнение.
Руководство его формально спросило — причина увольнения?
— Да, запарился я с вашим изменением железа, — сказал он. — Мне приходится по пол-программы каждый раз переписывать, — приврал он маленько.
В это время у руководство чего-то сидел Гослинг — который обычно ездил по универам на конференции и слушал о новинках в разработке ПО.
Гослинг сидел как все американцы — положив ноги на стол, перед директором. Директор слушал его в пол уха, ничего не понимая про некую «виртуальную машину», про которую Гослинг ему уже не раз пытался втолковать.
В то время не только все в универах то бредили ООП, но и интенсивно обсуждали виртуальные машины.
Гослинг волей не волей вынужден был присутствовать при увольнении этого программиста. Выслушав причину увольнения, он, немного подумал и сказал инженеру по пультам, — Не увольняйся пока, я тут новую штуку придумал — пишешь один раз, выполняется во всех пультах для телевизора. …
Язык назвали «Oak» — что на жаргоне означало коньяк. (С)
Но когда дело дошло до маркетологов, те сказали, что негоже программистам пить алкоголь.
Стали выбирать: чай, молоко, пиво, вино, виски, сок, шампанское и сидр. Остановились на кофе — на жаргоне это «Java». (С)
( Кстати, когда Java уже взлетело, то программисту, разработавшему по заказу простой язык для обработки нажатий на странице в броузере, маркетологи сразу же сказали, что язык его будет называться JavaScript и надо также добавить оператор new.
Но зачем, спросил программист, — у меня же нет ООП.
Неважно, добавь, — сказали ему маркетологи. — За пару недель уложишься?
Так возник JavaScript, который к Java имеет такое же отношение, как «car» к «carnival». )
И наступил 1995 год и Java взлетел — шума было много. Почти как C, но реализация ООП проще чем у С++.
Про то, что Java был придуман как язык для написания ПО для встроенных систем типа пульта телевизора, сразу же забыли ибо наступили годы Интернета. — Что то надо было приспособить для рисования картинок в броузере. И для этого привлекли Java.
Если бы в 1995 году кто-то сказал, что Java станет (займёт место Кобола) языком для Энтерпрайз систем — его бы в дурку послали.
Для взлёта (в 1995 году) был нужен восходящий тренд — и он был — ООП.
Дело не просто в ООП, а в том что для написания программ под Windows 95 он оказался гораздо удобнее, чем тогдашний Visual C++.
никак не могу для себя сообразить, какой был фатальный недостаток у Delphi, что оно ушло в забвение
Помню, что то ли после Шестёрки, то ли после Семёрки — в новой версии забили на совместимость, так что проект сделанный в предыдущей версии перестал собираться и компилироваться в новой. Так что все советовали не переходить на новую версию, а оставаться на 6 или 7, после чего Делфи стал засыхать и помирать.
PS удивительно что (если не путаю) Питон успешно пережил несовместимость версии Два и Три.
Лично я просто кайфанул, когда с Delphi перебрался на MSVC. Любая библиотека была в моём распоряжении без необходимости самому переводить заголовки с C в Object Pascal.
Будь у Delphi больше библиотек — и уже сишники бы ругались, что заголовки нужно с Паскаля на Си переводить.
Скорее у вижу проблемы языка в том, что
в Delphi были исключения, но не было RAII (за исключением COM), из-за чего писать надежный код было сложнее и чем на Си, и чем на С++;
в Delphi не было никаких возможностей для обобщенного программирования — и это в то время когда на плюсах давно были шаблоны;
документация, блин: сложные вещи невозможно понять в формате справки, а в книгах были ошибки. До сих пор помню как автор одной из них советовал вызывать в блоках finally всем интерфейсам метод _Release, "но если программа будет падать — то вызов Release надо будет закоментировать".
Будь у Delphi больше библиотек — и уже сишники бы ругались, что заголовки нужно с Паскаля на Си переводить.
Не, не поэтому, а потому что нативные библиотеки под Windows — изначально под C++.
Но, в вызовы функций из под Windows 3 приходилось в C++ везде вставлять ключевое слово PASCAL! (sic!) Похоже, изрядная часть Windows 3 писана на Паскале.
Нужно что-то поменять в одной из форм? Выкинь её и перепиши с нуля, это же так быстро — вот принцип, который предлагала разработчику Delphi.
В какой-то момент я спросил себя: какого лешего у меня бизнес-логика базы данных делает в обработчике нажатия кнопки OnButtonPressed? Где она должна быть на самом деле?
И пришёл к следующему выводу. Нужно всё, что касается форм, описывать на языке XML, и создавать интерфейс программы, загружая эти данные из файла.
Далее, сама программа должна быть разделена на сервер и клиент. Вся бизнес-логика находится на сервере, а клиент может работать вообще на другом компе.
Так мне пришла идея сервера объектов.
Но тут я прочитал статью про HTML и JavaScript, и сказал себе: да вот же оно.
Установил браузер MSIE, написал веб-страничку в Блокноте, а она работает. И я сказал себе: да оно ещё и бесплатно?
Где сервер СУБД? — задал я вопрос на форуме apache.org
Зачем тебе сервер СУБД? — спросили меня.
Сайт буду делать, — ответил я. А где хранить пользовательские данные? В mydb.csv их, что ли, хранить?
Логично, — сказали мне. Через два месяца появился MySQL.
Остроумно, — подумал я.
Так наступил конец гегемонии Delphi. Через полтора года её уже можно было юзать совершенно бесплатно.
В какой-то момент я спросил себя: какого лешего у меня бизнес-логика базы данных делает в обработчике нажатия кнопки OnButtonPressed? Где она должна быть на самом деле?
В отдельном модуле она должна быть. И этого достаточно, нет необходимости изобретать что-то клиент-серверное только ради разделения кода.
Лично я просто кайфанул, когда с Delphi перебрался на MSVC.
VCL же удобнее!
В 5-м же Borland C лично я столкнулся с тем, что моя программа должна загрузить 32-битную USER32.DLL и 16-битную USER.DLL, а под Windows это было сделать невозможно — программа должна была использовать либо 16-битную, либо 32-битную версию. Пришлось отказаться от этой затеи, и начать портирование программы под чистый WinAPI.
Но ничто из перечисленного, даже пролог, не казалось мне настолько инопланетянским, как VBA.:) Ну если разобраться как устроены типы в VBA — вокруг стандартных типов COM и OLE Automation, то он перестаёт выглядеть непонятным и странным. Много энтузиастов в своё время углублялись в тему, как устроен VB под капотом и как взаимодействовать с Win32 API, и поэтому VB (вкупе со своей средой разработки) приобрел большую популярность. Информацию можно почерпнуть, например, здесь (bytecomb.com) и здесь (cpearson.com), а официальную спецификацию VB от Майкрософт здесь. А COM и сейчас является ключевой технологией в Windows и основой современного WinRT API.
Отдельные элементы Visual Basic, например номера стандартных ошибок, унаследованы — через длинную цепочку преемников — от того самого Altair BASIC, с которого началось существование Microsoft.
Типы в VBA немного новее, но тоже берут свои корни из GW-BASIC и QB, а не из COM и OLE.
COM и OLE Automation создавались для использования с WordBASIC и Visual BasicТак, но только с точностью до наоборот :)
Ну нет, тут синтаксис намного ближе, все приметные особенности позднего Бейсика на месте. В отличии от JavaScript, который получил от Java только фигурные скобочки...
Вот теперь думаю, в чем преимущества С# или С++ перед VB.net с точки зрения прикладного программирования (проведение расчетов, трансляция данных, работа с большим количеством файлов)?
Досовский VB казался какой-то магией, окна рисуем псевдографическими компонентами в отдельной программе — редакторе форм, потом выходим обратно в редактор кода и пишем обработчики.
Как и Qt в наши дни — окна делаем в дизайнере, код пишем редакторе. Этот подход, субъективно, наиболее органичен и верен
GW-Basic'а
А начинал на ДВК-3 с бейсика RT-11 :)
Потом был некий фокал — помнит кто-нибудь? Я вот был безумно удивлён его идентичностью фокалу на БК-0010. 4-5 класс где-то… С Си справился только к концу школы. Указатели наконец разложились в голове и стало хорошо :)
Зато опечатки исключаются, и в памяти программа занимает меньше.
Она ещё и исполняется быстрее, т.к.уже в P-коде в памяти лежит. Не нужно парсить текст, не нужно парсить числа - все уже подготовлено. Кстати, это же позволяло делать программы, когда написано одно, а исполняется другое, и если отредактировать строку, то все числа перезатирались на неверные. Например знаменитый randomize usr 0
То, как бейсик хранился в памяти это отдельный сюр.
А то, что символом бэкспейса затирали код загрузчика или имя программы, загружаемой с магнитофона, это я помню.
В принципе зачастую для взлома игры поломать загрузчик было сложнее, чем саму игру. Помню что Бетмена я полгода ломал, пока не понял, что код зашифрован
Код программы и имя загружаемой программы печатается стандартным rst #10 из ПЗУ, с поддержкой non-ascii ниже 32 - управляющие символы, и вышеи128 - токены и UDG. Так что вполне можно было назвать программу и использованием токенов, типа "move" создав более длинное имя чем допустимые 10 символов
Со взломом загрузчиков главная сложность была в регистре R, который не эмулировали западные отладчики. После появления STS проблема исчезла.
В 88 году я понятия не имел что такое отладчик и где его взять, знал только как через for и peek посмореть кусок памяти после загрузки кода с магнитофона, и при помощи выписанных на бумажку ассемблерных кодов, нарытых в разных журналах, найти где же уменьшаются жизни.
Помню, что первую игру Commando я смог взломать, имея на руках машинные коды 17-ти ассемблерных инструкций, среди которых было что-то типа "dec AX"
Есть такие!
Почему эта статья похожа на ничего? Потому, что рейтинги языков скорее бесполезны, так как каждый год популяция людей даёт индивидуумов, которые квази-рандомно начинают программировать, просто потому что это логичнее, чем не программировать. Вопрос «молоток какой марки попадётся под руку при необходимости забить гвоздь?» так же полезен, как и любой холиварный спор, почему патриоты России выбирают иностранные тачки, вместо того, чтобы у порно работать над качеством общения друг с другом при работе над новыми проектами. А вообще да… софт иногда нужнее еды или досуга, так как может трансформироваться в то или иное, и поэтому немножко конкурирует с разговорами о деньгах и здоровье, когда здоровье ещё ничего…
С окнами, менюшками и прочими интерфейсностями в текстовом режиме.
Эх, жаль, хороший был язык…
они чемто похожи визуально, и тоже очень много где в банках используются
Например на базе Exchange и Outlook можно было создать кастомный документооборот в экосистеме exchange с произвольными формами и пайплайном усилиями местного сисадмина. В начале 2000 oracle forms был дорогой новинкой, а exchange уже внедрен на множестве предприятий, особенно зарубежом — там как раз шла цифровизация предприятий.
А АБС ЦФТ Банк использует VB. Сейчас есть новые версии кторые могут использовать Java но они требуют отдельных серверов приложений и в целом работают на порядки медленнее.
Сам сравнивал что форма на которую у операциониста уходило на заполнение 20 минут на VB на Java от ЦФТ уходит 2 часа.
Сейчас кстати ЦФТ адаптирует эту банковскую ПО, точнее ее ядро под нужды Росатома/ Так что возможно и там будет чтото от VB
Вот пример из обсуждалок программистов
www.cftclub.ru/viewtopic.php?t=4819
Как тебе такое Илон Маск?
Они больше не могли начинать с 1, как обычные люди. Теперь они должны были начинать с 0, как официальные программисты.
Но мы никогда так не делали. Эту перемену особо никто не заметил.
Главной проблемой стало отсутствие доступа к памяти. Вы не игрались с указателями в VB6.0?
Короче, старым программистам, привыкшим понимать, что где лежит, было, пардон, западло переходить на .net. Продолжать поддержку VB-COM мелкомягкие не захотели, команда энтузиастов для самостоятельного развития поддержки — не собралась, отдельные энтузиасты — быстро сдулись.
Так не стало языка, в котором легко написать для себя утилитку…
Вы не игрались с указателями в VB6.0?
Указатели в Бейсике… Мьсье знает толк!
Из прямого доступа к памяти в Бейсике я помню только POKE/PEEK
Ха. Просвещайтесь :) Для меня это было штатным приёмом посимвольного чтения строки.
Знаете, сравнивать строки в цикле — плохо, а вот INTEGER — хорошо. Объявляем аргумент типа INTEGER, перепрописываем ему ссылку так, чтобы он указывал на символ строки — вуаля!
:-)
Это была расширенная версия quick барсика, «для профессионалов»
Professional Development System Basic, а так спасибо, всплакнул
Совершенно убойная настольная СУБД, которая достигла апогея к 2010 офису, а потом, как обычно, скатилось в унылое говно.
Нулевой уровень вхождения в программирование СУБД. Почти настоящий SQL. Сетка, нативно сопрягающаяся с объектами доступа к данным. Сводные таблицы, лучше чем в Экселе (исчезнувшие в 2013+). Написание кода, взаимодействующего с MSSQLSERVER по сложности на уровне ковырянию в носу.
Многопользовательские (ну, если много — это 2-5 пользователей) — просто так, из коробки, не задумываясь о локах, и вообще — ни о чем не задумываясь.
И да. VBA.
Я до сих пор, если мне нужно «прикрутить форму к таблички на MSSQLSERVER», чтобы рота операторов набила
… и пишу что-нибудь немного посложнее на VB.NET, потому что переход с Экселевского/Вордового/Акцесовского VBA на C# вызывает визуальную идиосинкразию.
:-)
Просто, хотя программирование и не было основной специальностью, но в годы студенчества довольно неплохо освоил Visual Basic. А теперь облегчаю себе жизнь, иногда автоматизируя рутинные операции, коих у преподавателя немало. Например, чтобы вручную составить пакет билетов на контрольную/экзамен нужно потратить минут 20 только на copy/paste, а по нажатию кнопочки в форме вопросы разлетаются по местам за секунду. Если прикинуть, то за 15 лет только эта программка сэкономила мне 240 часов чистого времени. Месяц восьмичасовых дней…
P.S. Кажется, код QBasic можно было компилировать в .exe как раз компилятором досовского Visual Basic. Во всяком случае, эпические турниры в Nibbles из комплекта Dos 6.2 у нас в общежитии устраивались именно с таким вариантом игрушки, ибо он работал быстрее.
VB стал знаменитым благодаря легендарной функции edit-and-continue, позволявшей разработчикам запускать программы, находить ошибки, исправлять их и продолжать работать с новым кодом. Это разительно отличалось от почти всех остальных известных человечеству сред программирования, вынуждавших разработчиков компилировать работу заново и после каждого изменения начинать снова.Это называется repl, и присутствует у достаточно большого количества языков. Как минимум это есть у ruby и lisp.
Edit-and-continue в VB — это другое. (Но и REPL там тоже оставался.)
Различие в том, что Edit-and-continue может поменять тот код, который исполняется в данный момент. А в repl можно только подменить старый код новым, и то не всегда.
С сохранением значений локальных переменных, и с сохранением позиции выполняемой строки внутри процедуры.
Расцвет и упадок Visual Basic