which one do you prefer? python with C# or java?

Tomasz Rola rtomek at ceti.pl
Mon Jun 11 14:54:13 EDT 2012


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_rola at bigfoot.com             **



More information about the Python-list mailing list