Thread: Learning two programming languages at the same time

  1. #1
    Registered User
    Join Date
    Sep 2011
    Location
    Dublin
    Posts
    55

    Learning two programming languages at the same time

    Yay or nay? I've been learning C for the past month or so and now I want to continue where I left off with Java and continue learning both. Is this a bad idea from your experience?

    Cheers

    BIOS

    P.S Apologies but not sure if this thread belongs on the tech board :? Feel free to move if so.
    Last edited by BIOS; 10-01-2011 at 06:29 AM.

  2. #2
    [](){}(); manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    *nullptr
    Posts
    2,657
    Yay
    I learnt (&& am still learning ) C++ and python at the same time. It is adventurous !

    Also, you should consider putting extra languages away for now and concentrate on data structures and algorithms if you do not have a strong base of those concepts.

  3. #3
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    Generally, I consider that trying to learn two languages at once is a really bad idea. You might get away with it if the languages are VERY different, but rarely when the two languages have similar-looking syntax (as is true between C, C++, and Java). C++ and Java are among the two worst languages you can pick to learn concurrently, because several elements of syntax are fairly similar but a lot of good techniques in Java are really bad techniques in C++ (and vice versa).

    Better to focus on one first, get proficient in that, and then take time to learn the other. That way, while learning, there is a clearer demarcation in your mind of the differences.

    Quite a few people, even if they try to keep their learning separate, try learning a second language "by analogy" with the first. That is an equally big mistake. If you are going to learn a new language, try to learn that language, rather than trying to use techniques from another language.

    I agree with manasj's advice to get a grounding in concepts (data structures, algorithms, etc). The basic ideas are often independent of programming language, although their implementation can change with different programming languages.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  4. #4
    Registered User
    Join Date
    Sep 2011
    Location
    Dublin
    Posts
    55
    @ manasij7479 Great. Thanks for the extra advice re: data structures and algorithms I'm working on this aspect too. I'm dividing my time between learning the language(s) and discrete mathematics at the moment. It's a nice balance. I bought this for when I get a bit more familiar with C.

  5. #5
    Registered User
    Join Date
    Sep 2011
    Location
    Dublin
    Posts
    55
    Thanks for the advice grumpy. This point in particular:

    Quote Originally Posted by grumpy View Post
    Quite a few people, even if they try to keep their learning separate, try learning a second language "by analogy" with the first. That is an equally big mistake. If you are going to learn a new language, try to learn that language, rather than trying to use techniques from another language.
    I was advised this in my first thread here! Since then I haven't touched Java. I get what you mean with regard to C++ and Java (the whole OO side of things). That would definitely be confusing. Additionally, the languages I mentioned are alot more similar then the two manisij7479 is learning.

  6. #6
    Banned
    Join Date
    Aug 2010
    Location
    Ontario Canada
    Posts
    9,547
    As Grumpy and Manisij have pointed out, it's really a question of how totally confused you're trying to be...

    Basically you should stick with your first language long enough to get a grounding in *programming* concepts and practices before trying a second language... Then, since most people naturally learn by analogy (or extension) you learn your new language as an analogy to programming, not the first language.

  7. #7
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by BIOS View Post
    Is this a bad idea from your experience?
    It seems to me that it is inevitable in a sense; I've learned and/or substantially improved my knowledge of several languages "since I learned C" but realistically, I'm still learning little things about C on occasion.

    Moreover, I learn more concrete and fundamental things about javascript and C++ whenever I do something sufficiently substantial with them, say every few months. Isn't improving your skill with a specific tool "learning" that tool better?

    Certainly beware the caveat that trying to universalize a methodology learned in one language may not be a good idea in another -- but OTOH, sometimes it is.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  8. #8
    Registered User
    Join Date
    Sep 2011
    Location
    Dublin
    Posts
    55
    Quote Originally Posted by CommonTater View Post
    Basically you should stick with your first language long enough to get a grounding in *programming* concepts and practices before trying a second language.
    I definitely haven't stuck with Java that long! Only started programming in Java at the start of the summer. Before that I did a *little* bit of LISP. My experience thus far has been to to get up and programming as quick as possible and just learn what I needed for the particular task. I suppose it's a part of the process for people who program as a hobby or a supporting skill. I've only started studying from the ground up in the last month or so. I've made the decision that I'd like to try and get my programming skills up to a decent level and hopefully get some sort of qualification.

    Quote Originally Posted by MK27 View Post
    It seems to me that it is inevitable in a sense; I've learned and/or substantially improved my knowledge of several languages "since I learned C" but realistically, I'm still learning little things about C on occasion.
    I guess the learning never stops. You can always get better. I suppose the key for my situation would then be to gauge when I am familiar enough with one language so as to allow learning a second. At that point it would be a matter of learning syntax, language specific development/design approach etc. as opposed to learning programming fundamentals at the same time.
    Last edited by BIOS; 10-02-2011 at 01:04 PM.

  9. #9
    Registered User
    Join Date
    Oct 2011
    Location
    Derby, UK
    Posts
    8
    If you call Adobe ActionScript a 'programming language', then I learnt this alongside Java and the mark-up language HTML in my previous studies, and continued onto 'learn' SQL and something that looked like Cobol in the 2nd year of the course, though the latter aren't really programming languages either in the same way that C-derived ones are. At least you know what you prefer and where your strengths are - mine were definitely not in scripting, HTML or anything to do with databases.

    Cheers,

    S.

  10. #10
    Registered User
    Join Date
    Sep 2011
    Posts
    19
    What about C and HTML at the same time ? From what I've heard, HTML takes 2-3 weeks only and is easy.

  11. #11
    Registered User
    Join Date
    Sep 2011
    Location
    Dublin
    Posts
    55
    Quote Originally Posted by zakiuz View Post
    What about C and HTML at the same time ? From what I've heard, HTML takes 2-3 weeks only and is easy.
    The overarching point seems to be that learning two languages simultaneously which are similar is a bad idea as it can create confusion. I don't think you'd encounter this issue with the 'languages' you mentioned. HTML is a mark up language as opposed to a programming language like C.
    Last edited by BIOS; 10-04-2011 at 04:12 PM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Learning 2 Languages?
    By Greek_89 in forum C++ Programming
    Replies: 9
    Last Post: 12-23-2010, 08:50 PM
  2. Total newb to programming here... Question about the many programming languages. Ty!
    By tsubotakid1 in forum A Brief History of Cprogramming.com
    Replies: 11
    Last Post: 10-05-2003, 10:32 AM
  3. Some questions about learning languages
    By Zewu in forum A Brief History of Cprogramming.com
    Replies: 13
    Last Post: 03-08-2003, 06:46 AM
  4. Other Programming Languages
    By cozman in forum A Brief History of Cprogramming.com
    Replies: 35
    Last Post: 10-20-2001, 04:46 PM