I have been developing web / enterprise software for 15+ years professionally. Starting with
ASP / VBScript, JAVA and J2EE, and for the last 8 years, mostly
.NET c#. The first 6 months of this year, I have been tinkering with various
open source platforms and ideologies at night and during my commute to work. The
software world has changed in the last 5 years drastically. I like what I have learned.
I started with the tried and true PHP / MySql. Starting first with no framework, and then tinkering with various frameworks. For me, PHP was a quick learn. It reminded me heavily of the ASP world.
However, I was amazed with how the PHP platform had changed since I last used it many years ago. Object Orientation has come along way. I was able to build a bicycle library using objects.
unit testing has come along way. There are many PHP frameworks, I investigated at least 3. Continuous integration is pretty amazing in PHP now. This really opened my eyes.
Why do we pay Microsoft for MSDN and Team System and Sql Server. For large teams, this gets expensive. I started breaking down the stack, and learning all the technologies
and there were tons! Its a huge world of options, like the wine world. I built a simple web blog with each tool I tried: Blog has Many Posts. A Post has Many Comments. A Post has many Tags. Tags belong to many Posts.
With PHP there was lots of promise! Continuing my 2010 quest to open my eyes, I looked at
Ruby. I again built my Bicycle library to learn the basics.
I really liked Ruby. I saw lots of promise in the interpreted language,
and being able to run it inside of Java. I liked some of the language
constructs. I liked that it was OO based. I liked that it had much
more consistency than PHP has after years of churn. Active Record was
amazing to me as a built in ORM Framework in Rails. I spent allot of time
learning the basics of the language. I broke down the web stack here too:
Amazing again! Lots of options.
- Web Server:
- Back End: MySql
- ORM tools: Active Record
- Continuous Integration:
Continuing on, I then started talking to a few people about
Python. Built my Bicycle object model again. Probably the fastest for me to pick up. Unit testing was great. I really digged it, except for one thing.
After 8 years of complex .NET c# OO, I have really begun to like getters and setters and various OO principles for encapsulation. Python trusts that you are good and will do good, you can see every member. It does do some
mangling. I liked that term!
I tried the frameworks: pylons and django.
So, after 8 months of off and on tinkering, when work and family allowed, its time to do something. I think
I will start out with this Web Stack (plus mobile interfaces) and see where it
takes me. I really liked Ruby over Python, can't put my finger on it, but
going with it for now.
Don't get me wrong, I am still a Microsoft .NET c# fan, as it
works and it scales! But I am very curious to learn some new stuff in this
changing software world.
Next post, the idea for first project.