I’m a cunning Linguist!

A graphical depiction of a very simple css document

Image via Wikipedia

I’m on a mission from God

During the last year, I’ve been on a quest.. a quest to learn the next best thing in programming. I’ve taken trips here and there to engage in week-long training courses, boot camps, and so on. For the last decade or so, I’ve been a .NET programmer, I’m not the best, by far, but I’m not the worst either. I know enough to do any task I’ve ever needed to, and what I don’t know I at least know how to look up.

Stick with what you know!

.NET is a fairly simple technology to use, and I enjoy it, but I don’t want to be one of those developers that puts all his eggs into one basket, then ends up out on the street when a new technology comes around and becomes the next hot thing. I’ve tried quite a few technologies, so before I forget them all.. here’s what I’ve dabbled in:

  • Flex:
    • + Uses Flash for UI, so it looks EXACTLY the same in every browser!
    • + You pretty much DRAW the UI, so it’s easy and, dare I say it, FUN!
    • – No direct ability to talk to a database.. how limiting!
    • – Flex 2 didn’t talk with .NET very well, you needed a middle-man (WebORB) to do any real work and that was a real pain.
  • Silverlight:
    • + Works with .NET
    • – It’s Microsoft‘s version of Flash, not many people have it on their computers!
    • – Not nearly as fun to “Draw” your interface as Flex.. why couldn’t Adobe and Microsoft just work together?!
  • Ruby on Rails:
    • + Easy to learn
    • + Intuitive
    • + Uses MVC
    • – Doesn’t run on IIS.. easily.
    • – Requires supreme geek abilities to publish it on your own server.. I enjoy sunlight too much.
  • PHP:
    • + By far the most popular language on the web.. tons of supporting documents
    • + Fairly easy to learn
    • + Works with IIS!
    • – Uuuuugly! Anyone who codes in it has nightmares.
  • Jaxer:
    • + Javascript on the client AND server!
    • + No need to know anything other than HTML, CSS, and Javascript!
    • – Doesn’t play well with IIS
    • – Performance and scalability haven’t been tested.
    • = I’m keeping an eye on this one.
  • Django:
    • + Easy as heck.. a web framework for Python
    • + Actually had fun coding in it.. that’s rare.
    • + Uses MVC
    • – Doesn’t work at all with IIS! Damn!
  • SproutCore:
    • + An AJAX framework, used by Apple
    • + Creates Javascript code to do a lot of work for you on the client.
    • + Uses MVC
    • + Integrates well with server-side technologies
    • Mac required; I’d have to do the .NET stuff in Windows, and SproutCore on a Mac.. doesn’t sound fun! (They’re working on Windows compatibility though.) Update 2008-06-18: Now works with Windows.

What else you got?

I think that’s it. I may have forgotten something though, I have tried a lot. I don’t regret any of it though, I’ve learned tons about these technologies and, more importantly, about myself as a developer. If nothing else I know I’m not one of those developers that looks down on anyone not using what I’m using. Each technology has strengths and weaknesses and it’s up to the developer to choose the right one for the task at hand.

So what, you think you’re better than me, punk?!

Yes.. I am.. get over it.

Zemanta Pixie