Content

Post modern Javascript babies (programming)

Page is part of Articles in which you can submit an article

written by owen on 2016-Oct-14.

related image

They seem to be all the rage now, a web of brackets and tiny files - JavaScript babies. Half the code is html and the other half are files full of listeners. Code fragmentation is a real problem in JS web dev. Any thing written in more than 1000 lines will certainly become an un-maintainable mess that only the original developer will want to even look at - you think actionscript was bad? Dead js projects litter the roadway like broken promises. On some platforms you can add a comma to any line, in any file and crash the whole house of cards. I find this to be a big no-no when you have lots of code to debug. A fickle platform makes even more fickle software. You better have good short term memory to maintain it i.e. if you ever finish a project that needs maintaining/updating.

Forever prototype

The main problem I have with these babies is that people never reach a point of completion with the projects they start in these bullshit-all-in-one platforms. It would be great if everywhere you look you see cool and interesting stuff being built but most will point you to Slack, Atom or Drupal and say; "THERE! LOOK! SEE! Cool open source!" - million dollar platforms that pay people to keep them working. Unfortunately the average devs just create half-ass clones of existing stuff with 35% of the original functionality - low hanging fruit. None of the hard problems are implemented. And they will justify the emperor's new clothes by saying its "faster", more secure, component, prop passing, content insertion, transitions etc but you lose more than you gain. Most meet up on a wall maybe 6 months or a year into the project when important things like reports or multi-views need to be created. Then they get bored and move on to the next hype train because they either run out of time or patience. Google will not save you.

Whenever one analyzes a platform the first thing they should ask themselves is "what is the most complicated thing I may need to do that will waste the most of my time?". Web devs seem to be only interested in how many lines it will takes to write a "todo list" app. Which is all good if all you end up writing a todo list before the project stagnates and is left to gather dust on github - NEVER TO BE UPDATED.

No new features

You wait for them to finish the promised features but they will say stuff like "everybody's implementation will be different" or "no one size fits all" or "its up to the programmers to decide" or "open source, you can help us finish it". They create a base of "potential". I wish potential was enough to get us nice things. They wont go down in to the rabbit hole of what to do when you have 200k pages and a application so big that it can't fit in server memory - ADD MORE RAM or write a C module. Basically they want you to help find bugs/workarounds in their shit-poorly-tested-hacked together framework of pain. Until of course they deprecate the entire platform from beneath your feet and release a api version 2 that is incompatible with version 1 in every way except platform name. By the time you see version 2 they will have already re-wrote all their stuff in the new version. The lucky few will get migration scripts. Simple is stuff will be easy, but the hard stuff will be impossible.

Complicated Old Stuff

I am not sure why web devs are obsessed with finding more complicated ways to do simple old stuff - like tables, tabs and input forms. Video game developers have solutions with highly tested code that covers a wide range of use cases for new technologies which free them from doing complicated things themselves. Shadow mapping, bump mapping, Occlusion culling, Octrees are often easily implemented without the headache of having to learn each one. But you still can if you want to.

Web developers seem to be stuck writing server side HTML with JS using listener functions. Which is all well and good if that is your kettle of tea but it it produces nothing but fancy HTML pages with AJAX that you could have done in PHP in 2001. You couldnt do Occlusion culling back in 2001 without a advanced techniques or secret vodo. Web devs are finding complicated ways to create the same functionality that HTML has had since IE4 and still complain about IE4.

So i should update my browser so I can use a login form? Great. All pages are infinite scrolling and every page is a single page web app using weird protocols to render read-only tables. It all seems like the same floating divs. There are people creating some neat stuff with these things. Wonderful games and useful software but everyone else is just swimming around in a washing machine making the same mistakes over and over again. People will gladly encourage you to make a JavaScript baby but they will not help you raise it.

Conclusion

People never really go down into the nitty gritty of what these "needs" will actually be in the future of js babies. It is a ambiguous mess of tools and work-flows which make people wonder if they are doing something wrong by not using each and everyone of them.

One could test out all of the tools but there is not enough time in the day. I was looking at www.red-lang.org/ the other day and it is likely that I will NEVER need to use this thing for anything useful but I can see a usecase for it and I can tell that it is doing something new and useful. What red provides is not covered in ambiguity or potential. You write one line of code and it pops up a window - DONE! The system input and the output is in harmony. Js babies on the other hand are abstractions on top of abstractions - a solution looking for a problem.

permanent link. Find similar posts in Articles.

comments

    Comment list is empty. You should totally be the first to Post your comments on this article.


comment