Jump to content

Good starting language for scripts

Go to solution Solved by Azgoth 2,

AutoHotkey, Python, and Batch/Bash scripting are probably your best bets for all-around good use.

 

AutoHotkey is incredibly useful for automating manual user input.  E.g., it can click at various spots around the screen, close/minimize/maximize windows, open programs, type text, etc etc.  It's great if you have a simple, but repetetive task you need to do, e.g. copying dozens of names into an online database one at a time.  You can also run AutoHotkey scripts without having to install anything--there's a small (like, 1.5Mb) .exe file you run directly, and it searches for scripts with the same name as it in the same folder and runs them.  No install needed.

 

Python really shines with data processing, but can do just about everything you can imagine, often reasonably easily.  It's a great, general-purpose language.  But, you need to install it on the computer to really get the most out of it, and if you don't have administrator access to the computers at work, that could be a problem.

 

Batch (Windows) and Bash (Linux) are a way of directing the OS directly to do stuff.  Move files, loop over files in directories, delete things, rename things, etc.  These are built right in to the OS, so you should be able to use both without any problem on really any computer without installing or configuring anything.  I don't know if your office's computers have administrative permission restrictions, but those might interfere with some parts of Bash/Batch scripts.  I don't know for sure, though.

 

If you do a lot of data entry stuff, AHK is an incredibly versatile tool, but it's also easy to break things on the computer with it if you're not careful.  Python is great if you need to do a lot of data processing/analysis.  Bash/Batch are great if you need to work a lot with files, directories, etc.  Honestly, they're all incredibly useful in way more situations than just those, but those are where I've found each one shines brightest.

 

Also, of these, Python is the only "full" programming language.  AutoHotkey is purely for macros/automation (and has some very odd syntax, but you learn it pretty fast, and I think in the next version of the language they're looking at overhauling a lot of that to make it more in-line with more widely used languages), and Batch/Bash scripts are just directions for the OS.  AutoHotkey can make GUIs really easily and nicely, but aside from that, neither can really be used to effectively write very large programs/applications.  Python, on the other hand, is a general purpose programing language, so you can do almost anything with it--far more than you can do with just Batch/Bash or AHK, but it's less built-for-purpose for any specific application.

Hey all! I work at a small accounting firm and by small I mean I'm the only non-cpa in the office. So I get stuck with a majority of the grunt work including printing engagement letters from a tax program...for 300+ clients...one by one. I was hoping to teach myself some programming to create scripts that can just do these tasks for me so I can get data entry and such done. I was also curious if a script can interact with a 3rd party program? I.E. Open client, find letter, print, close client, open next client. All the way down the list. :) Much love!

01101100 01110110 01101100 00100000 00110101 00100000 01101101 01100001 01100111 01101001 01101011 01100001 01110010 01110000 

Link to comment
https://linustechtips.com/topic/501484-good-starting-language-for-scripts/
Share on other sites

Link to post
Share on other sites

Hey all! I work at a small accounting firm and by small I mean I'm the only non-cpa in the office. So I get stuck with a majority of the grunt work including printing engagement letters from a tax program...for 300+ clients...one by one. I was hoping to teach myself some programming to create scripts that can just do these tasks for me so I can get data entry and such done. I was also curious if a script can interact with a 3rd party program? I.E. Open client, find letter, print, close client, open next client. All the way down the list. :) Much love!

depends on operating system

Different PCPartPickers for different countries:

UK-----Italy----Canada-----Spain-----Germany-----Austrailia-----New Zealand-----'Murica-----France-----India

 

10 minutes ago, Stardar1 said:

Well, with an i7, GTX 1080, Full tower and flashy lights, it can obviously only be for one thing:

Solitaire. 

Link to post
Share on other sites

depends on operating system

 

The OS at work is windows 7 currently. I use windows 10 at home but I plan on throwing Linux on after finals to spent a week screwing around on it! :D

01101100 01110110 01101100 00100000 00110101 00100000 01101101 01100001 01100111 01101001 01101011 01100001 01110010 01110000 

Link to post
Share on other sites

The OS at work is windows 7 currently. I use windows 10 at home but I plan on throwing Linux on after finals to spent a week screwing around on it! :D

Batch, or C if you're interfacing with CMD

Different PCPartPickers for different countries:

UK-----Italy----Canada-----Spain-----Germany-----Austrailia-----New Zealand-----'Murica-----France-----India

 

10 minutes ago, Stardar1 said:

Well, with an i7, GTX 1080, Full tower and flashy lights, it can obviously only be for one thing:

Solitaire. 

Link to post
Share on other sites

Here are some products that may help you do what you want if you have to work with GUIs.

 

For things that don't need to work with a GUI, Python and Powershell can be very useful for task automation. If you decide to learn Python, check out Automate the Boring Stuff.

Link to post
Share on other sites

Here are some products that may help you do what you want if you have to work with GUIs.

 

For things that don't need to work with a GUI, Python and Powershell can be very useful for task automation. If you decide to learn Python, check out Automate the Boring Stuff.

 

I don't need to use a GUI but the software I'd be using it with has one. Is that what you mean? Sorry total newbie to programming.

01101100 01110110 01101100 00100000 00110101 00100000 01101101 01100001 01100111 01101001 01101011 01100001 01110010 01110000 

Link to post
Share on other sites

can't you just use windows mail merge feature to make all the letters you need?

                     ¸„»°'´¸„»°'´ Vorticalbox `'°«„¸`'°«„¸
`'°«„¸¸„»°'´¸„»°'´`'°«„¸Scientia Potentia est  ¸„»°'´`'°«„¸`'°«„¸¸„»°'´

Link to post
Share on other sites

I don't need to use a GUI but the software I'd be using it with has one. Is that what you mean? Sorry total newbie to programming.

 

By use the GUI I mean when the only way to automate what you want is by simulating mouse movement/clicks, keyboard key presses, etc in the third party application.

 

You may not have to do this but I wanted to mention the options anyway.

Link to post
Share on other sites

Batch, or C if you're interfacing with CMD

Python is capable of interfacing with CMD and bash (it should also be possible to do this under mac too). So you won't have to throw out scripts whenever chaning between operating systems.

import os#Lets write hello world program in python that uses bash commands!os.system("echo'hello world!'")

it is very possible to also detect what operating system is being used under this language. I would recommend learning C# after Python in all honesty, considering you're only doing simple things.

 

Now, if you wanted to write a full fledged graphical program then I would recommend using C# for that, but only after learning simpler languages

My procrastination is the bane of my existence.

I make games and stuff in my spare time.

 

 

Link to post
Share on other sites

can't you just use windows mail merge feature to make all the letters you need?

 

If we had all the information not in the program. Also each letter is personalized with the names of the clients and other info that is kept within the program its self. 

01101100 01110110 01101100 00100000 00110101 00100000 01101101 01100001 01100111 01101001 01101011 01100001 01110010 01110000 

Link to post
Share on other sites

AutoHotkey, Python, and Batch/Bash scripting are probably your best bets for all-around good use.

 

AutoHotkey is incredibly useful for automating manual user input.  E.g., it can click at various spots around the screen, close/minimize/maximize windows, open programs, type text, etc etc.  It's great if you have a simple, but repetetive task you need to do, e.g. copying dozens of names into an online database one at a time.  You can also run AutoHotkey scripts without having to install anything--there's a small (like, 1.5Mb) .exe file you run directly, and it searches for scripts with the same name as it in the same folder and runs them.  No install needed.

 

Python really shines with data processing, but can do just about everything you can imagine, often reasonably easily.  It's a great, general-purpose language.  But, you need to install it on the computer to really get the most out of it, and if you don't have administrator access to the computers at work, that could be a problem.

 

Batch (Windows) and Bash (Linux) are a way of directing the OS directly to do stuff.  Move files, loop over files in directories, delete things, rename things, etc.  These are built right in to the OS, so you should be able to use both without any problem on really any computer without installing or configuring anything.  I don't know if your office's computers have administrative permission restrictions, but those might interfere with some parts of Bash/Batch scripts.  I don't know for sure, though.

 

If you do a lot of data entry stuff, AHK is an incredibly versatile tool, but it's also easy to break things on the computer with it if you're not careful.  Python is great if you need to do a lot of data processing/analysis.  Bash/Batch are great if you need to work a lot with files, directories, etc.  Honestly, they're all incredibly useful in way more situations than just those, but those are where I've found each one shines brightest.

 

Also, of these, Python is the only "full" programming language.  AutoHotkey is purely for macros/automation (and has some very odd syntax, but you learn it pretty fast, and I think in the next version of the language they're looking at overhauling a lot of that to make it more in-line with more widely used languages), and Batch/Bash scripts are just directions for the OS.  AutoHotkey can make GUIs really easily and nicely, but aside from that, neither can really be used to effectively write very large programs/applications.  Python, on the other hand, is a general purpose programing language, so you can do almost anything with it--far more than you can do with just Batch/Bash or AHK, but it's less built-for-purpose for any specific application.

Link to post
Share on other sites

-snip-

 

Thanks for that! I love the detail. I'll check out AutoHotkey as I can throw it on my flashdrive no problem. 

 

For python I do have the admin login since the IT guy gave it too me to since I can fix most issues I have with my pc before he has time too. 

 

I should prob learn Batch just to know it and I'll take a look into it! 

01101100 01110110 01101100 00100000 00110101 00100000 01101101 01100001 01100111 01101001 01101011 01100001 01110010 01110000 

Link to post
Share on other sites

Thanks for that! I love the detail. I'll check out AutoHotkey as I can throw it on my flashdrive no problem. 

 

For python I do have the admin login since the IT guy gave it too me to since I can fix most issues I have with my pc before he has time too. 

 

I should prob learn Batch just to know it and I'll take a look into it! 

No problem!

 

Something I didn't mention: in my experience, AHK is far and away the best bang-for-the-buck for general office use.  You can write a lot over very, very useful scripts in under a page, and you only really need to know a few dozen commands to get a lot out of it.  Python is incredible but has a steeper learning curve.  Batch is cool and sometimes very handy to know, but should probably be the last one you worry about.  Start with AHK--the weird syntax will throw you off a bit whenever you move to other languages, but you can get massive productivity boosts.

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

×