Hacker News new | past | comments | ask | show | jobs | submit login

Who doesn't believe that?



Sadly, many people don't. Try bringing up the idea of writing a large program in Ruby or Python and they'll balk at you saying that the languages are too slow. They will insist on using C++ or Java.


I don't think this hypothetical person is going to be a big emacs fan either.


You'd be surprised. I think it's basically what they're raised on. I recently gave an info talk at my old high school CS class where they use Linux, emacs, and learn C++ and (in the AP class) Java. One student in particular was anti-Python due to speed issues but it wasn't too hard to talk him down after examples and explaining ways to speed it up.


I've found the "developer time is more important than machine time in 99% of cases" argument to be particular effective when preaching python to the C++ masses.


It's effective, but less-so when the audience hasn't programmed anything Big before. If you've only done programming in school, and all of your C++ assignments take anywhere from 1 to 12 hours to complete, it's hard to see the dev time benefits.


That is a very dangerous myth, IMHO. Sure, sometimes it's true. But when it's not, you're up the creek without a paddle.


Not only that, but, unless you are in that 1% , the money you'd spend on developers could buy a much beefier server.


Well, if we're talking about scale, there is a significant difference between needing 100 servers and needing a 10,000. As in, you suddenly have far fewer choices as to where you can physically put them! At that point, suddenly, developers start to look very, very cheap next to hosting costs.

If you just need to buy 2 servers instead of 1 then sure, yeah, developer time is more expensive than hardware.


How many applications you know that need 100 servers?

I know of only a few that need 10...


The one I work on, for a start :-) A good deal more in fact...

But it's not just servers. You are up against physical availability of stuff, and stuff gets exponentially more expensive as you approach the limit. A programmer who is wasteful of memory on a single box will eventually reach a point where you simply can't buy more, you will have to rewrite the app to run on more machines, for example. At the small scale, sure, programmer time is expensive. But on an industrial scale, programmers are pretty cheap compared to say "building and operating an entire new datacentre".


If you are in the 10+ server league, you already are in that 1% where code efficiency and performance become more important than iteration speed or ease of development. In fact, it would be interesting to map where this transition occurs ;-)

And computers are cheap, regardless of how many you have. You say a datacenter with 50K servers is expensive, but imagine how bad would it be to maintain a building with 50K programmers...


Even if 90% of startups fail, surely more than 10% of the survivors will have Twitter-esque scaling problems if all their prototypes were on platforms with severe performance drawbacks.


Real Python people are totally pragmatic about this - if you need performance, drop into C for critical routines and use Python to glue it all together. This is how NumPy works, you totally can do hard-core number crunching in Python and never need to actually know that it's C or FORTRAN under the hood!

Other language communities make a point of being self-contained and consider it a failure if you need to use a native method, but as ever, it's about the right tool for the job.


In my experience, most Java zealots use Eclipse. Emacs folks typically are more hands-on people. The C++ crowd I know is more or less split between Emacs and Visual C++.


In general a "hypothetical person" probably isn't going to be a big fan of any one technology, platform, language, etc.

There are too many choices and everything is fragmented to the point that it's hard to find any common ground between ruby developers, js / jquery developers, old school c++ hackers, bash-scripting sysadmins and even perl gurus.

Emacs definitely isn't the most popular editor I've ever used though. When someone asks me why I use it, I usually give a short one minute demo where I macro a bunch of changes, show git integration, multiple buffers, and use some pre/post save hooks. Few editors come close to matching Emacs feature set.


I'm really bewildered by all the options for emacs-git integration. Which one is your method of choice?


I can't imagine using git with anything other than magit (whether from Emacs or not).


I'll take a look. Thanks!




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

Search: