История AutoIt и его разработчиков

Этот раздел предназначен для заинтересованных в том, как начинался проект AutoIt, и как подключились к проекту различные разработчики. Разработчики должны добавлять свои собственные мысли, когда они имеют время :)


Jon

Октябрь 1998

Я работал над проектом по созданию автоматизированной Windows NT 4 для компании в (UK) Великобритании. Стало ясно, что около половины необходимых приложений не имеют способа тихой установки. Поискав некоторое время какой-нибудь способ заставить нажиматься кнопки, натолкнулся на Microsoft ScriptIt, который был скомпилированный скрипт WinBatch разработанный для кликания кнопок в автоматической конфигурации.

ScriptIt работал хорошо, но это было крайне ненадежным. Он был заведомо капризный к скорости машины, на которой использовался и не было возможности контролировать задержки между нажатиями клавиш. Еще одна особенность, которая вызвала проблемы, не было способа указать рабочий каталог, откуда запускалась программа, что вызвало множество проблем со многими приложениями, которые я автоматизировал. Кроме того некоторые из функций не работали под NT 5 beta (т.е. Windows 2000).


Рождество 1998

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


Январь 1999

Первая версия AutoIt, выпущенная на старом сайте winfiles.com. Синтаксис был похож на ScriptIt (для Send) и представленные функции Send, Run, RunWait, WinWait, WinWaitClose, WinWaitActive, WinHide, WinActivate, WinClose, WinRestore, Sleep и SetKeyDelay. Из справочного файла v1.0:

Преимущества
- Гораздо меньший размер, 40 кб (меньше чем ScriptIt, который 600 кб).
- Будет обновлён, если найдутся проблемы.
- Функция "Reveal" намного лучше.
- Не активные окна, так же как и активные могут ожидаться.
- Возможны различные по времени задержки (указываются в миллисекундах).
- Время между нажатиями клавиш может быть изменено.
- При запуске приложения, можно указать рабочий каталог.
- Заставит окна быть активными под Win98/NT 5.0 (Использовать "WinActivate")

Недостатки
- Раздел "[ADLIB]" не реализован
- Скрипт должен быть правильно отформатирован (не допускаются пробелы в строках
содержащих команды).
- Не представлено ни одной из команд Wilson WinBatch.
(Но кто использует их вообще?)
- Из-за названий команд, которые я использовал, скрипт становится немного больше.


Январь - Апрель 1999

Многочисленные версии, выпущенные до v1.8 с функциями, такими как:
- Классный режим /reveal
- Goto!
- IfWin...
- Управление мышью
- Поддерживается аналогичное ScriptIt ADLIB
- Gosub
- Поддерживаются переменные %ENV%


Август 1999

Выпущен AutoIt v2.
Создана первая версия AutoItX.


Сентябрь 1999

AutoIt v2.1 - Создана первая версия Aut2Exe.


Сентябрь 1999 - Май 2001

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


Май 2001

Исходный код AutoIt был в полном беспорядке. Весь исходник переписан на C++.


Январь 2002

AutoIt v2.62 - Создана первая версия Exe2Aut
Создана первая версия AutoItDLL.


Декабрь 2002

AutoIt v2.64 - Последняя версия AutoIt v2.

Функция FileInstall добавлена после написания моего собственного алгоритма сжатия и библиотеки архивирования.


Январь 2003

Очень мало было разработано с 2001 по 2003 год. Проект достиг момента, где я потерял желание работать с ним. Исходный код был снова в беспорядке, потому что в проект такого рода вы склонны прибавлять каждую функцию, которую все хотят, не думая о будущем. Синтаксис AutoIt v2 был реально ужасным.

Половина просьб, полученных мной, были для элементарных циклов и выражений - половина вопросов были "как мне использовать наклонную черту в команде Run". Блин.

В это время появились многочисленные "надстройки", такие как Aut2xtra созданный Larry, который позволял использовать некоторые отсутствующие в AutoIt функции (потому что у меня не было ни времени, ни мотивации добавлять их).

IIRC Larry дал понять, что он был расстроен нехваткой развития и предложил написать новую версию. Я решил, что если хотят новой версии, то она должна более походить на "правильный" язык. Я начал разрабатывать каркас для AutoIt v3.

Предыдущие версии были очень строги к синтаксису, это выглядело так: "Command, param1, param2,..." и потребовалось около месяца, чтобы придумать что-то, что могло интерпретировать сложные выражения, содержащиеся в строках (много прибегая к googlе-запросам). Хотя я "получил" это теперь, написать код выражений в AutoIt было 2-ым самым трудным, что я когда-либо сделал. (Самым трудным, что я написал, был алгоритм сжатия используемый в Aut2Exe, который я написал с нуля)

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


Март 2003

Выпущена первая публичная бета-версия AutoIt v3 (после многих разговоров).


Февраль 2004

После более чем 100 бета-версий и development spirialling well out of control AutoIt v3.0.100 была наконец выпущена.

Jon :)



Larry

В начале 2001 я начал свою собственную автоматизацию развертывания систем WinNT. Я обнаружил, что предыдущий куратор использовал скрипт AutoIt для обработки некоторых взаимодействий. Увлёкся... Я разобрался в управлении, которое AutoIt имел в процессе развёртывания, выбрасывая все остальные средства автоматизации и сосредотачиваясь на решении "Всё-AutoIt".

В то время все мы были в группе Yahoo AutoItList. У меня было много свободного времени на работе (благодаря AutoIt) и я уделял много внимания AutoItList. Jon заметил мою вовлечённость и разрешил мне модерировать/поддерживать эту группу. Хотя, я не смотрел в разделе файлов, особенно, в те годы.

К 2003, я продвинулся в AutoIt до его пределов, поэтому начал изучать C, чтобы создать утилиты командной строки (включая GUI, AutGUI.exe), чтобы использовать с AutoIt. Тогда я начал угрожать всем попыткой создать AutoIt "следующего поколения". Я разбирался около 2 дней в коде анализатора скрипта и (я думаю) Jon озаботился тем, насколько ужасно было моё неумелое обращение, и какой слабый продукт мог последовать. Таким образом он спас меня и решил посвятить в его собственные усилия.

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

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

Lar.



Jos

Я использовал AutoIt с версии 2...
Стал более активным на старом форуме перед тем как перейти на этот новый форум.
Начал предлагать помощь на такие вещи, как:
- Автоматизация создания справочного файла.
- Сделать открытие справочного файла для функций и ключевых слов AutoIt3 (F1) работающих в редакторах Crimsom/TextPad/SciTE.

Написал множество UDF.
Написал Tidy для синтаксиса Autoit3, как способ изучить AU3. Сейчас это BCX - C (Basic to C converter), потому что я хотел чтобы он работал быстрее.
Начал разработку AutoIt3 Lexer для SciTE и представлены, для включения в SciTE v 1.60.
Начал пакет установки SciTE4AutoIt3, чтобы сделать единый установщик для всех новинок, разработанных другими и мной и создал справочный файл для него.
Написал AutoIt3Wrapper, чтобы обеспечить легкий доступ к обоим версиям, основной и бета версии AutoIt3 и обеспечить директивами компиляции для обновления информации в ресурсах компилируемой программы.
Открыл веб-сайт SciTE4AutoIt3, когда SciTE стал более популярным.

Стал модератором, когда слишком много (как бы сказать это вежливо) детских скриптов начали терроризировать форум, а у Jon'а не всегда есть время, чтобы быть рядом, а Larry живёт в другом часовом поясе.

Написал Obfuscator, который основывается на исходном коде Tidy, чтобы сделать скрипт частично нечитаемым.

Jos :)



Valik

A long time ago I found a Diablo II bot. For whatever reason (Probably to fix something), I learned it was written in AutoIt so I came to the site to get the program. Around the time Jon started work on v3 I started learning C++. Once the v3 beta's were released I started porting some of my old scripts to v3. Eventually I either find problems or wanted features and since the source to AutoIt was available at that time and I was learning C++, it seemed like a good idea to contribute. As for becoming a moderator, much like JdeB, I grew tired of the stupidity on the forum.



Jpm

I cannot remember when I found AutoIt - but it was a simple yet powerful script language. I use it a lot to automate the reinstall process of my Windows Beta testing so that I can have the same environment (system and user) every time. I was able to install it while doing something else. The process was very slow with a 200Mhz machine...

So up until March 2003 I decided to help French people doing the French translation of the V2 version. At this time the Autoit source code V3 was available so I decided to learn more about C and the Windows API. I wrote the converter V2 to V3 to convert my scripts - it doesn't seem so usefull today but at least my C code learning was improving.

I participated in some improvements to help automation of any windows version or any OS language. I created a test AutoIt non regresssion suite to help our internal process of delivering good beta versions. I was so fond of having GUI creation that when Larry start his AU3GUI project, I decided to integrate it into the V3.0 version.

At the time Jon was so busy outside AutoIt so I looked after bug reports and beta versions. I try to manage the BUG report forum as much as I can and to identify/integrate the improvements that I love and that I can implement...

JP ;)