up vote 10 down vote favorite
5
share [g+] share [fb]

What programming/scripting language would you recommend to a superuser who is a not a programmer?

link|improve this question
For what purpose, exactly? – Stefan Thyberg Jul 15 '09 at 14:01
1  
Automating simple and repetitive tasks, maybe as a first step towards learning to code. – thatismatt Jul 15 '09 at 14:04
7  
Wouldn't this be more appropriate on SO? – theycallmemorty Jul 15 '09 at 14:23
2  
Wouldn't learning any programming language make you a programmer? Being a programmer doesn't make you some evil troll that lives under a bridge. – J. Polfer Aug 14 '09 at 20:39
feedback

closed as not constructive by Sathya Mar 18 '11 at 15:02

This question is not a good fit to our Q&A format. We expect answers to generally involve facts, references, or specific expertise; this question will likely solicit opinion, debate, arguments, polling, or extended discussion. See the FAQ.

16 Answers

up vote 11 down vote accepted

For Windows, how about Windows PowerShell?

Microsoft Windows PowerShell command line shell and scripting language helps IT professionals achieve greater control and productivity. Using a new admin-focused scripting language, more than 130 standard command line tools, and consistent syntax and utilities, Windows PowerShell allows IT professionals to more easily control system administration and accelerate automation. Windows PowerShell is easy to adopt, learn, and use, because it works with your existing IT infrastructure and existing script investments, and because it runs on Windows XP, Windows Vista, and Windows Server 2003.

It integrates with the .NET Framework so it could be a good way of developing skills and knowledge in that too.

link|improve this answer
1  
I can't agree with this more. The PowerShell team got it right! It's an awesome language with backing from the .NET Framework. It doesn't get much better. – Max Schmeling Jul 15 '09 at 15:02
Because it is backed up by the .NET framework, it is no good starting point for the non programmer - a non programmer should not need to watch out for the documentation of classes and the framework to achive his task... – BeowulfOF Mar 18 '10 at 20:42
feedback

Python should be pretty easy to understand and is powerful enough to do anything you'd need.

Also, there are good tutorials for beginners.

link|improve this answer
2  
Python is easy to understand - for programmers. I'm not sure that's the case for non-prorammers. – configurator Jul 15 '09 at 14:57
4  
I would argue that no programming language is truly easy to understand for a non-programmer (hence non-programmer). I simply mean that python is easier (closer to natural language) than many other programming languages, while still keeping a simple syntax. – chills42 Jul 16 '09 at 12:36
I'm a programmer and Python is far away for me. Perl, C and PHP match my thinking style. – Ivan Petrushev Apr 23 '10 at 13:26
feedback

AutoIt or AutoHotkey are great for scripting anything you can do with a keyboard and mouse.

link|improve this answer
I can't imagine my life without Autohotkey. – Tomas Sedovic Jul 15 '09 at 15:00
I love AUtohotkey, but it is NOT a good language to use as a learning tool for a new programmer. String handling and basic data structures are very awkward / weak. AutoIt as a language, is a bit better. – Ash Aug 23 '09 at 4:11
feedback

If it's for learning: LOGO !

You can start here ;-)

link|improve this answer
2  
LOGO is for babies. Big kids use BASIC! – Kevin Panko Aug 14 '09 at 20:05
Guess universities are full of babies then! – Sirupsen Jan 10 '10 at 18:20
feedback

JavaScript:

  1. No barrier to entry in the form of compilation, downloading the SDK or starting a virtual machine.
  2. Everyone has a browser and a simple text editor.
  3. Allows non-programmers to instantly show off their l33tness, in the form of a pimped out web page, so there is an additional incentive to learn JS.
  4. Prototype languages are the future, don't ya know?
link|improve this answer
But how does this help a superuser looking to automate tasks? – John T Jul 16 '09 at 3:46
1  
Comment specifying automation wasn't posted when I submitted my answer... kinda blows the whole thing up. – Jake McGraw Jul 16 '09 at 12:59
feedback

Python. Simple, nice and easy

link|improve this answer
feedback

If you're a superuser on a Windows platform, batch files can be a good solution because you know all of the commands already. You can learn the extra things (variables, loops, etc) with a quick reference.

link|improve this answer
1  
Batch files have been replaced by powershell. Plus the loops are freakin' weird. – Lucas McCoy Aug 14 '09 at 19:46
feedback

If the person is serious about getting complicated tasks done, without having to learn a programming language/script, I'd invest in a automation tool, like the following:

Of course, if you're looking for simple script-based things, there's many, like VBScript, or Python.

link|improve this answer
You might want to take a look at TestComplete also in this context. – gentlesea 1 hour ago
feedback

Others have taken down the Windows platform fairly well. If you're on a Mac, get started with AppleScript -- or even better, Automator. If you're on Linux, try perl.

link|improve this answer
feedback

If you don't mind spending a little money ($99), then REALbasic is probably the easiest way to start learning to program. It is a complete IDE (integrated development environment) that can create stand-alone applications in one step.

And the language is completely object-oriented, so it's pretty easy to transition to other languages such as Java or C# if you're so inclined.

link|improve this answer
feedback

I have found that one of the biggest obstacles to teaching programming or even daily computer related tasks for those who struggle with them is just learning to "think like the computer". What is it expecting of me, how will it react, how can I make it do what I want. For people who already "get it" and want to push things a bit I really like python, specifically starting with

Think Python: How to Think Like a Computer Scientist http://www.greenteapress.com/thinkpython/html/

The wealth of libraries both standard and available for download make it so easy to do massive amounts of work with tiny amounts of code. As a "super user" my motto is "it beats working" especially as it relates to automating repetitive and mundane tasks. I find that python works equally well for text, file, image, or sound processing depending on what the task is.

link|improve this answer
feedback

This depends a lot on what you're trying to achieve. Are you trying to program an application? A web site? Are you trying to do Windows scripting?

link|improve this answer
feedback

POSIX shell scripting.

link|improve this answer
feedback

I would recommend JavaScript or Python. JavaScript is an especially forgiving language and it can be run from any browser meaning that you don't have to compile or install anything. Python is also a very friendly language, although setting it up is more complicated.

To learn JavaScript, check out some free tutorials at http://w3schools.com/js/default.asp.

link|improve this answer
feedback

If you're looking to automate GUI tasks, I'd highly recommend Sikuli. Programming with pictures seems like a very good way to start, and especially get things done with minimal knowledge.

http://groups.csail.mit.edu/uid/sikuli/

link|improve this answer
feedback

On windows, vbscript, jscript (javascript can run via windows script host to perform batch-like operations), vb6 or vb.net. Ive heard good things about AutoIT and KixTart, and of course Powershell is wicked.

On Mac, go with ruby or python. I think one of the most important things to have when learning a language is a good editor or IDE. The free .NET express IDEs are great, for VBS - I love VBSEdit. There are also the wonderfull PrimalScript and AdminScriptEditor for windows. KomodoIDE is a good one too.

link|improve this answer
feedback

Not the answer you're looking for? Browse other questions tagged or ask your own question.