7 ms·
Frameworks can sometimes be annoying. It's like learning a new sub-language on top of the programming language as there is a certain amount of familiarity you
by mdasen 18y ago
Frameworks can sometimes be annoying. It's like learning a new sub-language on top of the programming language as there is a certain amount of familiarity you need with a framework's calls (ex. to program in Python, it goes a lot faster if you know that it's len(list) not list.length() and similarly if you're using Rails it's important to know that there is no validates_is_number, but there is validates_numericality_of). So, you start learning all these things that may or may not apply to your project - the language of the framework. And in some places it slows you down and you feel like there's abstraction just for the sake of abstraction, but in the end I think it's worth it.
I also think Joel misses something: most programmers are bad programmers. They'll dig you into holes, write lots of spaghetti string code, etc. At least when they're using a framework there's some constraint on their madness. Frameworks (generally) make it a tad difficult to work outside of their constraints and so the default becomes to work in that standard way. So, you don't get people doing weird things as often - like building a string that is the page that they'll echo out like the piece of PHP I'm working on today does (guess they didn't realize that you could simply go out of PHP mode to do that).
- clintavo 18y agoI guess I'm one of those bad programmers who does "weird things" , I often create a string with my entire page and then output it. I thought it made more sense since I now have a string that I can run regexes on or find/replace if necessary. Also it makes it easy if I decide I want to cache the page somewhere, I think I must be "dumb and gets things done."
- mixmax 18y agoI think there's a wee bit of differnece between creating a string with a whole page because you don't know that you can jump in and out of PHP mode and creating a string with a whole page in order to do regex'es on the string :-)
- Ramone 18y agoPHP (I assume we're still talking about PHP) has had output buffering for about a decade. So yeah that is a weird thing. ;)
- johnrob 18y agoI've done this before. If you're the sole owner of something, and especially if there will never be a designer in the mix, I think it makes sense to stick with what you are (and more importantly will be) familiar with. I once used python string substitution as a poor man's template system, because I knew that when I came back to that code months/years later, I'd still know how string formatting works w/o having to refer back to documentation.
- dasil003 18y agoNothing really wrong with that per se. The problem is if at one point you decide that's just the way to do things and you never learn new approaches. If you want to be a good programmer you have to try different things and learn the pros and cons for yourself. Best practices are a decent jumping off point, but developers often overestimate their own best practices that they've learned while working on certain types of projects. It's especially insidious among very smart developers who work in a narrow field, because their reputation causes their wisdom to be mis-applied by junior developers and cargo-culters.
- bockris 18y ago> I also think Joel misses something Just FYI. This was post on the "Joel on Sofware" discussion group but the author is Benji Smith. http://benjismith.net/ http://benjismith.net/ I like his blog. He used to post a lot more but he's been busy with a new project. (and a HD crash as of this morning.)
- tjr 18y agoIn other words, by installing frameworks, you will be able to experience the power of frameworks?
- rockbilly 18y agoOr by using a framework, you will keep your code more consistent and within better practices.
- axod 18y ago"most programmers are bad programmers" You should hang around better programmers.