О Преимуществах Прикладного Программирования, Или Почему Я Выбрал Непопулярный Visual Basic

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

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

У программистов на ассемблере нет поклонниц.

Джоэл Спольски Мне всегда было интересно, почему Basic такой непопулярный среди отечественных программистов, тогда как на Западе он широко распространен.

Закралось подозрение, что здесь, на просторах бывшего СССР, все программисты из Челябинска, и пишут они непосредственно в машинном коде, поэтому не могут писать на таком языке высокого уровня, как Бейсик, из-за отсутствия других ключей, кроме чем 1 и 0. Вдохновленный эта почта.

Так получилось, что первым языком программирования (ЯП), с помощью которого я пытался решать прикладные задачи, оказался Visual Basic (IDE версия 6) — поскольку моей квалификации с другими ЯП было явно недостаточно, к тому же моя институтская специальность не позволяла относятся к ИТ.

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

В то время не было программного обеспечения с открытым исходным кодом; 1С была дорогой.

В результате написанная программа была продана еще двум СТО, что считаю, как для первого опыта, хорошим результатом.

Примерно в то же время многие мои сверстники, тоже еще студенты, уже изучали Delphi, C++ и Java. Мои познания в языковом программировании особо не выросли (у меня было мало опыта работы с php4), а идеология ООП оказалась для меня не востребована.

Лично я не понимал, какую практическую пользу мне принесет понимание организации памяти на C или той же инкапсуляции, если я ее нигде на практике не использую.

Теперь я смотрю на всякие Agile и Канбаны одинаково.

И вот, спустя годы, ко мне пришла следующая мысль: PL — это методика решения определенной задачи, не больше и не меньше.

Мотивацией написания программы является решение проблемы, а не сам факт написания программы; Эффективность решения задачи заключается не в качестве созданного инструмента, а в соответствии требуемого качества реализуемому качеству.

Все кажется банальным.

Visual Basic как язык действительно достаточно прост, чтобы с ним мог работать новичок.

Visual Basic достаточно сложен, чтобы реализовать практически все, что могут реализовать другие, более сложные языки программирования.

Он универсален, это как Windows в мире компьютеров, с точки зрения универсальности, конечно.

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

Около трех лет я выделял достаточно ограниченное количество времени на решение одного проекта.

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

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

, тогда счастье пришло бы в одной-единственной компании, да? Но как-то это неправда.

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

Но вот незадача — сейчас практически в любом бизнесе наблюдается глобальная тенденция, наоборот, выводить непрофильные (те, что не связаны с выпускаемым продуктом) ресурсы за пределы компании.

На сегодняшний день модель поддержки моей системы собственными ресурсами является наиболее экономически эффективной; разработка различных вкусностей происходит «по правильным рельсам» и занимает минимум времени.

Собственно, для этого и нужны прикладные языки.

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

Теперь мой проект превратился в своего рода Колосса, но, в отличие от своего глиняного аналога, ему не нужно будет простоять века, ему нужно лишь произвести впечатление/совершить действие здесь и сейчас, даже без среднесрочной перспективы.

Все мои размышления на эту тему привели меня к вполне логичному выводу.

Мы, русские, не знаем, как действовать оптимально.

Мы можем сделать что-то великое – например, запустить человека в космос, построить самый вместительный самолет в мире – но потратить на это много сил, времени и, главное, денег.

Мы можем сделать что-то очень плохое - вспомните советскую легкую промышленность.

Мы не умеем делать что-то на приемлемом уровне, а если пойти дальше, то не умеем определять, какой уровень приемлем почти во всем.

И даже если мы знаем как, очень часто забываем этим воспользоваться.

Запад умеет это делать гораздо лучше нас; например, они уже около столетия очень успешно используют принцип 80/20, он же «Закон Парето» .

Apple при создании новых наушников изучила строение ушей тысяч людей и сделала свое изобретение таким, что оно подходит 80% ушей.

Слушал музыку в этих наушниках, звучат очень здорово, я в группе 80% и обязательно куплю их себе.

Давайте научимся делать дела с оглядкой на оптимальность затрачиваемых ресурсов – сил, времени, денег.

Я вижу в этом путь к процветанию.

Поощряйте тех, кто только вступает на путь изучения программирования, а не заставляйте сразу садиться за «плюсы».

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

Цель достигнута, аптайм уже 204 дня.

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

Но это совсем другая история.

Теги: #visual Basic #Visual Basic для приложений #оптимизация #Visual Basic для приложений
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.