8 ms·
Rails won
- rbanffy 18y agoAs much as I appreciate the momentum behind Rails, I cannot stop reminding me that if I go with the herd and do whatever most people are doing I will have to find my competitive advantages in places other than technology. And I think that would be a huge loss for me.
- SwellJoe 18y agoNot only that, going with the herd would actually mean going with PHP and not Rails. There are dramatically more applications written in PHP and developers working in PHP than with Ruby on Rails.
- rbanffy 18y agoI am not sure. Rails seems far better positioned than PHP for future growth. This means PHP will peak and Rails will surpass it eventually.
- eatenbyagrue 18y agoI say that's a big maybe. For all it's strengths, Rails requires more programming skills than PHP... PHP will always be better for the "web designer turned scripter" set, just because it's easier to get results with if you aren't really a programmer by trade.
- rbanffy 18y ago"PHP will always be better for the "web designer turned scripter" set" It all depends on who you want to build your web applications, the guy who knows how to build them or the guy that knows how they should look.
- Keyframe 18y ago> PHP will always be better for the "web designer turned scripter" set Funny, I think the same about Ruby/RoR, it just seems like a perfect crowd/match for "web designer turned scripter" mindset - looks like it is marketed to the same crowd too. PHP mostly marketed itself to "script kiddies", albeit not on purpose. It gained a huge following, and with it came lots of inexperienced kids that could "do stuff" easily. Mainly installing phpNukes, at the time, and modifying phpBBs etc. To say that Rails requires more programming skill than PHP is a moot point considering that developing web application, whatever the nature, could be done in both Ruby/Ror or PHP (with from scratch work or some framework) - thus it relates to the same problem set. Why would solving the same issues in one language/framework require a larger skill set then? It is as if you are saying RoR programmers are l33t, PHPs aren't - which doesn't make any sense, because I believe there are many great programmers and programs written with both.
- rbanffy 18y ago"I think the same about Ruby/RoR, it just seems like a perfect crowd/match for "web designer turned scripter" mindset" And that is probably one of the greatest strategic weaknesses of Rails - it will be used by those who shouldn't use a web framework, who will make every silly mistake and that could tarnish Rails reputation beyond repair.
- Keyframe 18y agoNot necessarily. As you can witness, PHP attracted lots of "newbs" and guys that generally don't have a clue, or are just installing drupals, joomlas and whatnots while proclaiming or being proclaimed as PHP gurus. It did get a badge of being a shit language to php, like visual basic (which rightfully deserves so IMO - php does not), but it did fine. Culling of the masses that don't have a clue happens spontaneous, and usually follows them being hoarded into a separate camp - compare to the "normal" hard working php guys and joomla, drupal stuff.
- antidaily 18y agoAm I the only one completely underwhelmed by Drupal? The UI is awful and the demo doesn't even have a decent editor. Whomever revamped Wordpress needs to get in touch with the Drupal folks yesterday.
- randallsquared 18y agoPHP will eventually peak. Rails is almost certainly not the replacement. The replacement will have to be at least as easy to start with and as convenient as PHP, not less so.
- SwellJoe 18y ago"Rails seems far better positioned than PHP for future growth. This means PHP will peak and Rails will surpass it eventually." If this comes to pass I will be completely and utterly stunned. I don't expect to be stunned. You do know that PHP usage has continued to increase, all throughout RoR's rise to prominence (and subsequent fade in prominence as Django, Erlang, Haskell, Scala, etc. shuffle in and out of the spotlight), right? There are more PHP developers today than there were three years ago when Ruby started getting folks attention. Book sales are up for PHP while they're down for Ruby, etc. I'm not at all suggesting that RoR isn't awesome or that it isn't alive and well or anything of the sort. I just know the reality of the market. We have thousands of web developers using our software...and I can assure you that the vast majority are working in PHP, despite the fact that we went to great lengths to add a nice RoR environment a couple of years ago (we also added some Python niceties, but it aint exactly mainstream, either). In fact, I'd probably even go so far as to say that more new PHP developers came into existence during the rise of RoR than new Ruby developers. So, not only do I think Ruby on Rails won't surpass PHP eventually, I think it's been falling further behind PHP all along and will continue to do so, just like most languages in the web space. I don't have to like PHP to recognize this. Believe me, I don't like PHP. But, I'm not going to bury my head in the sand and pretend like it is anything but a massive phenomenon. It's simply the unstoppable juggernaut of "worse is better", when it comes to web software development. Will PHP eventually die? Sure. But it's not going to be killed by Ruby on Rails.
- coglethorpe 18y agoI guess that depends on what you're trying to accomplish. Often one wants to be first to market or add new features quickly. The author states that he was "getting a hell of a lot done in not much time at all." That means the front end of the business could be built quickly, accomplishing the main goal of satifying the customer as quickly as possible. Now there may be another framework that does it better, if you can find that and use it, you will outrun your competition. I chose PHP for my first startup, because it was a really fast way to get things done, warts and all, and it seems many feel that way. But I'm going to check out Rails this time because it has so many people getting things done with it.
- mikeryan 18y agoThis seems to be a common thread for engineers building webapps. Its not to say that you're incorrect, but if you're building a webapp that doesn't have huge special needs with regards to performance or some special technology sauce then your technology isn't a competitive advantage. If you have something that can easily be built in Rails then I have a hard time thinking of a way to get a real competitive advantage working in something else. (On the flip side, Twitter was easily built in Rails and it was very much the wrong tool for them). In fact working with well known, ubiquitous tools that get the job done well and fast is in itself an advantage. Being able to rev faster and easier then the shop down the block with their super cool custom built web framework that takes people 6 months to learn is an advantage. Unless your technology IS your product, compete somewhere else.
- rbanffy 18y agoIt's not about doing stuff in platform A that can't be done in platform B. It's about delivering things faster than your competition, something that can't be done if you use the very same tools they use. You can, of course, be wrong and go with the wrong tool, but remember - it's a bet on a technology differential. The Twitter problems stem not from the web framework they used but in flaws in the design of the data structures under it. When doing something like Twitter, one should never even consider using relational databases for more than a prototype.
- dustineichler 18y agothe author nailed it here, "I noticed that I was actually getting a hell of a lot done in not much time at all."
- TomOfTTB 18y agoThat seems to be the essence of the piece and I'm happy for the author but why did this get posted here? There's no content to it. He doesn't list the pros and cons, he doesn't really detail his thought process he basically just says "I chose Rails so it Won". It's basically a propaganda piece. I don't fault the author. As a general "this is what's going on with me" post to an established audience it's fine. But I can't see why it's getting voted up on HN
- axod 18y agoBecause rails is so 'hot' right now. Like git/charging customers/cloud/etc
- mrfish 18y agoI almost choked on my lunch when I read "charging customers" ha awesome.
- petercooper 18y agoZealotry on both sides. Notice how a comment further up that does nothing but call Rails developers "douchebags" has a high vote count, while other posts that proselytize Rails fare similarly. There are two camps that are happy to vote en masse for comments that validate their worldview.
- jncraton 18y ago> Rails is something people either love or hate with a passion I'm just one data point, but I'm not particularly passionate about any particular framework. I have used Django the most, and it gets the job done. Rails is a useful tool as well. I'm the kind of person who will write something in PHP if I need to. I know that there are advantages and disadvantages, but I usually don't worry too much about sticking to one side.
- plinkplonk 18y ago"> Rails is something people either love or hate with a passion I'm just one data point, but I'm not particularly passionate about any particular framework." I am not a passionate hater of Rails, but I have a mild distaste for it and prefer to use Django unless there is a compelling reason to go with Rails. In the early days deploying Rails was a complicated process (I hear things are better now) and that certainly contributed to my turning away from it, but the deeper influence on me were the people who were evangelizing it to me. I was working at ThoughtWorks at the time and I noticed that the people who were all ga ga about Rails (and later JRuby) were people who didn't have much technical "street smarts" and spent their careers riding the latest bandwagon and overselling its benefits. The people I really admired were much more cautious and skeptical and rigorously logical and measurement centric. I am not sure I am expressing this well, but the local rails community turned me off it. The Django folks seemed much less fanboi - ish and more focussed on quietly getting stuff done. On the one hand it doesn't make sense to abandon a piece of technology because it has an immature cultish community (or at least it felt like that to me. The ruby community always seemed better to me than the rails community), but on the other hand, other things being equal, life is too short to spend with people you think aren't thinking straight. These days I just use Django and am happy with my choice. Of course this is all very subjective and doesn't reflect on Rails technically. I am just reacting to "hate with a passion". I don't hate rails, but I would rather not work with it if possible.
- jimbokun 18y ago"On the one hand it doesn't make sense to abandon a piece of technology because it has an immature cultish community" The community around a technology is a good approximation of the vector in which the technology is headed.
- look_lookatme 18y ago"> I was working at ThoughtWorks at the time and I noticed that the people who were all ga ga about Rails (and later JRuby) were people who didn't have much technical "street smarts" and spent their careers riding the latest bandwagon and overselling its benefits." ">I am not sure I am expressing this well, but the local rails community turned me off it." You expressed it quite well. I want to say, however, that was a pretty exciting time for many developers who were stuck in the painful jobs with PHP or Java. At that time two of the companies I worked for willfully jettisoned years of infrastructure in PHP based off the work some of the younger devs (including me) had snuck in with Rails (and Ruby). And it was quality, fast work. If you had experience with Rails, you could stick out your thumb and get a fast train from the midwest to the Valley and get paid crazy money, too, because for some reason the business guys needed rails developers. The Rails conferences were a mix of pragmatic old school rubyists but also, many, many, young and talented devs, arrogant and quirky in the way young people are. Also there was a lot of free booze. Of course, at the end of the day, we were all just software developers rallying around an slow language and imperfect framework, but it seemed like a lot of fun. I met some great people and worked hard and ended up the better for it.
- nailer 18y ago"of course they picked the most bone-headed, moronic conventions imaginable, like coupling data objects to the database" Because creating every onject twice, once in the logicm, once in the DB, would be clever?
- deleted 18y ago[deleted]
- Tichy 18y agoI don't get your point. In one case, the data object get's created from the description in the database, in the other case the database schema get's created from the description in the data object. Seems to me both times the same amount of creation is going on.
- mdasen 18y agoThe title will get votes, but there doesn't seem to be a lot of content in it. "Rails won". OK, why? What's good about it? I wish the author at least postulated some reasons why Rails became popular: * It launched before the other web frameworks of its nature (in fact, many were inspired by it). * It hit API stability many years before Django did. * It's a lot more flexible than most PHP frameworks. * Ruby makes pretty, domain-specific languages easy. * Rails, while allowing you to override defaults, doesn't ask you if you don't care. * The features have kept coming in Rails with regular releases increasing its value. Many of the additions have come from real-world, high-value projects. That can't be said for many frameworks which were built as "we can make Rails in (Java|PHP|Python|etc.)". Rails has hit a tipping point, but the interesting question is why. The author hasn't put anything forward there. In fact, the author has some downright weird statements. He can't find anything bad to say about Django? Rails just plain sucks? Yet Rails wins? Even some of the things he mentions - such as coupling data objects to the database - are done in Django (and most of these style frameworks) in a similar fashion. So, that sucks in Rails and doesn't in Django. Hmm. It's a great attempt to create one of those articles people love to read that say, "this sucks, but it's still what you should be doing because it doesn't matter that it sucks".
- mileszs 18y agoI think the article reads much differently if you picture the author saying, "Rails won in this particular instance, for me/us." Perhaps that is not what the author intended, but that is how I read it. It's much less polarizing that way. I do agree that it lacks substance.
- sunkencity 18y agoI don't agree that it lacks substance, the conclusion, and also the conclusion that I have made according to rails is that it's "good enough" for almost any web project. It's safe to have it as a default choice. There's a good community, fantastic libraries, constant innovation, and people are really happy developing with it. The notion that there's nothing wrong in choosing rails -- is now acceptable mainstream. Even the hard ass Java developers at my work can acknowedge that yes, it speeds up development to use a field tested full-stack framework instead of rolling your own framework for every project. (Only recently did we come to a truce, and now I can refrain for a while to try to push even wackier frameworks on them like some Clojure based ones, because Rails is good enough for me )
- Hexstream 18y agoI must be spending too much time on HN, I thought Rails had "won" since at least a year ago.
- tdavis 18y ago"I finally gave up trying to get ruby talking to MySQL on my home windows box and just moved everything over to linux" I'm not a Windows fan by any stretch, but it seems like people put up with a lot of shit to use Rails; why would you choose a web framework which requires you to change your operating system? That's asinine. It seems these days when people say bugs and shortcomings "don't matter" they really mean "I haven't run into a situation where they've screwed me over yet or if I have I just let the framework win". It's a web framework, people; it should make easy/moderate things easier, not make hard things any harder, and get the hell out of your way. It should not make you change your life to use it.
- cosmo7 18y agoThis is what people mean by "it just works", because if it doesn't you give up immediately.
- aaronblohowiak 18y agoIf you want to work on Windows support, well-tested patches are usually accepted. Why use a non-POSIX os?
- donw 18y agoHe may be targeting Windows users (since there are an awful lot of them), or want to tie in to some Windows-specific functionality, or a host of other reasons. Of course, JRuby on Rails (Rails on the JVM) is also a very viable option, and comes with a few nice features you don't get in Rails (Job scheduling with Quartz being my favorite), at the cost of having to deal with the complexity of the JVM (GC tuning is a pain in the ass). The framework and language you chose are only a part of your company strategy.
- moe 18y agowhy would you choose a web framework which requires you to change your operating system? That's asinine. Your desktop operating system != your server operating system. There are no "windows web frameworks" and that's not a coincidence. If you're serious about bringing something online then your first step should be to learn the proper tools anyways. Insisting on a windows-platform only because that happens to be your preferred desktop OS, now that would be asinine.
- dpnewman 18y agostrange posting really ...saying very little and in a confusing way. there's certainly little value in claiming one tool is better or worse. whatever works for you + each project is so different. that said -- from a purely personal and subjective point of view -- rails feels to me like playing a beautifully crafted instrument. never had so much fun programming. there's a lot of accrued wisdom in that opinionation ... imho...and is evolving at a very rapid clip.
- ardit33 18y agoI think there is one clear field that Rails own: attracting the most of douchebags to its community. True story: In a bar (John Collins)i n SF, few weeks ago, end up striking a conversation with somebody in a bathroom line. Him: what do you do for work? Me: I am an engineer. Software engineer. Him: A Java guy!?! (with a lot of smugginess). .... right now i am wondering if i have java printed on my front of something. wtf. Me: umm... no. Java is only one of the languages I know. (I use it most in mobile dev). I also work on python and lua on the server side, and come C too. And you? (i was still surprised by his condescending tone). Him: I am rails dev! Ruby on Rails (with even more smugginess, borderlining on arrogance). .... few questions later, i realized this guy was a crock. Didn't know much about closures/blocks, how many databases can you use on rails at a time... etc. imagine working with people like that. They setup rails, get a simple app going, and they feel they are in top of the world and better then you. If you know java, you are automatically assumed to be be an idiot, and if you don't use rails you must be a boring person. I think the Rails Community is full of people that suffer from the Dunning-Kruger effect. A lot of newbies, who migrated from php, or would have started with php few years ago, have migrated to Ror. My point is that Rails is just another framework in top of an scripting language which I don't prefer that much. While really nice for basic CRUD apps, as soon as you try to do anything advanced, it shows it's limitations right away. I tried to use Rails, but I have never been attracted to Ruby as primary language. Then I started using django, but I dropped it soon after my dislike with the way meshes forms and models, and the sheer size of the framework. I think the lesson I got out of it, is that more than often you just don't need a full blown framework. If you are doing anything highly specialized, a framework will get into your way. If you are doing anything very simple, a full blown framework is just an overkill. Frameworks like Rails or Django are a perfect fit for most medium complexity type of CRUD apps. If you are doing anything else, better start looking somewhere else, and don't just buy the hype.
- kubrick 18y agoThe Railiens make a big fuss about favoring convention over configuration, and of course they picked the most bone-headed, moronic conventions imaginable, like coupling data objects to the database, using pluralized table names He's entitled to his opinion, as is DHH. But for my money: why are Rails' conventions "moronic"? What the heck is wrong with coupling data objects to a db?? He'd prefer something more awkward and arcane?
- handelaar 18y agoWell, the specific example of using pluralised table names works in English, and completely unworks in many many other languages, for a start. Hell, it doesn't even completely work in English, either. Not all English words are pluralised simply by adding a trailing 's'.
- kubrick 18y agoSometimes I, as a Rails developer, forget which is supposed to be pluralized, the model or the table. (Gah!) Still, Rails' pluralization algorithm is savvy enough to know when it can't just add an 's'. Most of the time, it works. If you don't like it -- like most things in Rails -- you can just turn it off with one option. It's the fact that you're allowed to dislike features like that, and make them go away, that makes me wonder how people can hate on it. It's opinionated, but it's not dogmatic.
- petercooper 18y agoWhich is why you can add inflections in Rails. It even comes with a reasonable set to cover the most common exceptions.
- gord 18y agoThe article sounds like... "Rails has too much momentum, so well go with the hurd." In my own case were building something framework-like, so Id be fighting the code if I used another framework - its more like systems programming than app programming. I might have used Ruby but I hear Kernighan & McCarthy turning in their graves whenever I type "end" where a bracket would do the job. The first hack was in PHP, and now I need some syntax to manage the complexity, and a custom DSL, so... plt Scheme won, in my case.
- petercooper 18y agoI might have used Ruby but I hear Kernighan & McCarthy turning in their graves whenever I type "end" where a bracket would do the job. Then don't type end, type } instead. Yes, it works. If you're going to try something and give up before learning syntax, that's great, but trying to speak authoritatively is misleading.
- gord 18y agoWell, I haven't seen a lot of ruby code that uses } instead of end, have you? So using }, although legal, might not be within standard ruby practice. The fact that it _allows_ 'end' would be enough to turn me off :] I guess 'end' wasn't the only reason - while I don't actively dislike Ruby, I just prefer scheme or the lisp family. Part of that is the logical consistency of the lisp languages, part of it is purely personal taste.
- petercooper 18y agoStandard Ruby style is to use { } when the code block is inline or a single liner, and do/end on multi-line blocks. This is only common style though.
- melvinram 18y agoMaybe you haven't noticed it yet, but you're getting a lot done because of those "bone-headed, moronic conventions." And it doesn't have to be a either/or situation with being a technology leader & using Rails. It just frees you to focus on better, higher quality problems to solve. Anyway, welcome to the Rails community.
- njharman 18y ago"If you're building a business you want something approaching an industry standard, because the more people working on and with a technology, the more developers you have available to hire, and the more tools they have to help them work faster." If you honestly care about that (which is BS btw) then Drupal, RoRails and Django are non-starters. You have one choice, Java. Is RoR really all that used/popular (esp outside of startups)? I'm gainfully employed as a Django dev and my industry, news companies(oka newspapers), is dominated by Django. So, I'm probably sample biased. Still, I see lots of Django usage, I see Django jobs, I see Python being much bigger than Ruby.
- goodkarma 18y agoI love Rails! I have been programming my whole life - more than 20 years. Rails is the most amazing framework to work with. You can do nearly anything with it - and pretty quickly. And you can get a LOT done in just a few hours of work! Besides all of this, though, Rails is what got me to learn and truly appreciate Ruby. And Rails would be nothing without Ruby. Rails is fantastic, but Sinatra, Merb, etc., are other options that I am exploring more and more depending on the needs of my project.
- erlanger 18y agoOthers that he didn't even mention: * CakePHP (it's better than CI, Symfony and Zend) * Catalyst * ErlyWeb I think it's particularly surprising that he left Catalyst out with the language's huge mindshare and the productive nature of the framework. Drupal simply isn't in the same class as these. It's a CMF, not an application framework.