|
Full of half-working code. Not my fault the user-specification defined input as an integer only and not an unsigned integer. Get specifications from the customer more accurately or hire me to do the job
|
|
|
|
|
One day I entered the world of modern day javascript development and oh my god, what I saw is a perfect plot to drive any sane developer to become a mental zombie on the edge of killing himself and reborn and be killed again by weapon of mass destruction created by these modern day javascript frameworks.
It made me first laugh and then cry and then cry some more. All the way I was asking myself why. As a developer how can you put up with something like this. I know there are lot of smart people making lot of smart tools but this is just insane. My journey began as I was trying to learn angular but before that I had to understand all those javascript jargon (which is acceptable to learn any language ) but there are bundlers, task runners, ployfills , hot module loading, linting, module loaders, minification, uglify etc. etc. Then there is grunt,gulp,systemjs,webpack, npm ,node, es6, typescript. Gone are the days when you just put a script tag in your html to your javascript and Jquery files and you are good to go.
Number one issue with most of the javascript frameworks are lack of tooling support and framework itself rely on unfinished modules or modules that are still in beta and yet framework claims that it is production ready. Also it feels like, to do a simple thing you have to install this or that module. I guess everyone is relying on someone else to provide that bit of function you can write in few lines of code but no you have to install this or that using npm. Angular's quick start install few hundred modules ( WTF !) . What good is a framework if it needs to rely on so many other modules ?
You look at some of the configurations you need to create to make everything work with each other is just ridiculous. Every project on the Internet has different setup using pinch of this and pinch of that. It feels like you are at an international food festival where they use same basic ingredients but what they cook is up to them and everyone has their own flavor.
A lot of people are praising these frameworks which makes me wonder either I am too dumb to understand all these or they are afraid that if they say this is insane they will be cast out of community or wake up from their beautiful dream.
I have not given up yet but please tell me I am not going insane !
Zen and the art of software maintenance : rm -rf *
Maths is like love : a simple idea but it can get complicated.
|
|
|
|
|
Obligatory How it feels to learn JavaScript in 2016[^].
Just convince your team to try Elm[^]. Raw JS and JS libraries will be killed eventually by all the nonsense you mentioned anyways. In a world where every company is looking for greater productivity, needing to learn 20 different libraries/frameworks just to print some data to the screen can't last. Not to mention many JS libraries introduce the modern version of dependency hell which you already touched on.
|
|
|
|
|
I was thinking, now where did I stash the link to that when I was reading the rant on JS. Glad you posted it, saved me the trouble!
Elm looks interesting, why use Elm rather than TypeScript?
Marc
|
|
|
|
|
It depends on your project I'd say. Typescript is definitely an improvement over JS imo and you get the bonus of having a mature language. Elm isn't as mature so may not be suitable for some projects but it offers speed[^], pure functions, immutable data, and simple HTML5 integration via the elm-lang/html[^] package. Plus the language is designed to support basically an MVC pattern they call the "Model, Update, and View" pattern.
All of this kinda meshes together to make a nicely decoupled, error-resistant, and easily extendable code-base. There are two good responses here[^] from companies which are using Elm for production.
Disclaimer: I'm no Elm expert. Just someone that enjoys what Elm offers. It feels simple and intuitive to use once you get the hang of it while not sacrificing power. Also, markdown support[^].
|
|
|
|
|
|
virang_21 wrote: please tell me I am not going insane You are not going insane; however, you may not be getting enlightened, either.
cheers, Bill
«There is a spectrum, from "clearly desirable behaviour," to "possibly dodgy behavior that still makes some sense," to "clearly undesirable behavior." We try to make the latter into warnings or, better, errors. But stuff that is in the middle category you don’t want to restrict unless there is a clear way to work around it.» Eric Lippert, May 14, 2008
|
|
|
|
|
BillWoodruff wrote: you may not be getting enlightened, either.
Enlightenment is achieved when you realize that you're not insane, the rest of the world is.
Marc
|
|
|
|
|
At this point in my life, I find the idea of enlightenment less than illuminating ...
And yet, the fireflies, and the stars, seem to say that nothing needs to be said ... if I surrender to silence.
«There is a spectrum, from "clearly desirable behaviour," to "possibly dodgy behavior that still makes some sense," to "clearly undesirable behavior." We try to make the latter into warnings or, better, errors. But stuff that is in the middle category you don’t want to restrict unless there is a clear way to work around it.» Eric Lippert, May 14, 2008
|
|
|
|
|
I've found that there's no particular reason to drink the CoolAid that everyone else seems to be downing by the gallon. Unfortunately, it doesn't make one very employable when you can't put 15 different frameworks on your resume.
Frankly, it's not just Javascript, but the whole industry, that has gone insane, IMO. If I were to retire at 65, I have 11 years left of this stuff, at the end of which I should have an honorary PhD because the BS keeps getting Piled Higher and Deeper.
And it's also not just the arena of languages, frameworks, tools, etc. It's the work environment, the management styles, the corporate culture which also disgusts me.
Marc
|
|
|
|
|
Amen to the comment on manager styles and corporate 'culture', Marc.
As with JavaScript frameworks, it's all down to obfuscation - if you haven't initiated/attended enough interminable (and essentially pointless) meetings (and topped the bullshit bingo count) then you haven't covered your ar~e with enough bs to deflect to some poor sucker lower in the food chain when the brown stuff does hit the fan.
|
|
|
|
|
You are not going insane.
modified 20-Oct-19 21:02pm.
|
|
|
|
|
These feelings of being overwhelmed by the plethora of JS libraries are normal and will pass.
They pass because you will learn to ignore a lot of the noise.
I think the main thing to keep in mind is :
Quote: Developers need to make conscious decisions about the frameworks they depend on
With JS frameworks, we often find that someone has just piled on another library.
Also, many newbie devs learn some JS think it is enough and then want JS everywhere (ala Node).
That is the old, "If all I got is a hammer..." mentality.
JS Waxy Build-up
Some of the JS waxy build-up does actually make sense.
Keep in mind we need a library for :
UI (controls etc) : Bootstrap
DOM Manipulation : jQuery
Code Organization / MVC / Classic OOP : Angular, Backbone, etc.
Anti-Desktop Days
You just don't see those libraries (as much) if you're a Windows dev because they are automatically added for you. Really take a look at the designer code to your winforms some time. Or take a close look at what you get from user32.dll sometime.
You get a lot of stuff in there that is built-in.
MVC Framework :Separation of Concerns
The reason we choose another JS framework is to get some separation of concerns like we get in AngularJS. This is a way of organizing your code.
However, you can get that from ASP.NET MVC and when you choose ASP.NET MVC you will get all the other things (bootstrap, jQuery, etc) also. Plus you get the Razor view engine which renders your code to nice HTML on the user end.
And that's my final question which I think ifyou really think about it, it may drive you toward an answer.
Why not just simply choose ASP.NET MVC dev via Visual Studio Community 2015?
I mean you get pretty much everything you need from client side to server side and the server code is the nice C# that you have come to love (I know I have).
Yes, it does mean you have to understand Bootstrap, a bit of javascript (jquery) and C# and HTML but you can learn them relatively easily and do just about everything you want.
I just don't know why the matter hasn't been settled and ASP.NET MVC hasn't been considered the big winner. And I've done quite a bit of Angular and various other JS. Take a look at my articles where I do some pure JS.
Great discussion.
modified 28-Jan-17 11:30am.
|
|
|
|
|
Very eloquent reply; perhaps we are all slaves building the Tower of Babel from what settles out of the dust from the clashes of the industry titans struggling for world-web-domination: Google, Microsoft, Apple; the least common denominator residue ... like JavaScript ... that they tolerate (like Swiss neutrality ?) no matter how technically flawed.
thanks, Bill
«There is a spectrum, from "clearly desirable behaviour," to "possibly dodgy behavior that still makes some sense," to "clearly undesirable behavior." We try to make the latter into warnings or, better, errors. But stuff that is in the middle category you don’t want to restrict unless there is a clear way to work around it.» Eric Lippert, May 14, 2008
|
|
|
|
|
Thanks for reading and replying.
That is an interesting take on it too...that JavaScript is a neutral land away from the corporate strongholds.
I never thought of it that way before. Interesting.
|
|
|
|
|
Why not asp.mvc? Well, basically because of Razor. It's not a standard.
And the fact that it's still windows only, while a lot of web development is done on Linux and Mac.
|
|
|
|
|
With .net core you have asp.net mvc on on linux and mac. With a rel. decent IDE (VS 2015/17 Code). MS is really pushing that. One of many examples:
|
|
|
|
|
It's just starting. They still have a long way to go.
|
|
|
|
|
Jeroen_R wrote: And the fact that it's still windows only, while a lot of web development is done on Linux and Mac.
That's a very good point and I don't disagree with you.
It's interesting to me that people are doing dev work on non-Windows platforms simply because the Windows tooling was so strong for a number of years for desktop when desktop kind of was all there was.
Also, Razor is non-standard but it's a fairly nice rendering engine and it's all backend.
Is there some comparable backend rendering engine on Linux? Maybe Java Spring type of thing or something?
Just curious.
Also, I wonder what % of devs on non-windows platforms is? I suppose Linux and Mac together is at least 50%, right? Interesting.
|
|
|
|
|
Razor is nice, when you're using C# (or VB) as your backend language. But, nowadays, a lot of backend development is done in Node (JS) or in one of the JVM languages. And there are still a lot of Python (django), Ruby (Rails) and php sites too. Also, I don't think razor supports GraphQL, which might just be the next step for backend protocol.
When I go to angular conferences here in Europe, I estimate that slightly more than 50% is on Mac. When I see pictures from the states, it's more like 80%
|
|
|
|
|
|
Well, when you add the 3 versions of windows, it's still the biggest group. But it's far from the monopoly it once had. And that's for all developers, not just web devs, who have a bigger non-windows bias.
|
|
|
|
|
Don't worry, you're fine. Only an insane person would not feel the pain and frustration of working with JavaScript these days.
Everyone talks about how wonderful the democratization of open source is because it has allowed a flood of participation. On the whole, I think the benefits have far outweighed the negatives.
Unfortunately, JavaScript is the poster child for that double-edged sword and is suffering under the weight of its own success. My favorite example is also NPM bloat and how fragile it is. Change one dependency and you're likely to fall into a world of hurt.
Always remember, nothing is free, especially OSS.
|
|
|
|
|
I couldn't agree more. It's ridiculous.
We're philosophical about power outages here. A.C. come, A.C. go.
|
|
|
|
|
Yeah, I felt the same too My strategy here is to have a deep knowledge and master plain Javascript before learning any of these libraries. Javascript is different than some other languages like C#, Java...at first I hated Javascript because I always felt like struggling, but now I love it. Once you master it and learn how things work under the hood (prototypal inheritance, first class functions, closures...) you probably can use plain Javascript for the most of your your code or even create your own JS libraries.
Just my two cents
|
|
|
|
|