Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "syntax nightmare"
-
Is it just me who sees this? JS development in a somewhat more complex setting (like vue-storefront) is just a horrible mess.
I have 10+ experience in java, c# and python, and I've never needed more than a a few hours to get into a new codebase, understanding the overall system, being able to guess where to fix a given problem.
But with JS (and also TS for that matter) I'm at my limits. Most of the files look like they don't do anything. There seems to be no structure, both from a file system point of view, nor from a code point of view.
It start with little things like 300 char long lines including various lambdas, closures and ifs with useless variables names, over overly generic and minified method/function names to inconsistent naming of files, classes and basically everything else.
I used to just set a breakpoint somewhere in my code (or in a compiled dependency) wait this it is being hit and go back and forth to learn how the system state changes.
This seems to be highly limited in JS. I didn't find the one way to just being able to debug, everything that is. There are weird things like transpilers, compiler, minifiers, bablers and what not else. There is an error? Go f... yourself ...
And what do I find as the number one tipp all across the internet? Console.log?? are you kidding me, sure just tell me, your kidding me right?
If I would have to describe the JS world in one word, I would use "inconsistency". It's all just a pain in the ass.
I remember when I switcher from VisualStudio/C# to Eclipse/Java I felt like traveling back in time for about 10 years. Everyting seemd so ... old-schoolish, buggy, weird.
When I now switch from java to JS it makes me feel the same way. It's all so highly unproductive, inconsistent, undeterministic, cobbled together.
For one inconveinience the JS communinity seems to like to build huge shitloads of stuff around it, instead of fixing the obvious. And noone seems to see that.
It's like they are all blinded somehow. Currently I'm also trying to implement a small react app based on react-admin. The simplest things to develop and debug are a nightmare. There is so much boilerplate that to write that most people in the internet just keep copying stuff, without even trying to understand what it actually does.
I've always been a guy that tries to understand what the fuck this code actuall does. And for most of the parts I just thing, that the stuff there is useless or could be done in a way more readable way. But instead, all the devs out there just seem to chose the "copy and fix somehow-ish" way.
I'm all in for component-izing stuff. I like encapsulation, I'm a OOP guy by heart. But what react and similar frameworks do is just insane. It's just not right (for some part).
Especially when you have to remember so much stuff that is just mechanics/boilerplate without having any actual "business logical function".
People always say java is so verbose. I don't think it is, there is so few syntax that it almost reads like a prose story. When I look at JS and TS instead, I'm overwhelmed by all the syntax, almost wondering every second line, what the actual fuck this could mean. The boilerplate/logic ration seems way to off ..
So it really makes me wonder, if all you JS devs out there are just so used to that stuff, that you cannot imagine how it could be done better? I still remember my C# days, but I admin that I just got used to java. So I can somehow understand that all. But JS is just another few levels less deeper.
But maybe I'm just lazy and too old ...4 -
I once had to review and transform the code of one of my colleague at school which had no indentation, no spacing and was a clusterf*** of syntax errors. The nightmare was that it was all done in the ancient Turbo C++. So I opened up plain ol' Notepad and whipped up some decent code and helped him out of a tight situation.
Now he is no longer a programmer. :|7 -
I freaking hate slow IDEs, especially ones made in Java.
I used to use an IDE/text editor called geany, and it was great, you could do almost every language in it and it worked great. It was fast, and efficient, it was a no-nonsense editor. That was when I was a kid, but I got in univ and got a job, so I had to start using big boy """""enterprise""""" IDEs like eclipse.
Eclipse, netbeans, and intellij (basically every Java based IDE except BlueJ) are exactly what is wrong with IDEs. They are clunky editors that frankly would be better off gone. They are slow, eat RAM like crazy (like most Java software). You just CANNOT have eclipse open for extended periods of time, because it WILL take up too much resources and get slow as heck. Android Studio (based on intellij) is a nightmare to work with. It just does not want to cooperate with you (I will agree they have improved a lot though).
I cannot believe I am saying this, but even the electron based IDEs like atom and code-oss are better than them. They are very easily expandable, something that Java was supposed to be, but is not. They have tons of plugins. Even if its not there, you can make one without having to spend a lifetime making the plugin! They look good. I never thought that going from IDEs with """""enterprise""""" UIs to something modern like code-oss would feel this great. Its ridiculous, I don't want to create a darn project for every single file that I want to edit, I just want syntax highlighting for a single .sh file that I want to edit right now. A project is just a way to logically define what is one "unit" or a "container for multiple files", you know what else is that? A simple directory.
Also I don't want 9 billion .xml files for the IDE to store its crap. Just make a .vscode like folder to hide your shit.11 -
include ::rant
rant::newentry {'new-job-rant' :
ensure => latest,
location => goverment-employment-office-HQ,
job => DevOps,
content => {'
So, i've been at my new job for some time now, almost two weeks (hurray!) but boy oh boy, what a job it is!
I'm working at a goverment office charged with helping the unemployed to get a job or a new education course. I'm hored as re-enforcements for their DevOps team. I get my pay, easy transportation home<->office, coffe is adequate in quality and quantity, so no complaints there...
But the actual job is a FUCKING MENTAL CLUSTERFUCKS OF WHAT THE ACTUAL FUCK MULTIPLIED BY TEN TO THE POWER OF GOOGOL!
A few items that make my blood boil to new temperature records defying medical science:
* devs refuse to use linting, say the builder will catch it when there is an error, never look at the builder error logs
* (puppet) modules have NO TESTS
* (puppet) modules get included in several git repo's as submodules, in turn they are part of a git repo, in turn they are replicated to several puppet masters, and they differentiate the environment by bash scripts... R10K or code manager? never heard of it.
* Me cleaning up code, commit, gets accepted, some douchebag checks out code, reverts it back to the point where linting tools generate 50+ lines of warnings, complains to ME his code doesnt work! (Seriously, bitch? Serously?) , explain to that person what linting does, that persons hears the bells ring on the other end of the galaxy, refuses to use it.
* Deployment day arrives (today) -> tasks are set up on an excel sheet (on google docs) , totally out of sync with what really must be done -> something breaks, spend 30 minutes finding out who is to blame, the whole deploy train stops, find out it's a syntax error, ... waiting for person to change that since that person can only access it...
...
the list goes on and on and on. And did you expect to ahve any docs or guidelines? NO , as if docs are something for the luxurious and leisurely people having "time" to write it...
I can use another coffee... hopefully i wake up from this nightmare at my 15th cup...
},
require => [Class['::coffee'], Class['::auxiliary_brain'], Class['::brain_unfuck_tools'],],
}1 -
So we just started being taught javascript. God, this syntax is a nightmare! The jump from ruby has not been a pleasant one, but picking up Jasmine at the same time seems to be helping a little. I can learn this in a week, right?1