written by owen on 2015-Nov-11.
Now lets get something straight right off the bat; I like new stuff like everyone else in the software industry. I like new updates for my smartphone, I am not a fan of the superfluousness transitions in the new Android flat design ( somethings are just a waste of UX time ). But I like front collision sensors in cars. I like 3d force touch - right click for touch screens - the long hard press. These are life changing things that will revolutionize the way we as humans live our lives. /sarcasm
This article is not about ES6, it is about the promotion of new loops which are really just old loops with new syntax. It may seem like I am trolling but I am not. Often times this new stuff does nothing but make our lives as software developers and programmers more cumbersome without adding anything in terms of value. The internet is virtual tutorial machine. You have to use "modern" this, or "modern" that on a modern browser if you want to be hip at being modern at doing old hat. There are more articles telling new programmers how to build a killer app than there are killer apps that have been built using these tutorials.
More Complicated Code
At its base level EMCAScript 6 does nothing more than a new way to make my already complicated code more complicated and obtuse. I can hide my callback hell inside a whole new type of call back hell that is so deep that I can swim around inside it for days. The bugs EMCAScript 6 fixes aside, everything else might just be allowing us to continue writing more awful buggy, memory hogging code that we will NEED more tools/services to fix.
I have some complicated code, but the code is never more complicated than I can handle. I have so much complicated code that I have to stop optimizing it because no one will be able to understand why it is the way it is. No one lives forever and code is disposable - some of it - especially the simple bits. This is a balance that I have to make. The complicated bits are where the money is; Supporting and maintaining awful code is a billion dollar industry.
function () let d =(c) => (b) => (a)=> a * a + e();
if( d===6 ) temp = new Object(a);
Why would anyone want to write code like that?
Why do we have so much complicated code? We have complicated problems and whenever I take up a new language or framework, I silently hope it will help me build my rocketship, reduce the complexity in my life. Fail fast. I am no-where close to finishing my rocketship. The process is painfully slow because the tools I have are dumb/verbose and they seem to be getting dumber by the day. I keep getting tutorials for using these dumb things only for me to skip to the end and realize that all I see are old loops and todo lists. Many, many old loops and todo lists. I have seen it all before. We have been writing todo lists since QBasic and Foxpro. Even google's new open source Artificial Intelligence engine is a big todo list API.
New ways to do old loops
There are a handful of basic ways to do loops/iterations. There are another million ways to PRETEND to not do a loop. These other ways a problem. I already know how to iterate over a list, I do not need new ways to do it unless these new ways are going to offer me something than I CANNOT ALREADY DO. Its all remixes, prequels and old crap in new wrapping paper. I have 26 million records, do you think I am going to load them up into object space so that I can use the fancy new Collection iterator? No.
All debugging all the time
I have seen technology stacks that are 90% development/debugging and 10% runtime. Almost like we(web devs) have made an industry upon spending all our time developing and debugging forever into an infinite rabbit hole. If you spend 90% of your time just setting up your environment you better be building something cool. I want to launch a rocket ship, how can this thing help me launch it FASTER?
The best way
Another thing I notice is that alot of time is spent trying to figure out what is the best way to do a task - especially in programming. It has become a business of telling programmers how to write code, tutorials, best practices, ebooks, weird new ways of doing web 2.0, redefining recursive functions, MVC nonsense. Programmers are being herded from one side to another like cattle. We seem to have forgotten our web 2.0 past. I do not care about all these things. I want to build a rocket ship that flies into space and probably defies the laws of physics (but that is a optional edge case). I want to build something awesome and I want to build it quickly. I do not want to spend all my time reading documentation that is constantly evolving. Chasing the modern carrot.
I do not have a problem with scaling or continuous integration or continuous delivery or version control. I want the thing to work and run - maybe with just 100 lines of code. I do not want to use a clustermess framework to write 1 million lines of very abstracted-verbose merry-go-round code that I have to use version control just so I can keep track of house of cards that I MIGHT finish building. I want it done, like today or 2 weeks. If I can't finish it quickly, at least let it still be supported the next time I pick it up.
The problem we have in programming today (as we have had since the beginning of time) is; how do we solve more problems in less time. How do we launch rocket ships and create flying cars? How do we prevent them from crashing in to the ground and wasting our development time? The problem we are having is NOT continuous integration. Continuous integration is a side effect of having TOO MUCH CODE. OOP Soup. Continuous integration is masturbation. We want better solutions to reduce the time we have to spend programming and reading tutorials. Not better ways to keep writing objects.
I want to launch my rocket on a Pentium 3 processor - not a cloud server in Alaska with 256gigs of RAM that I have to set up a API key to use. We do not need new ways to do old loops and terminal clients. We do not need new ways to represent a global singleton or arrow functions.
We NEED new constructs, concepts and technology. Enough with these pretend loops and "modern" merry go rounds languages.