Что нового

AutoIt. Что учить после?

_ToBe_

Осваивающий
Сообщения
142
Репутация
35
Помнится мне начинал я автоматизировать обыденные процессы с проги, которая записывает действия мышки и потом их воспроизводит :smile: Я был просто счастлив, когда она целый час делал за меня то, что я ей указал делать ;D После, я заставил её работать целую ночь, а после я понял, что пора двигаться дальше :smile:

Следующим этапом был выбор между AutoIt и AHK (AutoHotKey)... Попробовав оба я понял, что мне понятнее Автоит по виду и по синтаксису и взялся за его изучение 8) Как я был шокирован, когда увидел сколько он может и сколько я могу на нём сделать, а самое главное - как быстро он работает и понимает что я от него хочу :-[ В общем мы с ним быстро подружились. Теперь он делает туже задачу, что и на первом этапе, но ещё быстрее, ещё удобнее, ещё больше окон одновременно обрабатывает. Я предельно счастлив! ;D

И вот очередной тупик. Я взял от программы всё (или почти всё), что мне требуется. Пора идти дальше, но я не знаю куда и с чего начать свой путь... Прогуглив всё и вся я нашёл такие языки как Basic (и его разновидности Pure Basic, Visual Basic), Delphi, Python, Java (JavaScript), PHP, C / C++ / C#... Единственное что я пробовал изучать из этого списка - это Си Шарп. Мы друг друга сразу не поняли :-X После Автоит-а он показался мне набором символов и библиотек, которые как-то связанны, но слишком замудрённо и сложно читаемо... Ещё пробовал ActionScript, там более менее понятно, но работает он гораздо медленнее, да и он не столь многофункционален (используется в основном для Веб приложений и Игр)

Что посоветуете? Куда двигаться дальше? Есть ли языки такие же интуитивно понятные и доступные, как Автоит?

Заранее благодарю каждого, кто оставит мудрые cоветы с осмысленными коментариями, почему так, а не иначе :smile:
 

Andrei7

Новичок
Сообщения
72
Репутация
3
смотря для каких целей :smile: дальше может быть делфи, си, а потом и асма... а вообще задай себе вопрос - "а нужно ли тебе это?", "есть ли смысл забивать этим голову?"
вот например - если я что то на аутоите писал, то мне это приносило деньги. хоть и не большие, но доход есть :smile: сейчас бы сказал, что на пиво зарабатывал, но не пью ;D поэтому всё идёт на инет, которым пользуюсь уже больше полугода бесплатно :smile:
 

eropov

Jury
Сообщения
195
Репутация
25
Да Andrei7 сказал правильно, а нужно ли вам изучение нового языка и что вы хоте от него получить.
Если все же это нужно то я думаю что С++. С++ можно сказать модифицированная версия ЯП Си.
Си Шарп на сколько я помню это разновидность Си придуманная "мелкомягкими".
Эти си языки они процедурные на них можно реализовать все что угодно, имеют высокую скорость работы кода, в скомпилированном виде программы имеют "маленький вес".
Если пройтись по вебу, то php нормальная тема, его исходники можно скомпилировать в программу под windows, но она будет иметь вес более 5 мб, что существенно не удовлетворят своей громоскостью. Если этот язык использовать по назначению, то он не так плох. У него СИ подобный синтаксис о 3000 готовых функций, есть ООП и сам язык не умер как думали.

Короче говоря если вы хотите использовать ЯП под ОСИ, то С++, то что нужно ))
 

zlo-kazan

Скриптер
Сообщения
374
Репутация
100
Давно не учу просто так. Изучаю, то что требуется именно в данный момент... Когда коду есть практическое применение, то изучается в 2-5 раз быстрее чем просто создаешь бесполезную поделку... и т.д. :smile:

Если есть лишнее время, то посоветовал бы SQL. Он очень живо пересекается со всем остальным... AutoIt, C, PHP. И часто было из-за нехватки знаний в SQL приходилось придумывать велосипед на AutoIt или PHP. Но опять же желательно БД придумать практическое применение...

т.е. например парсить gismeteo и создавать историю погоды... и как сильно погода менялась в зависимости от того когда её предсказали... за месяц... за неделю... за 2 дня... за 1 день... и в этот же день... :smile:
 

Кайгородов В. Ю.

В универе только TurboBASIC изучал и то забыл уже
Сообщения
25
Репутация
0
Я точно такой же путь прошёл, только этап "запись действий мышки и их воспроизводство" продлился не дольше 40 минут, после чего я просёк синтаксис проги. Единственная проблема была с определением координат с экрана, и я использовал бумажку с делениями, которую прикладывал к монитору ;D , пока не наткнулся на AutoIt Window Info, а от него уже перешел к AutoIt.
 

zlo-kazan

Скриптер
Сообщения
374
Репутация
100
Очень удивило...
Я взял от программы всё (или почти всё), что мне требуется.
Каждый раз когда захожу на форум... то открываю для себя дофига нового... :smile: А зарабатывают у нас не те, кто знает множество языков программирования, а те кто знает 1-2, но ооочень глубоко. :smile: Как любил говорить мой друг... "нечего тут зоопарк разводить"...
 

scanfail

Знающий
Сообщения
244
Репутация
17
Ну я лично сам начал потихоньку изучать C#, как раз отлично подходит для моего хобби, создания ботов для ММО. ;D
 
Автор
T

_ToBe_

Осваивающий
Сообщения
142
Репутация
35
Я не спорю - в автоите есть очень много всего и изучать его ещё долго и много :smile: Но... Рано или поздно вы захотите поделиться этим с кем-то или выставить на общее пользование, но так, что б никто не смог скопировать ваш код и использовать его в своих корыстных целях ;D А с защитой у Автоит проблемки... Посему, его смело можно отнести к категории ЯП "для себя" или своих друзей/приятелей/соклановцев/коллег и т.д.

Конечной же целью для меня является создавать свои Инди игрушки :smile: Пробовал конструкторы тима RPGMaker, даже получалось ;D Даже сам играл в свою игру, но всё это слишком ограниченно набором вложенных функций и операций... А хочется безграничности и свободы реализации задуманного :-[

Судя по данным ответам и прогугленным форумам, предпочтение остаётся за С и С++...

А что думаете про Питон (Python)? Он вроде тоже используется для Игр... Например EveOnline... А ещё в учебнике по питону узнал, что Питон в наше время используют целый ряд крупных компаний :Google, YouTube, BitTorrent, AppEnginge, Massive Multipayer Online Game, Maya, Intel, Cisco, Seagate, Qualcomm, IBM, Pixar, NASA 8)
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
_ToBe_ [?]
А что думаете про Питон (Python)?
Python – это тоже скриптовый язык сверхвысокого уровня. поэтому у него те же самые недостатки. есть какие-то сторонние компоненты для получения исполняемого файла в Windows, но опять же – про защиту можно забыть. хотя как язык – возможностей у него куда больше чем в AutoIt.
 
Автор
T

_ToBe_

Осваивающий
Сообщения
142
Репутация
35
Ого, а этого я не знал... Получается что те, кто пишут что-то на питоне, заранее знают, что их код спокойно можно скопировать и юзать в своих целях? Странно тогда, что такие крупные компании всё ещё используют питон... Может у них есть какие-то сверх-секретные шифровалки? :D

И значит ли это, что Вы, Kaster, тоже отадёте свой голос за Си:?
 

AZJIO

Меценат
Меценат
Сообщения
2,891
Репутация
1,195
_ToBe_
И вот очередной тупик. Я взял от программы всё (или почти всё), что мне требуется.
Можно увидеть скрипт или программу, которую вы создали, которую вы считаете верхом вашего достижения на данный момент?
 

zlo-kazan

Скриптер
Сообщения
374
Репутация
100
Получается что те, кто пишут что-то на питоне, заранее знают, что их код спокойно можно скопировать и юзать в своих целях?
Те применения Питона которые знаю. Это то что его запускают на закрытых серверах и на них же он работает. Т.е. это не приложения которые можно скачать и т.д. (Хороший пример PHP... все пользуются, код лежит в текстовом виде, а исходников не получить... [не хакнув сервер])
AutoIt же использую у себя в работе без боязни, что кто-то уведет код... потому, что доступ на сервер есть только у меня и у моего руководителя... да и скрипты очень индивидуальные... т.е. для других они не имеют никакой практической ценности... некоторые запускаю прямо из компилятора. (так, что-то подправить быстрее)
 

Robox

Новичок
Сообщения
9
Репутация
3
Как говаривал один хороший человек: Чуть ли не каждодневая практика только даст вам знания языка. А так, чисто изучить и не применять пол года? не...

Вот PHP c MySQL это чуть ли не каждодневно и более 7 лет, вот эта практика, да, здесь я мастак. А все остальное, правильно сказали выше: Я берусь за незнакомый язык, только если есть задача сделать на нем то, что мне требуется для решения моей задачи...

Надо было бинарные прошивки парсить, вычленять данные, всех легче написалось на С#, надо другое что-то, Си-шарп не подощел, в виду "таскания за собою .NET фрамеворка", думал напишу на C++, сложновато глядеть в непонятный код и теже TreeView выглядели монстроподобно ))) а вот в АвтоИте все оказалось понятней и компактнее, с учетом, что в давние времена все поголовно знали Basic ))
 

AZJIO

Меценат
Меценат
Сообщения
2,891
Репутация
1,195
Хорошо изучать сложные языки, если рядом окружают профессионалы с детства. Когда этого нет, то лучший принцип - переход от простого к сложному. При таком переходе мне нужно всего лишь написать некоторые замещающие функции AutoIt3 на языке С++, не все, например StringFormat всего лишь копия sprintf. То есть если не изучив базу вы переходите к 3000 функциям, львинная доля которой вам не нужна на данный момент, это тоже самое, что спортсмен сразу перейдёт к штанге 245 кг. Возможно те функции, которые уже написанные как UDF вам придётся делать самому. Я пока ещё не натыкался на такую же удобную справку как у AutoIt3, чтобы самые сливки были упорядочено уложены по полочкам, только выбирай и вставляй в программу.


Добавлено:
Сообщение автоматически объединено:

Теперь про алгоритмы, которые почти не зависят от языка. К примеру была у меня функция, которая при 3700 строк работала 13 минут, после оптимизациии, то есть нахождения более совершенного алгоритма функция стала работать 2 секунды. То есть знание синтаксиса более низкоуровнего языка не даёт возможность написать быстрый алгоритм без знания самого алгоритма.
Почему говорят, что циклы медленные на AutoIt3? На самом деле разовые операции выполняются тоже относительно медленее, ведь интерпретатору нужно ещё интерпретировать конструкции. Человек может не замечать задержку операций менее 400 мсек (0,4 сек), меню в Windows сделали с такой задержкой. Но когда дело доходит до цикла, то одни и теже функции вызванные 1000 раз превысят порог 400 мсек. Но в большинстве проблема в неоптимизированном алгоритме, который тратит время на пустые ходы.
 
Автор
T

_ToBe_

Осваивающий
Сообщения
142
Репутация
35
AZJIO, Я не буду кидать код, он слишком большой, опишу в кратце - это бот-програма, которая анализирует состояние 10 неактивных окон и призводит действия в них... Причем анализирует он их меньше чем за секунду. По-моему отличный результат :smile: Ещё так же научился считывать цифры с данных окон... Просчёт занял ~62 мс. Это что-то типа мини-Тессеракта или OCR'a :D

Robox, Абсолютно согласен - в этом деле без практики никуда! Но как практиковать эти Монстроподобные TreeVew? Автоит в этом плане куда компактнее и читабельнее :smile:

Ага, на Автоит впринципе, огромные циклы без внедрения библиотек и разных UDF занимают огромное кол-во времени... Но если переходить на тот же C++/C#, то все эти UDF и библиотеки надо создавать самому... Видел даже где-то на форуме кто-то рассказывал как он подключал к СиШарп AutIt.dll-ку :smile: У меня ничего не вышло :D

Небольшое подитоживание: На первом месте Си... Далее РНР ибо он в нынешнее время Оооочень востребован :smile:
 

Andrei7

Новичок
Сообщения
72
Репутация
3
На первом месте Си... Далее РНР ибо он в нынешнее время Оооочень востребован
ты чтоли пойдёшь в какую то фирму работать программером? ;D раз о востребованности заговорил. тогда лучше уж в какое либо учебное заведение по программированию идти :smile: по мне, так php сейчас более востребован. и java. и всё, что связано с веб программированием.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
_ToBe_ [?]
Получается что те, кто пишут что-то на питоне, заранее знают, что их код спокойно можно скопировать и юзать в своих целях?
тех, кто пишет на питоне не беспокоит что их код будет кем-то там использован. это почему то в AutoIt сообществе больная тема :smile:
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Что бы писать на C# нужно понять как он работает. Поэтому изучение его как AutoIT не сойдет. Тут нужно начинать с книжек. С начала с простых, а потом закончить Этой или этой или этой (первую из которых я уже себе купил :smile: )

Но учтите (еще раз повторюсь на этом форуме) достать исходник из C# еще проще чем из AutoIT. Но в любом случае он имеет преимущество, если написать программу сложным образом и прогнать через хороший обусфактор.
 
Автор
T

_ToBe_

Осваивающий
Сообщения
142
Репутация
35
А если исходить не из востребованности, а из сложности понимания и написания - в каком порядке вы выставили бы эти ЯП:
C++ (C#), PHP, Java (Java Script), Python

Вот, к примеру я думаю что они в таком порядке:
1. PHP
2. Python
3. Java
4. C++
 
Верх