473,387 Members | 1,455 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

Learning multiple languages (question for general discussion)

After my last post, I thought of another question as a result of the
following:

------------------------------
Mike Meyer wrote:
John Salerno <jo******@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.
Nov 3 '05 #1
15 1978
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 <jo******@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: ni**************@thomas-guettler.de

Nov 3 '05 #2
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.

Nov 3 '05 #3
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! :)

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. 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.

Nov 3 '05 #4
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! :)
Nov 3 '05 #5
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.
Nov 3 '05 #6
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
Nov 4 '05 #7
Magnus Lycka <ly***@carmen.se> wrote:
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.


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
Nov 4 '05 #8
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.)
Nov 4 '05 #9
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
Nov 4 '05 #10
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.
Nov 6 '05 #11
> 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
Nov 6 '05 #12
"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?
Nov 6 '05 #13
Paul Rubin wrote:
"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?


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
Nov 6 '05 #14
Paul Rubin <http://ph****@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
Nov 6 '05 #15
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"

Nov 7 '05 #16

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Lars G. Svensson | last post by:
Currently, I'm marking up a few pages in German, containing quite some English abbreviations. The abbreviations are marked up as <abbr> with the appropriate title attribute, and -- when appropriate...
1
by: David Van D | last post by:
Hi there, A few weeks until I begin my journey towards a degree in Computer Science at Canterbury University in New Zealand, Anyway the course tutors are going to be teaching us JAVA wth bluej...
14
by: Rich | last post by:
Hi, (this is a probably a bit OT here, but comp.lang seems rather desolated, so I'm not sure I would get an answer there. And right now I'm in the middle of learning Python anyway so...) ...
47
by: Mark | last post by:
why doesn't .NET support multiple inheritance? I think it's so silly! Cheers, Mark
4
by: Matt Kruse | last post by:
While developing an internal IE6-only webapp, a discussion started about the 'best' way to apply classes to data tables across multiple pages. The two arguments were: 1. Apply a single class to...
60
by: Shawnk | last post by:
Some Sr. colleges and I have had an on going discussion relative to when and if C# will ever support 'true' multiple inheritance. Relevant to this, I wanted to query the C# community (the...
12
by: Peter | last post by:
Hi Complete ass here trying to get his feet wet in .NET programming. I want to start easy, understanding what is talked about. Which of these two would be a better choice, if same, which one is...
5
by: romiro | last post by:
Hi all, I'm a PHP5 developer looking to "broaden my horizons" so to speak by learning a new language. I emphasize the 5 in PHP since I have fully engrossed myself in the full OOP of version 5...
14
by: =?ISO-8859-1?Q?S=E9bastien_de_Mapias?= | last post by:
Hello, Hopefully I'm asking my question on the proper forum, but it's some kind of low-level computer language issue and I guess here, many people are likely to give me fine enlightenments (and I...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.