I've historically always tried to stick to one or two big languages, because as soon as I start deviating even for a week, I go back to my primaries and find that I, humiliatingly, have forgotten things that anyone else would be completely incapable of forgetting. Now, I'm going to be learning assembly, since that kind of thing falls in line with my interests, and I'm concerned about forgetting big chunks of C while I learn. I already often have the standard open in a tab constantly despite using C since 2012, so my question is, how do you guys who are fluent in multiple languages manage to remember them? Have you been using both for almost forever? Are you all just mediocre in multiple languages rather than pro in one or two?
(Score: 1) by DNied on Monday April 07 2014, @03:21PM
Not with assembler, that is. It's so different that it won't clash with C (or other high-level languages) inside your brain.
In my experience, confusion usually arises between languages whose syntaxes present similarities. Like C and PHP, for example.
Background info: I'm mediocre in several languages, used to program in 6502 assembler in my early teens.
(Score: 3, Interesting) by NCommander on Monday April 07 2014, @03:28PM
Depends how many different architectures you work with; I work with ARM, AArch64 and x86 related, and I still occassionally get my opcodes crossed.
Still always moving
(Score: 1) by GmanTerry on Monday April 07 2014, @11:43PM
I used to get Z80 and 6502 mixed up. Ahh, the good old days.
Since when is "public safety" the root password to the Constitution?
(Score: 1) by moondoctor on Monday April 07 2014, @03:48PM
'mediocre in several languages, used to program in 6502 assembler in my early teens'
same for me.
i totally agree, assembly is so different it doesn't really make a difference to me.
java and c? yeah, bit like the romance language thing. can be confusing when getting up to speed on both at once. i had latin class following french when i was little and it caught me out a few times standing in front of the class babbling the wrong words.
as others have said, 2 years is not that long. if at this point it's taking you a week to completely switch gears and get your mind spewing one language over another that's not too bad.
in my experience it's things you use/do on a daily basis for a long time that become second nature. i'd wager if you used 2 languages extnsively every day for many years, you'd be master of both and also very likely have some interesting insight on programming that people versed in one or the other might not.
(Score: 2) by threedigits on Tuesday April 08 2014, @07:22AM
Au contraire my friend. "C" is basically an enhanced version of Assembly. You can think of it as a little coat of syntactic suggar. Learning Assembly will actualy improve his C skills.
(Score: 0) by Anonymous Coward on Tuesday April 08 2014, @01:09PM
This may be true for early (K&R) C. But for modern C (with type based aliasing rules and all that), thinking too low level may actually cause you to write erroneous programs. For example, the following code is not guaranteed to give you the result you'd expect from knowing your low-level stuff:
The C standard allows this program to print 13. And some compilers may actually produce code that does.