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

Второй пост из серии - здесь.

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

Моим первым побочным проектом был настольный помощник. Я назвал его WinQSpeaker, потому что это было приложение для Windows, которое позволяло вам быстро выполнять стандартные и повторяющиеся задачи, и оно могло разговаривать! Или хотя бы сказать пару слов 🤣

Я был в 10-м классе, когда спросил отца, может ли он купить мне книгу по программированию. Я видел один в библиотеке под названием «Создание решений с помощью Visual Basic .Net». В то время я изучал Visual Basic 6.0 в школе. Это был первый раз, когда я кодировал что-то большее, чем Hello World или 2 + 2.

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

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

Затем мой отец, который упорно трудился, смог купить мне компьютер, AMD Athlon, но он не мог позволить себе лицензию Visual Studio .Net. Я говорил об этом со своим учителем, и он сказал мне: Возьмите это, это не Visual Studio .Net, но это стандартная версия Visual Studio 6.0. Вы можете использовать лицензию; это разрешено для учебных целей



С моим новым компьютером, базовыми знаниями Visual Basic и подключенной к Интернету учетной записью моего соседа я прочитал и попробовал так много руководств, и однажды я обнаружил Microsoft Text To Speech API, который использовался API MS Agent. Вы помните Клиппо и Мерлина?

Итак, это были функции, которые было у этого приложения:

  • Значок на панели задач: приложение было помещено на панель задач для экономии места на панели задач. С помощью контекстного меню вы можете запустить его в оконной версии.
  • Всегда сверху и прозрачность. Как помощник, он не должен прерывать ваши действия, но к некоторым функциям можно получить доступ только из главного окна, поэтому вы можете активировать всегда сверху с прозрачностью.
  • Музыкальный проигрыватель и умный плейлист. Первой функцией, которую я добавил в приложение, было найти музыку в любом месте на моем компьютере, проиндексировать ее и проанализировать, какая песня мне нравится больше всего, на основе повторов. Он использовал API музыкального плеера, а алгоритм списка воспроизведения был реализован мной.
  • Мультяшный: я отредактировал каждый элемент оконной версии и значки с помощью краски. Таким образом, индикатор выполнения музыкального плеера, ползунок панели, кнопки, все было изображения, отредактированные мной пиксель за пикселем. Я хотел включить функциональность скинов, как раньше в WinAmp, но вспомнил, что не могу завершить эту функцию.
  • Распознавание речи и преобразование текста в речь (TTS): в настоящее время используется MS API. Это была скрытая функция, встроенная в Windows 98 SE, ME и XP. Распознавание голоса было хотя бы на английском языке и работало довольно хорошо. Я использовал API преобразования текста в речь через MS Agent, поэтому анимированный персонаж отвечает фразами вроде Хорошо и спрашивает Что вы хотите сделать?. Современную версию TTS API можно найти здесь.
  • Библиотека команд: любая команда, которую вы можете выполнить с помощью Win + R. Эта библиотека позволяет вам организовать ваши любимые команды и присвоить им имена или связать фразу для их запуска. В тот момент мне было сложно реализовать интеллектуальную систему распознавания голоса, чтобы понимать естественную речь и выбирать, какое действие выполнить. Самая продвинутая конфигурация, которую я сделал, заключалась в том, чтобы индексировать музыкальные песни каждый раз, когда он находит новую, чтобы вы могли сказать Play Baby One More Time, и он понял бы. Но если вы скажете: Я хочу послушать Baby One More Time, ничего не получится. Современную версию API распознавания речи Microsoft можно найти здесь.

Я не могу поверить, что я сделал все это, не зная ООП, я только следовал инструкциям и понял, что после назначения чего-то со словом «новый» переменной, эта переменная покажет мне множество вариантов после размещения точки «. ” сразу после его набора. Я не знал, что мне помогает IDE. Не знал также, что такое IDE 🤣.

Я помню, что реализовал алгоритм пузырьковой сортировки, не зная, что он называется пузырьковой сортировкой, когда я пытался упорядочить элементы списка воспроизведения в алфавитном порядке.

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

Я проработал в этом побочном проекте около двух лет, затем поступил в колледж и изучил C, C ++, Java и PHP, так что меня официально познакомили с ООП.

С тех пор я больше не использую VB, но вспоминаю его с некоторой ностальгией.

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

Второй пост из серии - здесь.

Первоначально опубликовано на https://dev.to 18 мая 2020 г.