Posted
by
samzenpus
on Thursday December 01, 2011 @08:08AM
from the silverest-lining dept.

snydeq writes "InfoWorld's Andrew Glover provides an in-depth comparison of Engine Yard and Heroku, two cloud-based, platform-as-a-service offerings for Ruby development. 'To put it simply, Heroku will appeal more to developers and Engine Yard will appeal to operations folks. Consequently, when evaluating the two platforms, one's choice usually comes down to what's more important: Heroku's rapid deployment via a hands-off infrastructure, or Engine Yard's total control over all aspects of application deployment, provisioning, and monitoring.'"

I love Heroku's approach to offering a base tier for free. It makes it really simple of throw up a quick app at no cost (four or file commands) and it's dead easy to scale. It's expensive compared to self-hosting though (obviously) and there are some restrictions that chafe a bit now and then, but it's pretty cool!

Literal nonsense - how can a language be crippled without a framework written in it? There are other web frameworks for Ruby, and it's perfectly usable as a standalone language with a nice big library.
Ruby's a great scripting language, much like Python: concise, flexible and readable. The off-the-shelf interpreter can be slow, but that's improving and there are alternatives. So what's horrible about it?

Not to mention Ruby 1.9 is statistically the same speed as Python 3 (if not just very slightly faster).

I like both so I really don't care who wins this fanboy war.

My personal preference is Ruby since I have to work with Perl most of the day and Ruby is what OO Perl should be. Also I like RubyGems for library management, not having to worry about indentation, and there are some syntactic sugar in Ruby that gives it an edge (for me at least).

I like Python while using iPython to do some quick and dirty data checks with numpy and matplotlib.

Not to mention Ruby 1.9 is statistically the same speed as Python 3 (if not just very slightly faster).

It is? Shootout [debian.org] makes it marginally faster in 2 tests, marginally slower in 5 tests, and 2-3x slower in two tests. Still close enough that speed shouldn't be a deciding factor though; if number crunching is so important that a 10% difference is important you'd be using C anyway:-P

I agree with your second point, but not your first. Ruby is not a horrible language. On the other hand, I see no need to learn Ruby when I can already do everything I need in perl/php. I guess it's a simpler language though, at least from what I can tell. At least simpler than perl (not like that's a high bar). So I can see why some people would enjoy using it. Same with Python. I don't use it myself. Learned it, decided it was basically PHP only a little prettier.

imo buy a dedicated server with managed support. The op's will be happy because they can SSH in & developers will be happy because they can ticket the hosting company for changes. Clouds have a purpose but nothing beats a dedicated box for cost/performance (you can get a decent one for $250 now a days)

I don't know about all that. Coming from the C++/Java land, Ruby was a breath of fresh air. It seemed to me better at allowing me to express what I wanted to do in a more natural way. I've since looked at Python, and have had to do quite a bit in PHP (ugh), and neither struck me the same way. JavaScript's semantics are nice, but the syntax is unfortunately from C. So as a scripting language, Ruby is very nice. And it's a lot less ugly than Perl.

I'm not sure how to feel about all of this. Not the comments from the Anon, but the Ruby situation. Some of the hate is about the language and I'll admit it, I'm not a fan of Ruby. OK, RoR, I see some of the benefits, Ruby on its own, well, just not a fan. I'll just leave it at that before I display any more stupidity and ignorance, just to say that the Anon above is right with the comment about folks not knowing much outside of the C universe. I certainly don't.

I learned programming by taking classes in C and Intel x86 assembly. I think it's not unreasonable to expect others to do the same, though I'd accept Java as a substitute for C. If you have the ability to learn to program, then the basics of C won't be that difficult to grasp (I said the basics. Some of the more advanced topics of C can take a while to learn, but you can still write programs without knowing them-they'll just be more inefficient).

Well the software is free, you can download and run it on your own server (Express) or you can have it run via your Amazon EC2 account (Flex), which is not free. So while the software is free, the computer time is not (although I think will pay for your first 30 Amazon EC2 hours to try it out).

This. It's not specific to Ruby frameworks though. You're pretty much in the same situation if you want to use anything other than PHP+MySQL.
Generic hosts nowadays are pretty much meant for non-programmers to run their own PhpBB, Wordpress, Drupal and various legacy websites, not recently developed web applications unless the developers are still stuck in 2004 and choose PHP+MySQL as their language and database even when they have the chance to start from scratch.

Personally I just get a XEN/KVM server somewhere and install what I need myself, be it Ruby+Rails, Node.js+Railway or Scala+Play and Redis, RIAK, MongoDB and/or PostgreSQL.

How can anyone possibly not realize what shoes-cucumber does? It's a cucumber plugin for shoes! Duh!
Personally I prefer plain rspec with capybara and steak over cucumber, though. And I don't use shoes.

Design a platform composed from the ground up as a collection of clean, interlocking modular blocks, Those blocks are designed to allow the developer to choose from a wide range of functionality and would be designed to make platform extensibility a natural process. As the library of functionality grew, 99% of the time you could just pull a few blocks out, connect them and you'd be off to the races. If you needed anything new or particularly esoteric, you could just create a new block, and when done add it to the library so others could enjoy the fruits of your labor in the future (as you enjoyed theirs now.)

I'm tired of looking at 20 different systems with 20 different sets of advantages and disadvantages. Make the app platform core module uber-tight and way fast (maybe something LISPish.) Create a simple abstraction module that provided a smooth and consistent interface so library modules could easily be written in or ported to any popular language. Of course there would be the classes of modules to support various file types and interactions, network protocols and interaction, maybe natural language or device dependent smart formatting, you could start with all kinds of goodies in the cupboard. Build the thing from the ground up to sit on a hardware abstraction layer that allows the application to leverage any and all hardware and network resources available to it. This would allow you to tune the beasty to its selected environment without the need of screwing with the platform engines configuration.

Is it just me, or isn't there now sufficient experience and information available both from the "using end" and the "designing end" to build a platform that is both flexible enough to assimilate new technology, fully utilize existing technology and provide basic services that most of us seem to be asking for on fairly regular basis. I'm not interested in religious wars. I just want to be able to slap something together without getting a doctorate in the silly thing or go through a 2 year learning curve because the tech keeps changing under my feet.

Then again maybe I'm just pissing and moaning to myself and a holy grail is just a silly myth. I'd be interested to see how others feel?