Перейти к содержимому

Какой язык программирования использовался при создании excel

  • автор:

Visual Basic

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

«IT-специалист с нуля» наш лучший курс для старта в IT

Однако, развитие Visual Basic пошло в сторону процедурного, объектного, компонентного и событийного программирования. Язык активно используется как для разработки Windows-приложений, так и для создания ПО для других платформ. Visual Basic можно скачать и использовать как отдельно, так и в составе Microsoft Visual Studio.

Лого Visual Basic 6.0

История развития

История Visual Basic началась в 1991 году, когда на основе синтаксиса QuickBasic компания Microsoft выпустила первую версию нового языка для своей операционной системы Windows. Новшеством, выделяющим новинку, стала связь с графическим интерфейсом, ранее реализованная программистом Аланом Купером в прототипе Tripod. Но именно в Visual Basic 1.0 эта реализация достигла нужного уровня. В том же году вышла версия языка для операционной системы MS-DOS с конвертором кода для Windows.

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

Профессия / 8 месяцев
IT-специалист с нуля

Попробуйте 9 профессий за 2 месяца и выберите подходящую вам

vsrat_7 1 (1)

Популярность Visual Basic начала расти с выходом версии 3.0 (1993 год). В нее были внесены существенные изменения — в частности, появилась возможность взаимодействовать с базами данных Access, а графический интерфейс переработали так, что работать с языком стало просто даже людям, не имеющим навыков в программировании.

В 1995 году вышла версия 4.0, одновременно с релизом Windows 95 — первой по-настоящему популярной версией этой операционной системы. Эта связка сделала Visual Basic действительно востребованным языком среди программистов. Среди ее ключевых отличий — возможность разработки как 32-, так и 16-разрядных приложений для Windows, а также появление полноценного компилятора, существенно увеличивающего скорость выполнения программ.

Начиная с версии 7.0, выпущенной в 2002 году, Microsoft резко изменила концепцию Visual Basic. Фактически, это уже был новый язык, хотя и позиционирующийся как логическое развитие предыдущего. Новая версия получила название Visual Basic.NET, она не имела обратной совместимости с предыдущими релизами. Ключевым отличием стало то, что код теперь стал полностью управляться фреймворком NET Framework Common Language Runtime.

Версии языка Visual Basic

Таким образом, в семействе языков Microsoft Visual Basic можно выделить несколько основных версий.

Visual Basic Classic (классический). Это первая версия языка, главные отличия которого заключались в основанных на QBasic общей концепции и синтаксисе, а также жесткая привязка к своей среде разработки и операционной системе. Иначе говоря, программировать на нем можно было только в собственной IDE и ОС Windows. Среда разработки предлагала пользователю широкий набор инструментов, таких как встроенный отладчик, функция просмотра переменных и структур в режиме реального времени, всплывающие подсказки, подсветка синтаксиса и т.д. Из-за этого программировать на классическом Visual Basic вне IDE (например, в обычном текстовом редакторе) было просто невозможно. Эта версия перестала развиваться в 2002 году, когда ее сменил Visual Basic .NET.

Visual Basic for Applications (VBA). Фактически, это тот же самый Classic, только немного упрощенный и адаптированный под разработку макросов и прикладного ПО для конкретных приложений. Язык программирования VBA встроен в структуру офисного пакета Microsoft Office (Word, Excel и т.д.), а также программных продуктов от других разработчиков — например, AutoCAD, CorelDraw, SolidWorks. Основанный на стандарте Microsoft COM (Component Object Model), он может задействовать все имеющиеся в ОС Windows COM-компоненты и ActiveX. Иными словами, можно исключительно с помощью средств, например, CorelDraw и языка VBA создавать приложения для Microsoft Office.

Visual Basic Scripting Edition (VBScript). Тоже урезанная версия классического Visual Basic, но направленная на разработку скриптов для приложений, использующих технологию Active Scripting. VBS применяется, например, для написания клиентских сценариев в Internet Explorer и серверного кода в веб-приложениях, автоматизации административных функций в ОС семейства Windows и т.д.

Курс для новичков «IT-специалист
с нуля» – разберемся, какая профессия вам подходит, и поможем вам ее освоить

Visual Basic.NET. Версия, появившаяся в 2002 году и представлявшая собой другой язык, в котором старые методы, применявшиеся в классическом Visual Basic, использовать уже было нельзя. Его основное отличие — тесная интеграция с платформой .NET Framework, выпущенной в то же время. В этой версии акцент смещен с индивидуальных особенностей самого языка на возможности фреймворка. Концептуально Visual Basic.NET. развивался в сторону объектно-ориентированности, он стал поддерживать полиморфизм, статическую типизацию, наследование и перезагрузку операторов. Благодаря этому с помощью него стало возможным создание действительно крупных программных продуктов, которые одновременно были гибкими и масштабируемыми. Несмотря на популярность и очевидные достоинства Visual Basic.NET., компания Microsoft прекратила его поддержку в 2020 году в пользу другого своего языка C#. «Вижуал Бэйсик» продолжает поставляться в комплексе с новыми версиями платформы .NET, однако обновлений для него не планируется.

Описание Visual Basic

Язык программирования «Вижуал Бэйсик» относится к категории императивных. Написанные на нем программы представляют собой строгую последовательность команд (приказов — отсюда и название «императивный»), причем каждая последующая использует данные, полученные при исполнении предыдущей. Кроме того, Visual Basic объединяет в себе элементы сразу нескольких парадигм (методологий) программирования:

  • Процедурной — можно разбивать задачу на более мелкие и группировать последовательно выполняемые операторы кода в подпрограммы для их решения;
  • Объектно-ориентированной — программу на Visual Basic можно представить как совокупность взаимодействующих друг с другом объектов, каждому из которых присвоен определенный класс, образующий определенную иерархию;
  • Компонентно-ориентированной — она представляет программу как совокупность отдельных независимых языковых конструкций (модулей или компонентов) исходного кода, предназначенных для повторного использования;
  • Событийно-ориентированной — в Visual Basic имеются встроенные обработчики событий, таких как использование программистом клавиатуры и мыши, сообщений, поступающих от других приложений, активности операционной системы и т.д.

Главной особенностью Visual Basic, отличающей его от большинства языков, стало применение в программировании графического интерфейса. Фактически, пользователь мог создать свое приложение как конструктор, используя готовые визуальные компоненты (например, кнопки управления, поля и т. д.), расставляя их в нужном порядке методом drag and drop (перетащи и брось). Так как эти компоненты имеют свои атрибуты и обработчики событий, они будут реагировать на действия пользователя при исполнении программы. Это дает возможность разрабатывать реально работающие (хоть и ограниченные по функционалу) приложения даже человеку, не имеющему никакого опыта в программировании.

Интерфейс разработки в Visual Basic 6.0

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

До 4 версии у Visual Basic не было собственного компилятора, для запуска и исполнения программ использовались библиотеки, которые поставлялись вместе с языком. С появлением компилятора работа приложений значительно упростилась, хотя для реализации некоторых функций продолжали использоваться библиотеки. Однако, теперь они были интегрированы в саму операционную систему, что облегчало задачу разработчикам. В последних версиях компилятор поставляется вместе с Visual Basic в составе пакета Microsoft Visual Studio, куда также входят редактор исходного кода, отладчик и другие инструменты для разработки программ и веб-приложений.

Преимущества Visual Basic

Простота. Язык программирования Visual Basic унаследовал от своего прародителя QuickBasic простой синтаксис, который доступен для изучения новичкам в программировании. Поэтому для многих программистов именно с этого языка начинается знакомство с разработкой программ и веб-приложений. Кроме того, в нем прекрасно реализована концепция визуального проектирования, которая также снижает порог вхождения.

Высокая скорость разработки. Благодаря графическому интерфейсу на Visual Basic можно быстрее разрабатывать приложения. Особенно это касается программных продуктов для операционной системы MS Windows, в которую уже интегрированы многие нужные инструменты и библиотеки. С разработкой приложений для других платформ дело обстоит сложнее, их пользователям нужно скачивать и устанавливать эти компоненты отдельно.

Мощная поддержка. Visual Basic долгое время был одним из основных продуктов компании Microsoft — одной из самых богатых и влиятельных IT-корпораций мира. Поэтому он до сих пор имеет значительную коммерческую и техническую поддержку (хотя проект прекратил развитие еще 2 года назад), информационное сопровождение в виде многочисленных учебников, инструкций, видеоуроков, справочных материалов и т. д. Это упрощает программистам поиск решений для возникающих перед ними задач.

Защита от ошибок. В Visual Basic используются указатели и доступ к памяти. Это делает написанные на нем приложения более стабильными. Кроме того, за счет постоянной автоматической компиляции программы по ходу ее написания в P-код (абстрактный машинный код для виртуальных машин) есть возможность быстро найти ошибку, не перезапуская приложение. Наличие удобного редактора с функциями автоматической подстановки, подсветки синтаксиса также повышают надежность работы конечного продукта.

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

Недостатки Visual Basic

Ограниченная кроссплатформенность. На Visual Basic можно писать программы только под операционные системы Microsoft Windows и Apple MacOS. Хотя усилиями энтузиастов были разработаны некоторые способы, допускающие разработку приложений на VB для других платформ, особого распространения они не получили ввиду своей сложности.

Строгая привязка к среде программирования. Писать код на Visual Basic можно только с помощью поставляемых вместе с ним инструментов. С одной стороны, интегрированная среды разработки дает широкие возможности программисту. С другой — язык нельзя использовать вне ее, например, в обычном текстовом редакторе. В частности, это не позволяет писать на нем код многим программистам-пользователям операционных систем Linux.

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

Применение Visual Basic

Язык программирования Visual Basic создавался корпорацией Microsoft прежде всего как инструмент разработки продуктов для своей операционной системы Windows. Эта привязка сохранилась на протяжении всего срока развития и поддержки VB, за что неоднократно подвергалась критике. Однако, в рамках своей экосистемы он позволяет разрабатывать самые разные программные продукты:

  • плагины и макросы для приложений Microsoft Office, CorelDraw, AutoCAD и некоторых других профессиональных программных продуктов;
  • графические интерфейсы приложений, чему очень способствуют встроенные в язык инструменты визуальной разработки;
  • консольные приложения, запускаемые с помощью командной строки — например, файловые менеджеры, веб-браузеры, текстовые редакторы и т.д.;
  • игры — как правило, текстовые (вроде «О, счастливчик!») или несложные графические программы из-за того, что реализовать на Visual Studio полноценные проекты с развитой графикой и физикой очень сложно;
  • специализированные приложения для выполнения математических, научных и статистических расчетов;
  • серверные и веб-приложения и другие программные продукты.

Еще одной сферой, где Visual Basic популярен до сих пор, остается обучение программированию. Благодаря тому, что небольшое приложение на нем можно создать, практически не прописывая код, с помощью исключительно визуальных инструментов, это сильно снижало порог вхождения пользователя. При этом язык (точнее, его среда разработки) наглядно демонстрирует принцип работы компьютерной программы, взаимодействие ее компонентов и т. д.

Значение и перспективы Visual Basic

В 2020 году Microsoft заявила, что прекращает развитие этого языка (точнее, его версии Visual Basic.Net), хотя он продолжит выходить в комплекте Visual Studio. Visual Basic for Applications (VBA) по-прежнему используется во многих приложениях, созданных самой корпорацией и сторонними разработчиками. Однако, новых функций в него добавляться уже не будет.

Visual Basic с самого своего появления имел неоднозначную репутацию в среде профессиональных программистов. Многие специалисты считали его «игрушечным», пригодным только для обучения и создания небольших приложений и игр. Простота языка (точнее, принципа визуального проектирования) критиковалась за то, что сильно снижала порог вхождения, из-за чего любители создавали хоть и работоспособные, но крайне неэффективные продукты.

Тем не менее, Visual Basic стал одним из знаковых достижений компании Microsoft и оказал влияние на развитие других компьютерных языков. Некоторые из реализованных в нем решений были использованы в том же С#. Он также стал отличной «учебной партой» для многих специалистов, которые затем перешли на более востребованные ЯП.

IT-специалист с нуля

Наш лучший курс для старта в IT. За 2 месяца вы пробуете себя в девяти разных профессиях: мобильной и веб-разработке, тестировании, аналитике и даже Data Science — выберите подходящую и сразу освойте ее.

картинка (75)

Статьи по теме:
Топ-10 языков согласно индексу TIOBE

Делимся подборкой IT-профессий для креативщиков и математиков, а также лайфхаками, как выбрать подходящую именно вам

VBA и Python для автоматизации Excel и MS Office

Поводом для заметки послужила статья на Хабре, в которой автор описывал, как он решал на Python задачу сбора и анализа метаданных из файлов Excel.

Эта заметка более подробно раскрывает всем известный тезис: Под конкретную задачу надо выбирать наиболее подходящий инструмент применимо к офисной автоматизации.

VBA и Python

VBA (Visual Basic for Applications), де-факто, самый популярный язык для автоматизации Microsoft Office. Доступен из коробки, помимо Excel, работает в PowerPoint, Outlook, Access, Project и других приложениях.

Если задать вопрос: «Какой язык программирования выбрать первым», то где-то в 90% всех случаев будет предложен Python. На практике здесь может быть и любой другой язык, но, исходя из популярности языка и своего опыта, буду сравнивать с ним.

В общем виде можно описать ситуацию через подобный график:

Детального сравнения не будет, рассмотрим основные killer-фичи, в ситуации, когда junior-программист/офисный сотрудник хочет автоматизировать что-либо, связанное с MS Office, и у него есть возможность выбора между языками.

Если в силу разных причин возможности выбора нет, то и сравнивать нечего.

В пользу VBA

  • Отличная работа с объектной моделью Excel и других приложений MS Office. Написание кода на VBA для большинства внутренних операций тривиально. У Python, в сравнении с VBA, поддержка объектной модели Office очень слабая.
  • Поддержка разных форматов MS Office. Самая большая проблема для внешних языков — это работа с разными форматами файлов MS Office. Например, xls, xlsx, xlsm файлы могут требовать разных библиотек, так как каждая хорошо работает только со своим форматом файла. Для VBA — это все «файл Excel», работа с которыми в целом одинаково хороша.
  • Работа с MS Exchange. Если необходимо обеспечить работу с корпоративной почтой/календарем на Exchange, то далеко не каждом языке есть нормальная библиотека для работы протоколом Exchange. В VBA это решается относительно просто через использование в макросе объектной модели MS Outlook.
  • Легкая установка и дистрибуция. К уже установленному офису не надо ничего устанавливать. Чтобы коллега мог воспользоваться программой, достаточно передать ему файл с макросом. Легко сделать надстройку, которая позволит «установить» модель макроса в фон офиса.
  • Интерактивность внутри приложений MS Office. Внутри офисных программ можно как просто поставить кнопки запуска макросов, так и (чуть сложнее) сделать целый отдельный UI. Сюда же относится написание своих формул в Excel и то, что макросы могут воздействовать на объекты внутри документов Office в реальном времени.
  • Запись макросов. Удобный инструмент, который позволяет записать действия человека в готовый код, для последующего редактирования использования.

В пользу Python (и других внешних языков программирования)

  • Приятный синтаксис и синтаксический сахар. Если коротко, то VBA не отличается выразительностью и удобством. Это вопрос личного вкуса, но для меня Python намного удобнее.
  • Богатая экосистема библиотек. Огромный выбор готовых библиотек для работы с внешним миром. Пытаться сделать на VBA программу, взаимодействующую с каким-нибудь внешним API, та еще боль. Занимательно, что как раз для работы с файлами Office библиотеки того же Python — откровенно «на троечку».
  • Хорошие средства разработки. Можно выбрать из огромного выбор программ, которые облегчают процесс разработки. Стандартный редактор VBA из Office предлагает очень бедный функционал и, в сравнении с альтернативами из мира Python, откровенно неудобен. Писать код VBA в внешнем редакторе, а потом копировать внутрь офиса для отладки — тоже неудобно.
  • Скорость работы. Не проверял скорость однопоточной работы, но, предположу, что в случае однопоточной работы преимущество будет за Python. В любом случае, достаточно тривиально организуется многопоточная обработка данных/файлов, что позволяет говорить в большей достижимой скорости.

Кейсы

Далее приведены конкретные задачи, которые я сам решал или автоматизировал, и когда мне надо было выбрать стек: VBA или Python. Для каждой задачи указан выбранный стек и даны пояснения почему:

  • Задача: Программа для проверки всех файлов Excel в директории на предмет наличия скрытых листов
    • Мой выбор: VBA. Причины: простота работы с разными форматами файлов Excel и отсутствие внешних взаимодействий.
    • Сервис был реализован как почтовый бот, на адрес которого пользователь может переслать файлы Office, а в ответ пользователю по почте приходит ответ с файлами PDF.
    • Мой выбор: Логика VBA + Python для мониторинга
      • Во-первых, внутренние функции гарантированно сохраняли PDF, аутентичный файлу PowerPoint (внешние библиотеки плохо справляются с рендером PowerPoint).
      • Во-вторых, реализация почтового бота, как макроса в MS Outlook решала проблемы работы с корпоративной Exchange почтой. Так, в Python нет нормальной библиотеки для работы с MS Exchange.
      • Python использовался для организации мониторинга работы сервиса и нотификации о возможных проблемах
      • Мой выбор: VBA. Задача решалась через конвертацию двух файлов в PDF и их объединением с Riffle Shuffle. Так как важно качество конвертации в PDF, то использовались встроенные функции офиса для экспорта в PDF.
      • Мой выбор: Python.
        • Чтобы вытаскивать из html карточек данные пригодилась библиотека для парсинга html BeautifulSoup.
        • Excel-файл создает программа, поэтому мы сами можем решать, какую аналитику рассчитывать уже в нем, а какую еще на стадии подготовки данных в Python.
        • Мой выбор: VBA. Важно было аккуратно работать с текстом во внутренних объектах файла PowerPoint. Для перевода использовался API от Яндекса, так как он бесплатен для небольших объемов и прост в подклюении. Например, API переводчика Bing я так и не смог заставить работать в VBA, так как там для работы нужен OAuth со своими заморочками. Если бы пришлось работать с Bing, то, наверное, я бы делал сервис-посредник на Python.
        • Мой выбор: Python. Хотя API — простой (не требует какой-либо подписи запросов или авторизации) и выдает данные в CSV, выбран Python, так как нет причин выбирать VBA, а на Python писать удобнее.
        • Здесь я выбирал очень долго, так как есть много альтернатив:
          • Сторонняя готовая система поручений
          • База данных с каким-то обработчиком
          • Access
          • Excel
          • Во-первых, Excel сам по себе является готовым UI для работы
          • Во-вторых, VBA решает задачу работы с корпоративным Exchange через подключение MS Outlook
          • В-третьих, это решение делалось с прицелом на коллег, которым Excel был более понятен, чем что-либо совсем новое

          Заключение

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

          Языки программирования, которые используют Google, Reddit и другие гиганты

          Языки программирования, которые используют Google, Reddit и другие гиганты

          Всевозможные рейтинги языков не дают возможности понять, какие технологии в реальности используются на популярных и сложных проектах. Исправляя этот недостаток, TechWorm опубликовал статью о распространённости языков программирования в крупнейших сервисах.

          Иллюстрация: emaze.com

          Поиск Google

          Первая версия Google называлась BackRub и была написана на Java и Python. Сейчас фронт-энд Google написан на C и C++, а его известные поисковые роботы — на Python. Впрочем, из-за нестабильности роботов и заполнения индексов старой информацией они были переписаны на C++ и получили возможность инкрементальных обновлений.

          Google Chrome

          Популярный браузер написан на C++, Assembly и Python.

          Adobe

          Все продукты Adobe (Photoshop, Acrobat, Illustrator и т. д.) написаны на С/С++ и ActionScript, в интерфейсах используется JavaScript.

          Microsoft

          Word, Excel и Powerpoint написаны на C/C++, имеют встроенный движок VisualBasic, и VisualBasic использован для разработки интерфейсов. В разработке Windows 10 использовался C++, а ядро операционной системы работает на С.

          Apple

          Mac Os X написана на Objective C, а ядро, как и в предыдущем случае, на C. IO PnP подсистема Mac Os X использует Embedded C++.

          Linux

          Большая часть Linux написана на языке программирования C. Многие приложения используют Python, KDE написан полностью на C++. Ядра Linux используют Assembly.

          AutoCAD

          Первая версия программы была написана на чистом C с небольшими вкраплениями Assembly. Последняя версия работает на C++. Популярные адаптеры для программы написаны на AutoLISP, Visual LISP, VBA, .NET и JavaScript.

          YouTube

          Первоначально сервис писался на PHP, но затем (на раннем этапе развития проекта) был сделан выбор в пользу Python, на котором и продолжалась разработка до момента продажи Google.

          Facebook

          Значительная часть социальной сети написана на PHP, используется и XHP, а наиболее популярная среда — HihHop для PHP. Помимо этого, широко используются JavaScript и Erlang.

          Dropbox

          Популярное облачное хранилище в качестве ключевого языка программирования использует Python.

          Quora

          Основатели Quora, до этого работавшие в Facebook, выбрали для своего сервиса Python. LiveNode, одна из внутренних систем для управления отображением содержимого на веб-страницах, также частично написана на Python.

          Reddit

          Первоначально Reddit был написан на Common Lisp, но ещё в 2005 году переписан на Python — для большей гибкости и доступа к многочисленным библиотекам.

          Выбрали Европу, ментальность, деньги, комфорт, международные проекты, work-life баланс.

          Текст: Отдел новостей Источник: dev.by Теги: языки программирования, python

          Нашли ошибку в тексте-выделите ее и нажмите Ctrl+Enter. Нашли ошибку в тексте-выделите ее и нажмите кнопку «Сообщить об ошибке».»

          Читайте также
          10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)

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

          10 способов научиться программировать самостоятельно

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

          10+ сертификаций Coursera, которые могут изменить вашу карьеру

          Бюджетный способ прокачать навыки и повысить зарплату — это профессиональный сертификат от Google, IBM или крупного зарубежного университета. На Coursera как раз можно найти десятки полезных обучающих программ по машинному обучению, проджект-менеджменту и не только. Собрали 10+ сертификаций, которые будут выигрышно смотреться в резюме как новичка, так и опытного специалиста.

          Microsoft запустила обучающий сайт по Java

          Хотите сообщить важную новость? Пишите в Telegram-бот

          Главные события и полезные ссылки в нашем Telegram-канале

          Обсуждение
          Комментируйте без ограничений

          Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

          shivam-ensureias
          25 мая 2023, 14:34

          https://ensureias.com/best-ias-coaching-in-delhi
          Ensuring the Best IAS Coaching in Delhi with Ensure IAS

          When it comes to preparing for the prestigious IAS exams, choosing the right coaching institute is crucial. Among the plethora of options in Delhi, Ensure IAS stands out as the epitome of excellence. With its unwavering commitment to student success, Ensure IAS provides a comprehensive and result-oriented coaching experience Ensure IAS.

          What sets Ensure IAS apart is its team of highly experienced and knowledgeable faculty members who are experts in their respective fields. They adopt innovative teaching methods, providing personalized attention to each student. The institute’s meticulously designed study material covers the entire syllabus, ensuring thorough understanding and retention of concepts Best IAS Coaching In Delhi.

          Ensure IAS also offers regular mock tests, enabling students to assess their progress and identify areas for improvement. The institute’s state-of-the-art infrastructure provides a conducive learning environment. Moreover, the supportive and motivating atmosphere at Ensure IAS empowers students to overcome challenges and stay focused on their goals.

          With a proven track record of producing successful candidates year after year, Ensure IAS has established itself as the best IAS coaching institute in Delhi. Joining Ensure IAS is a step towards achieving your dreams of becoming a civil servant and making a positive impact on society.

          Сколько языков программирования нужно знать крутому маркетологу

          Если раньше навыками программирования владели только узконаправленные специалисты, то сейчас все больше маркетологов интересуются языками программирования и применяют их в работе. Customer Data Expert Павел Левчук выучил не один, а целых 4 языка программирования. Что это за языки и как владение ими помогает в работе, читайте в интервью.

          Павел Левчук, Customer Data Expert

          1. подключиться к разным источникам,
          2. скачать данные,
          3. очистить их,
          4. связать вместе,
          5. сделать нужные расчеты,
          6. визуализировать их,
          7. сделать выводы и перейти к п. 1.

          — Какой язык программирования лучше подходит для работы с данными?

          Здесь точно нет серебряной пули. Опираясь на свой опыт в маркетинге, я использую регулярно такие языки программирования: SQL, R, M, DAX.

          • SQL (Structured Query Language) — основной интерфейс работы с реляционными базами данных (БД). Используется для добавления, обновления и удаления строк данных, извлечения наборов данных для обработки транзакций и аналитических приложений, а также для управления всеми аспектами работы БД.
          • R — универсальный язык для анализа данных. Он написан статистиками для статистических исследований.
          • M — задумывался как язык для подключения к различным источникам данных и последующих их преобразований. Он работает только внутри экосистемы MS.
          • DAX — язык для написания сложных логик расчетов метрик внутри Power Pivot / Excel / Power BI.

          Понятие «лучше» практически не применимо к сравнению языков программирования. Здесь важны такие критерии, как:

          1. скорость создания кода,
          2. наличие библиотек, которые уже решают твою задачу,
          3. количество необходимого кода,
          4. его читабельность;
          5. скорость исполнения обработки данных;
          6. интеграция результатов со следующими шагами анализа;
          7. операнализация (работа с данными на потоке или в продакшн).

          Часто, но не всегда, данные хранятся в реляционных БД. Для доступа к ним используется SQL (Structured Query Language).

          — Что такое реляционные базы данных, чем они отличаются от обычных?

          Реляционная база данных — это набор данных с предопределенными связями между ними. Эти данные организованы в виде набора таблиц, состоящих из столбцов и строк. В таблицах хранится информация об объектах, представленных в базе данных. В каждом столбце таблицы хранится определенный тип данных, в каждой ячейке — значение атрибута. Каждая строка таблицы представляет собой набор связанных значений, относящихся к одному объекту или сущности. Каждая строка в таблице может быть помечена уникальным идентификатором, называемым первичным ключом, а строки из нескольких таблиц могут быть связаны с помощью внешних ключей. К этим данным можно получить доступ многими способами, при этом реорганизовывать таблицы БД не требуется.

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

          Если источник данных предполагает наличие API, то можно быстро и нативно получить необходимые данные от сервиса. Например, в системе рассылки имейлов (ESP) можно по API запросить по каждой email-кампании список подписчиков, статус открытия и т. д. и построить нужный тебе отчет о рассылках. Альтернативно можно попытаться спарсить данные, если они лежат открыто, но нет API.

          Также данные часто находятся не в том формате и/или они грязные. В таких случаях их нужно подготавливать к последующему анализу. Здесь уже появляются опции: это все еще можно сделать на SQL, но можно использовать и другие языки, например R, M или Python. Допустим, поменять типы данных колонок, удалить строки с пустыми значениями или с выбросами.

          — То есть под разные задачи из цикла работы с данными тот или иной язык позволяет решить текущую задачу быстрее?

          Да. Например, сделать что-то разовое можно с помощью формул в Excel. Если нужна повторяемость при поступлении новых данных и статически несложные расчеты, то подойдет DAX. Для более сложных операций — R.

          Мне нравится современный R (R + tidyverse + RStudio IDE) тем, что он позволяет быстро подготавливать данные и применять разнообразные статистические модели для выжимания инсайтов из данных. Например, можно легко делать такие вещи, как регрессии (для понимания линейных зависимостей), кластеризацию данных (для сегментации, классификации для прогнозирования, например, покупки и/или оттока).

          Для более простой аналитики я использую BI-стек: Power Query/M + Power Pivot/DAX + Excel/Pivot Tables.

          Как я уже упоминал выше, я активно использую четыре языка. Использование одного или нескольких языков зависит от контекста задачи. Если на одном языке это одна команда, а на другом 10, то чаще всего я сделаю это там, где это будет быстрее реализовать. Бывают и исключения, когда я выстраиваю pipeline-обработки данных и перебрасывание данных из одного языка программирования (среды) в другой неоптимально с точки зрения регулярной обработки и с учетом увеличивающегося объема данных в будущем. Например, когда я строю BI-решение, то стараюсь использовать возможности одной экосистемы.

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

          Например, в Excel есть подсистема Power Query. Она позволяет мне быстро подключиться к данным, сделать их очистку и преобразования и тут же положить их в высокопроизводительную БД внутри того же Excel — Power Pivot. Затем, используя язык программирования DAX внутри Power Pivot, я описываю метрики, которые меня интересуют, и тут же в Excel делаю их визуализации через сводные таблицы и/или чарты. Все это позволяет мне сфокусироваться на анализе вместо решения инфраструктурных задач.

          VBA и Python для автоматизации Excel и MS Office

          Поводом для заметки послужила статья на Хабре, в которой автор описывал, как он решал на Python задачу сбора и анализа метаданных из файлов Excel.

          Эта заметка более подробно раскрывает всем известный тезис: Под конкретную задачу надо выбирать наиболее подходящий инструмент применимо к офисной автоматизации.

          VBA и Python

          VBA (Visual Basic for Applications), де-факто, самый популярный язык для автоматизации Microsoft Office. Доступен из коробки, помимо Excel, работает в PowerPoint, Outlook, Access, Project и других приложениях.

          Если задать вопрос: «Какой язык программирования выбрать первым», то где-то в 90% всех случаев будет предложен Python. На практике здесь может быть и любой другой язык, но, исходя из популярности языка и своего опыта, буду сравнивать с ним.

          В общем виде можно описать ситуацию через подобный график:

          Детального сравнения не будет, рассмотрим основные killer-фичи, в ситуации, когда junior-программист/офисный сотрудник хочет автоматизировать что-либо, связанное с MS Office, и у него есть возможность выбора между языками.

          Если в силу разных причин возможности выбора нет, то и сравнивать нечего.

          В пользу VBA

          • Отличная работа с объектной моделью Excel и других приложений MS Office. Написание кода на VBA для большинства внутренних операций тривиально. У Python, в сравнении с VBA, поддержка объектной модели Office очень слабая.
          • Поддержка разных форматов MS Office. Самая большая проблема для внешних языков — это работа с разными форматами файлов MS Office. Например, xls, xlsx, xlsm файлы могут требовать разных библиотек, так как каждая хорошо работает только со своим форматом файла. Для VBA — это все «файл Excel», работа с которыми в целом одинаково хороша.
          • Работа с MS Exchange. Если необходимо обеспечить работу с корпоративной почтой/календарем на Exchange, то далеко не каждом языке есть нормальная библиотека для работы протоколом Exchange. В VBA это решается относительно просто через использование в макросе объектной модели MS Outlook.
          • Легкая установка и дистрибуция. К уже установленному офису не надо ничего устанавливать. Чтобы коллега мог воспользоваться программой, достаточно передать ему файл с макросом. Легко сделать надстройку, которая позволит «установить» модель макроса в фон офиса.
          • Интерактивность внутри приложений MS Office. Внутри офисных программ можно как просто поставить кнопки запуска макросов, так и (чуть сложнее) сделать целый отдельный UI. Сюда же относится написание своих формул в Excel и то, что макросы могут воздействовать на объекты внутри документов Office в реальном времени.
          • Запись макросов. Удобный инструмент, который позволяет записать действия человека в готовый код, для последующего редактирования использования.

          В пользу Python (и других внешних языков программирования)

          • Приятный синтаксис и синтаксический сахар. Если коротко, то VBA не отличается выразительностью и удобством. Это вопрос личного вкуса, но для меня Python намного удобнее.
          • Богатая экосистема библиотек. Огромный выбор готовых библиотек для работы с внешним миром. Пытаться сделать на VBA программу, взаимодействующую с каким-нибудь внешним API, та еще боль. Занимательно, что как раз для работы с файлами Office библиотеки того же Python — откровенно «на троечку».
          • Хорошие средства разработки. Можно выбрать из огромного выбор программ, которые облегчают процесс разработки. Стандартный редактор VBA из Office предлагает очень бедный функционал и, в сравнении с альтернативами из мира Python, откровенно неудобен. Писать код VBA в внешнем редакторе, а потом копировать внутрь офиса для отладки — тоже неудобно.
          • Скорость работы. Не проверял скорость однопоточной работы, но, предположу, что в случае однопоточной работы преимущество будет за Python. В любом случае, достаточно тривиально организуется многопоточная обработка данных/файлов, что позволяет говорить в большей достижимой скорости.

          Кейсы

          Далее приведены конкретные задачи, которые я сам решал или автоматизировал, и когда мне надо было выбрать стек: VBA или Python. Для каждой задачи указан выбранный стек и даны пояснения почему:

          • Задача: Программа для проверки всех файлов Excel в директории на предмет наличия скрытых листов
            • Мой выбор: VBA. Причины: простота работы с разными форматами файлов Excel и отсутствие внешних взаимодействий.
            • Сервис был реализован как почтовый бот, на адрес которого пользователь может переслать файлы Office, а в ответ пользователю по почте приходит ответ с файлами PDF.
            • Мой выбор: Логика VBA + Python для мониторинга
              • Во-первых, внутренние функции гарантированно сохраняли PDF, аутентичный файлу PowerPoint (внешние библиотеки плохо справляются с рендером PowerPoint).
              • Во-вторых, реализация почтового бота, как макроса в MS Outlook решала проблемы работы с корпоративной Exchange почтой. Так, в Python нет нормальной библиотеки для работы с MS Exchange.
              • Python использовался для организации мониторинга работы сервиса и нотификации о возможных проблемах
              • Мой выбор: VBA. Задача решалась через конвертацию двух файлов в PDF и их объединением с Riffle Shuffle. Так как важно качество конвертации в PDF, то использовались встроенные функции офиса для экспорта в PDF.
              • Мой выбор: Python.
                • Чтобы вытаскивать из html карточек данные пригодилась библиотека для парсинга html BeautifulSoup.
                • Excel-файл создает программа, поэтому мы сами можем решать, какую аналитику рассчитывать уже в нем, а какую еще на стадии подготовки данных в Python.
                • Мой выбор: VBA. Важно было аккуратно работать с текстом во внутренних объектах файла PowerPoint. Для перевода использовался API от Яндекса, так как он бесплатен для небольших объемов и прост в подклюении. Например, API переводчика Bing я так и не смог заставить работать в VBA, так как там для работы нужен OAuth со своими заморочками. Если бы пришлось работать с Bing, то, наверное, я бы делал сервис-посредник на Python.
                • Мой выбор: Python. Хотя API — простой (не требует какой-либо подписи запросов или авторизации) и выдает данные в CSV, выбран Python, так как нет причин выбирать VBA, а на Python писать удобнее.
                • Здесь я выбирал очень долго, так как есть много альтернатив:
                  • Сторонняя готовая система поручений
                  • База данных с каким-то обработчиком
                  • Access
                  • Excel
                  • Во-первых, Excel сам по себе является готовым UI для работы
                  • Во-вторых, VBA решает задачу работы с корпоративным Exchange через подключение MS Outlook
                  • В-третьих, это решение делалось с прицелом на коллег, которым Excel был более понятен, чем что-либо совсем новое

                  Заключение

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

                  Visual Basic

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

                  «IT-специалист с нуля» наш лучший курс для старта в IT

                  Однако, развитие Visual Basic пошло в сторону процедурного, объектного, компонентного и событийного программирования. Язык активно используется как для разработки Windows-приложений, так и для создания ПО для других платформ. Visual Basic можно скачать и использовать как отдельно, так и в составе Microsoft Visual Studio.

                  Лого Visual Basic 6.0

                  История развития

                  История Visual Basic началась в 1991 году, когда на основе синтаксиса QuickBasic компания Microsoft выпустила первую версию нового языка для своей операционной системы Windows. Новшеством, выделяющим новинку, стала связь с графическим интерфейсом, ранее реализованная программистом Аланом Купером в прототипе Tripod. Но именно в Visual Basic 1.0 эта реализация достигла нужного уровня. В том же году вышла версия языка для операционной системы MS-DOS с конвертором кода для Windows.

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

                  Профессия / 8 месяцев
                  IT-специалист с нуля

                  Попробуйте 9 профессий за 2 месяца и выберите подходящую вам

                  vsrat_7 1 (1)

                  Популярность Visual Basic начала расти с выходом версии 3.0 (1993 год). В нее были внесены существенные изменения — в частности, появилась возможность взаимодействовать с базами данных Access, а графический интерфейс переработали так, что работать с языком стало просто даже людям, не имеющим навыков в программировании.

                  В 1995 году вышла версия 4.0, одновременно с релизом Windows 95 — первой по-настоящему популярной версией этой операционной системы. Эта связка сделала Visual Basic действительно востребованным языком среди программистов. Среди ее ключевых отличий — возможность разработки как 32-, так и 16-разрядных приложений для Windows, а также появление полноценного компилятора, существенно увеличивающего скорость выполнения программ.

                  Начиная с версии 7.0, выпущенной в 2002 году, Microsoft резко изменила концепцию Visual Basic. Фактически, это уже был новый язык, хотя и позиционирующийся как логическое развитие предыдущего. Новая версия получила название Visual Basic.NET, она не имела обратной совместимости с предыдущими релизами. Ключевым отличием стало то, что код теперь стал полностью управляться фреймворком NET Framework Common Language Runtime.

                  Версии языка Visual Basic

                  Таким образом, в семействе языков Microsoft Visual Basic можно выделить несколько основных версий.

                  Visual Basic Classic (классический). Это первая версия языка, главные отличия которого заключались в основанных на QBasic общей концепции и синтаксисе, а также жесткая привязка к своей среде разработки и операционной системе. Иначе говоря, программировать на нем можно было только в собственной IDE и ОС Windows. Среда разработки предлагала пользователю широкий набор инструментов, таких как встроенный отладчик, функция просмотра переменных и структур в режиме реального времени, всплывающие подсказки, подсветка синтаксиса и т.д. Из-за этого программировать на классическом Visual Basic вне IDE (например, в обычном текстовом редакторе) было просто невозможно. Эта версия перестала развиваться в 2002 году, когда ее сменил Visual Basic .NET.

                  Visual Basic for Applications (VBA). Фактически, это тот же самый Classic, только немного упрощенный и адаптированный под разработку макросов и прикладного ПО для конкретных приложений. Язык программирования VBA встроен в структуру офисного пакета Microsoft Office (Word, Excel и т.д.), а также программных продуктов от других разработчиков — например, AutoCAD, CorelDraw, SolidWorks. Основанный на стандарте Microsoft COM (Component Object Model), он может задействовать все имеющиеся в ОС Windows COM-компоненты и ActiveX. Иными словами, можно исключительно с помощью средств, например, CorelDraw и языка VBA создавать приложения для Microsoft Office.

                  Visual Basic Scripting Edition (VBScript). Тоже урезанная версия классического Visual Basic, но направленная на разработку скриптов для приложений, использующих технологию Active Scripting. VBS применяется, например, для написания клиентских сценариев в Internet Explorer и серверного кода в веб-приложениях, автоматизации административных функций в ОС семейства Windows и т.д.

                  Курс для новичков «IT-специалист
                  с нуля» – разберемся, какая профессия вам подходит, и поможем вам ее освоить

                  Visual Basic.NET. Версия, появившаяся в 2002 году и представлявшая собой другой язык, в котором старые методы, применявшиеся в классическом Visual Basic, использовать уже было нельзя. Его основное отличие — тесная интеграция с платформой .NET Framework, выпущенной в то же время. В этой версии акцент смещен с индивидуальных особенностей самого языка на возможности фреймворка. Концептуально Visual Basic.NET. развивался в сторону объектно-ориентированности, он стал поддерживать полиморфизм, статическую типизацию, наследование и перезагрузку операторов. Благодаря этому с помощью него стало возможным создание действительно крупных программных продуктов, которые одновременно были гибкими и масштабируемыми. Несмотря на популярность и очевидные достоинства Visual Basic.NET., компания Microsoft прекратила его поддержку в 2020 году в пользу другого своего языка C#. «Вижуал Бэйсик» продолжает поставляться в комплексе с новыми версиями платформы .NET, однако обновлений для него не планируется.

                  Описание Visual Basic

                  Язык программирования «Вижуал Бэйсик» относится к категории императивных. Написанные на нем программы представляют собой строгую последовательность команд (приказов — отсюда и название «императивный»), причем каждая последующая использует данные, полученные при исполнении предыдущей. Кроме того, Visual Basic объединяет в себе элементы сразу нескольких парадигм (методологий) программирования:

                  • Процедурной — можно разбивать задачу на более мелкие и группировать последовательно выполняемые операторы кода в подпрограммы для их решения;
                  • Объектно-ориентированной — программу на Visual Basic можно представить как совокупность взаимодействующих друг с другом объектов, каждому из которых присвоен определенный класс, образующий определенную иерархию;
                  • Компонентно-ориентированной — она представляет программу как совокупность отдельных независимых языковых конструкций (модулей или компонентов) исходного кода, предназначенных для повторного использования;
                  • Событийно-ориентированной — в Visual Basic имеются встроенные обработчики событий, таких как использование программистом клавиатуры и мыши, сообщений, поступающих от других приложений, активности операционной системы и т.д.

                  Главной особенностью Visual Basic, отличающей его от большинства языков, стало применение в программировании графического интерфейса. Фактически, пользователь мог создать свое приложение как конструктор, используя готовые визуальные компоненты (например, кнопки управления, поля и т. д.), расставляя их в нужном порядке методом drag and drop (перетащи и брось). Так как эти компоненты имеют свои атрибуты и обработчики событий, они будут реагировать на действия пользователя при исполнении программы. Это дает возможность разрабатывать реально работающие (хоть и ограниченные по функционалу) приложения даже человеку, не имеющему никакого опыта в программировании.

                  Интерфейс разработки в Visual Basic 6.0

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

                  До 4 версии у Visual Basic не было собственного компилятора, для запуска и исполнения программ использовались библиотеки, которые поставлялись вместе с языком. С появлением компилятора работа приложений значительно упростилась, хотя для реализации некоторых функций продолжали использоваться библиотеки. Однако, теперь они были интегрированы в саму операционную систему, что облегчало задачу разработчикам. В последних версиях компилятор поставляется вместе с Visual Basic в составе пакета Microsoft Visual Studio, куда также входят редактор исходного кода, отладчик и другие инструменты для разработки программ и веб-приложений.

                  Преимущества Visual Basic

                  Простота. Язык программирования Visual Basic унаследовал от своего прародителя QuickBasic простой синтаксис, который доступен для изучения новичкам в программировании. Поэтому для многих программистов именно с этого языка начинается знакомство с разработкой программ и веб-приложений. Кроме того, в нем прекрасно реализована концепция визуального проектирования, которая также снижает порог вхождения.

                  Высокая скорость разработки. Благодаря графическому интерфейсу на Visual Basic можно быстрее разрабатывать приложения. Особенно это касается программных продуктов для операционной системы MS Windows, в которую уже интегрированы многие нужные инструменты и библиотеки. С разработкой приложений для других платформ дело обстоит сложнее, их пользователям нужно скачивать и устанавливать эти компоненты отдельно.

                  Мощная поддержка. Visual Basic долгое время был одним из основных продуктов компании Microsoft — одной из самых богатых и влиятельных IT-корпораций мира. Поэтому он до сих пор имеет значительную коммерческую и техническую поддержку (хотя проект прекратил развитие еще 2 года назад), информационное сопровождение в виде многочисленных учебников, инструкций, видеоуроков, справочных материалов и т. д. Это упрощает программистам поиск решений для возникающих перед ними задач.

                  Защита от ошибок. В Visual Basic используются указатели и доступ к памяти. Это делает написанные на нем приложения более стабильными. Кроме того, за счет постоянной автоматической компиляции программы по ходу ее написания в P-код (абстрактный машинный код для виртуальных машин) есть возможность быстро найти ошибку, не перезапуская приложение. Наличие удобного редактора с функциями автоматической подстановки, подсветки синтаксиса также повышают надежность работы конечного продукта.

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

                  Недостатки Visual Basic

                  Ограниченная кроссплатформенность. На Visual Basic можно писать программы только под операционные системы Microsoft Windows и Apple MacOS. Хотя усилиями энтузиастов были разработаны некоторые способы, допускающие разработку приложений на VB для других платформ, особого распространения они не получили ввиду своей сложности.

                  Строгая привязка к среде программирования. Писать код на Visual Basic можно только с помощью поставляемых вместе с ним инструментов. С одной стороны, интегрированная среды разработки дает широкие возможности программисту. С другой — язык нельзя использовать вне ее, например, в обычном текстовом редакторе. В частности, это не позволяет писать на нем код многим программистам-пользователям операционных систем Linux.

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

                  Применение Visual Basic

                  Язык программирования Visual Basic создавался корпорацией Microsoft прежде всего как инструмент разработки продуктов для своей операционной системы Windows. Эта привязка сохранилась на протяжении всего срока развития и поддержки VB, за что неоднократно подвергалась критике. Однако, в рамках своей экосистемы он позволяет разрабатывать самые разные программные продукты:

                  • плагины и макросы для приложений Microsoft Office, CorelDraw, AutoCAD и некоторых других профессиональных программных продуктов;
                  • графические интерфейсы приложений, чему очень способствуют встроенные в язык инструменты визуальной разработки;
                  • консольные приложения, запускаемые с помощью командной строки — например, файловые менеджеры, веб-браузеры, текстовые редакторы и т.д.;
                  • игры — как правило, текстовые (вроде «О, счастливчик!») или несложные графические программы из-за того, что реализовать на Visual Studio полноценные проекты с развитой графикой и физикой очень сложно;
                  • специализированные приложения для выполнения математических, научных и статистических расчетов;
                  • серверные и веб-приложения и другие программные продукты.

                  Еще одной сферой, где Visual Basic популярен до сих пор, остается обучение программированию. Благодаря тому, что небольшое приложение на нем можно создать, практически не прописывая код, с помощью исключительно визуальных инструментов, это сильно снижало порог вхождения пользователя. При этом язык (точнее, его среда разработки) наглядно демонстрирует принцип работы компьютерной программы, взаимодействие ее компонентов и т. д.

                  Значение и перспективы Visual Basic

                  В 2020 году Microsoft заявила, что прекращает развитие этого языка (точнее, его версии Visual Basic.Net), хотя он продолжит выходить в комплекте Visual Studio. Visual Basic for Applications (VBA) по-прежнему используется во многих приложениях, созданных самой корпорацией и сторонними разработчиками. Однако, новых функций в него добавляться уже не будет.

                  Visual Basic с самого своего появления имел неоднозначную репутацию в среде профессиональных программистов. Многие специалисты считали его «игрушечным», пригодным только для обучения и создания небольших приложений и игр. Простота языка (точнее, принципа визуального проектирования) критиковалась за то, что сильно снижала порог вхождения, из-за чего любители создавали хоть и работоспособные, но крайне неэффективные продукты.

                  Тем не менее, Visual Basic стал одним из знаковых достижений компании Microsoft и оказал влияние на развитие других компьютерных языков. Некоторые из реализованных в нем решений были использованы в том же С#. Он также стал отличной «учебной партой» для многих специалистов, которые затем перешли на более востребованные ЯП.

                  IT-специалист с нуля

                  Наш лучший курс для старта в IT. За 2 месяца вы пробуете себя в девяти разных профессиях: мобильной и веб-разработке, тестировании, аналитике и даже Data Science — выберите подходящую и сразу освойте ее.

                  картинка (75)

                  Статьи по теме:
                  Топ-10 языков согласно индексу TIOBE

                  Делимся подборкой IT-профессий для креативщиков и математиков, а также лайфхаками, как выбрать подходящую именно вам

                  Сколько языков программирования нужно знать крутому маркетологу

                  Если раньше навыками программирования владели только узконаправленные специалисты, то сейчас все больше маркетологов интересуются языками программирования и применяют их в работе. Customer Data Expert Павел Левчук выучил не один, а целых 4 языка программирования. Что это за языки и как владение ими помогает в работе, читайте в интервью.

                  Павел Левчук, Customer Data Expert

                  1. подключиться к разным источникам,
                  2. скачать данные,
                  3. очистить их,
                  4. связать вместе,
                  5. сделать нужные расчеты,
                  6. визуализировать их,
                  7. сделать выводы и перейти к п. 1.

                  — Какой язык программирования лучше подходит для работы с данными?

                  Здесь точно нет серебряной пули. Опираясь на свой опыт в маркетинге, я использую регулярно такие языки программирования: SQL, R, M, DAX.

                  • SQL (Structured Query Language) — основной интерфейс работы с реляционными базами данных (БД). Используется для добавления, обновления и удаления строк данных, извлечения наборов данных для обработки транзакций и аналитических приложений, а также для управления всеми аспектами работы БД.
                  • R — универсальный язык для анализа данных. Он написан статистиками для статистических исследований.
                  • M — задумывался как язык для подключения к различным источникам данных и последующих их преобразований. Он работает только внутри экосистемы MS.
                  • DAX — язык для написания сложных логик расчетов метрик внутри Power Pivot / Excel / Power BI.

                  Понятие «лучше» практически не применимо к сравнению языков программирования. Здесь важны такие критерии, как:

                  1. скорость создания кода,
                  2. наличие библиотек, которые уже решают твою задачу,
                  3. количество необходимого кода,
                  4. его читабельность;
                  5. скорость исполнения обработки данных;
                  6. интеграция результатов со следующими шагами анализа;
                  7. операнализация (работа с данными на потоке или в продакшн).

                  Часто, но не всегда, данные хранятся в реляционных БД. Для доступа к ним используется SQL (Structured Query Language).

                  — Что такое реляционные базы данных, чем они отличаются от обычных?

                  Реляционная база данных — это набор данных с предопределенными связями между ними. Эти данные организованы в виде набора таблиц, состоящих из столбцов и строк. В таблицах хранится информация об объектах, представленных в базе данных. В каждом столбце таблицы хранится определенный тип данных, в каждой ячейке — значение атрибута. Каждая строка таблицы представляет собой набор связанных значений, относящихся к одному объекту или сущности. Каждая строка в таблице может быть помечена уникальным идентификатором, называемым первичным ключом, а строки из нескольких таблиц могут быть связаны с помощью внешних ключей. К этим данным можно получить доступ многими способами, при этом реорганизовывать таблицы БД не требуется.

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

                  Если источник данных предполагает наличие API, то можно быстро и нативно получить необходимые данные от сервиса. Например, в системе рассылки имейлов (ESP) можно по API запросить по каждой email-кампании список подписчиков, статус открытия и т. д. и построить нужный тебе отчет о рассылках. Альтернативно можно попытаться спарсить данные, если они лежат открыто, но нет API.

                  Также данные часто находятся не в том формате и/или они грязные. В таких случаях их нужно подготавливать к последующему анализу. Здесь уже появляются опции: это все еще можно сделать на SQL, но можно использовать и другие языки, например R, M или Python. Допустим, поменять типы данных колонок, удалить строки с пустыми значениями или с выбросами.

                  — То есть под разные задачи из цикла работы с данными тот или иной язык позволяет решить текущую задачу быстрее?

                  Да. Например, сделать что-то разовое можно с помощью формул в Excel. Если нужна повторяемость при поступлении новых данных и статически несложные расчеты, то подойдет DAX. Для более сложных операций — R.

                  Мне нравится современный R (R + tidyverse + RStudio IDE) тем, что он позволяет быстро подготавливать данные и применять разнообразные статистические модели для выжимания инсайтов из данных. Например, можно легко делать такие вещи, как регрессии (для понимания линейных зависимостей), кластеризацию данных (для сегментации, классификации для прогнозирования, например, покупки и/или оттока).

                  Для более простой аналитики я использую BI-стек: Power Query/M + Power Pivot/DAX + Excel/Pivot Tables.

                  Как я уже упоминал выше, я активно использую четыре языка. Использование одного или нескольких языков зависит от контекста задачи. Если на одном языке это одна команда, а на другом 10, то чаще всего я сделаю это там, где это будет быстрее реализовать. Бывают и исключения, когда я выстраиваю pipeline-обработки данных и перебрасывание данных из одного языка программирования (среды) в другой неоптимально с точки зрения регулярной обработки и с учетом увеличивающегося объема данных в будущем. Например, когда я строю BI-решение, то стараюсь использовать возможности одной экосистемы.

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

                  Например, в Excel есть подсистема Power Query. Она позволяет мне быстро подключиться к данным, сделать их очистку и преобразования и тут же положить их в высокопроизводительную БД внутри того же Excel — Power Pivot. Затем, используя язык программирования DAX внутри Power Pivot, я описываю метрики, которые меня интересуют, и тут же в Excel делаю их визуализации через сводные таблицы и/или чарты. Все это позволяет мне сфокусироваться на анализе вместо решения инфраструктурных задач.

                  Язык программирования для работы с Excel?

                  Здравствуйте! Есть необходимость программирования рутинной работы в Excel. Сам любитель, раньше пробовал писать в VBA. Решил создать сайт (для друзей) и обрабатывать Excel файлы. Есть ли VBA запускается внутри файла Excel, то встал вопрос о внешнем обработчики / редакторе файла.
                  Искал в сети и сделал выбор на Python — библиотека — Openpyxl.
                  Пользуюсь 3 дня и пока что по ощущениям библиотека ужасна, не подточена под excel. Гемор в том что постоянно ошибки типов данных (кортеж кортежей, тип итерации не подлежит и тд.). Даже сложность в указании заранее неизвестных диапазонов.
                  Мои задачи в основном в создании бухгалтерских алгоритмов, выборка данных, раскидывание в определенные ячейки, арифметические действия и т.д.

                  На что можно заменить openpyxl? Думал о Pandas, но он вроде для анализа в основном, подходит ли он для моих задач и проще ли им пользоваться?
                  Я понимаю что плохому танцору. Но какое есть оптимальное решения для прогера любителя?

                  • Вопрос задан более трёх лет назад
                  • 12488 просмотров

                  1 комментарий

                  Простой 1 комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *