It's a valid point. I wrote the Mibbit backend from scratch in Java for these reasons. I can only start to imagine the horror I would be enduring if I'd chosen a scripting language. Having said that, choose the right tool for the job. edit: Downmod me all you like. A scripted language wouldn't handle 2k req/sec on a couple of VPSs.
I think Mibbit, much like twitter, is one of those apps that is a non-traditional webapp. While its a web based frontend the traffic and distribution of chat messages is a much different beast then what most webapps do. Java is very likely a much better choice for these reasons.
Web Applications Should Be Compiled
141–150 of 177 posts
Re: Web Applications Should Be Compiled
#142Earlier quoted context omitted.
I think Mibbit, much like twitter, is one of those apps that is a non-traditional webapp. While its a web based frontend the traffic and distribution of chat messages is a much different beast then what most webapps do. Java is very likely a much better choice for these reasons.
Twitter runs under serious load using "scripting languages". The issue is runtime, not language.
Re: Web Applications Should Be Compiled
#143Isn't that's what CGI is for? If you want a full blown web application framework in C is going to be a lot of work. String manipulation, parsing HTML with standard C libraries is not going to be easy. Java, C# and Python have pretty decent frameworks to do this I don't see the point of writing one using C.
Re: Web Applications Should Be Compiled
#144Earlier quoted context omitted.
Your comment adds less to an intelligent discussion than does the article you're calling a troll. First, this isn't a troll. The guy posted a blog post on his own blog. He didn't post off-topic content to a thread and didn't try to provoke an argument in an otherwise civil conversation. The only possible way that you can characterize this as a troll is that he uses some crude language, and says some things that are u…
"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…
Re: Web Applications Should Be Compiled
#145Sweet 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.…
Now if he were to propose writing JUST a web application in C that has a custom HTTP server designed from sockets up to HMTL... you can streamline the sh*t out of that.
Much luck to him. Success or failure, he'll still probably be learning...
Re: Web Applications Should Be Compiled
#146The reason why people choose to go with languages like Ruby is because the trade-off on speed is worth it. Web front-ends scale very easily. You can just add more web heads and load balance between them. Databases are much harder to scale since you need to keep data consistency and can't just throw more boxes at the problem. So, you don't need to be computationally efficient. However, you do need to develop fast. You…
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…
When I do Java webapp development in Eclipse, it compiles and hot-swaps my code in the background without requiring any restart or redeployments. Works pretty well.
I do have to restart occasionally because the hot-swapping has limitations, so that does slow things down a bit, but when you consider the time saved by having good compiler integration, then I don't think there's a big difference in productivity.
Re: Web Applications Should Be Compiled
#147Earlier quoted context omitted.
Would you not agree that the web is becoming more "real time". People demand webapps to update as they view them - ajax,comet,getNextBuzzword(). Those demands place a higher load on servers, especially when you scale to large number of users.
For sure, but 99% of apps never scale to "large numbers of users". And when they do, they usually have the time to figure out how to do so without downtime. Often, that may involve rewriting part or all of the backend in a lower level language. If that's needed, so be it - but to do it before you have any performance problems is just premature optimisation.
Why would I want to run and manage and design for a server cluster just because each and every Rails process needs to load the entire language runtime, the framework and all the libraries using 100MB of RAM for no application functionality at all? Not doing all that work is premature optimisation?
Re: Web Applications Should Be Compiled
#148Earlier quoted context omitted.
I think Mibbit, much like twitter, is one of those apps that is a non-traditional webapp. While its a web based frontend the traffic and distribution of chat messages is a much different beast then what most webapps do. Java is very likely a much better choice for these reasons.
But what if traditional webapps are on the way out?
Perhaps a new type of web framework is needed to address these breeds of apps.
Re: Web Applications Should Be Compiled
#149Earlier quoted context omitted.
I find it easy. The bad thing about c++ is its size. It's large and that tends to make it complex. However, I find that I only use about 40 to 60 percent of what c++ can actually do. Focus on the parts that you use and you'll find a lot of the complexity goes away.
One problem is that if you work with other people in c++, the 40 to 60 percent they use won't necessarily overlap with yours.