"Both are open-source development frameworks for creating Web applications and services in the Ruby programming language. Rails has been around since about 2004, while Merb emerged earlier this year as what many see as a faster, more lightweight alternative."
"SAN FRANCISCO (05/05/2008) - Ruby experts compared the rival PHP (Hypertext Preprocessor) language and Java during a panel session at the CommunityOne conference in San Francisco on Monday."
"Dynamic languages like Ruby are most commonly used for specialized areas such as gluing other systems together; JRuby takes on this role in the Java world. For example, JRuby can pull data from one system, transform it and insert it into another. When the requirements change, modifying a JRuby script is as easy as changing a configuration file, thereby avoiding the complex compile-and-deploy cycle of Java integration code."
"Since my previous JavaWorld article on the topic ("JRuby for the Java World"), there have been some exciting developments for JRuby. Sun Microsystems hired the two lead JRuby developers, Charles Nutter and Thomas E. Enebo, in a sign of support for Ruby in the JVM. Java Platform, Standard Edition 6 (Java SE 6) was released with a new standard API for plugging in interpreters for dynamic languages. Plans are firming up for the Java 7 VM to support dynamic languages directly with a new "invoke dynamic" bytecode and hot-swapping of class definitions at runtime. Meanwhile, the JRuby team has released version 0.9.2 with broader support for Ruby on Rails, and the next big release of JRuby, expected in February, will include full support for Ruby on Rails."
"First on deck is the 2.3 release of the open source Rails framework, set to feature performance optimizations, customizable templates, memory savings, and the ability to write the most performance-dependent parts in Ruby. Rails 2.3 also features HTTP Digest Authentication, an API for authentication."
""What we released is a plug-in for IntelliJ Idea, which provides rich support for Ruby development," said Alex Tkachman, chief operations manager for JetBrains, in Saint Petersburg, Russia. Although it is not a completed product, the plug-in can be used in production environments now, Tkachman said. JetBrains is hopping on the Ruby bandwagon because there are a lot of people in the Java community who are also very interested in Ruby, he said. "I can say that their interest is very high," said Tkachman. The plug-in provides functions such as syntax highlighting and editing of Ruby source code. Code completion for keywords and automatic completion of Ruby statements also is featured. David Heinemeier Hansson, the creator of Ruby on Rails, greeted with enthusiasm Ruby's backing in IntelliJ. "I think that's great news," Hansson said in an e-mail. "While I was doing Java, IntelliJ was the only thing that kept me from killing myself in frustration over the language. It still wasn't exactly happy programming, but IntelliJ helped mitigate some of the worst deficiencies of working in Java." Other focuses of IntelliJ Idea 7.0 include further accommodations for the Spring Web framework, the Hibernate object persistence technology, and the IBM Rational ClearCase version control product. Other technologies being accommodated in the upcoming release include the TestNG testing framework and the Maven build manager. A preview, or Milestone, release of Version 7.0, also known as Selena, is planned for March. Hansson noted that JetBrains is one of a growing list of companies endorsing Ruby on Rails. "There's a flurry of activity in the Rails ecosystem. For example, we have big companies like IBM stepping up to officially support the platform by developing their own database adapter for connecting DB2 and Rails. And smaller companies, like FiveRuns, are doing systems monitoring for Rails," Hansson said. The Ruby on Rails community welcomes commercial support, he said. "Rails has always been a community that supported commercial support. Just because we're big believers in open source infrastructure doesn't mean we have to be high-strung opponents of commercial developments as well. Quite the contrary," Hansson said."
"SAN FRANCISCO (04/07/2008 - Unveiled Monday as the second major project release, JRuby 1.1 features performance improvements, a re-factored IO implementation and improved memory consumption."
"Neal Ford and Andrew Glover are both well respected Java developers, as well as big fans of Ruby. In this in-depth discussion, Ford talks about why he believes Ruby is the most powerful language you could be paid to program with today, and explains the particular benefits of programming with JRuby. Ford also reveals why he believes Java developers will continue to migrate to languages other than Java, even as many continue to call the Java platform home. This is an essential, engaging discussion for those interested in learning more about JRuby and the trend toward what Ford calls polyglot programming."
"And the wires were all a buzz about Rails... Much like a few other java folks, such as Bruce Tate and David Geary, I have been taking a look at a new web framework Rails. Of particular interest to me is its ORM (Object Relational Mapping) tool, ActiveRecord. Since choosing a technology always involves opportunity costs of some kind, I have written this article to compare and contrast with another popular ORM tool, Hibernate. It summarizes what I've learned about Rails, mainly by stacking it up against Hibernate, a technology I'm very familiar with."
"Ola has proven to be one of the most valuable community contributors to JRuby, and he's shown that he's dedicated to making Ruby on the JVM a reality. He's the sole creator of the RbYAML and JvYAML projects that have enabled high-performance YAML support in JRuby, he single-handedly implemented Enumerable in Java, he has been the primary developer behind our Zlib support, and he's contributed numerous patches and fixes over the past 8 months."
"Ruby's official implementation, often referred to as Matz's Ruby Interpreter or MRI, after Matsumoto, is the most widely used. It is sometimes referred to as CRuby because it is written in C."
"With JRuby, you get all of the advantages of Ruby plus interoperability with Java platform applications (Java applications) and access to the full range of Java platform functionality. JRuby and the Java platform are a compelling combination that you can apply to any programming situation. For example, from a JRuby script, you can call the Java platform Math library to access its powerful computational capabilities or call the Java platform Swing library to display a dialog box that requires end-user input before allowing the script to proceed. Also, you can use the JSR 223 Scripting APIs or the Bean Scripting Framework (BSF) APIs to call a JRuby script from within a Java application to, for example, invoke back-end processing scripts from a servlet to update or generate web content."
"Have an opinion about the design principles presented in this article? Discuss this article in the Articles Forum topic, Dynamic Productivity with Ruby."
"I also believe the vendors’ development speed was handicapped from using C, prompting them to keep their stackup syntax simple to parse. Perhaps, not coincidentally, many of the vendors used simple syntax constructs in their file formats common to many DSLs. Because they occur so often, we are going to first look at how we can mimic these in Ruby before we move into more sophisticated language constructs."
"Have an opinion about the design principles presented in this article? Discuss this article in the Articles Forum topic, Blocks and Closures in Ruby."
"I'm not too smart, especially when it comes to guessing the state of programs I myself wrote. Wise programmers know that there is no substitute for good logging. Ruby ships with a built-in Logger class that offers features like automatic log rolling. Using this class as a foundation, I was able to abstract a small module that's used by all the classes in rq to give consistent, configurable, and pervasive logging to all its objects in only a few lines of code. Being able to leverage built-in libraries to abstract important building blocks like logging is a time- and mind-saver."
"As a PHP developer, you have some great tools for developing web applications. Ruby on Rails is another key tool to add to your web development toolbox. Rails is a high-level web development framework that emphasizes high productivity and clean code. However, the Ruby language and Rails framework take a different approach from the way many PHP developers write applications."
"Two years ago, Ruby had no cross-platform libraries to create PDF documents. There were three C library bindings written to work with existing libraries, but these worked best in Unix environments, not Windows environments. Noritsugu Nakimura had written bindings[0] to ClibPDF[1] and Panda PDF[2] in 2001; the interfaces never left “alpha” status. TAKAHASHI Hitoshi released bindings[3] to PDFlib[4] in 2002, but PDFlib is commercially licensed software, which makes it inappropriate for a wide variety of projects."
"Many Java developers are now looking at Ruby, and the Ruby on Rails web framework. If you are one of them, this book is your guide. Written by experienced developers who love both Java and Ruby, this book will show you, via detailed comparisons and commentary, how to translate your hard-earned Java knowledge and skills into the world of Ruby and Rails."
"Yukihiro Matsumoto: Ruby inherited the Perl philosophy of having more than one way to do the same thing. I inherited that philosophy from Larry Wall, who is my hero actually. I want to make Ruby users free. I want to give them the freedom to choose. People are different. People choose different criteria. But if there is a better way among many alternatives, I want to encourage that way by making it comfortable. So that's what I've tried to do. Maybe Python code is a bit more readable. Everyone can write the same style of Python code, so it can be easier to read, maybe. But the difference from one person to the next is so big, providing only one way is little help even if you're using Python, I think. I'd rather provide many ways if it's possible, but encourage or guide users to choose a better way if it's possible."
"Ruby has gained a large mind share in the "agile language" arena in the last four years. There are testimonies of it being successfully used in scientific applications, network monitoring, simulations and visualization, point-of-sales systems, robotics, games programming, telephony, code-generation and much more. Of late, it is also gaining popularity as "the language" for Web development. We at Artima.com are convinced that the time is ripe for launching a zine focused on developments in the Ruby world. Introducing: Ruby Code & Style."
"End-user applications often require some customization and enhancement for effective deployment. A modular architecture is one where the user can create modules that conform to well-described APIs and plug them into the application to extend the functionality. It’s a way of leaving the door open for advanced users or consultants who want to extend the functionality without modifying the source."
"Increasingly a fan of NetBeans in Java development, I was recently alerted to NetBeans' plan to provide support for Ruby (and Ruby on Rails). I have found NetBeans to be my IDE of choice in the Java arena because it is free and it supports many development project needs. From Web service, to Web application, to mobile phone application, NetBeans supports all types of Java application development and testing without the need to figure out which plug-ins are needed and how to install them. NetBeans' convenient Update Manager makes it quick and easy to install or upgrade any application development module. This article looks at NetBeans' Ruby Pack and how it might offer Ruby developers an important IDE option."
"Getting Started You can find many libraries and frameworks in several programming languages for using semantic web technologies. For this short article, I bypassed many good alternatives and chose some favorite tools called the Sesame libraries. At some point, take the time to study the complete Sesame APIs, system configuration, and complete documentation. However, for the purposes of this article, all you need is the downloadable source code, which is a wrapper API for Sesame that includes Sesame and all the libraries that you will need to work through the examples. Specifically, the source code contains:"
"A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write."
"Rails developers often see their Java counterparts as stodgy, laboring relics of the past. And Java visionaries often paint Ruby on Rails as a toy with no place in any serious software development. As a consultant who has worked extensively with both approaches, I know that the truth lies somewhere in between. As this Crossing borders series closes, I'd like to do one more comparison. Rather than look at a particular technology or language, I'll focus on my current project and compare it with the Java projects I've worked on in the past. (Along the way, I'll point you to previous Crossing borders installments that dig more deeply into relevant topics.) This first-hand account should give you an appreciation of the trade-offs and potential net gains involved in using Rails for green-field development of database-backed Web applications."
"Editor's note: The name of the Ruby Development Tools (RDT) plug-in and where to find it have changed since this article was written in 2005, but the basic function and licensing terms remain essentially unchanged. RTD, now called Aptana RadRails V1.0.3, is available at the Aptana Web site. To download a new version or update your Eclipse plug-in, follow Aptana's RadRails instructions, which will be familiar to Eclipse users. Note that if you have not installed an Aptana plug-in into your Eclipse workspace before, you should follow Aptana's instructions for Plugging Aptana into an existing Eclipse configuration."
"Ruby on Rails is a Web application framework that aims to provide an easy path to application development. In fact, the framework's proponents claim that Ruby on Rails developers can be up to ten times more productive than they would be when using traditional J2EE frameworks. (Read the article titled "Rolling with Ruby on Rails" for more on this claim; see Resources). While this statement has been the source of considerable debate in the Rails and J2EE communities, little has actually been said about how Rails and J2EE architectures compare. This article will contrast the Rails framework against a typical J2EE implementation using common open source tools that are regularly found in enterprise applications."
"You may have used the Java language to integrate Eclipse plug-ins, Ant tasks, or Spring libraries into your code base or to introduce EJB components. Many ideas from the Java community changed the way that developers think about extension. This whirlwind tour of Rails acts_as plug-ins shows a new way to think about it. The flexibility of the Ruby language has changed my thinking about extensions. The acts_as plug-ins allow a new generation of developers to try their hand at writing extensions. The result is a new wave of extensions for Rails. Many of these techniques are available to Java developers too, through aspect-oriented programming or bytecode enhancement."
"Several tutorials are available on the Ruby on Rails Web site that can walk you through creating a simple Rails application (see Resources). The sample application here is like them, since there is a certain way to get started right in building a Rails application. Given the relatively short length of this introduction, I do recommend one of those longer tutorials so you can get a more thorough grounding."
"Before I can even begin this article, I need to clarify something. First, this is not an article about Ruby on Rails. If you want to read about Rails, articles and blogs are published weekly (maybe hourly) extolling the manifold features of this exciting framework; see Resources for a list to start from. Second, this article does not foretell the collapse of the Java platform in the face of better languages, tools, and frameworks like Ruby on Rails. So this article is about neither of the subjects most commonly associated with Ruby of late."
"This article takes a deeper look at Ruby on Rails migrations -- Rails's solution for dealing with changes to a production database. Migrations combine power and simplicity to coordinate both schema changes and data changes using a wrapping approach. (If you've not seen Active Record -- the underlying persistence layer in Rails -- before, I recommend that you take a look first at this earlier Rails article in the Crossing borders series.)"
"If these questions intrigue you, then you will want to read Agile Web Development with Rails -- and the effort will be well worth your while. The book provides a great starting point for realizing agile Web development in a big way."
"Debates about Rails in the Java community have been intense and show no sign of dying down any time soon. Rails proponents boast of incredible productivity, with some claims of 10 to 1 over Java development. As a Java programmer, your knee-jerk response is to dismiss any wild productivity claims because you've likely heard them before and been disappointed. Java advocates increasingly insist that Ruby on Rails is a toy that can't scale, produces bad code, and won't work beyond the simplest applications. But as Rails praise keeps popping up -- often from credible sources -- a more prudent course might be to understand what Rails does well and to bring those ideas back to the Java platform. In this article, I'll explore the core features -- the secret sauce -- that are the essence of Rails's great productivity."
"The development of JRuby as a robust, viable alternative to the traditional C implementation of Ruby means that Ruby GUI toolkits can move beyond C-based options and use UI tools available to the Java platform. Because Swing is a standard part of a Java runtime installation, Swing components give (J)Ruby a mature and readily available graphical toolkit. Using the Java platform means that such applications can be readily built, packaged, and distributed to users on multiple platforms. By using the Monkeybars library, Ruby developers can build testable, maintainable, and complex desktop applications with increased ease."
"You will need to add the MySQL JDBC 5 driver to the list of Java libraries that the Goldspike plugin includes when it builds the WAR file for your application. It will pick this file up from the $JRUBY_HOME/lib directory. Within the railswartest directory, edit the vendor/plugins/goldspike/lib/war_config.rb file and the following to the java_libraries list:"
"This article has provided you with a step-by-step process to install Rails into your JRuby installation and get a simple Rails application up and running. Take some time to look further into JRuby and Ruby on Rails and see what it has to offer you."
"Ruby defines a class/method block using the end keyword. Java uses braces to define a class/method block. A class, for example Catalog, in Ruby is defined with the class modifier as follows."
"This article has provided a brief introduction to the JRuby language. JRuby should allow existing Java developers to leverage Ruby's power and ease of programming. Ruby developers will be exposed to the vast Java libraries that have made Java extensively used throughout the software development spectrum. With backing from Sun, JRuby looks to have a bright future. Take some time to look further into JRuby and see what all it has to offer you."