Tutorial :Tired of ASP.NET, which of the following should I learn and why?


Which of the following technology is easy to learn and fun for developing a website? If you could only pick one which would it be and why

  • Clojure/Compojure+Ring/Moustache+Ring
  • Groovy/Grails
  • Python/Django
  • Ruby/Rails
  • Turbogear
  • Cappuccino or Sproutcore
  • Javascript/jQuery


Have you tried ASP.NET MVC? It is actually very different to ASP.NET (vanilla), but retains your knowledge of the .NET framework. Most people wouldn't look back...

With the view based on your html (rather than whatever the controls decide to emit), it is also ideally placed to work alongside jQuery (it is even installed in the default project template) for all your dhtml/ajax needs.



Have you considered turning off the computer and going outside instead?

Remember to wear pants!


OK, first, apparently we all need a pants check. Done?

I'm of two minds:

  1. if you are looking for a practical language / platform to pick up that you hope to use to help you in your day-to-day then I'd go with Python/Django. Python has developed into a really sweat and powerful language and Django is as nice a web development MVC as any other and pretty easy to pick up and get going with. You can run it locally, its easy to deploy on Apache w/ mod_python. Did I mention that Python is a really nice language? Also good support in the tools world, google app engine etc....

  2. if you are looking to expand your thinking/though processes about the way you program and think about programming then I'm with Joel Spolsky - choose HAppS (Joel would go Haslkell) or Clojure which I've not used but I've done a lot of lisp and it makes you think different and the language constructs like the macro capability will change the way you think of solving problems


I would probably learn Ruby on Rails. It has a lot of different methodologies compared to ASP.NET, and it might open your eyes to some different and very powerful approaches to web apps.


Let's start by clarifying your question. Why are you "tired of ASP.NET?" Is it because of the tedious webforms model that tries so hard to protect you from the browser/server conversation that it ends up getting in the way?

Or is it because you have been trying to work with one of the tiresome 3rd party enhancement controls that build on the tedium of the webforms model?

Or do are you simply tired of working with five different languages at once: ASP.NET, HTML, CSS, Javascript, and C#/VB?

If you answered yes to the first two of these questions here's some advice:

  1. Get some rest.
  2. Try ASP.NET MVC. It gets out of your way and lets you work with the browser and IIS
  3. Realize that changing web development models will be difficult no matter which one you choose to move to. The path is smoother the fewer things you change (see number 2).

If you answered yes only to the 3rd question (five different languages) then all I can tell you is, welcome to web development. It will be this way for awhile.


I recommend Clojure and Compojure because Clojure is awesome. Clojure is a new and modern LISP implemented on the JVM and can interact seamlessly with any Java library. It already has 3 IDE plugins in development, a book written about it, a very smart and open-minded person running the whole operation and a great newbie friendly community. The language is simple, easy to learn and yet really powerful. A good way to open your mind to new ideas without going as far as pure functional programming. Coding websites with Clojure is a breeze and really fun. It has a lot going for it and a lot of momentum. All the kool kids are doin' it so I recommend giving it a try!


Javascript, because the skills you learn will complement your current Asp.net skills.


If you main goal is to broaden yourself, I'd suggest looking at things like Seaside or HAppS.


I would suggest jQuery or python, both are fun to work with and useful for either web work or just common tasks.


You should wait until you get an answer from someone who's used more than one of those. That said (I've only used rails, python, and javascript), one way to frame it would be as a balance between sheer intellectual joy and practicality. My thoughts on Rails and Python from that perspective:

  • Rails is going to be different and interesting, and it was hip in 2005-2007. There may be something more hip now. (Hip counts when you want to get future colleagues excited about what you've done, when they haven't done it.) I'd venture that it's at least as eye-opening as something based on LISP or Smalltalk or Haskell, but probably more practical because you may actually end up using it at a job or for contract work. Clojure, Seaside, and HAppS sound really cool, but until one of them really catches on, you're unlikely to ever use any of that stuff again in your career unless you're a computer science PhD working with other PhD's. (Edit in response to comments: please don't read this as a disparagement of those frameworks. As Rayne and MarkusQ have noted, depending on your motivations, they may be just what you're looking for. I'm just trying to communicate one method for weighing the alternatives based on your goals.)

  • Python is a great language to know all around. I haven't used Django, but it has some industry traction (not as much as rails). Python as a language though will serve you well no matter what you do -- it's great for banging out utility scripts and rapidly prototyping ideas. There's a huge community and tons of libraries.

You can gauge a technology's potential usefulness for moneymaking by searching for it on craigslist, dice.com, monster.com, etc.


Definitely clojure. It is the most different of all languages mentioned in the list, so it would be probably most fun to learn / use.


Nobody seems to be voting for groovy. I'd go for that. I don't know anything about grails, but groovy the language is pretty cool. In the past nine months at my job I've been required to learn python and ruby. In the process I also took some time to understand groovy. groovy is the language that had me hooked before I finished reading the first chapter of Groovy in Action.

Ruby is the one I'm actively using now, and while I did nothing but python for six months that's my least favorite of the bunch. Python is not a bad language per se, I just didn't enjoy using it. I find ruby to be a very pleasant language and am glad I had the opportunity to learn it.

Fully learning javascript might be the more practical choice, but I'd still vote for Groovy. I'm anxious to find an opportunity to use it at work.


Ruby on Rails, because that's what I use.


I have worked with several technologies... not touched ASP. NET. Heard about it from other people who are under its influence.
I have started working with Ruby on Rails and it is fun. Since you want to learn and develop web sites, you should go for Ruby on Rails. There are lot of things you can do with RoR on web. I like things that you can do with RMagick. (cropping images, thumbnails,slideshow etc) Talk about multi-lingual sites... and there you have "gettext". I vote for RoR.


I'll add in my vote for Groovy, as well as another one for Ruby. Both Grails and Rails are excellent frameworks, although Rails will get you a job a lot sooner than Grails. Both are truly a pleasure to work with, and have actually made me enjoy coding again.

Groovy is nice because you can use any Java library. So, lightning-fast database access, XML parsing, PDF generation, and so on. In a nutshell, Groovy is Java, if Java had been written by a bunch of Ruby guys.

Grails is also great, although it's a lot buggier than Rails, and if you want to do anything complicated you're going to need to learn a bit about Spring, Hibernate, and Java. Grails does have better internationalization support and more deployment options, as well as a really good integrated scheduler (Quartz) for long-running and scheduled tasks.

Rails is Ruby all the way down, so you can very easily read the framework code and figure out how things worked -- I did this in order to figure out how to implement a graph (data structure), and was really pleased with how easy it was to figure out how to change things.


Learn Ruby on Rails. It'll change the way you see web development. It did for me!

A valid alternative is Django and Python. I don't use it, but I consider it to be just as good as Rails.


I've used Ruby on Rails but also have done quite a bit of Groovy and Grails work. If you don't have any previous experience I would go with either of those. They're both fun to learn, pretty easy, and are very powerful.

They're both backed up by frameworks: Ruby had Rails/Merb Groovy has Grails

They can both use jQuery.

I don't know much about Python/Django combination.


I've started to learn Ruby on Rails along with MVC (since conceptually there similar) and found it a great relief from the same routine with .Net.

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »