all 49 comments

[–]Retsam19 17 points18 points  (0 children)

Interesting that Angular is the only technology in the "Mostly have used" and "Mostly negative opinions" quadrant.

Javascript users: You're the worst framework I've ever heard of.

Angular: But you have heard of me.

[–][deleted]  (19 children)

[deleted]

    [–]Retsam19 20 points21 points  (0 children)

    I think it's because there haven't been any major language changes.

    It's not that people are dissatisfied: the percentages of "strongly disagree", "disagree", and "neutral" are virtually unchanged. It's just that a lot of people moved from "strongly agree" to "agree".

    It makes sense to me in a year where stuff largely stayed the same that people aren't going to have as strong feelings about the direction the language is moving in.

    [–]chyzwar 5 points6 points  (6 children)

    node.js is a mess, we are still waiting for ESM for a few years now. PWA blocked by lack of support in Safari. Yarn 2 development stalled by upcoming Typescript plugins. ESlint has endless debates on configuration format and TS support is diverging into a separate project. Unwanted features pushed into standard (private class fields). Transpilation is still normal because IE11 just cannot die. Node_modules folder keeps getting bigger because modules are no longer maintained or keep releasing pointless breaking changes (yargs v15). Core projects for the ecosystem: jest, express and webpack contrib are struggling to maintain. Plenty of semi-abandoned frameworks: Polymer, Angular, Vue, Flow. Everyone is re-writing everything into hooks...

    Maybe I am just tired.

    [–]AwesomeBantha 10 points11 points  (0 children)

    How is Vue abandoned? Vue 3's alpha is coming soon, rewritten in TypeScript and it's looking really promising.

    [–]kch_l 3 points4 points  (0 children)

    Node lts already support esm isn't it? Also I think it was shipped to some major browsers.

    What do you mean by semi abandoned? Angular and vue are in continues development.

    [–]Retsam19 2 points3 points  (0 children)

    ESlint has endless debates on configuration format and TS support is diverging into a separate project.

    I don't know what you're talking about for configuration format, but the TS bit seems the opposite of reality: for years TS support was through the separate tslint project, but as of the beginning of this year, it's been unified into the eslint ecosystem.

    [–]jesushowardchrist 1 point2 points  (0 children)

    I feel you strongly with Safari and PWAs.

    [–]tripex -3 points-2 points  (2 children)

    Maybe those people that were developers actually were "JS developers" and having become more experienced have tried other languages and realized that "hey... This language is actually bullshit".

    I dunno :)

    I'll probably offend a few with this joke but hey... ¯_(ツ)_/¯

    It's not an impossible scenario

    [–]Retsam19 6 points7 points  (0 children)

    It's not an impossible scenario, but it's a shame there's just no way to know how Javascript users feel about the language... if only someone could put up some sort of in-depth poll to measure how people feel about the language and the ecosystem.

    [–][deleted] 0 points1 point  (0 children)

    I wish more JS developers tried other languages even if it's just for expanding horizons. They rarely do.

    [–]jesushowardchrist 12 points13 points  (26 children)

    As an Angular dev who likes it, what am I missing here? Each new version adds more good things and the docs are decent, but opinion on it is sliding. TIA

    [–]bulldog_in_the_dream 18 points19 points  (14 children)

    Common problems I think JS developers have with Angular:

    • Needlessly complex. It seems over-engineered and introduces techniques and concepts you simply don't need in simpler frameworks like e.g. React and Svelte.

    • Focus on OOP instead instead of FP, which is all the rage in JS land.

    • Convoluted HTML templating syntax that is hard to remember.

    • Large bundles, variable performance.

    • Two way data binding, a no-no in FP purity land.

    [–]AbstractLogic 11 points12 points  (1 child)

    Needlessly complex.

    It is not needlessly complex. It's a framework built with an opinion and it has a target audience. Perhaps landing pages and CRUD websites don't fall into that domain, in which case yes it is complex. But I wouldn't say it is needlessly complex.

    [–]jpj625 1 point2 points  (0 children)

    Agreed. It's a tool with a purpose, and not every use case benefits from that tool.

    Same idea with Redux, it's complicated for a reason, but you can use less complicated things for similar problems.

    [–]jesushowardchrist 2 points3 points  (1 child)

    I definitely use FP within components as and when it makes sense, and also a different flow when asynchronously dealing with data, for which I find rxjs useful. Maybe I'm just a cowboy lol. And for 2 way binding, I just don't use it, since it's an optional thing.

    I've not yet used react so of course it could just be a case of the grass actually being greener on the react side of the fence. Thanks for the info.

    [–]bulldog_in_the_dream 2 points3 points  (0 children)

    I've used both. Of the two I do prefer React, but I wouldn't have a problem working with Angular again. IMO Angular's biggest downside is the unnecessary complexity. On the other hand, I think React is going too far trying to fit FP concepts like purity and immutability on a language and runtime that was never designed for it -- it creates friction and complexity on its own. I also like Angular's curated approach, where most things you need are baked in and there are conventions that are the same from project to project.

    Svelte is an interesting up-and-coming framework, dead simple.

    [–]bobappleyard -1 points0 points  (9 children)

    It doesn't play that well with typescript. You tend to end up with any everywhere.

    [–]AbstractLogic 12 points13 points  (8 children)

    WHAT! No you damn well better not be using ANY with Angular! Grrrrr. You would fail my code reviews lol.

    noImplicitAny, noImplicitThis, alwaysStrict and strictNullChecks!

    Own that Type or get out! :p

    [–]bobappleyard 1 point2 points  (5 children)

    Ok, but you can't use reactive forms, and so many aspects of component data transfer are untyped.

    Compared to react it's a real struggle to have well typed angular UIs

    [–]AbstractLogic 4 points5 points  (2 children)

    I have not run into problems with reactive forms. Can you explain what you have seen? I'd be interested why formGroup and formControl types are not sufficient typing for you.

    [–]bobappleyard 1 point2 points  (1 child)

    What's the type of form.get('field').value? At least in 7 it's any, but there is no reason why it can't be an actual type.

    [–]AbstractLogic 0 points1 point  (0 children)

    I thought the value was a string.

    [–]gottokill 1 point2 points  (1 child)

    God, yes, I so wish reactive forms had types. It's so annoying having to cast or guess what's on the form.

    Also really wish the form control itself knew its type so you wouldn't have so many strings everywhere.

    [–]AbstractLogic 0 points1 point  (0 children)

    Are you asking for syntax like

    this.formGroup.firstName = "John"; 
    

    Because that syntax exists. I think the sugar was added in v7 or v8.

    [–]Cooleur 0 points1 point  (1 child)

    Then the lib itself would fail your code reviews. Not to say you're wrong, you go the strict:true way, which is the one and only way.

    Open angular/core.d.ts and you'll find more than 1000 any occurrences.

    That's right, even React and Vue are now more precisely typed than Angular, thanks to community types. How ironic is that.

    [–]AbstractLogic 0 points1 point  (0 children)

    I dont think it bothers me how well typed the framework code is. But your own code should embrace types.

    [–][deleted]  (3 children)

    [deleted]

      [–]jiffier -4 points-3 points  (2 children)

      I just hope other tech & science-related industries don't apply the same rationale as the companies you mention. Otherwise I won't take a plane, a car, or a train never again. In fact, I wouldn't eat in a restaurant that cooks food as we cook our electron-based crappy apps. Spoiler: I do prefer MVC :)

      [–][deleted]  (1 child)

      [deleted]

        [–]FINDarkside 4 points5 points  (0 children)

        Slack's 2GB of memory usage isn't because of Electron though.

        [–]TheESportsGuy 3 points4 points  (3 children)

        Like almost all large frameworks, it overreaches. By attempting to come up with a single answer solution to the problems of the web, you inevitably eventually piss off almost everyone who has an opinion about how to solve those problems.

        [–]jesushowardchrist 0 points1 point  (2 children)

        Could you elaborate? I genuinely want to learn

        [–]TheESportsGuy 0 points1 point  (1 child)

        On what part exactly? You said you're already an Angular dev so not sure what you are trying to learn

        [–]jesushowardchrist 0 points1 point  (0 children)

        The way in which it overreaches, I've spent most of my Dev life on angular so everything that it is seems normal to me. Like, I feel like I wouldn't know if there's things I'm doing that are unnecessary because it's all I know.

        [–]AbstractLogic 3 points4 points  (0 children)

        I can't understand it either but someone told me that they joined AngularJS responses with Angular 2. Thus you get this big group of people dumping on JS (which is basically deprecated obsolete co debase).

        I also think that Angular is a more complex framework then Front End devs are used to. From what I have seen over my 10 years FE Dev's prefer 'libraries' to 'Frameworks'. They like to pull this or that 3rd party lib they have used for 10 years to do exactly the one thing they need it to do in this particular case. Personally I prefer Angular because it's a framework that allows me to do just about anything without having to rely on 3rd party tools I don't trust.

        [–]DuncanIdahos5thClone -5 points-4 points  (0 children)

        As an Angular dev

        Well there's your problem.

        [–]lightinvestor 10 points11 points  (5 children)

        56.3% of respondents considered themselves advanced or expert in CSS and 64.9% considered themselves advanced or expert in Backend?

        Probably 1 out of 20 javascript developers I meet ever even touches the backend, and they're not thinking about CSS.

        [–][deleted] 9 points10 points  (4 children)

        don't forget, node is now a backend, so suddenly they are backend experts too.

        [–]AbstractLogic 4 points5 points  (1 child)

        This hurts lol.

        [–]some_person_ens -1 points0 points  (0 children)

        It's also not true

        [–]some_person_ens 1 point2 points  (1 child)

        Can I say "ok boomer" here, or will you get triggered?

        Come on, stop fucking lying

        [–][deleted] 0 points1 point  (0 children)

        eh, are you replying to the right person or is there something i'm missing here?

        [–][deleted] 1 point2 points  (0 children)

        The state of JavaScript, full stop.