On Sat, 9 Jun 2012, Yesterday Paid wrote: > I'm planning to learn one more language with my python. > Someone recommended to do Lisp or Clojure, but I don't think it's a > good idea(do you?) > So, I consider C# with ironpython or Java with Jython. > It's a hard choice...I like Visual studio(because my first lang is VB6 > so I'm familiar with that) > but maybe java would be more useful out of windows. > > what do you think?
If you don't know C yet, I second recommendation to learn it. It is a very 70-tish and 80-tish language, but it is still very relevant if you want to call yourself a programmer (rather than a hobbyist, with all credits due to clever genius hobbyists out there). There are things I would rather do in C than in any other language (like, writing a Python interpreter or Linux kernel - wait, what you say they have been written already?). Also, it gives one a way to handtune the code quite a lot (at expense of time, but this is sometimes acceptable), to the point where next choice is assembly (and results not necessarily better)... Later on, since C and C++ share quite a bit, you can gradually include C++ elements into your code, thus writing in a kinda "bettered C" (compiled with C++ compiler), using constructs like "const" to make your programs more correct. And you will learn to not use "new" for variables, which is good thing. However, some C++ constructs include performance penalty, so it is good to not better it too much. Later on, you could choose from the list: - Common Lisp - "nice industrial standard" (depends on one's preferred definition of "nice", of course, as well as "industrial" and "standard") - Racket - Scheme on steroids, with IDE, JIT and crossplatform-ity (I can think of somebody writing Python/Racket to be used in this environment but it is hard to imagine someone doing the other direction, so go figure ;-) http://www.reddit.com/r/programming/comments/i1slm/amazing_tutorial_demonstrating_the_power_of/ http://hashcollision.org/brainfudge/ ) - Haskell or Ocaml - but I have a feeling Ocaml is developing at slower pace now, with many people choosing Haskell (I guess they sometimes curse themselves for this, because behaviour of code in Haskell is a bit hard to predict, sometimes). If you want to delve into Java world, well, I consider Java an unbearably ugly hog. When I was younger and fearless I programmed a bit in Java, but nowadays, the only way I myself could swallow this would be to use some other language on top of it (Scala, Clojure or Kaffe). C# as a - kind of - Java clone from MS, is not really so attractive to me. (Yes, both Java and C# have some merits in some situations, so do COBOL, VB and Fortran but I tend to avoid such situations and thus life gets much simpler). If you would like to bend your mind a little, Racket or Forth or Smalltalk (in a form of SqueakVM) could do the job. Every time I read about Smalltalk and think how Java took over, I mentally weep. Regards, Tomasz Rola -- ** A C programmer asked whether computer had Buddha's nature. ** ** As the answer, master did "rm -rif" on the programmer's home ** ** directory. And then the C programmer became enlightened... ** ** ** ** Tomasz Rola mailto:tomasz_r...@bigfoot.com ** -- http://mail.python.org/mailman/listinfo/python-list