I am trying to figure out if I'm just getting old or if modern web development, and by extension javascript-based mobile development, really is that horrible. I mean am looking at a project now with dozens if not hundreds of config files (mostly .json and .xml) and at bash build scripts with hundreds of lines of code, all super fragile btw., and of course I have to "npm install" things but that literally downloads more than 2GB of dependencies. And all for a very trivial mobile app..
I mean I get it, it's web, it's sandboxed, it's safe, it's run-everywhere, but it also makes me want to quit my current job.
HN: What am I missing? Can you cheer me up?
(Btw. I usually love programming. C, C+=, ObjC, Ruby, ..)
* All the unnecessary nonsense: frameworks, template foolishness, tooling, thousands of dependencies, and so forth
* Bad advise. Be critical of all advice, including this advise, especially since you are already an experienced developer. Be extremely critical of any advise that attempts to make the technologies or languages easier. Simple is not easy.
What makes JavaScript a fun experience:
* Expressiveness. Functions are first-class citizens which means they can be used and executed anywhere a primitive type can be used. This is a feature, not an accident. Since ES6 the language has lexical block scope, which is great for writing structured code without a bunch of syntax decoration.
* Rapid experimentation. JavaScript compiles fast enough that you won't ever know there is a compile step. This allows you to write code and test it instantly. The biggest limitation in this process is you.
* Appreciate the data structures provided for you. Treat the DOM like a data structure, which it is, by using the standard methods and your code will be more expressive, smaller, and execute several orders of magnitude faster. Being comfortable with how the technologies work allow you to write logic that is more fun to test and more interactive to use.
Here is a fun personal project that I recently worked on. The GUI only took a bit more than 2 weeks to write and fully test: http://mailmarkup.org/sharefile/demo1.mp4