Dead Ink Vinyl

Musings of David L Kinney

Posts Tagged ‘ruby

Programming Languages and Development Stacks

Comments like this drive me nuts. There are several misconceptions that should be addressed, but I’d like to concentrate on this bit:

Don’t get me wrong; I think the switch to Java was a leap forward for the industry; I just wish people would have jumped to a better language.

Who cares about programming languages? Languages are a tiny part of the overall development stack. The PERL language is showing its age, but CPAN continues to make PERL a great choice for many UNIX applications. Ruby is interesting, but it’s Rails that attracted the industry’s attention. Objective-C would be nothing without Apple’s fine compliment of frameworks. Microsoft recognized the value of stacks over languages when it designed .NET’s CLR to support many languages. And finally, Java’s decade-long success as a server-side development platform wasn’t due to any stand-out features of the Java language — or even Sun’s marketing1. Its success was due to being a compelling development solution for server applications:

  • Develop on your favorite system (Windows, Solaris, or Linux)
  • Deploy on your business’ favorite system (Windows, Solaris, or Linux)
  • Roll-out with confidence due to standardized server deployment artifacts and environments (JavaEE)
  • Enjoy the easy stuff being easy with built-in support for internationalization, threading, and asynchronous processing

Development stacks don’t “win” based on their language — they win based on the ecosystem of developers, frameworks, and libraries that surround the language.

1 I find the idea that Sun’s marketing significantly impacted Java’s adoption to be laughable. During those early years, while Sun was the tech media’s darling child, Sun was also actively antagonizing its developer community, whose members were building open source alternatives to the expensive enterprise solutions being pushed by Sun and its industry partners.

Written by dlkinney

January 7, 2008 at 3:22 am

What’s in Your Computer Bag?

My computer bag, a Brenthaven backpack I’ve used since my original 17” PowerBook, has gotten insanely heavy over the course of this week. I pulled eveything out to take a look at what has been adding load.

The first items aren’t that interesting. A 360|Flex folder and an Effective UI graph pad I picked up off a table while at that conference (thanks, guys!). I plan to use the graph pad to layout some screens for an upcoming project at work and want to keep it handy in case inspiration strikes. I’m still waiting for that inspiration.

Then I pulled out a two inch thick collection of papers I’d printed (duplex, to conserve paper). On top of the stack is D-Click’s Adobe Flex Coding Guidelines. I really don’t like placing opening braces on their own line. Drives me nuts. (For my money, the Sun Java Coding Conventions can’t be beat.) But, when in Rome, do as the Romans do. I recognize that being consistent (especially across developers on the same team) is more important than the merits of any single convention, so I’m trying to learn new habits.

Next up are printouts of six chapters from Adobe’s Building and Deploying Flex Applications (PDF here). I have only built Flex apps inside of Flex Builder, so I still need to learn the command line tools. My company is big on “repeatable builds”—meaning that any interally-developed production applications should be easy to regenerate from source without developer involvement. In practice, this means that the application must be built with a command line build script (Make, Ant, etc.). Besides, I get nervous when I’m overly dependent on an IDE. I like code completion, syntax highlighting, and refactoring, but I really like to know that I can do it all from vi or Notepad and the raw Flex SDK if desired or needed. Hence my interest in the Building and Deploying Flex Applications book. And I mean book! A full printout would weigh in at 400+ pages! So I picked the most important parts to me and just printed those.

The first chapter is Chapter 3 (Flex Application Structure). I just finished reading this chapter last night. Not a lot to say here. It’s good to have the layout with which I was familiar due to Flex Builder reinforced in print. Next up are Chapter 4 (Applying Flex Security), Chapter 7 (Building Overview), Chapter 9 (Using the Flex Compilers), Chapter 13 (Using ASDoc), and Chapter 14 (Creating Applications for Testing).

Then I come to printouts of various O’Reilly articles about Ruby on Rails that I intend to read Any Day Now™. Rolling with Ruby on Rails Revisited, Cookin’ with Ruby on Rails: May, Cookin’ with Ruby on Rails: Designing for Testability, Cookin’ with Ruby on Rails: More Designing for Testability.

And finally, I have Greg Hamer’s presentation slides for introducing Cairngorm at 360|Flex. I suppose I can take this out of my bag. I have the general idea of how Cairngorm works. I’m still waiting to write an app large enough to make playing with Cairngorm worthwhile. Okay, that’s not quite right. I’m still working on my first Flex app ever. I’m plugging into the 37signals Backpack API. When I’m done with that, I might look at refactoring it for Cairngorm just to get that experience under my belt.

And that’s wy my computer bag weighs a ton. What’s in your computer bag?

360|Flex: My Thoughts

I just returned from the 360Flex Seattle conference. Overall, it was an excellent conference with great sessions covering a variety of material for Adobe Flex. The Flex community is still rather small, so this conference had me shoulder to shoulder with the preeminent names in the field (Jeff Houser of The Flex Show leaps to mind). Due to the small conference size, a lot of value came from the informal Q&A’s with the presenters after each session and chit-chatting with other developers about their experiences, difficulties, and insights.

Flex developers come from a wide range of backgrounds. There were some management types and UI designers sprinkled in the mix, and I found that these people had the best questions and comments during the less technical sessions (e.g., “Design Eye for the Dev Guy”). About half of the attendees were designers—most with a strong background in Flash, but some Web (HTML/CSS) designers as well. The other half of attendees were developers—lots of .NET developers, a healthy batch of Java developers, enough Ruby developers so that I didn’t feel lonely, a handful of ColdFusion holdouts.

There were some areas where the conference could have been improved, though—most were related to communication.

  • If I had known up front that the sessions would be video recorded and made available later, I would have been more inclined to join the Flex 101 and AIR 101 hands-on sessions, since I could watch the recordings of sessions I missed later.
  • It wasn’t clear to me that the Flex Charity Code Jam (more, more) was intended to be a learning experience. I felt that as a Flex newbie, I wouldn’t have much to contribute.
  • The vendors, who made it possible for me to attend an amazing conference for only $360, were tucked in a room off in the corner. I would have switched the chill-out room and the vendor room to give the vendors more presence. I swung through the vendor booths twice to pick up their marketing material note all of the URLs to research later. Thanks, vendors!

Beyond that, I agree with everything David Coletta said.

Written by dlkinney

August 18, 2007 at 11:00 am

Follow

Get every new post delivered to your Inbox.