Published: Dec 16 2011 / 11:38
" As an example, with Django, authentication is built into the framework, there is one Right way to do it. Ruby has no built in authentication, and you can either do it yourself, use Warden, Devise, Sorcery or many other options. Each themselves has good and bad things about it, but they all work well."
Did he just compare a framework to a language?
He means Rails. We know Ruby is all Rails, There are some people that learn Rails and they didnt know they ware using Ruby language rofl. Or people that learn Ruby with Rails.
Rails is a framework, Python is a language, comparing a framework to a language is like comparing apples to oranges.
As an example, with Django, authentication is built into the framework, there is one Right way to do it. "RAILS" has no built in authentication, and you can either do it yourself, use Warden, Devise, Sorcery or many other options. Each themselves has good and bad things about it, but they all work well.
Fixed for you maybe he got typo, thats all and calm down bro.
gah I conflate the 2. I did it particularly badly in that section. However, the point I was trying to make is that the philosophy of a language is what you need to keep in mind moreso than the syntax. It's those ideas that end up becoming frameworks and tools that make up what a language is like to work with.
This is a well written article. I have a qualm regarding your closing point that delivery of the product is always more important than maintainability. In my experience, the importance of maintainability increases with the age of the software. During the life of a project, code will change, developers will come and go, even the goals of the software may vary. Through all this change, the maintainability of the code becomes a dominant factor in how quickly a team can mutate the code in response to changing requirements. When code is less maintainable but continues to undergo change, the changes become hacks and the release cycle becomes more of a rot cycle. Of course, every project has a varying business context that will dictate the time-to-market of your software, but I generally assign a very high level of importance to maintainable code from the outset.
I think in many contexts you are absolutely right. I work in consumer web, where deliverability is more important than maintainability almost without question.
However, I think in many industries, that wouldn't be the case. 'Launch day' doesn't mean much, it's just having a solid system that's important.
Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.