November 17, 2004
The Poetry of Code
At work we’ve been developing some applications using the Ruby programming
language and the Ruby on Rails web application framework. I want to be a
skeptic. I want to dislike the language. I want to dismiss it as a simple
toy, an interesting intellectual exercise but not worthy of serious work.
Not like Java. Java is a serious language. I’ve wanted to do some serious
work in Java for a number of years now. My bookshelves at home are littered
with Java programming books. I even went to the JavaOne conference this
year. Still, I haven’t managed to find time for any significant Java
programming, either professionally or on my own.
Java just feels like a real programming language with patterns and best
practices and code that goes on for miles. Boiler plate code has been raised
to a high art. Reading Java programs is like reading poetry. Java is an
epic, like the Odyssey. Writing a java program is a ten year journey to find
your way home.
Ruby isn’t like that at all. Programs are small, concise, and eerily
expressive. Not like Java at all. I think I might need to look to Ruby’s
Eastern origins. A haiku, perhaps:
a Ruby program
before I even notice
is already done
But I’m starting to come to terms with Ruby now. After spending several
hours yesterday tracking down a bug in the Rails framework I am much more
comfortable with the language and the framework. It’s not perfect, and
somehow that makes me happy.
November 17, 2004
The Poetry of Code
At work we've been developing some applications using the Ruby programming
language and the Ruby on Rails web application framework. I want to be a
skeptic. I want to dislike the language. I want to dismiss it as a simple
toy, an interesting intellectual exercise but not worthy of serious work.
It's great that he got beyond this but it's disconcerting to think
that something or someone, somewhere, predisposed him to view Ruby in
this light in the first place. Well -- it's their loss.
I loved this blog entry and I just had to share it with you!
Curt
[...]
Ruby isn't like that at all. Programs are small, concise, and eerily
expressive. Not like Java at all. I think I might need to look to Ruby's
Eastern origins. A haiku, perhaps:
a Ruby program
before I even notice
is already done
Another characteristic of Ruby programs is that as you work on them,
more and more code disappears from the screen.... So maybe that poem
should really just be:
November 17, 2004
The Poetry of Code
At work we've been developing some applications using the Ruby programming
language and the Ruby on Rails web application framework. I want to be a
skeptic. I want to dislike the language. I want to dismiss it as a simple
toy, an interesting intellectual exercise but not worthy of serious work.
It's great that he got beyond this but it's disconcerting to think
that something or someone, somewhere, predisposed him to view Ruby in
this light in the first place. Well -- it's their loss.
I won't speak for him, but I think it's a fairly widespread opinion. My guess as to why is that people automatically think programming has to be difficult (i.e. lots of static typing, necessity of expensive IDEs, etc.) in order to be effective. Rubyists come along with their talk of enjoying their work and serious Javaists think to themselves "That's nice, but there's no way that would work at my serious company doing my serious thing."
Francis
···
On Nov 18, 2004, at 5:53 AM, David A. Black wrote:
I won't speak for him, but I think it's a fairly widespread opinion. My guess as to why is that people automatically think programming has to be difficult (i.e. lots of static typing, necessity of expensive IDEs, etc.) in order to be effective. Rubyists come along with their talk of enjoying their work and serious Javaists think to themselves "That's nice, but there's no way that would work at my serious company doing my serious thing."
Agreed. And I think it's the "scripting language" ghetto, and ignorance about dynamic typing (which, in it's worst form, equates it with weak typing), that keeps many people from appreciating Ruby (and other agile languages as well).
Educating people on dynamic typing is important, but I think I'd be happier if people would simply stop referring to Ruby as a "scripting" language (too many pejorative connotations, right or wrong), and simply described it as an *interpreted* language instead.
Francis Hwang wrote:
...
> I won't speak for him, but I think it's a fairly widespread opinion. My
> guess as to why is that people automatically think programming
has to be
> difficult (i.e. lots of static typing, necessity of expensive IDEs,
> etc.) in order to be effective. Rubyists come along with their talk of
> enjoying their work and serious Javaists think to themselves "That's
> nice, but there's no way that would work at my serious company doing my
> serious thing."
Agreed. And I think it's the "scripting language" ghetto, and ignorance
about dynamic typing (which, in it's worst form, equates it with weak
typing), that keeps many people from appreciating Ruby (and other agile
languages as well).
Educating people on dynamic typing is important, but I think I'd be
happier if people would simply stop referring to Ruby as a "scripting"
language (too many pejorative connotations, right or wrong), and simply
described it as an *interpreted* language instead.
Actually, I liked what you said in your previous paragraph -- Ruby is an
"agile language"!
Is excessive boilerplate of over-casty static languages really poetry?
I don't think so.
To put this in another light, maybe some people like reading Faulkner
for his overly winded and indirect prose, I don't. And that's why
I'm here
···
On Fri, 19 Nov 2004 01:47:25 +0900, Curt Hibbs <curt@hibbs.com> wrote:
James Britt wrote:
>
> Francis Hwang wrote:
> ...
> > I won't speak for him, but I think it's a fairly widespread opinion. My
> > guess as to why is that people automatically think programming
> has to be
> > difficult (i.e. lots of static typing, necessity of expensive IDEs,
> > etc.) in order to be effective. Rubyists come along with their talk of
> > enjoying their work and serious Javaists think to themselves "That's
> > nice, but there's no way that would work at my serious company doing my
> > serious thing."
>
> Agreed. And I think it's the "scripting language" ghetto, and ignorance
> about dynamic typing (which, in it's worst form, equates it with weak
> typing), that keeps many people from appreciating Ruby (and other agile
> languages as well).
>
> Educating people on dynamic typing is important, but I think I'd be
> happier if people would simply stop referring to Ruby as a "scripting"
> language (too many pejorative connotations, right or wrong), and simply
> described it as an *interpreted* language instead.
Actually, I liked what you said in your previous paragraph -- Ruby is an
"agile language"!
Faulkner might be the wrong analogy, but then again I love both Ruby code and Faulkner's books. Faulkner's stuff is florid but also without the rigidity of Java ... you maybe could draw an analogy to Perl, which seems to me to be practiced by people who love the code on its semantic surface as opposed to whether it lets you get the job done elegantly.
If you had to draw a literary analogy from Java to an author, I'm not certain who you'd pick ... somebody who was into logical rigor? Some of the Nabokov I've read is like that, but then, I might just not be grokking what I've read.
F.
···
On Nov 18, 2004, at 1:46 PM, Michael DeHaan wrote:
Is excessive boilerplate of over-casty static languages really poetry?
I don't think so.
To put this in another light, maybe some people like reading Faulkner
for his overly winded and indirect prose, I don't. And that's why
I'm here