Hacker News new | ask | show | jobs
by vijayr 4001 days ago
People sometimes give you funny faces when you tell them that you use „old and „outdated ones (e.g. Mercurial, Less, PHP).

This is so true. I've seen people refuse to take web dev classes in PHP and wait for availability of Java/Python classes (and not doing anything in the interim). I've seen people from marketing, sales, recruitment etc (who've never written code) put down PHP. It gets a little annoying at times.

3 comments

To be fair, PHP is kinda dangerous, especially in the hands of novices. Honestly, a world with fewer people-who've-never-written-code writing PHP doesn't sound like a bad start to me.

Don't get me wrong, it's possible to write great code in PHP, it's just a language that makes it easy for you to shoot yourself in the foot.

You hear the same argument for C / C++ but you don't see people putting it down as much as PHP.
That's probably because C/++ don't have good drop in alternatives. If I want to write a website, there are at least half a dozen equally mature languages to choose from. If I want to write any kind of embedded systems code, C is almost always going to be far and away the easiest way to go.
Not as much, but an awful lot, and in similar ways.

There's a difference in that PHP originated as a low-quality templating language, and that C/C++ are historical monuments of computing that most of the infrastructure of the world and most of the interpreted languages of the world run on.

There's not much of a difference in people calling both old, only used by dinosaurs, essentially unsafe, and the root cause of all bugs being choosing to use them in the first place.

The dangerous features of C/C++ gives you something useful in return -- low level control of memory. The dangerous features of PHP don't provide any benefits. It's dangerous because of poor design.
The beginner's C / C++ programs don't usually get put on the Internet (or even on a local network).
There is no such thing as a bad program. If it works, it's fine. Really...
It's bad if it's susceptible to running an attacker's arbitrary code.
The difference is that PHP is far more accessible to the average beginner than C/C++.
Sure I do, just not in the web dev community because they're generally seeing more PHP to warn about than C / C++ to warn about.
The idea of Mercurial being considered old and outdated is particularly baffling.
Maybe he forgot to include "popular" or "hip" in his list of adjectives. I guess it's also possible that it's status comes across as "outdated" because, as a tool, it seems to have a stronger preference amount heavy svn users (the people that think git's ability to rewrite commits is 'scary')?
Version control has strong network effects. If you use a particular VCS, it's in your best interests for every other project to use that VCS too. And if most projects are using a particular VCS, it's likely in your best interests to use that VCS too, whether you think it's technically the best or not.

That said, I'd never call mercurial outdated. If I saw it on a resume or someone mentioned it when asked what version control systems they'd used, I'd consider it a major positive, much more so than if I only see CVS, which in turn is better than seeing no version control at all or having someone give a blank look when asked what version control systems they've used.

And if someone says they've used both mercurial and git, that's the perfect opportunity to ask them to compare the two and mention what they like and don't like about each. If you've only ever used one, you don't necessarily have the basis on which to make a good comparison.

I've used both mercurial and git (as well as RCS, CVS, SVN, tla/baz, and bzr), and I can spell out exactly why I prefer git over each of them.

> I've seen [lay] people [...] put down PHP

Would you learn to drive on a Lada?

Conversely, should you learn to drive in a lamborghini?

Tools matter as a result of what you want out of them. In this case learning to drive. They honestly don't have that much value themselves. A guy who learns to drive on a Lada can drive a Mercedes too.

The same is true for programming languages, even though we love to pretend it isn't

> A guy who learns to drive on a Lada can drive a Mercedes too.

Let's continue this analogy until we swerve off the road.

Someone who learns to drive automatic is going to have a much harder time when they switch to driving a stick-shift, vs. vice versa.

Someone who learns to drive above the Arctic circle in the summer may run into trouble because they never learned how headlights, fog lights and brights work.