Person X: Ahh, you must be a programmer. Did you know that Shiny Happy Fun-time Framework is the best thing ever!
c: Why?
Person X: Because it does things impossible in other frameworks!
c: I did all of those things in 1998, and I wasn't the only one. I read it in a book.
Person X: And it's all possible because of Super Glorious People's Language!
c: I did all of those things in 1998 in another language.. Several other people did that in at least 2004 in several other languages before you'd heard of your language.
Person X: Only Super Glorious People's Language makes it possible! It is undeniable.
c: (I am not going to use the phrase "Turing equivalent" or, worse, "Turing complete". I am not going to use the phrase "Turing equivalent" or, worse, "Turing complete".) ~sigh~ Okay, tell me why. What features of the language make it possible?
Person X: The whole thing! It is impossible with any other language!
c: No, seriously. If what you say is true, there must be some feature your language has that other languages lacks. Programming languages are, more or less, determinate. (I am not going to use the phrase "Turing equivalent" or, worse, "Turing complete.") If one language has a feature and another language lacks that feature, it should be possible to identify that feature!
Person X: It is not about features! It is a pleasing gestalt! If only you used it you would know that you are a hundred times more productive and you would emit the springtime odor of lilacs!
c: I have used both the language and the framework, but that's not the point. If you can't identify a point of difference, I can only doubt your assertion. It's a basic ontological proof. If there is a difference between two languages, you should be able to identify it. If you cannot identify a difference, I suspect either that there is none or you do not have the experience and understanding to discuss this subject in any interesting detail. Don't make me explain syllogisms.
Person X: It is true however! Most people in the world know this to be true!
c: Okay, you're not capable of having a serious conversation. That's good. That's fine. Look, I'm just going to walk to the other side of the airport now. You keep your flower.
Re:I can guess the language...
Alias on 2007-04-06T14:38:23
If it's the one I think it is, I like it when they rave about closures, and then you tell them what a continuation is and that other languages have them:) Re:I can guess the language...
chromatic on 2007-04-06T16:38:56
Who says it's only one language? I'm capable of a great deal of annoyance focused in several directions simultaneously!
Re:I can guess the language...
sigzero on 2007-04-07T02:53:59
Hmmm...point taken. I guess I was letting the current things I have seen you post in other places skew my response.
Interview with Twitter Developer Alex Payne
By various metrics Twitter is the biggest Rails site on the net right now. Running on Rails has forced us to deal with scaling issues - issues that any growing site eventually contends with - far sooner than I think we would on another framework.
The common wisdom in the Rails community at this time is that scaling Rails is a matter of cost: just throw more CPUs at it. The problem is that more instances of Rails (running as part of a Mongrel cluster, in our case) means more requests to your database. At this point in time there’s no facility in Rails to talk to more than one database at a time. The solutions to this are caching the hell out of everything and setting up multiple read-only slave databases, neither of which are quick fixes to implement. So it’s not just cost, it’s time, and time is that much more precious when people can[’t] reach your site.
None of these scaling approaches are as fun and easy as developing for Rails. All the convenience methods and syntactical sugar that makes Rails such a pleasure for coders ends up being absolutely punishing, performance-wise. Once you hit a certain threshold of traffic, either you need to strip out all the costly neat stuff that Rails does for you (RJS, ActiveRecord, ActiveSupport, etc.) or move the slow parts of your application out of Rails, or both.
It’s also worth mentioning that there shouldn’t be doubt in anybody’s mind at this point that Ruby itself is slow.
Re:Bring the Payne
chromatic on 2007-04-14T07:36:10
I really want to make a joke about common sense here, but that would merely prove that I'm overeducated.
Re:Bring the Payne
Aristotle on 2007-04-14T11:11:38
Payne is expecting a shrinkwrap solution to problems where there is no general case for a framework to solve. Ryan Tomayko makes this point at length.