Jump to content
aryan-eliza

Why AutoIt, and not another language like C# or Python?

Recommended Posts

Hi all, not looking to start a debate or stir the pot - just looking for honest answers from people who are more familiar than I. 

I recently started a new job position and I've been having to use AutoIt as part of the job responsibilities. I am just now hearing and learning about AutoIt, and while I have enjoyed what I have learned so far I would like to know why or what the advantages of using AutoIt are over other languages such as Python or C#? 

Share this post


Link to post
Share on other sites

I will answer by reverse your question.

I do not know C# and do not know Python.
From 2004 my only one programming language is AutoIt.

I have my own small bussines and I hire 3 people.
AutoIt scripts which I made for my clients, are generating about 1/4 of my company incomes.
Why I should use other programming language ?

 


Signature beginning:   Wondering who uses AutoIT and what it can be used for ?
* GHAPI UDF - modest begining - comunication with GitHub REST API Forum Rules *
ADO.au3 UDF     POP3.au3 UDF     XML.au3 UDF    How to use IE.au3  UDF with  AutoIt v3.3.14.x  for other useful stuff click the following button

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library *

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF *

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

11

Signature last update: 2018-10-31

Share this post


Link to post
Share on other sites

Because when you distribute an AutoIt program, you clients/customers/users wont need to download some 100MB shitty redistributables...

And, knowing pretty well AutoIt and others languages (C and GoLang), I can tell you that AutoIt is strong enough to make pretty anything for Windows.

Share this post


Link to post
Share on other sites

1) From idea on the shitter --> proof of concept   is rarely measured in anything other than minutes.

2) The helpfile is gd amazing (which often facilitates #1).

3) people who have to maintain your uncommented code in the future get the luxury of 1 and 2.

 


,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Share this post


Link to post
Share on other sites

AutoIt is a pretty good all-rounder, generally being capable of doing most things, and far speedier to get up & running than other languages in that regard, though not speedier when it comes to process execution, which is one of its few downfalls, but which rarely matters normally. At the end of the day, you should use the right tool for the right job, but if your Toolbox only contains AutoIt, you are still looking damn good and cooking with fire in 95%+ instances.

Edited by TheSaint

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Share this post


Link to post
Share on other sites

The one thing I liked about AutoIt, and most scripting languages, is that you don't have to compile it before you can run it. You just run the code, and if there's an error, it's easy to fix it and run it to test it again. There's no waiting for the compiler to run, no need for anything else to happen, they just run.

The second best thing I love about AutoIt is that it's case insensitive for variables and function names. I know a lot of people cringe when they see that, but too bad, I like it. :)

Also, no stupid line endings like in a C/C++ program, I mean seriously, what is the semi colon for? What semi-literate programmer ever uses a run on line of code, and why allow it in the first place?


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

they allow it because some people DO that stuff... lol, it's just how the compilers work. I love C/C++/C# and Python. all golden languages that have high earnings potential if you can program well.

I do not prefer the VB like loosey goosey stuff, too much leeway for error, strict and strongly typed languages for the win.

I still like Autoit for it's simplicity when  I have simple tasks to do for automation purposes. it's a good and useful automation scripting language. if it's complicated or needs to be fast, it's one of the other languages I use. Like said here before, use the tool that fits the job. If you are an uber AutoIt guru, have at it.

for automating the installs of our products, autoit is golden and simplest to use. super reliable if written well. I have a template based on my UDF that handles most of the control waiting and clicking and logging. That way all my installer scripts work in the same unified way. This way I can fully test the installers GUI (and is done once silent install works perfectly) for full installer regression testing.

Edited by Earthshine

My resources are limited. You must ask the right questions

 

Share this post


Link to post
Share on other sites
1 minute ago, Earthshine said:

they allow it because some people DO that stuff

Uneducated people that never have to show their code perhaps.

2 minutes ago, Earthshine said:

I love C/C++/C# and Python. all golden languages that have high earnings potential if you can program well.

I don't program for a living, so that's a moot point. I program to fix a problem or to make my repetitive or PITA tasks easier.

I threw together a multi-tabbed GUI one day just so I wouldn't have to remember what the command line parameters are for Robocopy, took longer to align the checkboxes than it did to write the underlying code in AutoIt. Plus the resulting  exe was miniscule and portable to any computer that had robocopy on it.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

can i have a copy of that gui please? sounds usefull, i always have to look up the command.. lol, only when I need to add it to a batch or something though for automation purposes. your gui would be nice for that I think.

as far as the other thing, it's like that because they wrote the compiler to use that as the key to end the programming statement. Kernahan and Ritchie, go ask them. For the record, I don't ever do that either. But even InstallScript uses it as the end of a statement. I guess it just stuck.

Edited by Earthshine

My resources are limited. You must ask the right questions

 

Share this post


Link to post
Share on other sites

In addition to my earlier comments, AutoIt is a very forgiving and quite flexible language, that doesn't need a lot of recall or understanding of a huge bunch of concepts. Sure, knowing that stuff can improve how your use of or understanding of AutoIt is, but for many uses you can get by just fine relying on the wonderful Help file and online help and examples. I've never regretted giving up on other languages for the most part, and just relying on AutoIt. But then, I am just a hobby programmer who wants better control and usage of his PC, and I answer to no-one .... except my wife & kids & mother. I don't have to be a perfectionist, though I am very organised with structure and method. I do usually put in extra effort though, because I regularly share my work, but my comments can often be sparse, and not as many error checks as could be.

Edited by TheSaint

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Share this post


Link to post
Share on other sites
On 9/6/2019 at 8:46 PM, BrewManNH said:

Also, no stupid line endings like in a C/C++ program, I mean seriously, what is the semi colon for? What semi-literate programmer ever uses a run on line of code, and why allow it in the first place? 

C and all other C-like languages do not use whitespace for terminating statements, so you have to use the semi-colon to indicate the end of a statement. While I do see the benefits of having a simple syntax where each line is a command, there are several neat things you can do without taking up a bunch of lines where whitespace doesn't matter... Like a single line for loop :)

It all comes down to preference obviously, those are more well versed with C-like programming and have good enough experience may prefer to have a more flexible syntax over a simple but restrictive one.

Anyone using JavaScript is already probably taking advantage of the "whitespace-agnostic" syntax unknowingly... whitespace based statement structure in these languages is also not really pretty in some cases, so if you can't make it pretty, make it short (while keeping it readable).

Edited by TheDcoder

A cross-platform implementation of the AutoIt language

My contributions to the AutoIt Community ##AutoIt at freenode, real-time chat

3fHNZJ.gif

Spoiler

If I have hurt or offended you in anyway, Please accept my apologies, I never (regardless of the situation) intend to do that to anybody.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...