Topic: Django, Rails but a cost to pay ?

I write a post about Django Rails. I'd like to have your opinion about it.
http://blog.skeedy.com/django-rails-but-a-cost-to-pay

Re: Django, Rails but a cost to pay ?

Well I don't know what you are asking really in that article, or criticizing. Seems like you just point out some good and bad things of everything, what are you asking?

Just a couple of points on some of the things you said.

- You're right, java has been mainstream and you said (speaking of rails and django):

drano wrote:

A community, but it is not so easy to find developers compared to Java or .NET

you act like that is a good thing that java and .NET is so easy to find developers. How is that good? If that's the case (and it is), doesn't it make it way harder to get a job using one of those technologies? Then wouldn't it be better to focus your time and energy mastering a new age technology that not as many people know so that when the time comes to hire on these technologies, your skills become needed?

Also, think to yourself which languages are the first to be outsourced? Not ruby and not ruby on rails, but things like java and .NET (for the time being, obviously this industry changes fast).

drano wrote:

With dynamic languages, we cannot use powerful IDE as Visual Studio. It is not a problem for me, but some developers like completion, compilation…

RadRails is a pretty darn powerful IDE, as far as I know, and it's free. I've found a lot of Ruby can be written to look and act like other, I guess you could say, more 'traditional' languages. You have the ability to treat ruby like java if you want. Ruby is very flexible. To me, if I was experienced with a bunch of other languages, I would be drawn to a nice looking, clean, modern language, one that presents flexibility and makes the process of adopting friendly.

drano wrote:

Then why pay this price?

What price are you talking about paying? Your article is very unclear, but it sounds like there isn't a price to pay.

The only price to pay I've found in RoR is problems with concurrency and memory hogging. Rails, unfortunately, takes up quite a bit of memory, even on simple apps. Many of it's libraries are blocking and that results in a loss of ability for multi-threading (which I'm not saying multi-threading is necessarily always faster). Work needs to be done to improve rails performance, but I'm optimistic because it seems like a lot of the community is frustrated with this and are trying to do something about it. For instance, the company Phusion has been studying this and trying to find ways to improve performance and have been fairly innovative so far.

My perspective and theory on your pros and cons about the differences between languages/frameworks, old and new, is this:

Growth is important. I see little growth in java (not saying I see a decline, I just see it remaining where it is). I see jobs in java being outsourced (the company I work for has many people straight from India and Asia). I see modern languages and frameworks growing and becoming more and more popular, consistently evolving. Where do I want to focus my time (I'm 20 years old)... not in learning technologies that are from a different era than me, not where I'll struggle to compete with outsourcing and thousands of other people who know java but rather in growing languages and frameworks that present new opportunities.

Last edited by RailsRhino (2010-08-03 12:39:51)

- Ben

Re: Django, Rails but a cost to pay ?

"Then why pay this price?"

Effectively, I was not so clear in my post.

It is not so easy to find Django/Rails developers. And enterprises need some internal developers, not only freelances. In this case, using alternatives frameworks or languages could be a constraint.

All developers are not able to use efficiently dynamic languages. It needs to have a specific mindset, and probably be more rigourous than static languages as C# or Java.

Thanks for your reply.
[Sorry for my bad english !!!!]

Re: Django, Rails but a cost to pay ?

Interesting thread developing.

One thing the original author posted about was 'religion'.  Technological zealotry. 

I trace the origins of technological zealotry to Sun and Apple. 

In 1985,  Sun was an upstart workstation company,  and they did something no company had ever really done before.  They released a piece of code into the public domain,  the Networked File System, NFS.  By 1988,  there were about 85 computer hardware manufactures that had put NFS into their OS's,  usually it was the first thing they did after they put TCP/IP into their OSs.

This list of NFS supporters included IBM, DEC, HP, collectively they represent MOST large computer hardware purchases, and they all sold proprietary operating systems with their hardware.  In 1987, these large proprietary vendors woke up to the fact they they had unknowingly let a Trojan horse into their 'gold mines'.  Sun was selling a new vision of computing,  based on an Open operating System (Unix).  Sun had garnered considerable technological mind share even within the IT bastions of IBM, DEC and HPs customer base.  The big boys felt threatened,  and created the Open Software Foundation (OSF),  the Unix wars began.

Sun's response to this full frontal attack from a consortium of new competitors,  hundreds of times their size in terms of revenue,  was to fight back on the excellence of their Unix verses what OSF was offering,  but in reality is was a basic Open (Unix) vs. Closed (proprietary operating systems) battle.  Sun perfected, in it's fight for survival,  the concept of technological evangelism.  It was the best way to approach selling corporate America on a radical new concept,  open software.

But technological zealotry didn't get out of control until the internet and Java sprang up.  I think it was the gold-rush mentality of the early internet years,  combined with the already established Sun practice of evangelizing technology,  that created a monster.  Face it,  Java was NOT developed to be a large back end server infrastructure,  James Gosling architect-ed Java to be a peer to peer desktop environment, initially for set top boxes in the Cable industry.  When he decided to make Java threads centric,  it was with the intent that the threads would simply deal with the bit-map of the display,  something a large number of threads can do efficiently on a simple desktop box.

Sun,  and a whole host of new start ups (i.e. WebLogic),  took Java to places it was not really designed for,  and initially didn't handle very well,  server infrastructure for the Internet.  Threads were the main stumbling block.  While threads works great while there were 10s of them all simply blocking on a single resource,  the screen's bit map,  100's of threads blocking on lots of different resources, (network connections, disk I/O, etc.),  didn't work very well.  It still doesn't work anywhere near as well as it should to support Java being used as a serious back end infrastructure for large scale computing.   

But the damage was done,  and Java became a de-facto standard for back end internet infrastructure,  and threads got ingrained into the minds of many new software engineers.  Eventually JVMs improved,  Solaris and even Linux improved,  and the performance of java on the back end improved,  but the sad reality is that a Java still doesn't really scale as well as it could or should. 

The other thing about Java was the breathtaking speed with which new Java industry standards were created,  often with very little thought to scalability, reliability, serviceability.  It was all about, "Just get the API out,  and get people using it,  so we capture their mind share even further".  The result was a huge boondoggle,  like J2EE,  jack of all trades,  master of none.   Today the Java APIs are just too much,  and Java development is unnecessarily complex.

Joe got a job, on the day shift, at the Utility Muffin Research Kitchen, arrogantly twisting the sterile canvas snout of a fully charged icing anointment utensil.

Re: Django, Rails but a cost to pay ?

There are companies / enterprises that have internal rails/django developers. There are big web development companies that just use rails/django.

The site Metromix.com has 6 internal, full-time rails developers that develop the site and deploy it. They work year around for metromix, which is a pretty big company and is growing.

I think it's more easy for them to find rails/django developers than you think because developers find employers who are looking for rails/django developers. There are many websites designed for developers to present themselves, some of these sites are specific to rails, like the link on this forum. I know that I'd look all over chicago and beyond to get a job in rails if I needed to and if there were jobs I'd find them. So employers should be able to find rails/django developers no problem.

Besides, with the growing popularity of frameworks and modern languages, companies are finding developers specialized in these new(er) technologies cost effective. It's becoming attractive not only to developers, but to employers too.

- Ben