qaexl
Joined 19 years ago
Joined 19 years ago
The article attempts to address it by saying that people attempt to implement Model2 on a Javascript front-end. That is awkward. However, it isn't awkward because you should be using real MVC. It is awkward because Javascript is asynchronous and you want to make sure the user interaction stays responsive without devolving into spaghetti. The key insight is "asynchronous" rather than "let's do REAL MVC!"
I've seen this obsessive focus on taxonomy of solutions divorced from specific problems in domains outside computing. I suspect it's a cultural thing. Some cultures obsess over gadgets more than others. That works out until people start arguing about who has the shinier toy, instead of actually using said toys as tools.
Generalized, it means software -- the technology and the economy -- runs at a higher tempo. In order to step into the stream, you have to first match the new tempo.
I suspect that the rest of the economy stays in a slump because they are out-of-phase tempo-wise with software technology ... or that the tools that drive up the tempo of innovation in software has not made it out to the mainstream yet. (And even if it did, it will leave people behind simply because there are people who will refuse to impedance match).
I'm glad you said something about shape. It's something I'm stumbling through right now.
Unlike chess, stones don't move once played. They can only be captured. On a 19x19 board, you have to balance short-term gains with long-term gains. Since there are no left-right or top-bottom orientations, you often have to reimagine where you draw the lines of territory as you play. Sometimes, you can kill your shapes by playing too many stones. Better players can see where things will go, identify "dead shapes," and stop wasting time trying to rescue them. Sometimes you trade off bad moves for bigger gains. Sometimes you simply have to work with mistakes you made in the early game.
This is very much like writing code and getting it to market. You're trying to build something despite disruptive opposition even as the clock winds down.
(2) This technology stack sucks.
(3) That your technology stack sucks does not mean you suck.
(4) Maslow's Four Stages of Competence starts with Unconscious Incompetence. You don't even know you are unskilled. (http://en.wikipedia.org/wiki/Four_stages_of_competence)
(5) This isn't a popularity contest. (http://www.ribbonfarm.com/2009/10/07/the-gervais-principle-o...) Being cool and being in the in-crowd has nothing to do with your technology stack. That goes for nerds too (http://www.paulgraham.com/nerds.html)
(6) The tone of this article is defensive. The issues relates to identity, not technology.
(7) Relax, people.
A friend of a friend wrote this: http://mathtouchapp.com/ (He doesn't know I'm linking it here).
The app throws away the calculator metaphor and starts from scratch. Instead, the author uses the back-of-a-napkin as the metaphor.
You start with a blank page and add systems of equations. You can visually link variables together. You can insert values along with its unit of measurement and numeric precision. You can feed results to graphs.
At $10, this is cheaper than getting the Nspire if you already have an iOS device. But of course, you can't use it when taking the SAT. And it would be cool if you can export it to Wolfram's computational data format and trade formula libraries.
You need to actually understand the math instead of just punching the buttons. Then again, isn't that what Sal Khan's videos are for?
You ever practiced something like Tai Chi?
Someone on the comments for the original article said, the big idea in Rails wasn't so much MVC as much as separation of concerns. I'm on-board with that. Thinking in that way has brought a lot of advantages for me over the years I've been working with Rails.
By extension, if the big idea is "separation of concerns", then I should be applying it in my non-Rails code too, whether that's "MVC" or not "MVC". In fact, my small taste of functional programming allowed me to play with "separation of concerns" in a different coding style, one that I've imported back into the Ruby code I write. Write functions without side-effects. Treat data as immutable. Interesting times.