Page 1 of 3

Your Favorite Programming Language

Posted: Sun Jan 16, 2011 8:49 am
by BlackBulletIV
I'm interested to see people's favorite programming language. For quite a few I can already guess, Lua.

For me it's a toss up between Python, Lua, and ActionScript. I love Python for it's power with it's many awesome features and yet it is one of those simpler interpreted languages. I love Lua (my newest language) for it's syntax (isn't it just wonderful?). Finally, I love ActionScript for it's hard core OOP implementation (and of course the fact that it's simple). Overall, even though I haven't used it a heck of a lot, I'd probably have to say Python. (If there was a blend of Python's power and Lua's syntax, heaven on earth would be made)

Re: Your Favorite Programming Language

Posted: Sun Jan 16, 2011 9:02 am
by nevon
Python, without a doubt. I'm not crazy about all parts of the Python syntax, simply because it seems to be made for easy typing, not easy reading. However, I do like the very simple OOP implementation (I hate that Lua lacks a "default" implementation, and I have yet to find one that I'm comfortable with).

Re: Your Favorite Programming Language

Posted: Sun Jan 16, 2011 9:27 am
by BlackBulletIV
I totally agree with you. I wish Python had a more readable syntax, like Lua. The funny thing is, the line "Readability counts" is included in the The Python Zen. Yeah, I wish that Lua had a default OOP implementation, rather than leaving it up to developers to create their own or use others' (that is where Lua's simplicity ends).

Re: Your Favorite Programming Language

Posted: Sun Jan 16, 2011 9:32 am
by Robin
I'm with nevon here. Lua is very cool as well, but it lacks much of Python's power. If I had to pick a third, it would probably be Déjà Vu, although no working implementation currently exists. ;)

Re: Your Favorite Programming Language

Posted: Sun Jan 16, 2011 9:42 am
by BlackBulletIV
Wow, Python's in more luck than I expected.

Re: Your Favorite Programming Language

Posted: Sun Jan 16, 2011 11:23 am
by giniu
I will add mine too, why not? Though I will answer differently from most people probably - that's I'm almost sure :P And I'm almost sure because, my current fav is Haskell - after all it's closest to what I write everyday doing math (and functional reactive programming with arrows/Freyd categories - it really nicely goes along with games, and single student made a working clone of the Q3 engine in few months for his thesis - without optimization, but still - if he had more time it would be there). Anyway I also like a lot of other languages - Erlang, C++ and of course Lua to name a few. I tolerate Python, mostly because others picked it as language for things I work with (for example Sage), but if I was to choose I would do differently.

Re: Your Favorite Programming Language

Posted: Sun Jan 16, 2011 11:32 am
by bartbes
C++ and Lua are my main languages, but I work with so many languages, and I love so many... it's hard to choose. I'd say Vala :awesome: should be mentioned, ruby looks nice, but haven't really done much with it, forth, for fucking with your brain (in a good way), tcl, well, okay, python :3.., anything I forgot? Yes, a lot.

Re: Your Favorite Programming Language

Posted: Sun Jan 16, 2011 11:56 am
by nevon
BlackBulletIV wrote:The funny thing is, the line "Readability counts" is included in the The Python Zen.
I think they're probably referring to the forced indentation (which I actually like) and the dynamic typing (every time I have to write "public static void main (String args[])" I throw up a bit in my mouth).

Re: Your Favorite Programming Language

Posted: Sun Jan 16, 2011 12:14 pm
by giniu
nevon wrote:I think they're probably referring to the forced indentation (which I actually like) and the dynamic typing
On the other hand, static typing is life saver if done right, i.e. if it's static type checking with type inference. For example in Haskell (which by the way also have significant whitespace) if you write

Code: Select all

plus a b = a+b
the compiler infers polymorphic type

Code: Select all

(Num a) => a -> a -> a
which means "for any type a implementing Num (requirement for usage in plus) we have a function from a and a to a". It can get more interesting, returning ranks of list, like rank ['a','c','b'] :-> [1,3,2]:

Code: Select all

rank xs = map snd $ sort $ zip xs [1..]
and here compiler tells us, that

Code: Select all

(Ord a, Ord b, Num b, Enum b) => [a] -> [b]
we see, that we insert list of any elements that implements Ord (partial ordering) and in return we obtain list of elements that can be interpreted as any type that implements Ord, Num and Enum (mostly it means well-ordered numbers).

Anyway, sorry for this off-topic, just though I will say a word or two in defend of static typing done right ;) It's life and time saver when it's done by compiler, though it's bad for fingers and sanity if language designers are lazy and you have to write it yourself :)

Re: Your Favorite Programming Language

Posted: Sun Jan 16, 2011 12:16 pm
by Robin
nevon wrote:
BlackBulletIV wrote:The funny thing is, the line "Readability counts" is included in the The Python Zen.
I think they're probably referring to the forced indentation (which I actually like) and the dynamic typing (every time I have to write "public static void main (String args[])" I throw up a bit in my mouth).
Or comparing to Perl.

But my Python programs are usually more readable than Lua programs. If you're doing it right, Python code will look like poetry, rather than a program listing.