views:

119

answers:

4

The programmer is a C# ASp.NET Developer and is looking to learn his first scripting language. Unfortunately he never had to use it before. He is also looking for something that can be good for his career growth.

+4  A: 

Ruby does OOP very nicely, is easy to learn, and will be very mind-opening for someone that has only worked with "C-style" languages.

Alternatively, I recommend Python which does not do OOP nearly as nicely as Ruby, but will be just as good from a learning / career perspective.

Justin Ethier
Also, which one would be easy and interesting for a beginner Ruby? Python?
CodeToGlory
-1: "Python which does not do OOP nearly as nicely as Ruby". Subjective and just .. wrong.
Aiden Bell
I'm not going to downvote, but I agree with Aiden that the statement in question is very subjective. I would, however, be interested in hearing Justin's reasoning for coming to that conclusion.
Adam Crossland
It is subjective and I should have been more clear. Off the top of my head, Ruby is more object oriented because (1) everything is an object and (2) it supports public, private, and protected access - whereas in python everything is public (at least without jumping through hoops). Don't get me wrong though - I enjoy writing code in both languages, and both are worth learning.
Justin Ethier
Thanks, Justin, and well-said. Point 2 is important in terms of OOP. I have never read an explanation of why Python has no real support for encapsulation, but I'm about to ask Google.
Adam Crossland
Yes, Guido has a quote along the lines of "we are all consenting adults here" :) - but a better / deeper explanation of his decision would be nice...
Justin Ethier
The consenting adults line is all that Google was able to tell me. While I can't take issue with us all being 'consenting adults,' I have certainly found plenty of programmers who aren't particularly 'responsible' or 'competent.' I'd love to have real control over method and property access in Python.
Adam Crossland
+2  A: 

How about something like python? Simple syntax, and can be used for scripting or for writing more complex object oriented programs. Good language to learn for accomplishing quick simple tasks easily, as well as writing more complicated programs in an easy to type language. Kind of the best of both worlds in my opinion.

My college taught beginning CS classes in python. It's definitely a good language to accomplish things without having to worry about syntax. I'm sure Ruby is ok as well, but Python sure feels cleaner, easier, more robust, more widely used (expanding).

wilbbe01
+4  A: 

I think that Python is an outstanding choice. It is a real programming language, and it seems to have a great deal of currency, so it is an excellent fit for career growth.

Adam Crossland
+1. Python is sexy.
Aiden Bell
A: 

I question the premise. In my book, If you're an "experienced" OOP programmer, then you also know a scripting language or two. But that's just quibbling over the meaning of "experienced".


But I would recommend...

Javascript - so ubiquitous. A natural complement to ASPNET.
Also useful on the Windows command line. Includes OO possibilities, if you so desire. (See jQuery)

Also see What is the Best Scripting Language to Learn?

Cheeso