| I'm getting older now (40), and let me tell you one thing: It's really saddening to look at all the wasted effort made to solve the same problems, over and over again. Mainframes were shit (in most contexts), but have been reinvented and reinvented again and again. The browser is the new 3270 terminal, but are getting more and more capabilities, becoming the new PC. Most it-departments are enforcing rules and practices of the mainframes - the same rules that caused the PC revolution, ie you are not allowed to manage your own computer, and run your own programs. RPC and IPC has been reinvented and reinvented again and again, but no real progress. The few things learned along the way have been lost. (Abstract syntax notation, separating message definition and encoding for one.)
So we get this new protocols that does not (or did not) use a message definition language, because parsing text is "easy." We run all protocols on top of HTTP because it was impossible to get the firewall guys to open up the firewall.
Now the firewall guys have caught up and can close down specific http applications, so we are back at square one but with shitty protocols instead. There is STILL no (real) language with intrinsic relational support, ie two-way-relations as a first class language feature, instead we are mucking around with (one way) arrays and maps (using monads though!), but in another cooler language.
(I happen to believe that an entity-relation model typically is a reasonable representation of the real world and the abstract concepts in it.) Javascript and PHP. Nothing learned at all. 50 years of computer science down the drain. Functional programming: well lisp and scheme are not exactly new, and to be honest, clojure is not that much of an improvement over scheme. Everyone should know a bit of scheme or clojure though. The only thing that's getting better and better at quite some velocity is the hardware. Possibly also the "agile" movement, since it's effectively about claiming back the control to the ones that know how to build stuff from the checkbox-guys and process-followers. |