About 2 years ago I dropped from Java development and moved on to Ruby and Rails. This was a business decision, and personally, I was excited to challenge myself and help grow as a developer. My blog has been fairly inactive since then.
There are two reasons for my inactivity:
- Learning a new language requires much time reading, implementing experimenting, and interacting with the community to understand and build great software.
- The Ruby community is already awesome.
Learning a new language is challenging and time consuming.
I have to admit that Ruby was a fairly big change from Java. With Groovy experience, it wasn't a far stretch but under the covers, it is very different. I still can't get over non declared types on initialization, but a variable can't take on a new type there forward (dynamic yet strong typed). This was bizarre to me. I also missed interfaces, but at the same time loved modules. I have to say that Ruby is the most syntactically beautiful language used in enterprise technology. The style in which you write code in Ruby is completely driven by the community, and what they deem as acceptable in their open source software. This leads me to my next point..
The Ruby community is awesome.
There is no other open source community out there as interactive and cohesive as the Ruby community. I had no reason to blog because, so many great writers and community projects had what I needed, or enforced standards through community driven development. This community is amazing and incredibly adaptable.
Rails is pretty cool too.
Rails is by far my favorite full stack web framework. It has great docs, tooling, and community support through gems and Rails engines. If a custom write would cost my company X weeks or months to solve, there would almost always be a gem I could use. Rails is lighter then most all full stack Java web frameworks, and all lack the same community support.
The problem with Ruby: It's heavy dependency on Rails.