Live data from Hacker News

Web Applications Should Be Compiled

ediblepet.net

151–160 of 177 posts

Re: Web Applications Should Be Compiled

#151
post #98

Sweet merciful lord. Is this guy channelling Zed Shaw or what? Apart from all the hand-waving and generalizations, this guy doesn't sound like he's ever really a webapp under serious load. I'm not a Ruby guy, so I don't know how things fly with that, but I've never once had a problem with a webapp being slow because of the language it was written in. Bad database queries, unnecessary assets being loaded, definitely.…

I've worked on a webapp under serious load, and I think he's right. You're correct that database queries and resource bottlenecks are the usual problems for web application scaling, but even taking that into account, I've had more than one problem that was caused by the simple fact that Ruby is a dog of a language. Python is better, but only just so. Perl is faster than both, but still nowhere near as fast as a C++ p…

>I'd still consider using a compiled language, because the type-safety and compile-time guarantees of a statically typed language

My experience (and most everything I've read) says that the development speed is generally shorter for scripting languages, all things considered.

You seem to contradict that? References?

Re: Web Applications Should Be Compiled

#152
post #117

Earlier quoted context omitted.

Even though the tone of the article was abrasive, it was far more interesting and insightful than the one-line comment to which I responded. Your asserted arguments for dynamic languages are well-trodden ground: Assertion: "Some scripting languages are as fast as compiled languages." No, not really. I challenge you to prove that statement with a non-trivial benchmark. Assertion: "most of the time, web apps are waitin…

"There's no reason that it can't be handling other requests while waiting for a DB response or a pipe." Concurrent request processing most likely belongs in the server, not in the application. "Scaling Rails is a nightmare." For someone who complains of "well-trodden ground" in others' arguments, you certainly seem to have a deeply-rooted belief in the myth that particular languages and/or frameworks "scale" or "don'…

[deleted]

Re: Web Applications Should Be Compiled

#154
post #135

Earlier quoted context omitted.

"Scaling Rails is a nightmare." I find this similar to Woody's fear in the following exchange: Cliff Clavin: Boy oh boy, talk about your lucky days, huh, I just found twenty smackers back there in the pool room. And to celebrate my good fortune, I'm going to buy a round a drinks for all my friends. Carla Tortelli: What are you going to do with the other nineteen bucks? Sam Malone: Woody, that could be your twenty dol…

Twitter isn't really the poster child for Rails scaling. A huge chunk of their traffic isn't handled by Rails, and their web interface is fairly perfunctory. In any case, at this point I think it's fairly safe to say that I have some direct experience scaling Rails, and it's not as easy as the hand-wavers suggest. It's certainly worth a bit of work early on to avoid the nightmares that come with trying to scale somet…

"A huge chunk of their traffic isn't handled by Rails, and their web interface is fairly perfunctory."

I guess I wasn't clear enough. I meant they rewrote the parts that didn't scale in another language. Scala, I believe. Is that incorrect?

So, my point then is that writing it in Rails to quickly get it in front of users and quickly iterating on features turned out to be worth it, even though they had to rewrite large portions in another language once they had a lot of users. Do you disagree? I'm not a Rails developer, but this is my understanding of how Twitter development played out, and it seems to have worked very well for them.

I'm curious, if you would accept 10% more difficult, would you also accept 20%? 50%? I'm wondering just how exponential the suck can get.

Re: Web Applications Should Be Compiled

#155
post #146

Earlier quoted context omitted.

I think your point is exacerbated by the fact that it's hard to get web UIs "right". I was critical of languages like python and ruby until I had to do the frontend for some company code. Box looks like it needs to be shifted a few pixels right? Modify code, compile, check. Logo looks better with an offset? Modify code, compile, check. Writing in a scripting language makes it just Modify, check. You just can't do tha…

I've done a lot of webapp development in both Java and Rails. I would agree that the iteration cycle is shorter in Rails, but it's not as bad as your description makes it sound. If you have to redeploy a jar file as part of your development process, then that's a problem with your process, not your language. When I do Java webapp development in Eclipse, it compiles and hot-swaps my code in the background without requ…

Good point. Thanks for the tip! :)

That said, I don't need no stinkin IDE integration for .psps. Being able to log in remotely and edit something with vi is kind of handy.

Re: Web Applications Should Be Compiled

#156
post #4

Ranting aside, this seems like a valid complaint. Scaling and performance seem to be reasonably important in web applications, so why not write them in C? If the only complaint is the lack of good tools, why not build those tools? Disclaimer: I don't actually work on web apps, and therefore have no experience with these things.

To me, C makes a lot of sense for software that doesn't change all the time. The point in the article about being an engineer is valid. However, most website projects are business-driven, which means that you are constantly changing and refactoring stuff as misunderstandings get cleared up, design flaws emerge, business models change, minds change, etc etc. Business software projects are not just engineering, and if…

True, if house building was business-driven (instead of solely architect-driven) then it would make more sense to use materials more suitable for iterative process. Like cardboard boxes...

When requirements change weekly and by the projects end your original project description is only useful as a piece of history - then using concrete would mean lots of demolition work in the process.

Re: Web Applications Should Be Compiled

#157
post #117

Earlier quoted context omitted.

Even though the tone of the article was abrasive, it was far more interesting and insightful than the one-line comment to which I responded. Your asserted arguments for dynamic languages are well-trodden ground: Assertion: "Some scripting languages are as fast as compiled languages." No, not really. I challenge you to prove that statement with a non-trivial benchmark. Assertion: "most of the time, web apps are waitin…

"There's no reason that it can't be handling other requests while waiting for a DB response or a pipe." Concurrent request processing most likely belongs in the server, not in the application. "Scaling Rails is a nightmare." For someone who complains of "well-trodden ground" in others' arguments, you certainly seem to have a deeply-rooted belief in the myth that particular languages and/or frameworks "scale" or "don'…

Is it a still just a belief in a myth if you've experienced it first-hand?

Re: Web Applications Should Be Compiled

#158
post #117

Earlier quoted context omitted.

"Your comment adds less to an intelligent discussion than does the article you're calling a troll." Sometimes the truth is very simple. It can be considered a troll because it is in the tone "if you don't do as I say you are an idiot, like everyone else". Second: not all scripting languages are interpreted on the fly. In fact, many of the most popular frameworks load objects once and keep their compiled forms in memo…

Even though the tone of the article was abrasive, it was far more interesting and insightful than the one-line comment to which I responded. Your asserted arguments for dynamic languages are well-trodden ground: Assertion: "Some scripting languages are as fast as compiled languages." No, not really. I challenge you to prove that statement with a non-trivial benchmark. Assertion: "most of the time, web apps are waitin…

Did you just write that most web-apps aren't I/O bound? Because that sounds completely backwards.

Re: Web Applications Should Be Compiled

#159
post #117

Earlier quoted context omitted.

Even though the tone of the article was abrasive, it was far more interesting and insightful than the one-line comment to which I responded. Your asserted arguments for dynamic languages are well-trodden ground: Assertion: "Some scripting languages are as fast as compiled languages." No, not really. I challenge you to prove that statement with a non-trivial benchmark. Assertion: "most of the time, web apps are waitin…

Did you just write that most web-apps aren't I/O bound? Because that sounds completely backwards.

No. Obviously, any individual request/response is I/O bound. But the server doesn't have to be I/O bound.

Re: Web Applications Should Be Compiled

#160
post #159

Earlier quoted context omitted.

Did you just write that most web-apps aren't I/O bound? Because that sounds completely backwards.

No. Obviously, any individual request/response is I/O bound. But the server doesn't have to be I/O bound.

The top line in a gprof profile of an evented C web server had better be select() (or equivalent) or read() (or equivalent). So I don't follow you here.
Post reply on HN