Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Right now, I use Python for my quick scripts and prototypes (e.g. algorithms, my pseudocode is very Python-like as well). The oher languages that I am familiar with include Java, C, x86 Assembly and Scheme, and Python is pretty much the best for this among these in my opinion.

Perl gets a lot of rep for this over and over again, and I have heard that Ruby isn't bad either, and the Python community praises Python for this too. What language (could be another one than these 3) do you think is the best programming language for:

  • Creating quick prototypes of applications or algorithms
  • Creating simple scripts for small, repetitive tasks

Important features for such languages include:

  • Little boilerplate code, not too verbose
  • (Very) high-level
  • Interpreted
  • Good and comprehensive standard library
share|improve this question
    
To the closevoter, this is a language question with a specific requirement and thus valid for this site –  Anto May 5 '11 at 20:31
2  
Which requirement is "specific"? –  S.Lott May 5 '11 at 20:50
1  
Are you trying to validate your use of Python? –  Apalala May 5 '11 at 23:58
1  
Voting to close, the question is only slightly better than: which is better, Perl, Python, or Ruby. –  Eric Wilson May 6 '11 at 1:14
    
+1 for the thought about prototyping in x86 Assembly :D –  WarrenFaith May 6 '11 at 10:59
show 1 more comment

closed as off-topic by gnat, GlenH7, MichaelT, Doc Brown, Bart van Ingen Schenau Dec 16 '13 at 8:43

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, GlenH7, MichaelT, Doc Brown
If this question can be reworded to fit the rules in the help center, please edit the question.

6 Answers

up vote 10 down vote accepted

Stick to the Python. It has all the values, it just works and you already know it.
If you're having doubts read this: http://www.scientificcomputing.com/High-Performance-Development-with-Python.aspx - very good article covering prototyping in python.

share|improve this answer
1  
+1 for “you already know it” given that it fits the profile. (I'd choose a different language for my own stuff, but in fact pretty much any scripting language with a REPL available will do for this sort of thing.) –  Donal Fellows Dec 15 '13 at 8:10
add comment

My two cents for an almost 3 year old question:

Ruby is perfect for custom DSL, and prototyping is a task in need of those.

  1. you want a new efficient mini language for a very specific task

  2. you want contributions from someone with different skills than yours.

share|improve this answer
add comment

You could use JavaScript for simple UIs and tasks that do not fiddle with the operating system (file access, etc.). It is very easy to debug and analyze in Firefox + Firebug (or in Chrome).

I often write a very basic html file to startup my script and then "run"/open it in Firefox. Thereby I can easily set break points in the code, explore the data, etc. It is really cool for testing algorithms. You can post (temporary) results to the Firebug console using console.log(obj1,obj2,...);, where you can directly dive into these logged "objects" by clicking on them in the console.

I also started to write system scripts (incl. file handling) in Javascript, which is also very nice if you know Javascript well.

I am not sure about your desired "standard library" but I guess there are quite some libraries around in the rhino or node.js communities.

share|improve this answer
add comment

I would say it depends on the OS I am using and where the tool will run. If it is in a JVM, I will use Groovy. If I have control over the environment on Windows or it is a Linux flavor I will use Perl or Python. On Windows, when I do not know what is on computer I will use JScript through the WSH or Powershell (as you can use the COM interfaces or the .NET Library).

Ruby might move in to the mix as I get more comfortable with it.

(For Quick Prototyping and scripting in the JVM I really recommend Groovy)

Now I have added a bunch of stuff. Use the language you are most familiar with, Python as you will be the most productive.

share|improve this answer
add comment

Perl

It

  • is interpreted.
  • is a high-level language.
  • is not verbose at all, see PGA.
  • has CPAN, it doesn't get any more comprehensive than that.
share|improve this answer
add comment

All three of those languages meet your criteria. I haven't personally used ruby, but between python and perl, I think python is a little easier to extend prototypes and scripts into long-term-use programs.

share|improve this answer
add comment

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