PDA

View Full Version : Bi-lingual




mav814
Apr 1, 2009, 06:21 AM
Hey a question for all you bilingual programmers
Is it confusing to learn 2 at the same time or even to know 2? I may me taking a school course that uses java while I'm in the middle of reading up on objective c. Thanks for any help.



robbieduncan
Apr 1, 2009, 06:43 AM
Once you learn a few languages adding others is not a problem. I use Java/Obj-C/Transact SQL/Perl/Shell scripting day to day. At Uni I had to know ML, Prolog, Java and more at the same time...

Zortrium
Apr 1, 2009, 07:18 AM
Most things you learn when you 'learn a programming language' are programming concepts that are reusable in many languages rather than particular to that single language. Thus, the learning curve for subsequent languages tends to quickly drop off once you've picked up one or two and it mostly comes down to learning a new language's syntax (which is typically pretty straightforward). There's more of a curve when jumping from one programming paradigm to another (for example, going from a procedural language like C or Java to a functional language like Lisp), but again, once you're familiar with the paradigm it's pretty easy to pick up other languages in the same style.

lazydog
Apr 1, 2009, 08:06 AM
Hi

Some languages have annoying differences, eg different string concatenation operators ( +, ., &), 0 or 1 as the base index for arrays and so on. If you're bouncing between languages then you have to be careful not to momentarily 'slip' into the wrong language mode. Sometimes these small differences can lead to bugs which are very hard to find.

b e n

lee1210
Apr 1, 2009, 09:28 AM
I would say it might be hard to *learn* multiple languages at once, because what you're actually learning is syntax, and it would be much easier to confuse the syntaxes whilst learning, while it is still "mushy". Over many years, learning many languages is not difficult at all in my opinion. The most challenging is learning a paradigm. Learning procedural programming is different than functional programming is different (somewhat) from OO of either flavor is different from MLs, etc. Once you've learned one language of a particular paradigm, in my opinion it is quite easy to learn another, because as Zortrium said, you learn the concepts while you're learning the syntax for the first language. From then on, it's just syntax, and that's pretty easy.

Every day I read and write:
C
Fortran 77/90/95 (in order of decreasing unpleasantness)
BASH
Perl
Java
SQL (mostly regular CRUD, occasionally pl/pgsql for functions, etc.)
Various UNIX tools (awk, sed, etc.)

If i'm perusing the code of my companies other product, javascript gets in the mix, too. This is not a comprehensive list of the languages I know... I regularly post Objective-C, Haskell ("regularly" may be an overstatement on this), Applescript (again, maybe not regularly), etc. on this forum. In school I worked with C++, MIPS ASM, x86 ASM, Prolog, LISP, etc.

The summary is:
No, it is not hard to be a programming language polyglot, but i would bite off one thing at a time. No use in confusing yourself. Once you've learned one thing (not mastered, just comfortable with its use), you can start learning something else.

-Lee