Oh, and if you need them to be different from the default, you can modify them as you want, but we think the default works for most people.
Oh, and if you need them to be different from the default, you can modify them as you want, but we think the default works for most people.
Those bits just magically work!
:)
If you're making a spice rack:
Without framework: DIY shed filled with tools
Framework: IKEA
Frameworks are tools, not end products.
IKEA provides flat-packed products. You never buy a wardrobe at IKEA and then turn it into a couch instead. It will always be a wardrobe, and nothing else.
On the other hand, if you buy a set of tools and environment (aka framework) to build furniture, you can use it to build whatever furniture you want/can.
Any flat pack spice rack, will be shoddy quality, and probably break.
You don't get good furniture by mass producing it like that. Same with software.
What if I want a custom spice rack, with some secret compartment, in solid oak.
Next, you'll be suggesting that people write their own web server instead of using Apache? Or perhaps they can trust other people's code so long as they pay for it, so you'll send them towards IIS?
Come on, now.
If the webserver is a key component in your success, then definitely. Write a webserver. It was for me, which is why I wrote my own (After I found others lacking).
If it really matters, and the existing stuff isn't good enough for your use-case, write it yourself.
"And furthermore, for me, programming languages and their runtimes are tools. I think they are for a lot of us. You wouldn’t continue to use a hammer whose head keeps flying off when you take a swift backswing, would you?"
Good read: http://cbcg.net/2007/04/22/python-up-ruby-down-if-that-runti...
I am discounting Rails here: I think Rails is great for what it is and I’ve had nothing but good experiences with it precisely because it is so “opinionated”. Its a very productive environment and manages to successfully avoid the runtime problems that I’ve personally hit in the past.
So... are you trying to make a point about Ruby or about Rails? Dare I give out the clichéd "Rails != Ruby" response here?
Rails: Here's a kick-ass hammer, a kick-ass saw, a kick-ass measure tape, etc...
My point is that those kick-ass tools may be made of balsa. The editorial that I linked immediately came to mind because it too used tools as an analogy.
That sure sounds like personal conviction to me.
The bottom line is the Ruby runtime has some serious flaws, but they are not so pervasive as to make everything in Ruby total crap. There's a good chance you could write an application in half the time it would take in Java and experience no problems ever. It's also possible you'll hit a memory leak and have to face an ugly workaround, partial rewrite or even scrap the whole Ruby project. Finally, you may have a memory leak and find an easy workaround, and then one day the problem is magically solved by Rubinius.
Those are concrete scenarios to consider. I don't see how a physical materials analogy has any value in analyzing your options. The pros and cons of languages don't align AT ALL with physical properties. Thoughts like, "Java is more like cast iron, and Python is more like hardwood" is just one-dimensional mental masturbation. In the end the reason to choose a language like Java because you are willing to tolerate more overhead for less risk.