Live data from Hacker News

Coding Horror: Hardware is Cheap, Programmers are Expensive

codinghorror.com

41–50 of 60 posts

Re: Coding Horror: Hardware is Cheap, Programmers are Expensive

#41
post #37

Earlier quoted context omitted.

Twitter is not "just a messaging system". See: http://www.hueniverse.com/hueniverse/2008/03/on-scaling-a-mi... (Many thanks to Eran Hammer-Lahav for writing this so that I don't have to.)

I respectfully disagree. It's a simple message passing system, of which there are a ton of examples. This isn't rocket science. The problem is that where once it would have been written in c as a server, it's now written with big databases and 'popular' languages - so it's harder to scale.

True. IBM have basically solved messaging with MQseries running on OS/390. All that remains is do that, only cheaper.

Re: Coding Horror: Hardware is Cheap, Programmers are Expensive

#42
post #27

Earlier quoted context omitted.

I don't believe that's true. Google sure, but twitter is just another message routing system, like any one of the IM networks. The average irc server probably handles more than twitter - certainly email software does. There's a ton of software that needs to scale, and be able to handle a large volume of data.

There's a ton of software that needs to scale Yes, but there's vastly more that doesn't, you need to stop thinking that most software runs on the Internet and has tons of users, it doesn't. The vast majority of software is written for businesses and runs either on an intranet or is available on the internet to the users of that business. For every public app you know about that needs to scale there are a hundred you…

The vast majority of software is written for businesses and runs either on an intranet or is available on the internet to the users of that business.

That doesn't mean a thing in terms of scalability. One user can max out a fast machine with OLAP cubes or other DSS. Or any sort of simulation or modeling. Think in terms of datasets, not in terms of users (all many users are is a large dataset with a requirement for a quick turnaround of each computation).

Re: Coding Horror: Hardware is Cheap, Programmers are Expensive

#43
post #42

Earlier quoted context omitted.

There's a ton of software that needs to scale Yes, but there's vastly more that doesn't, you need to stop thinking that most software runs on the Internet and has tons of users, it doesn't. The vast majority of software is written for businesses and runs either on an intranet or is available on the internet to the users of that business. For every public app you know about that needs to scale there are a hundred you…

The vast majority of software is written for businesses and runs either on an intranet or is available on the internet to the users of that business. That doesn't mean a thing in terms of scalability. One user can max out a fast machine with OLAP cubes or other DSS. Or any sort of simulation or modeling. Think in terms of datasets, not in terms of users (all many users are is a large dataset with a requirement for a…

If an app only has one user, it doesn't need to scale, it needs to perform. Scalability is all about users and only loosely related to performance. Datasets are irrelevant.

Re: Coding Horror: Hardware is Cheap, Programmers are Expensive

#44
I practise the 'path' method of speed optimisation: If you can not execute a piece of heavy code every 10 in 100 runs, you save a lot, just by a simple data/value check before it.

As for memory opts, pass by reference instead of value (in C++).

I've sped up code by a factor of hundreds by doing some crazy stuff (without going to assembly).

Re: Coding Horror: Hardware is Cheap, Programmers are Expensive

#45
post #39
post #9

Earlier quoted context omitted.

I quit a job a couple of years ago where (I kid you not) I had no desk, no allocated seating, and no PC. I was expected to bring in my own laptop. Whenever there was a director's meeting, we all had to surrender our communal office and hide in the server room. Duration of job: less than six months. It would have been shorter if I'd know what assholes they were (I had some idea they might sort out the problems if I wa…

...and you're not bothering to tell us who it is, so someone from HN might get suckered into working for them next month.

Even without the name, maybe they would be tipped off when asked if they mind not having a permanent desk and bringing their laptop to work every day.

Re: Coding Horror: Hardware is Cheap, Programmers are Expensive

#46
i'd say programming environment (unix/mac, vim/emacs) and skill levels (algo, data structure, etc) matter more than hardware

it costs less to hire a skillful (but expensive) developer on ok machine than less skillful one(s) on expensive machine(s)

the 10-100x gain myth on skill is pretty much true

Re: Coding Horror: Hardware is Cheap, Programmers are Expensive

#47
post #45
post #39

Earlier quoted context omitted.

...and you're not bothering to tell us who it is, so someone from HN might get suckered into working for them next month.

Even without the name, maybe they would be tipped off when asked if they mind not having a permanent desk and bringing their laptop to work every day.

I had a good experience working for a company like that, actually.

Re: Coding Horror: Hardware is Cheap, Programmers are Expensive

#48
Simplest method is still the best:

Write something that works. Run it at production loads. If it's not good enough, work on it. Don't worry about speed until you hit that. Only exception is if you know N's going to be big enough to be problematic.

In that case, do just enough optimization to make it reasonable.

Why? Optimization and maintainability* are often at opposing ends. It's best to avoid the costs of it when it's not needed, and the increasing capacities of computers should make you bias towards maintainability.

* and ease of debugging, and concerns for low software complexity, and likelihood that it will be well documented, and .....

Re: Coding Horror: Hardware is Cheap, Programmers are Expensive

#49

Do software programmers really worry too much about optimization? If that's the case, why are so many programs slow as a crippled sloth? Why does it take 10 seconds to open a freaking email client, when 1980s technology can do this in less time than is humanly noticeable?

That's got more to do with the size of all the frameworks & libraries loaded in, than the actual code of the app.

A modern desktop app has a lot more expected of it than one from the 1980s (GUI, copy-paste with styled text & embedded objects, drag & drop, undo, etc), and that code costs time to link in, use, and let run.

Re: Coding Horror: Hardware is Cheap, Programmers are Expensive

#50
post #41
post #37

Earlier quoted context omitted.

I respectfully disagree. It's a simple message passing system, of which there are a ton of examples. This isn't rocket science. The problem is that where once it would have been written in c as a server, it's now written with big databases and 'popular' languages - so it's harder to scale.

True. IBM have basically solved messaging with MQseries running on OS/390. All that remains is do that, only cheaper .

Proprietary message queues are a huge problem (and a huge business).

There are better ways: http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protoc...

For a good introduction check out http://google-ukdev.blogspot.com/2008/09/rabbitmq-tech-talk-...

Post reply on HN