Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Learning multiple languages (question for general discussion)

2 views
Skip to first unread message

John Salerno

unread,
Nov 3, 2005, 9:47:52 AM11/3/05
to
After my last post, I thought of another question as a result of the
following:

------------------------------
Mike Meyer wrote:
> John Salerno <john...@NOSPAMgmail.com> writes:
> [Wants to learn C# and Python simultaneously.]
>
>>So my question is, is this feasible?
>
>
> Should be. It might be faster to do them sequentually.
------------------------------

I thought it might be interesting to get some opinions on when you know
when you're "done" learning a language. I've been learning C# for a few
months (albeit not intensively) and I feel I have a good grasp of the
language in general. Of course, I haven't messed much with databases, or
at all with ASP.NET...so far just WinForms. But as far as the syntax of
the language, I understand that, as well as a lot of how the .NET
Framework works.

I know this is a very subjective situation, but when would you say that
it's 'safe' to move on to another language? How do you define a language
as being "learned"? For me, I'm just doing this for fun, but I imagine
in the computer programming world, you constantly need to learn new
things, so I wouldn't assume that you completely learn a language before
moving on to another.

Thomas Guettler

unread,
Nov 3, 2005, 9:57:41 AM11/3/05
to
Am Thu, 03 Nov 2005 14:47:52 +0000 schrieb John Salerno:

> After my last post, I thought of another question as a result of the
> following:
>
> ------------------------------
> Mike Meyer wrote:
> > John Salerno <john...@NOSPAMgmail.com> writes:
> > [Wants to learn C# and Python simultaneously.]
> >
> >>So my question is, is this feasible?
> >
> >
> > Should be. It might be faster to do them sequentually.
> ------------------------------

Unfortunately there is not C# section in Pleac:

http://pleac.sourceforge.net/

You can learn both languages by reading the python solutions in pleac,
an try to translate them to C#. Please submit the code to the
project.

HTH,
Thomas

--
Thomas Güttler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de
Spam Catcher: niemand....@thomas-guettler.de

infidel

unread,
Nov 3, 2005, 10:02:03 AM11/3/05
to
Python has spoiled me. I used to periodically try out new languages
just for fun, but since learning Python, it's become a lot less
interesting. I find myself preferring to just try new ideas or
techniques in Python rather than searching for new languages to dabble
in. The last few I've downloaded were, in no particular order: Perl,
Ruby, Lisp, Io, and Scheme. I usually get as far as installing the
necessary interpreters/compilers and opening up a tutorial or two
before I lose interest.

John Salerno

unread,
Nov 3, 2005, 10:18:01 AM11/3/05
to
LOL. As weird as it sounds, that's what I *don't* want to happen with
C#! I've spent a lot of time with it, and I love it, but I don't want
Python to take over! :)

Magnus Lycka

unread,
Nov 3, 2005, 12:41:13 PM11/3/05
to
infidel wrote:
> Python has spoiled me. I used to periodically try out new languages
> just for fun, but since learning Python, it's become a lot less
> interesting. I find myself preferring to just try new ideas or
> techniques in Python rather than searching for new languages to dabble
> in.

Agreed. It's a bit like getting married. Maybe it seems a little
more dull than chasing new girls now and then, but it's really
much more rewarding to grow together with a (person or language)
that you know and like really well. Particularly when it's such
amazing darlings such as Python and my wife! :)

Magnus Lycka

unread,
Nov 3, 2005, 12:45:37 PM11/3/05
to
John Salerno wrote:
> LOL. As weird as it sounds, that's what I *don't* want to happen with
> C#! I've spent a lot of time with it, and I love it, but I don't want
> Python to take over! :)

Then it might be better to keep away from Python. It *will* spoil
you. Python is a good team player. It's excellent to use in large
projects where different languages fit better for different parts
of the final system,and it's excellent as a programmers tool even
if all production code is written in C# or whatever. Given a free
choice, you'll probably shift more and more of the code to Python
though,since it's faster to write and easier to maintain that way.

Jeremy Greenwald

unread,
Nov 3, 2005, 6:42:54 PM11/3/05
to pytho...@python.org
I would say that learning a few languages is necessary
to realizing what type of things different languages
excel at. For instance I didn't understand why java
would never allocate objects on the stack until I read
about using object pointers in C++ to lower
compilation dependecies. This helped me to understand
the trade-offs involved. I also used to like perl
until I got to know Pythons compactness (perl sucks by
the way).

On a broader stroke, learning a language is NOT about
learning the syntax (although that is a requirement)
it is about learning that languages style, coding
practices and what API's are useful in your domain.
That should be your guide as to when you have
"learned" a language, when you can answer more
questions than you have about a language's style,
coding practices, and API.


--
Jeremy Greenwald



__________________________________
Yahoo! FareChase: Search multiple travel sites in one click.
http://farechase.yahoo.com

Kent Johnson

unread,
Nov 3, 2005, 7:09:02 PM11/3/05
to
John Salerno wrote:
> I thought it might be interesting to get some opinions on when you know
> when you're "done" learning a language. I've been learning C# for a few
> months (albeit not intensively) and I feel I have a good grasp of the
> language in general.

Never? When you move on? You can become proficient in a couple of months but that is different from "expert" which is different from "knows everything there is to know". I have been using Python for several years and I still learn from the old hands in this news group.

Kent

Alex Martelli

unread,
Nov 4, 2005, 12:28:50 AM11/4/05
to
Magnus Lycka <ly...@carmen.se> wrote:

Yes, but I haven't found knowing (and using) Python dampens my
enthusiasms for learning new languages. Using a language for real life
programming isn't the only reason to learn it, after all. Mozart (==Oz)
is a great way to reflect on programming paradigms (and Van Roy's and
Hariri's book is the 21st century equivalent of SICP!!!); Ruby offers an
interesting perspective of a slightly different ways to do the same
things Python is good at; O'Caml is an object (;-) lesson in how not all
functional languages are elegant rather than practical; Boo shows how
Pythonic syntax might go with static typing and inference; pyrex shows
how Pythonic syntax might go with optional static typing to generate
quite decent C code; sawzall
(http://labs.google.com/papers/sawzall.html) is a great example of a
very specialized language; Limbo
(http://www.vitanuova.com/inferno/papers/limbo.html) has its good
moments, and any language designed by Ritchie must be worth looking at
for that sole reason; Erlang shows a very different FP language...

These are all languages I studied after falling in love with Python --
i.e., in the last 6 years. At 8 languages in 6 years, I meet or exceed
the "one new language a year" recommendation of the Pragmatic
Programmers, on average -- admittedly, out of these, only sawzall and
pyrex are ones I've used "for real", the other ones I've studied but
never found real-life occasions to use, but that, too (using IRL about
25% of the languages one learns), is roughly par for the course (I would
guess that over my lifetime I've learned about 50 languages and
seriously used maybe a dozen of them...).


Alex

Magnus Lycka

unread,
Nov 4, 2005, 5:58:50 AM11/4/05
to
Alex Martelli wrote:
> Yes, but I haven't found knowing (and using) Python dampens my
> enthusiasms for learning new languages.

But you're more enthusiatic than most of us Alex. I wish
I could say the same, but I must admit that I only did
halfhearted attempts at learning new languages after Python.
I've looked a bit at most of the ones you mentioned, but
there was nothing that gave me the drive to really follow
it through. I've somehow become content in this regard.

This doesn't mean that I'm not evolving. I regularly program
in three languages (Python, C++ and SQL) and I must learn
new things the whole time to keep interested, whether it's
in the current problem domain, in architectural matters, in
regards to libraries or development tools or whatever. Now
it's Twisted for instance. Still, finding Python was a lot
like finding a permanent home (which doesn't exclude various
excursions, or prevent another move or two in this life.)

Alex Martelli

unread,
Nov 4, 2005, 10:50:52 AM11/4/05
to
Magnus Lycka <ly...@carmen.se> wrote:

> Alex Martelli wrote:
> > Yes, but I haven't found knowing (and using) Python dampens my
> > enthusiasms for learning new languages.
>
> But you're more enthusiatic than most of us Alex. I wish
> I could say the same, but I must admit that I only did
> halfhearted attempts at learning new languages after Python.
> I've looked a bit at most of the ones you mentioned, but
> there was nothing that gave me the drive to really follow
> it through. I've somehow become content in this regard.

I can't imagine NOT getting enthusiastic and stimulated by reading Van
Roy and Hariri's book -- it IS quite as good and readable as SICP.
Ruby's also blessed with good books (and the excellent Rails, too).


> This doesn't mean that I'm not evolving. I regularly program
> in three languages (Python, C++ and SQL) and I must learn
> new things the whole time to keep interested, whether it's
> in the current problem domain, in architectural matters, in
> regards to libraries or development tools or whatever. Now

I agree, languages are not the only thing worth learning -- they just
tend to be more fun (although big frameworks compete with them for this
distinction;-). Knuth's latest work is always stimulating, too, even
though the new RISC MIX isn't particularly so;-).

> it's Twisted for instance. Still, finding Python was a lot
> like finding a permanent home (which doesn't exclude various
> excursions, or prevent another move or two in this life.)

Yes, good analogy, I think -- just the right mix of elegance and
practicality one would look for in one's home!-)


Alex

Paul Rubin

unread,
Nov 6, 2005, 12:13:39 PM11/6/05
to
al...@mail.comcast.net (Alex Martelli) writes:
> I can't imagine NOT getting enthusiastic and stimulated by reading Van
> Roy and Hariri's book -- it IS quite as good and readable as SICP.

It's been on my want-to-read list for a long time. I have the
downloaded draft edition (from before the print edition came out) and
it looks quite good. The Oz language has some interesting approaches.

> Ruby's also blessed with good books (and the excellent Rails, too).

I haven't been terribly interested in Ruby; it may have a more
rigorous OO approach than Python, but Smalltalk already did that
decades ago. So Ruby seems like yet another Perl-like language. Am I
missing something?

Do you have any opinion of "Types and Programming Languages" by
Pierce? Autrijus Tang (the guy who started PUGS, the Perl 6
implementation in Haskell) raves about it in an interview, and another
guy I know recommended it too, but I haven't actually looked at a copy
yet (stores I've looked in don't have it). Haskell is the language
that I guess interests me the most these days (in terms of learning
new ones), but I haven't yet attempted doing anything with it.

Diez B. Roggisch

unread,
Nov 6, 2005, 12:54:55 PM11/6/05
to
> Do you have any opinion of "Types and Programming Languages" by
> Pierce? Autrijus Tang (the guy who started PUGS, the Perl 6
> implementation in Haskell) raves about it in an interview, and another
> guy I know recommended it too, but I haven't actually looked at a copy
> yet (stores I've looked in don't have it). Haskell is the language
> that I guess interests me the most these days (in terms of learning
> new ones), but I haven't yet attempted doing anything with it.

It's a great book - I cetainly owe it the better part of my thesis about
multi level specification for functional languages. If you want to
understand type-systems, its a great comprehensive read.

Diez

Paul Rubin

unread,
Nov 6, 2005, 2:08:20 PM11/6/05
to
"Diez B. Roggisch" <de...@nospam.web.de> writes:
> It's a great book - I cetainly owe it the better part of my thesis
> about multi level specification for functional languages. If you want
> to understand type-systems, its a great comprehensive read.

So do I really want to understand type systems? I mean, I think I
understand Haskell types from reading the manual, but probably not at
the level of that TAPL book. Am I going to find out anything
important as an implementer?

Diez B. Roggisch

unread,
Nov 6, 2005, 2:56:40 PM11/6/05
to

I don't know what you want to understand - I never learned a language by
a book, if it's that what you want to know

But to understand type systems in detail, compare them and know their
limits will certainly make you a better programmer I guess - and
especially in functional languages,as these are more or less built
around their type-systems.

Regards,

Diez

Alex Martelli

unread,
Nov 6, 2005, 4:24:09 PM11/6/05
to
Paul Rubin <http://phr...@NOSPAM.invalid> wrote:

> al...@mail.comcast.net (Alex Martelli) writes:
> > I can't imagine NOT getting enthusiastic and stimulated by reading Van
> > Roy and Hariri's book -- it IS quite as good and readable as SICP.
>
> It's been on my want-to-read list for a long time. I have the
> downloaded draft edition (from before the print edition came out) and
> it looks quite good. The Oz language has some interesting approaches.

Yep. In particular, it's designed to support a wide variety of
programming paradigms, and the book gradually explains, uses and
compares and contrasts them all.


> > Ruby's also blessed with good books (and the excellent Rails, too).
>
> I haven't been terribly interested in Ruby; it may have a more
> rigorous OO approach than Python, but Smalltalk already did that
> decades ago. So Ruby seems like yet another Perl-like language. Am I
> missing something?

I don't think Ruby is all that perl-like, despite some legacy things
that work like Perl (e.g., the global $_) but are mostly starting to get
deprecated in today's Ruby. Compared to Smalltalk, Ruby has much more
Python-like syntax, the rough equivalent of Python's property, and the
same ability as Python or Perl to "infiltrate niches" versus Smalltalk's
typical insistence that "It is the world" (workspaces &c). Oh, and a
reasonable approach to 'mixin' multi-inheritance which, as far as I
recall, Smalltalk didn't have (at least not back when I studied it).

If I had to nominate one Ruby feature that is particularly interesting,
it would be the way in which any method (==function) can take a block of
code and 'yield' values to it. Besides supporting uses similar to today
Python's generators (whose 'yield' sort of "goes the other way"...),
that also affords the functionality of stuff that will be introduced
only with Python 2.5 ('with' statement, 'yield' returning a value...).

While Ruby and Python essentially overlap on all dimensions, doing just
about the same things with often very similar code, I think there are
enough differences in detail to make studying Ruby interesting.


> Do you have any opinion of "Types and Programming Languages" by
> Pierce? Autrijus Tang (the guy who started PUGS, the Perl 6

Sorry, no opinion there.


Alex

ERowe

unread,
Nov 7, 2005, 3:49:13 PM11/7/05
to
Alex Martelli wrote:

> Yes, but I haven't found knowing (and using) Python dampens my
> enthusiasms for learning new languages. Using a language for real life
> programming isn't the only reason to learn it, after all. Mozart (==Oz)
> is a great way to reflect on programming paradigms (and Van Roy's and
> Hariri's book is the 21st century equivalent of SICP!!!);

That is "Haridi" and "Van Roy"

0 new messages