

Learn Languages, not Frameworks - chrisblackwell
http://webadvent.org/2012/more-code-more-problems-by-ed-finkler

======
yitznewton
_Small units of code are good. The smaller it is, the easier it is to
understand. It’s harder to screw it up — and I screw stuff up a lot, so
limiting that is really important. So, I strive to build small modules of code
with a single purpose, or at most a few closely-related purposes. They should
be self-contained pieces that solve individual problems. These pieces then
work together to solve larger, more complex problems._

To me the article's perspective misses the point. The language itself is just
a vehicle for encapsulating data and logic, etc. for some purpose. A framework
adds levels of tools and abstractions to "take care" of common situations. The
small units can be modules that one employs within a framework, such as an
authentication mechanism within a web app. I feel just the opposite of the
author: the language is only as useful as the tools available to take
superfluous overhead of shared tasks off my hands. The excessive fragmentation
of the PHP framework scene is the main reason driving me toward Rails, and
thus Ruby. I don't have any practical arguments against PHP and for Ruby, but
I'm dismayed that I can't find a current midstream PHP framework like symfony1
was, with great community support, that's easy enough to adapt to a wide
variety of projects. Looking into the Rails community (I still haven't rolled
a project), I feel like Rails accomplishes that.

------
ltcoleman
I definitely agree with most points the author makes. One quote that comes to
mine, "The best programmers understand completely what they are doing". I
paraphrased. It becomes a whole other issue as well when you get past
development and go into maintenance mode. What if a django dev gets a bug that
cannot be fixed in the framework?

This is one reason why I am reluctant to introduce SASS or LESS to our dev
staff because most still do not understand the principles of CSS.

~~~
cbs
_What if a django dev gets a bug that cannot be fixed in the framework?_

Presumably the same thing that happens when the python dev gets a bug that
can't be fixed within the language. In the past, two bits of identical python
bytecode netted me different results, turns out it was a pointer bug in one of
the modules we were using. At the time I was really weak with C and had never
worked with python.h.

Sometimes to solve a problem developers have to jump down to the next level
where they're completely out their depth. If you didn't skimp on salary when
hiring they'll get the job done albeit slowly and emerge with a better
understanding of the technology stack.

------
paulhauggis
The problem is that as more and more frameworks are used and required for
employment (my current job requires one), there will be more and more
developers that just mash frameworks together and don't understand the inner
workings.

I'm glad I grew up in a time with no frameworks.

~~~
_sh
Isn't a language just a framework for abstracting machine code?

