If there’s one thing I don’t understand about programming communities (online and average joe coder on the street) it’s the competition that’s everywhere. Sure, I can see how there’ll always be the zealots that think their language can do everything. Well, I hate to break it to you guys but there’s just no such thing. Every language has their own feature set and their own strengths. There’s not one that’s going to work in all situations.
Repeat the mantra after me: “Use the right tool for the right job”.
Now, I’m a PHP developer so my views are a bit slanted that way, but I’ll be the first to admit that there’s things that the language just isn’t good for. I like to get feathers ruffled as much as the next guy, but there comes a point where you just have to concede. PHP is excellent for web development – it makes creating sites easy and there’s some great frameworks built on it but there are things it just doesn’t do well. Other languages like Python and Ruby are a bit more modular and, according to what I’ve read, and do a lot of the same things for the web that PHP does. There’s one thing to remember, though – it’s not really about what they do that’s the same, its the differences that matter.
You a Ruby developer can argue with the PHP developer all day long on how one handles objects versus the other or the “dumb syntax” that the other uses, but remember the mantra. There’s things that Ruby does that PHP just doesn’t do well and vice versa. Focus on these other things – that’s why you choose one language over another.
Don’t let your language choice get the better of you and put blinders on – expand your horizions! Don’t be afraid to check out other languages/technology/etc. You might actually learn something in the process that can make you an even better developer than you are.
The use of a specific lang is driven by not only the developers knowledge but the employee/clients needs.
There can come a point where the 2 of these do not line up and you either have to accept and use a different lang or quit.
This is why is better to keep an open mind, imagine a previous client passing you by for his next big project because all you ever do is bash ruby and for some reason this has to be done in ruby.
A programming lang is a tool, thats it.. Any good tool can be replaced by another tool. If your good it won’t take you long to adapt to that new tool. If your just a wannabe your going to find out quickly.
I would love to learn C in more depth and play with a couple other languages but I don’t not because I am “devoted” to php, it just pays the bills and I just don’t have enough time.
Now if that changes next month, year, when ever I will make the switch and I will do it gracefully.. Until that time I will support php to the best of my ability.
That is exactly why we are building Midgard now around multiple language bindings and D-Bus communications…
For instance: http://teroheikkinen.iki.fi/blog/view/midgard_workshop_at_fscons.html
I am also a PHP developer, and I wish I did have more time to get into RoR, Python and Java. Where I think this argument falls down a bit is when you’re dealing with a team of programmers at a work place. Learning a new language is a personal process (albeit supplemented by the language’s community), and if one person on a team knows Python and starts using that to solve a problem, they have essentially elected themselves to be the sole owner of that project. Yes, I’m sure that if something broke other developers could swoop in and figure it out, but that would certainly take more time and effort had they all the same level of Python knowledge. Now this project has a higher cost of delivery and maintenance for the company.
Again, this is not to say that on an individual level you should only focus on one language. As you pointed out, learning other languages will deepen your understanding of the programming process better and make you a better developer. However, bringing a mishmash of languages into a corporate setting can have disastrous effects if you’re the only one with that skill set.
you claim that PHP is better suited for Web-development than Perl, Ruby and
Python. I disagree. Perl, Ruby and Python each have great frameworks and
are better designed languages.
Bernhard: you may be right, but one aspect of programming that is important almost as much as the actual language capabilities is how much the language is popular. That’s right. When a language is used extensively, it is generally better supported, bugs corrected faster, and community support more widespread. PHP has a headstart on that matter. That is all. 🙂
It’s funny how some of the people commenting totally missed the point of the post. “Oh, oh, you said PHP this and that but you’re wrong!”.
I agree with the post. If you have a chance to learn other languages, do it. Myself, I work with PHP all [work]day every [work]day. I am tired of programming when I get home, so I’ll be luck to find the time and personal effort to learn another language, no matter how much I want to.
Bottom line: Definitely branch out and learn new languages when possible.
It can be simply stated as “Knowledge is Power”.
The more you know in your industry, the better you’ll be.
langauge, as a means for us to talk to the computer, depends on its popularity.
i’m not here to argue of the pros and cons of PHP, but i wish to point out to the programing community of several things.
2. Thus server ws served, clients could only browse.
4. Hence, the equition is only complete when you have langauge for both Client and Server Side.
5. Realising this, Sun, Zend and others try to make as close a lngauge construct as possible to make is easier for programmers to code on either side, without having to learn a new language.
6. Hence, you get things like DOM. And a an elementary getEmelentById exist on both sides. ( you now have to be aware who you are, a client or a server 🙂 )
8. That leave us with only one element, the database side. The queery language seems not to fit in either. So at this moment i really don’t know how or where to fit it in, but perhaps someone will have an excellent idea. ( Like maybe have it all PHP ? ).
Ok, have a nice day guys, and lets drop all tables 🙂
Damn good discussion. It will really help to those who are new in the programming profession. I myself is a PHP coder and I love my job so much. I like the challenge.