Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Once things start moving smoothly, they tend to continue to work smoothly.

This is flat out wrong. If you're on a language all the cool kids are using, you'll find those cool kids have an obsession with perfection. To the point where they deprecate things instantly and break everything that worked before. See NodeJS and Python for examples.

If you have 10K lines of code, not so bad. So you do a rewrite every year. When you have 100K lines of code or more, their obsession with perfection will destroy your business.

A rewrite becomes an immense undertaking. You end up running old versions. Those old versions require dependencies which require you to run old operating systems. Eventually the entire ecosystem implodes.

But guess what? Code that was written in PHP3 over 10 years ago works just as well today under PHP5. You can even mix and match. Does that make the syntax of the language ugly? Sure. It even encourages bad practices. So what? You're running a business, not an art gallery. Code should be beautiful, but not at the expensive of having a successful business and a working product.



> But guess what? Code that was written in PHP3 over 10 years ago works just as well today under PHP5.

Sorry, but having felt the pain of keeping legacy installs of old PHP versions around to run business-critical processes, I have to call bullshit on that one.


> legacy installs of old PHP versions around to run business-critical processes

Why? Your code should work in the latest version. Can you give an example?


But, I don't use the languages those cool kids are using. :) I imagine I would have to formulate a very defensive strategy to deal with breaking changes that would gobble up my productivity gains from using said cool language, just like the people that use Mongo have to DIY the checks that RDBMSes get for free.

I use Java and C++, and I don't rush update the second new libraries become available. My team has a large regression suite, too, so it's been less painful (can't say painless) to detect breakage when our dependencies need to be updated.


> I use Java and C++

Comparing Java and C++ to PHP is the equivalent of comparing a Ford Mustang to a Mac Truck. Yes, they are both vehicles. However, they are designed to do very different functions. Java and C++ are statically typed, compiled languages. PHP is not.

Yes, if you drive a Mac Truck, you can bully and make fun of the guy driving a regular car, but if you're using your Mac Truck to commute to work, you're a lunatic.

For every problem, a proper tool.


When you're trying to ferry boatloads of bits down the information superhighway, the Mack truck starts to look pretty good. Sure, the automatic transmission Mustang is cheap, quick to acquire, and easy to find drivers for, but you have to get 10 of them for every Mack truck's worth.

Given that FB's solution to their PHP problem was to discover the static typing, I'd say that PHP is not the proper tool for the current job.


Mack Truck


"See NodeJS and Python for examples."

What's an example of the Python community doing this. Usually Python get's criticised for being overly-conservative if anything.





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: