4 ms·
Yes, but then only one language appears to be dominant in my mind at a time and I try to use it's features in others. For e.g. after spending time with python,
by confused_coder 12y ago
Yes, but then only one language appears to be dominant in my mind at a time and I try to use it's features in others. For e.g. after spending time with python, when I switch to C, I digress thinking about how this could be done with maps or zip or something which I'll have to implement in C and probably would end up being non-efficient solution. Similarly, when switching back to python, I digress thinking about how this feature must have been implemented in Cpython and eventually end up thinking even more about C and way solution would be approached in C.
- nostrademons 12y agoCode more in each language, enough that you actually forget how to code in your previous language. Then switch back and re-learn it, including the old idioms. Your goal is getting the idioms, best practices, and language philosophy ingrained unconsciously in your brain, so you don't have to think about it. It's much like switching from Qwerty to Dvorak. When you first do it, if you do it right, you will forget how to type in Qwerty. It's only after switching between them a couple times, re-learning the previous layout, that you'll become fluent in both. Switching does become easier after the first few times, though.
- devnonymous 12y agoI agree with what nostrademons said in his reply. However, I also find it useful to try your hand at coding stuff that the language is good or well suited for. For example, when doing python, don't write cli tools (although you can very well do that with python). Write a web app or learn Django and try and build something using the framework. Focus on the spaces where people claim the language is best suited for. When switching back to C, do systems level programming. Also, set your goals (ie: what you'd like to build using the language) according to the strengths of the language. Off the top of my head, here's something I would suggest: Ruby -- Build a webapp -- possibly a complex enough app. Aim big -- like gitorious perhaps. Focus on learning rather than completion. Python -- Build a game C -- Contribute to the linux kernel :) ...you get the drift, I guess
- confused_coder 12y agoThanks! all great, practical tips. edit: BTW I do contribute to kernel (occasionally) and have written games and done moderately sized projects in python (out of interest). But I think main thing is probably to contribute often so that I switch back and forth often too.