Click to See Complete Forum and Search --> : Rails, .NET / Castle / MonoRail, Django or ... ?!


Bobo72
11-05-2007, 03:55 PM
Hi,

Despite having developed small web applications for quite a few years by now, I've never ever dug that deep into php, done only a bit of ASP (a/o using a simple MVC-framework) and only just scratched the surface of .NET.

Most recently, I've begun developing in Ruby on Rails. Admitted; Rails is a truly agile framework. However, I'm somewhat frustrated about the high degree of abstraction that Rails builds upon. I actually find that if you really, really want to develop Rails applications, you still have to know what goes on under the hood - and then the learning curve increases significantly ...

But - to get to the point, I'd like to hear some opinions from this forum's users: If you were to really master one server-side language / framework, what would you choose. Or actually; if you should choose one language or framework that you could master just enough to be able to build server-side services (e.g. REST) that your frontend in e.g. Adobe Flex could consume - what would you choose? Something more enterprise-oriented like .NET / MonoRail for instance - or something more open source-oriented like Rails or Django?

Of course this all depends on a myriad of choises, variables and personal preferences. It's just that I'm a bit frustrated: In Rails I thought to have found a really productive environment that was easy to get started with, to learn and to develop in. The problem is; each time I run into problems, it seems to be a million times more difficult to locate the source of the problem than e.g. when I was doing ASP, mainly due to the high level of abstraction in Rails - and the way that most code is 'encapsulated' and 'hidden' from you ... ASP may be old-fashioned and produce spaghetti-code, but at least it is easy to debug as you more or less have to write everything yourself?! But maybe that is the paradox when it comes to frameworks: You are given a lot from the beginning - but if you really have to exploit the full potential of the framework, then you have to learn much more about how the framework is build than it appears from the beginning.

Hope and look forward to hear some opinions - that may affect my own choice regarding what to start digging more deeply into.

Cheers,
Bo

Bobo72
11-06-2007, 03:46 AM
Hi again,

Well - since posting yesterday, I found a good discussion on e.g. .NET vs. Rails (even if you cannot compare that directly). Seems that traffic load and scalability is decisive for the choice of architecture / techonology: Large traffic sites may case problems for Rails and make applications slower than they should be (e.g. no asynchoronous server requests) - and they (e.g. enterprise applications) should probably be developed in either .NET or J2EE.

However, I've read quite a few places that .NET-people tend to be very positive towards the 'fun' / agility of coding Rails applications compared to the .NET environment that they are used to? But this probably does not apply when you use e.g. a network like MonoRail to develop .NET applications?

Another problem with .NET and MonoRail: You have to compile before you can see your changes - in RoR your changes are visible right away.

My problem; I would like to try out MonoRail, but I'm on a Mac and kind of like TextMate as my texteditor and development tool of choice?! Can I code MonoRail on Mac? Also, MonoRail suffers from lack of documentation / literature - or?

Br Bo

NogDog
11-06-2007, 05:52 AM
If I were going to really master one language with the goal of maximizing my employment potential, it would be Java. It is the most in-demand programming language in the IT business world. (This, of course, is why I work in PHP, since I am an inveterate contrarian. :rolleyes: )

chazzy
11-06-2007, 07:19 AM
C# just got named the top dollar programming language (meaning if you know this language, you're getting the biggest increase in pay). Java's right behind it (i think it's like 12% more for C#, 11 or 10% more for Java)

NogDog
11-07-2007, 03:51 AM
C# just got named the top dollar programming language (meaning if you know this language, you're getting the biggest increase in pay). Java's right behind it (i think it's like 12% more for C#, 11 or 10% more for Java)
Yeah, I based my comment on antique data from an article I read at least a couple years ago. :) It was rating them just by demand (perhaps implying pay scale?), with Java having just a slight lead over C++/C#. It wouldn't surprise me at all if it's flip-flopped by now.

Bobo72
11-07-2007, 11:30 AM
Hi again,

Thanks for your feedback / input. It is also my impression that C# / .NET is very high in demand - especially in Denmark which is quite a M$-country (like it or not - it's what the companys demand!)

Since my post, I've dug a bit deeper in the differences between interpreted languages like Ruby and compiled ditto like C# - and I'm actually beginning to gain an understanding of the different approaches to constructing a program (hoorrae for WikiPedia ;)

For now, I guess I'll be doing some development with RoR before maybe someday trying out C# (even if it can be quite difficult on a Mac?)

/Bo

NogDog
11-08-2007, 01:15 AM
If nothing else, working with Ruby (regardless of whether you're using the Rails framework or not) will get you working with object-oriented concepts, which should provide knowledge and experience that translates well into other object-oriented languages such as Java and C#.