6 ms·
Why learn yet another programming language?
I have good experince in PHP and PHP Frameworks.
And there are all sort of new programming languages and frameworks getting famous.Like Ruby,Ruby on Rails,Node.js,Angular.js,Backbone.js,Ember,Express,etc.
Do I need to master yet another language or Is it ok to stick to what I already know?
- ColinWright 13y agoDo you want to grow as a programmer? Do you just want to keep doing what you're doing? Or do you want to be exposed to new ideas, new ways of thinking, new techniques, and possibly better ways of solving your existing problems?
- chintan39 13y agoI want to grow as a programmer for sure. Only problem is it will make me "jack of everything and king of nothing".
- earpwald 13y agoIt depends on what you want to do and what you want to become. As the old saying goes, knowledge is power, and the more you know, the stronger your skills can become. As a developer myself, I would say that my skills are independent of the language I'm coding in. For example I currently work in .Net, but the skills I know are easily transferable to other languages (Java, Node etc). It's important to remember that PHP is not going to be suitable for every situation that you develop in and knowing what else is out there, and having a basic knowledge in how the other languages work and their pros vs cons means that you can chose the right solution at the right time. Ultimately if you want to be a PHP developer I would recommend really focusing and learning that language first and then looking further afield. After all its better to be a master of one language, with the ability to pick up new skills as needed in others, than be an amateur at 10.
- chintan39 13y agoI agree the coding basic remains same across all languages.And I have not yet come across any project that cannot be done in PHP(except for Mobile Apps).
- earpwald 13y agoSeeing as you want to grow as a programmer then I would encourage you to first excel in PHP. That means spending time looking at in the in-depth ways of doing things, but more importantly the best way to do it. Look at best practices for PHP, how to improve your coding style and to work on learning how best to refactor and improve older code within systems to be performant and secure. I would also encourage you to look into the pros and cons of PHP, as there are situations where some other language is better. Sure you can do it in PHP anyway most of the time, but you should always look for the best solution, so using PHP may cost you more time or risk security or some aspect for a specific task. I don't know what you do and PHP could be perfect for everything you do, but knowing limitations is a good thing to know anyway. Once your happy with your level of knowledge in PHP that's when I would start looking at other languages, as you never know what you'll like. I've always been fond of java/.net stuff, but I recently tried Node and I love it, so you may find other things that you enjoy coding in.
- chintan39 13y agoI agree sometimes PHP may cost more time or risk for a secific task.But still will other languages help? Example : A complex task in PHP takes 4 hours and it can be done in Node.js in 20 min.But do I really need to spend 20 or 30 Hours learning Node.js and then complete that task?
- jesusmichael 13y agoI agree with chintan39... I've been working in java and php for more than 10 years. As its grown I've found I could do just about anything in it. Even before Zend I was building objects in it. To me the programming language is nothing but a tool to accomplish a task. The concepts of programming, the use of objects, models and data is the art of programming, the "design", the language is the tools and materials, the "wood and hammers". These can make it more elegant and high performance for the task the programming will be accomplishing.
- krapp 13y agoAlso, as someone who pretty much used PHP and Js exclusively before going for a CS degree, I've found that i've learned a lot about the languages I already knew by studying the way other languages behaved.
- daftonshady 13y agoIMHO, if you want to be a better programmer, you should eliminate language dependency. No one can `master` one language, but good programmer can use new language easily with less effort.
- yen223 13y agoYou know, people say that, but I don't quite buy it. You need to invest a lot of time in a language before you fully understand its ecosystem, quirks, strengths, and weaknesses. I believe that the time is better spent learning new algorithms. It's better to be able to implement hard algorithms in one language, than to be able to implement easy algorithms in a hundred.
- chintan39 13y agoI agree no one can master one language.
- wikwocket 13y agoThis depends a lot on your situation. If you work for a medium-to-large company, you may be called on to learn new technologies for new projects, new business initiatives, etc. If this happens too often it can be a bad sign, but in moderation it's a great way to learn new skills, broaden your horizons, and deepen your toolbox, so you can always find the right tool for the job (which often changes over time, since as an industry we are always enhancing our toolset). If you are a freelancer or in a small startup, this is much more at your discretion. You'll still want to use proper tools for the job, but you can make use of what you already know, or try out the latest whizbang thing. The common thread is that for the most part, the technology used is secondary to the business needs and how to fill them. By all means explore new languages for your education and edification, but if you are asking "Do I need another language," the answer is, "Can I use it as a tool to solve a problem I am facing?"
- sergiotapia 13y agoIf you want to still keep whittling away at PHP code, then don't do anything. You want to learn new languages and tools because you enjoy your job. At least I hope you do - you do this 8 hours a day. I've worked with guys who were 20 years into their career and only knew PHP (ok ok and some C) and haven't even heard of SVN let alone something modern like Git or Mercurial. "Source Control, what's that?" You don't want to become one of those guys when you're 50. Suddenly your job is precarious and worse than that, if you should lose your job where will you find other work?
- chintan39 13y agoOf couse we dont want to become "one of those guys".But lets say I start learning Node.js and then other framework for like Express,Angular.js,Backbone.js,etc comes in. If I start learning all those I may not be able to focus well in PHP and as I said earlier "jack of everything and King of nothing"
- timmm 13y agoFortunately for your hypothetical "king of php" is still underwhelming in most people's opinion. The other thing is learning the basics of one of these technologies really isn't super hard. It's not that you have to start using it daily, just spend a long weekend understanding the problem they aim to solve and how they achieve that aim.
- ihatehandles 13y agoNot master a new language, just dabble in an added few. Kill off an hour of bore learning some NodeJS or AngularJS, what's there to lose? If there's nothing to actually be gained. I do this from time to time and the knowledge I picked up later became the deciding competitive advantages for startups I work on.
- willstepp 12y agoThe best way to look at yourself is not as a PHP developer, but as a software developer. You can be a 'king' of software development, regardless of the shifting landscape of tools available to you. As a master of software development you must keep up to date on the best tools for the job.