Ruby on Rails 1.0 Released
Simon (S2) writes "Ruby on Rails 1.0 has been released. From the announcement: 'Rails 1.0 is mostly about making all the work we've been doing solid. So it's not packed with new features over 0.14.x, but has spit, polish, and long nights applied to iron out kinks and ensure that it
works mostly right, most of the time, for most of the people.' " The Ruby on Rails website has also been given a new look.
When talking about commercial software like MS Office, we talk about the "Open source equivalent" OpenOffice.org and stuff like that. I'm curious to know whether there is a commercial equivalent to Ruby on Rails.
Screw that overstated "It just works" stuff. I like the truthfulness of their statement, "it works mostly right, most of the time, for most of the people"
Excuse me for sounding dumb, but what is Ruby on Rails? I've heard a lot about it recently, but haven't the slightest clue what it is. A little bit of background would be most appreciated.
I'd prefer to look at it as honesty.
TODO: Something witty here...
This is a 15 min presentation someone did setting up a weblog using it. I think this example better explains it than most descriptions I've read.
How would you describe the software you write?
Yeah, it's not great, but at least it's honest. Go on any developer site - MSDN, java.sun.com, whatever, and you'll see a nice long list of submitted bugs. Fact is, no software is perfect, so don't go crazy when they admit there might be uncaught bugs.
Excuse my speling.
Making The Bar Project
Agree that Ruby on Rails has got some traction. But when would it get enough traction to be used as a standard framework for web apps at enterprise level?
I am working in tech division of a financial firm, and I put question to our big app dev group if anybody had worked on RoR for a project - and most people had no idea what I was talking about.
Please note that right now almost everybody in the firm uses java/j2ee - for everything - even for batch processing which can be easily done with simple perl scripts!
It's a new kind of digital "red" cocaine, made by processing coca leaves with iron phosphate and coating the result with a light silicone mist on which nano-transistors can be printed. The resulting product produces, when smoked or inhaled -- hence the "rails" component of the name -- a new style of e-high, where you're able to either interface hallucinogenic side effects with your iTunes graphical output, or you can join any IP-based E-HI network and select topics for your stoned brain to mull over. Watch out for the latter because, dude, the term "flame" takes on a *whole* new meaning.
...
Anyway, go to http://www.rubyonrails.org/ and see if you want to take part. It's amazing, and you'll definitely want to get in on it before the Bush administration starts taxing it or something
I'd figuratively pee on my copy of Macromedia Flash if I knew a Blender 3D plugin had proliferated widely -- meaning if IE bundled it. Is this language/framework's new thinking done on the server side and to the clients it'd be business as usual, great, I'll put down my php book. What's the deal in this regard?
At least it's more honest than the usual "it brings world peace and helps improve your stamina" attitude I see with other frameworks, especially within the Java community (that last clause will probably start off a flamewar :->).
A monkey is doing the real work for me.
I'd prefer to look at it as a sign that maybe the jump from 0.14 to 1.0 is a bit premature.
.NET or any of the various J2EE web frameworks out there...Im not sure if this will do it, but I think next week's RoR 2.0 release will be the kicker that makes Microsoft and Sun/Apache/Spring wonder what they've been wasting their time on...;)
I'm thinking the authors are trying to get it up in the major release number so it can be seen as a true competitor to
Ruby on Rails provides a far superior solution for web sites than PHP in many cases. It would be excellent if it ended up usurping PHP for most PHP-based sites.
PHP's bad reputation with regards to its security is, unfortunately, harming the open source community. Managers who are considering switching to open source solutions are hearing about the security flaws in PHP, and mistakenly thinking that Apache, MySQL and Linux are insecure (due to the popular 'LAMP' association). Of course, that isn't the case by a long shot.
Regardless of what people switch to, the main focus needs to be on moving away from PHP. Ruby on Rails provides a rapidly maturing alternative for building all sorts of web sites.
Cyric Zndovzny at your service.
That's a far higher standard than you'll find used by most commercial developers.
Remember, Ruby is at the forefront of the agile development community. Many developments in unit testing, for instance, directly involve Ruby. Ruby developers are often the most experienced at effectively employing such development techniques.
And you know what? It shows. Ruby software is often of extremely high quality. It's not perfect, but there is much effort taken to ensure correctly-functioning code.
Cyric Zndovzny at your service.
ANYONE who claims everything works perfectly is a lying sack of shit. It's as simple as that. The only way to come anywhere close to being able to make that claim would be to heavily qualify it, e.g., With Database X on OS Y, version Z, and library versions A, B, C, on hardware platform D. Anything more broad than that is just not a valid claim.
TODO: Something witty here...
The software I write is of much higher quality than "mostly" raised to the third power. :)
Generally, bash is superior to python in those environments where python is not installed.
I've heard plenty about RoR on Slashdot - but to be honest, thats about where it stops. Does anyone have any experience or views deploying a medium/high volume commercial or enterprise solution using this?
I have yet to personally see RoR in either situation and I don't know anyone who has - I'm not knocking RoR, just curious how it's actually being used.
Will there be another railsday, like the one they had last June?
The point of rails is to have sensible defaults that work most of the time. Web apps share A LOT of commonality. The idea is to take out repitiveness as much as possible. This is done with sensible defaults. If these aren't good for you, they can be changed. But it's meant to have reasonable defaults for most, unlike certain web languages that make you start from scratch every time.
If an officer ever threatens to taze you, say you have a pacemaker.
The Ruby on Rails website has also been given a new look.
Would that be the "Service Unable: Damn You Slashdot" look?
"mostly right, most of the time, for most of the people."???
Is this the standard by which the Ruby community judges software goodness? I'm speechless.
It certainly is better to know the problems/that there are problems in a piece of software, rather than having problems that are kept secret - the way MS, etc do it. Software is never perfect, whether you admit the problems it has or not.
Not directly.
However, many of the problems associated with PHP are just due to flaws in the design of PHP. It's more a case of PHP being worse than it should be, rather than Ruby on Rails being extremely secure.
That said, most Ruby on Rails-related code is written by far more experienced developers. As would be expected, the quality of the code is higher, and the likelyhood of security issues is vastly reduced. The trend in the Ruby community to heavily use unit testing also helps ensure that quality is a paramount consideration.
Cyric Zndovzny at your service.
Few problems with that. First one is momentum. PHP has a large userbase and is currently on version 5.1.1 ... Ruby just announced 1.0. Version numbers don't mean squat except that just hitting 1.0 versus hitting a few version numbers *does* mean something.
And I hate the people who talk about the "Bad reputation with respect to security." I can write bad code in Perl, Javascript, or C++ if I want. Repeat after me folks, the security of the code is only as good as the competence of the programmer. PHP offers mechanisms and defaults that encourage good coding practices. Pick a tool and code with good programming practices. Ruby on rails won't make your code unbreakable. PHP won't make your code broken.
-everphilski-
There is no need to spread disinformation. Their site is working just fine. I even cleared my cache, just to be sure that I'm fetching a new copy.
Cyric Zndovzny at your service.
This is an MVC framework for Perl that resembles RoR in a lot of ways.
http://catalyst.perl.org/
It's very nice so far, especially the controller portion. There's lots of addons and plugins for it, all of which are entirely optional. It's actually very open-ended and easy to extend.
I use the controller classes extensively, but write my own model, view, and support classes. Catalyst culture seems to encourage Class::DBI parentage as a base model class, but it's simple to roll your own (I hate CDBI, so I based mine on Ima::DBI instead). Your classes can work independently of Catalyst... it imposes no restrictions or inheritance constraints on you. Worth checking out.
Only an individual new to the computing industry would put much faith in "momentum".
I've been around it for decades. I remember when Honeywell and Data General had "momentum". I'd be surprised if you've ever even seen a picture of their hardware.
A bit later there was CP/M. And Apple. Apple had much "momentum" in the 1980s, only to almost hit rock bottom. At least they've been able to pick themselves up again.
There was even talk this morning about Java losing its "momentum".
Ruby on Rails could very well overtake PHP quite quickly.
While some onus does rest on developers to develop quality code, that does not mean that the language and any implementations should not take steps to limit the ability of the programmer to write faulty code.
That holds especially true for languages that are used in hostile environments, such as the WWW. Considering that Web development is touted as PHP's strong point, one would think it would have excellent security. Of course, we know from experience that that is not the case.
Ruby won't necessarily make your code perfect. But Ruby, along with sound development techniques (unit testing, for example), will result in very secure applications. The use of PHP, on the other hand, is basically an invitation for security issues. It is not a well designed language, and it is not well implemented.
Cyric Zndovzny at your service.
Did you mean OS X?
This signature is far too complex to have been created by chance.
That could be a problem with your Firefox or Internet Explorer installation.
I'm using Konqueror, and it takes at most two seconds for their site to load. I cleared and then disabled the browser cache just to ensure that wasn't getting involved.
I just tried again a few seconds ago, and it's still very responsive, considering the load it is most likely under right now. Pages are loading in 2 seconds, if even that.
Remember, Ruby on Rails is designed to be very efficient. It's a solid piece of software used by many large users who put quite a load on it.
Cyric Zndovzny at your service.
I heartily suggest that the curious among you check out http://tryruby.hobix.com/. It's a great, quick interactive introduction to ruby. You can kick around the tires (so to speak) without needing to do anything more than visit the webpage. It's a great language with or without rails.
Also a great example of Ajaxy goodness, not to buzzword it too much. It's written by the affluent and creative why. Check out his neat-o blog too: http://redhanded.hobix.com/
-mix
I love Ruby. Once I discovered Ruby, it's become my prefered general purpose language. I love the fact it's a pure object oriented language. I love it's consisiveness. I love it's lack of "funny" characters (for the most part).
_ an_object_oriented_language (anyone who's farmiliar with rails will understand the underscores). During those 3 weeks I just couldn't enjoy programming and couldn't get into it. I tried 2 more times over the next 2 months to try it again, but the same thing.
I freakin' can't stand using Rails. I remember getting very excited about it when I first discovered it. Watching apps being developed in 15 minutes. I read all the tutorials. I even bought the book from pragmatic programmer. I studied and wrote programs for 3 weeks. And I just could never get into it. On so many occasions I just felt cheated. It was all valid ruby code, but it just didn't seem in the spirit of ruby. My namespace was cluttered with a million methods. The names of which didn't seem logical and_reminded_me_of_php_function_names_rather_than
The biggest annoyance was automated code generation. It was almost pointless for me. If I made changes to the database, I either had to a) wipe the directory and start over reimplementing my changes. Or b) go through all the MVC code and find the references to the database. Well, this is what I have to do in most other web languages anyway! So what's the advantage? Scaffolding was great at this because it did everything dynamically. However, you can't reasonably keep the scaffolding because it's not meant to be your program. It's meant to be support around your program.
The experience seemed more like programming in php with a twist of mod_perl. All the reasons I wanted to get away from perl and php for web programming were back when I tried to write a large application. Rails just doesn't seem in the spirit of Ruby. It's not bad. Don't get me wrong. But it's not this revolutionary framework so many people would have you believe. Sure, it's great to show the 15 minute video. But I'd like to see the video of someone doing a large project in rails.
If an officer ever threatens to taze you, say you have a pacemaker.
http://wiki.rubyonrails.org/rails/pages/RealWorldU sage
I regularly partake in some Penny Arcade at penny-arcade.com . If you don't know about it, check it out.
The 'Net is a waste of time, and that's exactly what's right about it. - William Gibson
I'm guessing more pastels. And rounded corners.
Read my blog.
Don't forget that Java had Sun's marketing gorilla behind it. The industry was bombarded by Java hype, and thus people became very, very aware of it.
Ruby on Rails, on the other hand, has the force of the community behind it. It has become well-known due to word of mouth.
From my experience, many IT developers choose not to partake in software development after work. They'd rather to skiing, or watch TV, or play sports. Thus they tend to learn about new technologies only when their firm sends them to a training course. It's not surprising that they wouldn't have heard about it, especially if they're not actively involved with developing their own site.
Cyric Zndovzny at your service.
The main problem I see that's keeping mass adoption is ease of installation of rails apps. PHP apps are extremely simple to install. Nearly all hosting providers support it, and installation is usually comprised of uploading some files to a directory and running an install script. For RoR apps, much special configuration is needed. Even at progressive hosts that have RoR installed, like dreamhost and textdrive, people are currently having immense difficulty getting RoR apps working (look at all of the topics in their respective forums.)
.Net in the enterprise.
As a developer RoR is a godsend, and compared with PHP development is incredible. But developer hapiness doesn't drive user adoption. Unless some things majorly change, I can't really see RoR catch on as a consumer technology, rather like the situation with J2EE today. But I can see it usurping the place of technologies like J2EE and
In the beginning the universe was created. This made a lot of people very angry and is widely considered as a bad move.
Well, I'm always curious. So, I watched the video "Evolving your database schema without sweat". I watched for 10-15 minutes where the guy types furiously for 15 minutes to avoid typing "alter table add author varchar".
I guess I just don't get it. What's the excitement?
You can't abstract too far away from the database when you get into big, complex tables and want to keep performance up. I've seen a 30-second query reduced to 50 milliseconds merely by changing the order of join in a large, complex, 12-table join on PostgreSQL.
Yet, it seems that Ruby on Rails goes to great lengths to avoid (gasp!) SQL. See Joel's great article on leaky abstractions.
I don't mind SQL statements - prepared statements make it so much more manageable - but what about code changes dependent on changes to the database schema? That's something I might be interested in!
I have no problem with your religion until you decide it's reason to deprive others of the truth.
Jifty is Coming. RSN.
Make of this what you will.
News for Nerds. Stuff that Matters? Like hell.
Yes. Where do Sun, MS, etc. explicitly state their framework runs perfectly for all users all of the time? They don't because such a claim would be patently false, and there simply is no sexy way to articulate the truth, which is exactly what the Ruby team arbitrarily decided to do anyway. Regardless whether the ambitions of the Ruby team extend to widespread adoption, such careless honesty from such a visible project may inadvertenly damage overall market perception of the f/oss community, regardless of the actual quality of the offering (over the short-term at least). Welcome to the corporate marketplace -- arguably the most fickle place on Earth.
Where did you get this impression? Maybe because you saw some regular expressions in Ruby? Ruby syntax is much, much clearer than Perl.
Take a look here
...richie - It is a good day to code.
No wonder some people refuse to use Rails... It's bloody fucking hard to install. I've been trying to install the damn thing for over 2 hours now. suPHP is a fucking walk in the park compared to this.
Mostly harmless.
Just out of curiosity, how big are the software projects you right? Are they general, or very specific?
I'm not trying to slam you, but your post is suggestive that most of what you write is very small, highly targeted code. For example, it is relatively easy to right a bug free function that multiplies its argument by 2. Much more difficult is a broadly useful object oriented framework. Most of us lie in the HUGE grey area between these two extremes.
Computational Chemistry products and services.
Basically, Ruby on Rails saves you lots of hassle.
About 5 years ago, if you wanted to make a blog, you'd sit down and design a database schema. You'd design a controller that would have certain actions. You'd write a bunch of templates that would have variable locations. You'd extend the controller to use these templates from the db to make views. You'd write pages which allowed editing of these values. You'd write code for sanity checking. You'd write unit tests. You'd do everything over again that you'd done before.
Slashcode, Scoop, you name it -- they were all written through the same ideas.
Ruby on Rails makes all the redundant parts go away. In the video (which I just watched, and finally gives me a compelling reason to learn and use Ruby), the person sits down and generates a basic controller for their blog. They then show that the basic templates generated will show text. It takes another 5 minutes to define a db called posts and generate a default action for it. The code is smart enough to just directly make the things like title and body editable widgets on the page. 5 minutes to have posted blogs!
Then the video takes 5 minutes to extend this by writing about 15 lines of code. This has a big effect: the listing of posts is abstracted out into a block that can be included in any page. The ordering is reversed. The title attribute is made a required field.
But what good is a blog without comments? In the final 5 minutes, the author quickly adds a comment table, generates a comment controller, says that posts own comments, sticks in 3 lines of code in the post view segment which do a foreach associated comment, display, and then adds a page to edit comments. They also (at the same time) show us the basics of the unit-testing framework you get "for free" (the basic test is return true, but he changed it to test if the comment post code worked with another 4 lines of code).
The entire thing took 15 minutes to write and had 58 lines of code. When the db schema changed, the code adapted -- the programmer did not have to rewrite the code. When the programmer wanted to change anything, the code would quickly bend itself to the task.
I dare say it's the sexiest thing I've seen yet. If they ever release a version 2 that allows for simple Javascript on the client for AJAX interfaces, there will be only 1 game in town for web development!
I'm not inexperienced in web design. I have written my own stuff to test ideas out, as well as participated in Scoop's development to a degree. Recently I've been playing with Drupal because all the basics are setup with it, and you can just extend it with modules. I can honestly say that while it took me an hour to setup Drupal (and another hour to get it completely to how I liked it) it a test config, I could probably replicate the base distribution plus the modules I use in Ruby on Rails within a day -- maybe 2, if I'm slow. It's that effective!
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
Next question: Now what do I do?
You want the truthiness? You can't handle the truthiness!
I always feel like donating something to the Red Cross whenever I hear about Ruby on Rails.. think of the children.
It's true no man is an island, but if you take a bunch of dead guys and tie 'em together, they make a good raft.
PHP appears to be designed for simplicity and ease of use above all else. One thing that gets me is that its types are completely fluid... And you can set a variable to whatever you want, as the user, even, by something like file.php?id=20. But PHP isn't meant to be secure. That's why PHP isn't a good choice for things where security matters.
:-)
I'm a believer in "the right tool for the right job", and PHP isn't the right tool for the security job. But if you're just developing something for your personal amusement, or maybe for your club website, then PHP's good. So I don't think of it as design flaws so much as conscious choices to make it easier rather than more secure.
Join the Empire! http://www.empirereborn.net/
Does anyone know when Ruby 2.0 will be released.
Being able to gain the performance from having a bytecode/virtual machine setup would be wonderful.
When is Ruby on Rails getting its own slashdot icon? Every other frickin' web development story is either "Rails is great" or "Watch the J2EE-Rails-Python flamewar"
Don't blame me, I voted for Baltar.
Rails isn't the only Web app devel framework that Ruby has... It's just that Rails is getting all of the attention. Some folks prefer Nitro over Rails.
Technically, variables in most scripting languages are just as "fluid" in their types as PHP is, Ruby included. This is only seen as a drawback by people coming from the Java/C world (because they haven't seen the light just yet). It's actually one of the main reasons Ruby, PHP, Perl, etc. are so much more efficient to program in than Java.
PHP's security in version 3 was "that's the job of the programmer" which is fine in itself (Perl's the same way), but it's the complete wrong approach for a language originally designed to be beginner-friendly, which PHP was. But PHP's goals and direction have changed quite a bit over the years, and it took some time to iron out the security changes in PHP 4, but by 4.3 which has been out for years now, they did make the transition from insecure defaults to secure ones. PHP is now at 5.1 and they're working on 6, and security is definitely a much higher priority. Espcially with folks like IBM, Oracle, and Yahoo! backing it now, they've put a lot more thought into security (finally). There are also many articles and blogs these days about secure coding practices in PHP. The PHP developers are growing up, I guess you could say.
To be honest, Ruby is ten times the language PHP is in terms of sheer elegance of design (I fell in love with it at first sight, looong before Rails), and I can't defend PHP in that respect except to say that it does achieve its original design goals. But to be fair as well, you really can't compare the PHP of today to the PHP most people describe. It's just like someone right now saying "MySQL doesn't even have support for transactions, it's a kid's toy!" when it's had that for several years already.
putfwd.com - 1GB Free file storage with a twist
It's great that Ruby is 1.0.
But it's unfortunate that the preferred Ruby AJAX design pattern still includes prototype.js, because that library as written is fundamentally dangerous. It's written in a fashion which demonstrates that the author is very adept with JavaScript and functional programming in general; but it also does some unpardonably cute tricks in extending core objects, thereby changing the overall JavaScript environment and making the core AJAX library not play nicely with others. (And if ever there was an environment where you need to have good manners and not piss in the pool, it's the browser + JavaScript environment.)
The sad thing is that there's nothing about the functionality of prototype.js which requires all that object and syntax wizardry to function correctly. It could easily be re-written to be perfectly safe. But at this point, the bell has been rung; other libs such as Rico now rely on those same insidious tricks, and 1.0 is out the door.
Sigh. So close, so close.
i take it i should stick to a very solid LAMP base then look into ruby on the rails once i have some real code under my belt? make sure i don't learn some trendy language that dies in a couple years? and i assume this isn't a good language for someone with very little (essentially no) experience to jump into and try to learn?
also, how is this implimented? does it preform operations serverside that output the html/xml/whatever code in a similar fashion as php? does it include database software in the ruby framework or do you still need something that is/is like Mysql to handle databases?
You're trying to be funny, but you've got the only comment so far that mentions what I consider to be the most significant thing about Rails - convention over configuration. One reason why Rails development is so fast and often enjoyable is that you don't have to muck about with a lot of XML config files. If you just follow the path of least resistance, things just work out right.
The MVC triad in Rails uses the ActiveRecord class for the model part. ActiveRecord is an ORM (Object Relational Mapping) class that follows a few clever rules about doing the mapping, so most of the time you don't have to repeat your mapping multiple times. If you have a "User" class, it knows to look for a table in the db called "users", and assumes the primary key is an integer named "id". A foreign key to an account record is assumed to be called "account_id". The creation time of a record is assumed to be a datetime named "created_at". All common elements have reasonable defaults, so when you are working on your app, you don't need to spend a lot of time mucking about with config files to specify stuff that is just so fracking obvious that it is a waste of your time to type it.
Rails is not all things to all programmers, but it has certainly hit the sweet spot for a huge class of web applications - database backed interactive sites. The Rails design is good for probably 90% of the sites that I use most.
As for coder jollies, well, it's been a while since I enjoyed programming. With Rails I've regained my enjoyment for programming enough that I'm considering doing that for the main part of my work again.
For a window platform, download Instant Rails
Or for linux, install mod_scgi and follow the instructions here
It's stinkin' easy, I can do it in about 5 minutes. Any hosting admin worth their salt can even script it in about 10 minutes.
That's why you have unit tests. And once you start writing them, you'll find that they catch a lot more bugs than static typing ever did.
I've been using Perl/Python for over 10 years and I can count the number of times static typing would have caught bugs of mine on one hand. I find it thoroughly overrated.
-Dom
Does anyone know of a source for good downloadable Ruby documentation? I did look over the documentation section on the ruby website briefly, but what was offered there was far too web based for my tastes, and I'd personally prefer something closer to a downloadable .chm file like the PHP documentation. Can someone please provide a link to the closest equivalent?
I don't remember the meaning of english being totally changed by adding a tab or a couple of spaces in. Looking at ruby it has quite similar syntax to python but without the liability of worrying about whitespace totally ruining your program.
Bush and Blair ate my sig!
Wait........you mean Java doesn't cure cancer and improve my sex life?!?! DAMNIT! My professors have been lying to me all along........I knew there was something wrong when they didn't teach anything in C!
I think the proper Python alternative to RoR is something like Turbo Gears.
So why don't you want to put your name (your anonymous slashdot handle at that) to this? Because it's an easy, cheap shot playing to the peanut gallery.
Wow, a bunch of li's on a page. That's never been done before.
Interesting that you think this site, just as an example, is 'just a bunch of li tags'.
http://www.yakimaherald.com/
It's been advertised enough. It doesn't need a cult-like following -- "use Ruby on Rails and you get to be one of the cool kids."
People who talk about cults and zealots tend to enjoy battling straw men - why not discuss real implementations, and real points, instead of declaring victory over imaginary enemies? No one said anything remotely like the statement above, aside from yourself of course.
Having used Ruby on Rails, I can tell you that it's really not worth the hype. It brings nothing new to the table, it doesn't really improve development times at all (if you, you know, actually try to implement something full-featured), and it's 50-100x+ slower than a comparable PHP or Java Servlet implementation.
As compared to PHP, it brings a few interesting ideas to the table, including MVC, auto-generated methods and the ORM layer. If you wish to compare bits of Rails to bits of lots of other frameworks, of course you can find something of it in a lot of different places. As to your '50-100' times slower than 'x', I'm afraid that's just nonsense. For most of these frameworks if you have caching set up right you won't be hitting the database very often, and the speed has been shown to be comparable. Either can be faster than the other depending on how you program/cache. Here's a java guy having a look at rails (I think there was a slashdot story about it a while ago). Sounds fair to me.
http://www.relevancellc.com/blogs/?p=31
As to improving development times, it probably depends on the programmer. It doesn't have a 'write my app for me' button, but does provide useful helpers and abstractions, a lot of conventions which will help you not make a mess of your code, plus you get to program in Ruby, which is a fun language. Now perhaps you found it too restrictive, or limited in certain ways, if so, perhaps you'd like to post something more constructive and debate the weaknesses of the framework (no officially blessed internationalisation, authentication or sub-applications).
If web apps share a lot of commonality, then why would you have to start from scratch every time if you're not using RoR?
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
I know the other frameworks are in Python, but I don't have a problem with tabs. Can anyone make a comparison about why Ruby on Rails is better or worse than these other two rapid web prototyping frameworks? I haven't coded in Python in 4+ years, has Ruby become significantly better or different than Python for web, text, and database processing?
http://turbogears.org/download/
http://www.djangoproject.com/
Thanks to anyone who has used all 3 frameworks or has any insight.
Jim
Got any specifics there, pardner?
Reality is the ultimate Rorschach.
Anyone who is looking for a PHP port of Ruby on Rails has to take a look at Symfony.
Based on the best practices of web development, thoroughly tried on several active websites, symfony aims to speed up the creation and maintenance of web applications, and to replace the repetitive coding tasks by power, control and pleasure.
If you have been looking for a Rails/Django-like framework for PHP projects with features such as:
* simple templating and helpers
* cache management
* multiple environments support
* deployment management
* scaffolding
* smart URLs
* multilingual and I18N support
* object model and MVC separation
* Ajax support
Prototype.
Next time there is a project to X, do a prototype of some of the functions in RoR, ostensibly so you can get it done in a couple of days and you can use it to figure out requirements. After playing with a couple of days, sit back and watch as the app dev group spends a month laying the keel for their "enterprise" class implementation. Continue to use your prototype to demonstrate new requirements (they always come up). If, after three or four months, the app dev group doesn't appear close to being able to deliever any business value, then one question that management should raise is what, exactly, is the property of "enterprise" that justifies the difference in effort between rails and whatever they're using. Then determine if it could indeed be put in the RoR prototype. If so, you're in. If not, you've contributed to requirements understanding and live to fight another day.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
I've briefly looked at all three frameworks, and here are my impressions:
Turbogears is made up of separately developed components; CherryPy for the controller and HTTP server, SQLObject for database modelling and Kid for templating. Turbogears is pretty similar to RoR, but has less automation, and has a more Pythonic and component-based approach to development. Sometimes it's a little obvious that the components were created separately
Django is more like Rails, but is somewhat more specialised. If you want to create a site with an administration section, then Django does a lot of the work for you. Beyond that, Django stacks up pretty equally against RoR.
Both these frameworks are Python based, which again results in some differences. They may be easier to learn, but may lack a little of the flexibility that Ruby boasts. Ruby doesn't have many features that Python hasn't, but it does have some.
django is coming out great...
I call BS. Do you have any evidence whatsoever for that claim, or did it just sound good? And "I use Ruby, and the people around me are all into agile!" doesn't count for our purposes.
Ruby developers are often the most experienced at effectively employing such development techniques.
Oh, please. OK, you like Ruby. We get that. But there is nothing - nothing - about it that magically makes its programmers smarter and cooler than everyone else.
I guarantee that there's a Lisp programmer or a hundred somewhere snickering at every "my language does $foo better 'cuz we invented it" statement floating around here. Yours falls into that category.
Dewey, what part of this looks like authorities should be involved?
Just thought I'd add that I've found this guide very useful for Rails on FC4: http://digitalmediaminute.com/howto/fc4rails/. Very thorough.
Please check out http://www.webwareforpython.org/ - it is another framework which I haved used and it is quite good.
Turbogears is similar in many ways to Webware, but there is a bit more setup involved. Atleast I had some trouble with that but this may not be the experience of others.
Between RoR and django - I prefer django because it can generate the database directly from the Model source code unlike in the case of RoR where it is a bit more involved. Django also generates (optionally) a good administration area which is quite usable even on a production environment; this is also lacking in RoR.
In the end, I prefer Webware over the rest because it gives me a whole lot more flexibility than either RoR or Django (I haven't used Turbogears a lot, so I can't comment much on that). Webware is closest to the J2EE style of functioning but yet stays clear of J2EE's idiosyncrasies. Also, there are more web hosts supporting python than Ruby and that kinda rules out RoR for most of the work I do.
The irony here, though, is you're complaining about something on a website, which further up is clearly advertised, described, etc., on another website. You complain about the lazyness of the editors [sic], yet it's too much to expect of yourself to do some of your own legwork and investigation?
Installed Rails Apps (open source): (sorry, no links to my domain, must avoid
How is this different? I only worry about one Terms of Service, imposed by the web host. I control all aspects of the deployment of the Rails apps. So the blog is not just my blog, its a blog at my domain (or sub-domain if I perfer), and I control the databases that store its content. In fact, I control every aspect of the blog. For instance, I could make the blog appear and disappear based upon phases of the moon. Can you do that with any blog host, just by changing two links at a shell prompt?
The same goes for every other Rails app I have deployed on my server account. The Rails principles of "don't repeat yourself" (DRY) and convention over configuration, meant that once I installed one Rails app, the experience was immediately applicable to installing the rest. They all have the same directory structure, and the same configuration file for database connection, which is the only configuration file you must edit.
The rest just works, usually. You have to check your versions, and make sure your app and Rails work at the current version. I admit I have experience building server side web projects using VB6 DLL and ASP.NET, along with equally strong UNIX background, so I was able to tweak a few things and proceed when they didn't work the first time. Don't dispair, I was able to make it work after a few hours of checking on-line forums, and trying some suggestions.
Software freedom...I love it!
Apply Occam's Razor: they could just be clueless.
It's funny, I thought this too when I first started playing with ruby. But once I actually started using the language I found that I wrote in it completely differently than perl. Closer to what little python I had written actually.
Ruby looks like perl because it uses the $ and @ prefixes, but it uses them for completely different purpose: in perl they denote type where in ruby they denote scope. This turns out to be a nice feature, since you should be using some sort of notation in your variable names to denote scope anyway. It also permits the concept of duck typing throughout the ruby community, which is a key feature in making the language natural and easy to use.
Furthermore, people tend to write ruby with a lot more OO than in perl. Again, much closer to python.
Finally, good ruby code uses blocks everywhere. You can do code block-like things in perl or python, but in ruby it's very simple, fairly clean, and a very natural part of the language. I think this is what really distinguishes ruby from python fundamentally as a language. RoR, like any app written in a ruby style, makes extensive use of this feature and it allows some of the things that make people so excited about rails.
Oh, and the culture of the ruby community is such that people tend to write code that's fairly consistent between authors. Python is similar, although this seems to be more a function of the language itself than the community's culture. Perl's culture, on the other hand, encourages creativity and variety between authors, making it hard to read other people's code unless you know most of the camel book. I've never had any trouble reading someone else's ruby code, and I know about as much ruby as I know perl.
"I may not have morals, but I have standards."
The whole point of new sites such as slashdot.org, The Register, The Inquirer, etc... is that they should provide enough info to get you to bother to follow the links through to the real info....
If slashdot announces that a new version of vim on steroids has been released, then it might be interesting to know what exactly vim was. At the very least the FA which the article points to should say what it is all about.
I know I could have simply typed "Ruby on Rails" into google and found out exactly what it was... the whole point is that's exactly what I had to do.
return 0; }
Download Locomotive to get a working Rails environment on OS X lickety-split.
What are you talking about? I find the Java community to be pretty pragmatic and grown up. We're mostly software developers solving problems. I don't see that many evangelists out here.
Does Rails have any kind of a component model yet? Last I checked they abstracted me completly away from the database with ActiveRecord, but I was still left to manually parse fields out of the request. That just doesn't do it for me when there are tools like .NET and Tapestry/Wicket out there.
Wasting time having to write unit tests to compensate for a languages shortcomings is just silly. Why not simply use a decent language to start with? I've seen tons of bugs (python in this case) from dynamic typing. The only disadvantage of a statically typed language is a couple extra keystrokes (int foo instead of foo), so why not use one?
It is an incredibly simple site, and all of the content is actually just static files. Rails isn't handling any loads, its just generating an html file and the webserver is serving that. Maybe if the forum were in rails you would have a point, but its still php.
If you're new to programming (or your kid or sibling is), there is a great introduction to programming (that happens to use ruby) at:
Learn to program, by Chris Pine
Check it out. It's really fantastic.
Not that I post on slashdot or anything.
I've read all the hype and I'm convinced that I want to learn Rails.
I'm documenting my experiences here:
http://www.railsroad.com/typo/ is going to detail my experiences learning Rails and Ruby.
There has been lots of hype about the incredible productivity boosts that Rails gives developers. Railsroad.com is going to detail my experiences learning Rails and Ruby.
Unlike some of the Rails blogs written by self-professed Ruby newbies. I'm a real newbie! I'm not coming from a background of 5 years developing web applications in Java.
I programmed games in Basic in the early 1980's, BUT I stopped programming when I started dating, so I'm a real newbie.
I've learned a lot about what users want having created several popular sites. My hope is that Rails is the tool to help me draw my ideas into the real world.
I promise I'm going to share exactly what I think about Rails and Ruby. No Hype, no B.S.!
Plus, I think It'll be fun for experienced programmers to laught at my ignorance.
Now, I've got to get back to work.
Laugh at my ignorance while I learn Rails - a Real ne
I have been writing some internal web applications for my corporation using Ruby on Rails. I will never go back to PHP or ASP.NET. Ruby on Rails lets me write things in 10 hours it would take me 50 hours to write in PHP. The framework is set up to make it easy for you to re-use code and stylesheets so you don't end up writing the same stuff over and over. I've written much more PHP code than Ruby code but I am already much more productive in RoR.
I love how small and compact RoR apps are. You end up with less lines of code and therefore project maintenance is so much easier. The "migrate" class is amazing. Gives you version control for your database schema. It really speeds up the development cycle.
Not only that but Ruby on Rails is fun to program in! Everything is so squeaky clean and organized. It gives you a good feeling and is much more readable than the old spaghetti code I used to write in PHP. Ruby on Rails has templating built in so you don't have to go install and learn some third party template program. I love it. I am so much more productive I am blowing away the other web developers who write in non-RoR frameworks. They have no chance at competing with me.
Thanks!!!!
...richie - It is a good day to code.
LAMR doesn't spell anything!
"Lamer".
Comment removed based on user account deletion
You are correct. Ruby is in fact strongly typed, as seen by the following quick example:
...
>> i = 5
>> foo = "items: " + i.to_s
>> put foo
"items: 5"
>> foo = "items: " + i
Type Error: cannot convert Fixnum into String
Anyway, the i.to_s method and type conversion in general are so smooth you forget having used them if you've been away, as I have, from Ruby for more than a few weeks. Since Ruby, being dynamically typed, is able to infer from the value the type it should be, it does blur the lines a bit as to how they _feel_ to program in. Ruby being dynamic, but strongly typed. PHP being dynamic, but weakly typed.
Perl would have been an example language that is also weakly typed along with PHP. It's funny though that this isn't a drawback in Perl yet it is in PHP. Regardless, all of these do have the same prototyping feel to them, the "fluidity" as the original poster said.
The real issue I have with Java is the inability to define new objects on the fly. That's not so much of a type issue though, just something that drastically decreases the flexibility of the language for things like web applications. Java also being static typed is just icing on the cake that makes it nearly unbearably slow to code in.
putfwd.com - 1GB Free file storage with a twist
Don't know about Gears, but there was a whole conference a week or so in Chicago featuring the creators of Rails and Django!! The URL would be http://snakesandrubies.com/event/ I'm not sure if audio/video is posted anywhere yet, but it's coming.
-- M. Edward (Ed) Borasky http://linuxcapacityplanning.com
I dare say it's the sexiest thing I've seen yet. If they ever release a version 2 that allows for simple Javascript on the client for AJAX interfaces, there will be only 1 game in town for web development!
Ruby on Rails 1.0 already has extensive AJAX support. It uses the Prototype library and the Scriptaculous library (which builds on top of Prototype). Thomas Fuchs, the creater of Scriptaculous is a core Rails contributor.
..an expert on the subject (yes, tongue in cheek; no worries) - I'm curious: Which one would you use?
.NET as well and, to a lesser extent, Java web frameworks.
Actually, let me stack this up in a little more clear fashion for you. I've been thinking about putting together a startup. I have looked pretty much at every viable open source web framework in existence. I am very well versed with
I am finding the choice of which framework to use for a startup (focusing on web applications) to be absolutely impossible. They are all great in their own ways. To summarize the leading candidates:
DJango
TurboGears
Ruby on Rails
ASP.NET on DotNet 2.0 (to which I have easy access; so cost is not a factor)
So, which would you choose?
BTW - I purposely have not focused on proprietary frameworks other than the ones I already know. If I'm going to stretch myself in new directions, I would prefer to ensure that experience is with open source frameworks. Also, learning curve on any of the above options is also not a factor. I've done small projects with Python and Ruby, as well as my regular work with DotNet.
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
I have not tried ruby yet, but are there any CMS similar to Mambo/Joomla for ruby?
Thanks.
Creativity uninhibited www.kreeti.com
I like that editor he is using in the presentation about schemas. Can someone tell me the name of it and if there is something almost identical to that for use on windows?