Ruby on App Engine Meetup (May 4, 2010) proved that Google App Engine is not all about Python and Java, although at present only the last ones are benchmarked and discussed by google app engine developers (try yourself)
Python is usually fast enough for what you want it to do (and faster than Ruby), while requires a third of the code of an equivalent Java program and is much easier to read. Both Python and Ruby are easy to learn.
Pythonistas think that Ruby syntax is ugly and inheritance distasteful. The philosophy of Ruby is similar to Perl: there is more than one way to do the same thing. This is great for some people, it leads to the creativity and richness of Ruby libraries like Hpricot and Rake. Ruby tries to take the best of Perl, Smalltalk and Lisp but has elements of a C/Java-like syntax. Rubyists are convinced that they have found the most enjoyable interpreted language. Ruby is younger than Python but already has a strong and loyal community and best web tools. Many programmers, however, don't like having too much power to change the syntax and keywords. This can be dangerous if they are not careful.
Arguments on what language is better resemble disagreements between cultures and ethnicities. For a programmer, it's always fun to learn something new that may be useful in the future. For a startup founder, it's always good to know what is fun and a good investment. Right choices of programming languages, web frameworks and platforms will lead to rapid development, the ability to attract talent, and offer a great expansion potential.
The Java language is an old favorite in the enterprise. There will be a large pull of candidates to work on Java projects, but this language won't make your startup the most attractive shop in town. Python and Ruby will.
Most Rubyists in the audience were using Heroku for their applications, some will now try to pioneer Google App Engine - or will they?..
One interesting observation was the "City” versus “the Valley" comparison of preferred languages: Ruby seems to be the City's favorite! Could it be due to cultural differences? Some even think it's as bad as PC vs Mac world - see this short clip.
There were no Java people in the audience and very few programmed in Python or wanted to learn it. Almost no one tried Google App Engine.
Matthew Blain presented BulkLoader, a minimal library providing a unified interface for loading, accessing and events notification for different types of content (Try the Bulk Loader sample at: http://bulkloadersample.
John Woodell, Sr Web Developer at Google (twitter: @johnwoodell, e-mail woodie at google), gave the main talk -about running Ruby on the App Engine. Sarah Allen wrote a nice blog about this talk: http://www.ultrasaurus.com/sarahblog/2010/05/jruby-on-google-app-engine/. Another blog post summarizes the sources discussed:
Check out his SlideShare Presentation:
- Hello world, using standard Ruby: http://code.google.com/p/appengine-jruby/wiki/GettingStarted
- Google App Engine for JRuby http://jruby-appengine.blogspot.com/
- jRuby on Google App Engine: http://code.google.com/p/appengine-jruby/
- Google Group – http://groups.google.com/group/appengine-jruby
- JRuby and Java Duby
- Zero Configuration needs. Scalable services via standard APIs. Built-in application management console
- Schemaless App Engine datastore: No writing to the filesystem. No relational database. No more than 30 seconds per request. Datastore API + DataMapper
- Most common tasks: backups and cross-app migration.
- A big Rails advantage is that it values convention over configuration and lets to avoid lengthy configuration of files. Load everything at once then initialize it. This helps to free more time to focus on business logic. Google App Engine does not work like that yet, but this is on roadmap.
Key Ruby App Engine Developers (check also this map):
Joshua Moore, Assurance Manger at Armorize Technologies (Twitter: @codingforrent, GAE blog). Coauthored the rails_dm_datastore gem, gave presentations on using jRuby on GAE. Rails 2.3.5, Datamapper, HAML, helped to find datamapper bugs
Leonardo Gallucci, IT Consultant and Software Integrator (Twitter: @leonardog). Wrote tutorial on getting started with Ruby on Rails on Google App Engine (it runs on GAE).
Sasaki Takeru, a hacker from Japan (Twitter: @urekat). Showed how to run Rails without Ruby Gems. Rails 2.3.5 01/21