So I have been developing with PHP for a year and a half now. Somewhere along th
ID: 648739 • Letter: S
Question
So I have been developing with PHP for a year and a half now. Somewhere along those times, I decided to pick up skills in Python and Ruby, and learn ASP with C# just recently (as my first compiled language). Adding to that I'm a sucker for good CSS and Javascript coding.
What I'm worried about is that this is a huge undertaking. Please don't tell me "you should focus on one language" right now because it's just that my damned brain is telling me to study the aforementioned languages and get up and running ASAP.
I'm 21, and work at a small web dev company. They're not that strict so I can sneak some time learning Python and improving my PHP. At home I work with Ruby and C#. I have done the following to effectively manage my learning process:
Focus on web-only projects
Reuse my codes from PHP and convert rewrite them according to the language syntax (to Ruby, to Python)
Create an online blog to store some of my codes in case I need to get back to them later
I know it's quite insane to juggle 4 server languages and 2 frontend languages at once but hey, I am having fun doing this. I'm not saying I want to master them immediately, because I know it takes years to master a single language.
Have you done this before? How did you manage your learning process? Did you give up halfway and just focused on one?
Explanation / Answer
Dude, what's the question again?
The simple answer is that if you're learning for the sake of learning and saying that you know this and that language, then that's okay. But the consequence is that you totally, absolutely suck at all of them after this exercise.
The difficulty in shifting across languages is not the syntax and the concepts. Those are general, really. The difficulty is in mastering the nuances. How does the CLR allocate memory for a generic object in C#? How does Ruby execute its iterators? How does PHP parse strings? How does Python do its thing (lame analogy coz I haven't touched Python).
Translating one program into another ala Rosetta stone across several languages is totally, totally irresponsible because each language will have its own "right way" of doing things. The exercise will only make you succeed in something akin to having a Chinese guy translate French to Chinese and then Chinese to English to write a French-English dictionary. It's a disaster.
Suck up your pride and your programming ADHD and focus on one thing. Or focus on just two languages at most, making sure your priority is doing things the right way, on both languages.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.