Python -> Java -> D ?
Kirk McDonald
kirklin.mcdonald at gmail.com
Sun Apr 22 12:31:00 PDT 2007
David Finlayson wrote:
> I am a Python scripter in search of a language with better
> performance. I do a lot of signal processing in my job and I think
> I've pushed Python as far as it will go. Recently, I have written a
> few programs in D and have been impressed with (a) how easy the
> transition from Python has been, (2) the large boost in performance
> for my code.
>
> Here's the question:
>
> Should my second language be a new language like D? Or, would I be
> better off mastering something more mainstream such as C or C++?
>
> The reason I ask is that D is similar enough to Python in terms of
> abstraction that I might be better off in the long run mastering
> something lower level such as C or C++, or higher level such as a
> good functional language like Lisp or Ocaml.
>
> I've noticed D is still quite immature in some ways. It has no
> printed books (a sign of market share) as compared to the dozen os so
> books written about C/C++ in my specific scientific discipline alone.
> Also, the standard library is in flux (Phobos vs Tango) whereas more
> mature languages have settled down.
>
> In short, I like D, but maybe I would be better of learning something
> else. So, some of you alpha-geeks on this list: would you learn D
> next in my position or something else?
>
Well, maybe I'm a little biased, but I think Python and D are a potent
combination. You could do worse.
That said, you might do well by picking up a copy of K&R[1] and learning
C. It is good to learn the low-level details of the machine. Also, very
nearly every library in existence speaks C; it is the closest thing to a
lingua franca in the programming world. And a lot (but not all) of what
you'd learn doing C would apply to D (not to mention C++).
[1] The C Programming Language, by Brian Kernighan and Dennis Ritchie
--
Kirk McDonald
http://kirkmcdonald.blogspot.com
Pyd: Connecting D and Python
http://pyd.dsource.org
More information about the Digitalmars-d-learn
mailing list