Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Angular: Just Say No

Angular: Just say no

A collection of articles by AngularJS veterans, sometimes even core committers, that explain in detail what's wrong with Angular 1.x, how Angular 2 isn't the future, and why you should avoid the entire thing at all costs unless you want to spend the next few years in hell.

Reason for this: I'm getting tired of having to explain to everyone, chief of which all the indiscriminate Google Kool-Aid™ drinkers, why I have never believed in Angular, why I think it'll publicly fail pretty soon now (a couple years), and why it's a dead end IMO. This gist serves as a quick target I can point people to in order not to have to parrot / compile the core of the articles below everytime. Their compounded reading pretty much captures 99% of my view on the topic.

This page is accessible through http://bit.ly/angular-just-say-no and http://bit.ly/angularjustsayno, btw.

@shingara

This comment has been minimized.

Copy link

shingara commented Jun 7, 2015

Same idea about all js framework or you advice some ?

@elemoine

This comment has been minimized.

Copy link

elemoine commented Jun 15, 2015

Are you on the "React Is A Terrible Idea" side as well?

@gsans

This comment has been minimized.

Copy link

gsans commented Nov 25, 2015

Guacamole with fries!

@dmackerman

This comment has been minimized.

Copy link

dmackerman commented Dec 30, 2015

You must be real fun at parties.

@evanplaice

This comment has been minimized.

Copy link

evanplaice commented Jan 28, 2016

@elemoine Neat article but web components are the standard that has been on the horizon for 2 years without consensus. Polymer tried to provide a useful polyfill for web components. Unlike most emerging standards, web components are fundamentally difficult and complex to polyfill. So, Polymer works but not very well.

@stephengardner

This comment has been minimized.

Copy link

stephengardner commented Mar 9, 2016

Wondering what the recommended alternative would be. Not that I agree. I could use a good laugh if jquery were brought up.

@FranzSkuffka

This comment has been minimized.

Copy link

FranzSkuffka commented Apr 5, 2016

@stephengardner vue.js is actually quite fun so far after I have spent a few days with it.

@brechtbilliet

This comment has been minimized.

Copy link

brechtbilliet commented May 24, 2016

So, You do a 5 minute search on Google for negative reads on Angular.
Big trees catch a lot of wind, and for that reason you will find negative reads on every framework.

First of all, Angular1 and angular2 shouldn't be evaluated together., since they are completely different frameworks.
Secondly, I don't see one argument that is personally yours.

Maybe make some valid arguments before creating biased misguiding posts?

@ntrp

This comment has been minimized.

Copy link

ntrp commented Sep 12, 2016

@stephengardner if you read some of the linked posts jQuery is brought up.. "Why using the over-complexity of angular when you con use jQuery". There is also someone talking about the fact that it's even better to use pure javascript.. Clearly people that have never worked on a complex application or have plenty of time to waste.

@xalisys

This comment has been minimized.

Copy link

xalisys commented Sep 12, 2016

Totally agree with @ntrp point, if you are working with small applications jQuery makes sense, for mid-side applications Knockout & Angular 1.x makes your life much easier as compared to other frameworks......i recently worked on very large scale enterprise level web application, we started off with angular 1.x with JS as application grows bigger and bigger we face two problems 1) Maintaining source code changes update etc.; 2) Performance among different browsers. (Chrome was best, guess who was worst 😄 yes its IE).

So we decide to move the code to Angular2 (when its came to RC), although there was some glitches while running both versions of Angular sided by side and moving small pieces only-by-one; but after migration Angular2 solved both of our problems; maintainability with Typescript and performance with its excellent design & scope management and bunch of other features.......its such a delight working with Angular2. I would recommend everybody to use angular2 at least one of your projects and see how easy to manage your application.

@rezonant

This comment has been minimized.

Copy link

rezonant commented Sep 20, 2016

After reading through most of these articles, I see only two complaints that I see as valid: Performance (mostly due to overuse of two way binding) and bad encapsulation (thanks to scope and root scope). These are indeed good reasons to avoid A1, but they do not apply to A2 at all. The rest of the argument seems to revolve around "it's too hard for me", "it's too hard for juniors" or "we've always done server side HTML gen, we always will do server side HTML gen, Angular doesn't fit well with that, and server side HTML gen is the "right" way to do it. Obviously this sort of argument is not specific to Angular, and from my point of view, it is a very wrong way to build web apps in this modern era.

@derek-fong

This comment has been minimized.

Copy link

derek-fong commented Oct 27, 2016

Is this guy trying to treat Angular JS and Angular 2 as the same thing?

@fletchsod-developer

This comment has been minimized.

Copy link

fletchsod-developer commented Feb 10, 2017

Oh please! Have you seen how much of the development time being wasted on bad Java Script to begin with, since 1990s? The framework is a step in the right direction and it is a matter of finding the right one. Thank God for TypeScript coming to our recuse with object orientation (ES6) when we're struggling with ES5 and over 500 buggy webpages to maintain. Now get to work.

@sjanaud

This comment has been minimized.

Copy link

sjanaud commented Mar 29, 2017

Angular is overriding the web and the liberty. ng-sucks.

@ghost

This comment has been minimized.

Copy link

ghost commented May 3, 2017

Have a look on InaxiumJS.
Suggestions for improvement and comments are always welcome.

@avidality

This comment has been minimized.

Copy link

avidality commented Jun 8, 2017

javascript is javascript no matter what bloat you toss on top. Just learn to use it or invent some other lang that browsers will adopt

@petrkoutnysw

This comment has been minimized.

Copy link

petrkoutnysw commented Jun 27, 2017

I'd recommend to check this: https://www.dotvvm.com/

@Shireilia

This comment has been minimized.

Copy link

Shireilia commented Aug 9, 2017

@sjanaud "Angular is overriding the web and the liberty. ng-sucks." Lol'd i'd like to see you explain how Angular does that :D

@jorgebucaran

This comment has been minimized.

Copy link

jorgebucaran commented Aug 15, 2017

@tdd Missing git.io link I just made for you. https://git.io/angularjustsayno 👋😉

@slmyers

This comment has been minimized.

Copy link

slmyers commented Oct 9, 2017

why I have never believed in Angular, why I think it'll publicly fail pretty soon now (a couple years)

Are we there yet? :D

@LucasFrecia

This comment has been minimized.

Copy link

LucasFrecia commented Oct 12, 2017

Reminds me of how some people saw the first model T as a horrible, backwards thing... and how others even thougt at that point humanity had peaked its technological prowess. I recommend you invest more of your time in productive ordeals instead of giving your and others oppinions as if they had any truth to it. In the end, all of this bits are just some devs' opinions.

@Giwayume

This comment has been minimized.

Copy link

Giwayume commented Feb 22, 2018

If you want large componentized enterprise applications with data reactivity and sensible template languages, use Vue or Aurelia. Angular 2+ is a hot mess of over-engineered code with a lack of common sense in framework design. Many parts of the templating language and Javascript API of Angular 2 are overly complicated and the addition of newer features (like when they added "else" logic to *ngIf) feel like they are hacked together with little common sense. I have to ID all of my else blocks? Really?

@blackjyn

This comment has been minimized.

Copy link

blackjyn commented Mar 1, 2018

I have leaved Angular since EOF 2014.
Angular 2+ is SUCK and overly complicated

@glemiere

This comment has been minimized.

Copy link

glemiere commented Mar 31, 2018

Angular is not overly complicated at all. Angular is made to build huuuuuge apps. Don't use it to make a single page websites.

@ibraheemalkilanny

This comment has been minimized.

Copy link

ibraheemalkilanny commented May 1, 2018

Angular is using Typescript. Once you get into that, you will see how much is it organized and layered.

BTW have you read ever some pages of Quran yourself? Try now http://quran.com/25

@omniscient

This comment has been minimized.

Copy link

omniscient commented May 27, 2018

Coming from 10 years working on a complex templated/generic/metadata driven MVVM Silverlight UX, to then 5 years of DurandalJs / Aurelia and now Angular, I can say that after 20 hours into the forays of Angular, the engineers who built this framework come from a very different background than anything that has been developed at Microsoft in the last 10 years. The reason I do Angular now is because of it's popularity. It's the Kim Kardashian UX framework at this point. Decision to use it made at exec level in larger organization will be mostly based on this assumption: "Everybody, their grand-pops and their nieces uses it". That elevates Angular over some of the the other options because the belief is that resources are plentiful to work on Angular 2+... That might be true to a degree, not even sure of that because of the fragmentation between angularjs and angular. The reality for me is that it's one of the worst option available right now in terms of usability, design and approach. The lock in is crazy vs. some of the other options that are more convention based and more decoupled. Do yourself a favor and evaluate frameworks for several weeks before choosing one.

@Seedarchangel

This comment has been minimized.

Copy link

Seedarchangel commented Jun 9, 2018

Totally agree, after hours of frustration.

@reedjones

This comment has been minimized.

Copy link

reedjones commented Jul 29, 2018

yup

@codemt

This comment has been minimized.

Copy link

codemt commented Aug 9, 2018

Totally agree, I have spent hours just solving problems in it, and ended up being frustrated due to its restrictions. I will never prefer Angular for my Personal projects. I seriously wonder why it has been so popular.

@kimonoki

This comment has been minimized.

Copy link

kimonoki commented Sep 25, 2018

nevertheless jd has it

@lemonbob

This comment has been minimized.

Copy link

lemonbob commented Sep 28, 2018

The reason for the popularity of these frameworks is because:

i) computers are now so fast that cumbersome frameworks don't affect performance too severely (a user wouldn't notice 1ms lag compared to 50ms lag even though the second is 50 times worse than the first).
ii) employers would rather pay 1/2 the wage for a bad programmer who can only output average results using a framework because most clients want cheap prices rather than good results.

To make an analogy, if this was the carpentry profession, Angular would be like the knockdown fittings that allow furniture to be screwed together quickly (i.e. flatpack).

Now, we all complain about the quality of flatpack furniture, but as long as it is far cheaper than quality carpentry that is what is going to predominate the market.

Also, keeping with the analogy, a quality cut joint such as a dovetail or a well cut mortise-and-tenon is far superior than a knockdown fitting, but a poorly cut mortise-and-tenon made by a bad carpenter is far worse than a cheap knockdown fitting. So yes, bad javascript is worse than Angular — but isn't that just enabling people who are bad at Javascript?

I would argue that frameworks have enabled bad programmers to flourish, driven down wages, driven down knowledge and training in the industry, and have resulted in a predominance of poor quality "flatpack" clone websites — don't even get me started on Bootstrap! This is why opinion are quite crystalized on the subject — either super for or super against frameworks.

However, just as in carpentry, I agree that sometimes the cheap fittings can be a great time-saving tool, but we should never view frameworks as anything other than a cheap time-saving tool that produces inferior (sometimes really inferior, albeit more cost effective) solutions.

@thepian

This comment has been minimized.

Copy link

thepian commented Jan 18, 2019

After making high performance streaming WebApps and building frameworks for them for 7 years, and then doing React and Angular for 5 years. I consider every minute I spent working with Angular a waste of life. It is horrible to such an extent that would't know where to start teaching why not. It encapsulates everything that is rotten by Software Development in 2018. Being knowledgeable about the topic I feel I can say that it isn't a step in the right direction, it's several steps in the wrong direction, and it is teaching a generation of developers some really broken ideas. React is at least a decent concept, even if it has the conceptual faults inherent in the SPA approach.

I thought that I had to go the Angular route because it seems to be the dominant choice, but by now I loathe it so much that I'm pretty sure I'll give up on Web Development, and take on a different career path.

@dtinsley333

This comment has been minimized.

Copy link

dtinsley333 commented May 4, 2019

Approximately 90% of .net related jobs in Nashville require Angular as a "must have". I am hoping that web assembly picks up allowing developers to better decouple the back end from the UI. I am very interested in Blazor for .net. I will celebrate the death of Angular.

@rbonomo

This comment has been minimized.

Copy link

rbonomo commented May 17, 2019

@dtinsley333 How does a new front-end programming language decouple the back-end from the front-end?

@dtinsley333

This comment has been minimized.

Copy link

dtinsley333 commented May 17, 2019

I guess I am saying with web assembly developers can use the language of their choice rather than having to use a back end language and a javascript framework. They will still use javascript when it makes sense.

@jjolivier

This comment has been minimized.

Copy link

jjolivier commented Jun 14, 2019

My opinion only. Someone's job was to think of something new, like a mix between marketing and coders? Their job is just to think up new ...t all the time. That said. They gave us J Query libraries... GRATE!!!. That made JavaScript just easier. It DIDN'T change it. It just made it easier in the sense of less code.
The creators of Angular, Node JS, and even business ideas like Agile, just had nothing better do then make people think they are making peoples operations, the way they code and manage code easier. Wrong. It's a headache to everyone, even to the people who studied it and enforcing it in their businesses. I stick to my guns so comment whatever you like.

@VictorQueiroz

This comment has been minimized.

Copy link

VictorQueiroz commented Jul 14, 2019

@tdd Good job at not coming with that cliche bullsh*t of "You can't compare a framework with a library". We all know that the main reason people started using Angular.js was the rendering engine, the REAL problem when it comes to web development. We don't need $http, $q or whatever else. We just needed a good, fast, standard and maintainable way of developing user interfaces and Angular.js was a first step towards that at the time.

Angular was never really alive. The only real contribution of Angular (And I'm including Angular.js) was to inspire projects like React.js and Polymer and it has become very clear to the community that React.js was the only one that really made a huge difference for us.

Even the fact that Angular is still trying to tweak HTML and perform heavy operations on runtime is just ridiculous. I'm shocked how guys are surprised by this. Let's get real, everything is moving so fast! We need things to get the job done and create a maintainable application.

@jeanfgagnon

This comment has been minimized.

Copy link

jeanfgagnon commented Aug 13, 2019

Switching from Angular 7 to 8 is a nightmare. And having to do such a switch every 6 month is completely absurd.

@arivera12

This comment has been minimized.

Copy link

arivera12 commented Aug 19, 2019

I think people who really understand what it's on every framework should comment over this post. I started moving few years ago from jQuery to Angular cause Angular had a huge boom on the web and that was the new technology for building web sites. First of all we can't compare jQuery vs Angular cause they are not same and they don't even work as the same, even though we can achieve to do the same tasks but in different approaches. Angular is a huge framework with a huge learning curve. Angular out of the box provides a lot of things you may need to build huge complex applications you can check those feature on the web. IMO I still found angular very complex to learn even if I have done some applications with angular and typescript. After looking around some other frameworks/alternatives I found react and Vuejs. I started playing around with react and I found it quite easily to use instead of angular. After some weeks I started playing with Vuejs. I found Vuejs more practical and straightforward to learn. Until today I have developed all my applications using Vuejs and left using angular. Even though Vuejs doesn't provide all the tools that are built-in in angular but it will give you a better understanding on how SPA works. We got to be realistic when we develop, why we gotta learn a bunch of builtin stuff when we may not use all of them at all? Even though Vuejs only provides the core functionality to build SPA we can't still compared it to Angular cause Angular have a lot of built-in stuff I consider Angular a Framework and Vuejs just a library. For example: Angular have a builtin http client, vuejs not, Angular have builtin validator, vuejs not and so on, you can compare angular features vs vuejs on the web but we cant just compared them at the end of the day. But do we really need learn all the tools builtin provide in Angular out of the box to build our website? That's the question we gotta ask out our self before selecting one thing over another. Another thing is that angular from version to version have a lot of breaking changes I have upgraded from Vuejs 1->2 and breaking changes have been minor but go and migrate from Angular 1 to Angular 2 and tell me how the migration was in terms of difficult? haha is a nightmare in hell. I am not a fan of Vuejs or React neither of Angular cause at the end of the day Javascript sucks from its beginning but IMO I would never recommend developing an application on Angular with those special directives of Angular that are just out of the standard of the web. NEVER AND EVER. Why never? Cause opinionated architecture sucks all the way long because there is no standards and no standards leads all the way down to hell in development and maintenance.

@arivera12

This comment has been minimized.

Copy link

arivera12 commented Aug 20, 2019

Approximately 90% of .net related jobs in Nashville require Angular as a "must have". I am hoping that web assembly picks up allowing developers to better decouple the back end from the UI. I am very interested in Blazor for .net. I will celebrate the death of Angular.

Hahaha I can bet Blazor will kill all those SPA frameworks and libs. I started using it and left vuejs behind some months ago. Obviously I still maintain applications over angular and vuejs but new development is going on top of Blazor OF COURSE! Dot Net Power on the client what else do we need?!

@matthewekeller

This comment has been minimized.

Copy link

matthewekeller commented Sep 11, 2019

If you want simplicity try WebRocketX. You will have to unbrainwash yourself of the json paradigm though. Webservers can call services just fine by themselves, and layout doesn't add hardly anything to your bandwidth, especially if you are good at css. Of course Angular is overcomplicated and hard to maintain. Who ever thought that a huge fat javascript client would be efficient to work in.

@joeyhub

This comment has been minimized.

Copy link

joeyhub commented Sep 20, 2019

How does a new front-end programming language decouple the back-end from the front-end?

It often doesn't. It's more of an illusion. Whenever I write code I organise things based on various categories. The factors can vary but tend to be obvious. I might write some code to build and traverse a tree then I might keep those functions close together the same way you might keep cutlery in the same draw. To do this I use the bear minimum to separate things. The order, scope, namespace and usually a file or folder.

This isn't a matter of it being enforced but rather of discipline. With frameworks and libraries many people use them to create hard boundaries instead of soft boundaries. The latter requires discipline but produces superior results. The former requires the creation of hard boundaries, walls, etc. Imagine if there were a wall everywhere between the pavement and road so that cars physically could not leave the road at all. It would be a lot of extra work and would also create hard limitations that in some cases would be needless, making people have to walk around to cross an empty road.

Imagine you don't like people talking about going to the toilet and eating at the same time. So you create two entirely incompatible languages that cannot be spoken at the same time where in only one you have the terms to speak about eating and only in the other do you have the terms to speak about the inevitable consequence of eating.

The reality is that doesn't necessary stop people from finding some way to be crass. Angular does things two fold at least, providing scaffolding as a kind of cage and templating but from what I see in ample legacy code base is that all of that does nothing to stop undisciplined programmers. If anything it only gives them more rope to hang themselves. For disciplined programmers it can do at much to restrain them as it can to offer conveniences to achieve separation. Not everything angular does encourages good code either.

Discipline is one of the most underappreciated concepts in programming and when it is present it tends to be inappropriately enforced. Some of the worst programmers I've known have also bee the strongest enforcers of discipline but not to a productive effect. It's things such as read that a function with more than 10 lines is bad, take it as gospel and ban > 10 lines. You get very unhappy code shops where people get fed up and just create functionName0, functionName1, breaking them up exactly and adding one each ten lines. Now you have a function with around 10% more lines. Whenever I hear the term decoupling I sense the smell of that because although it used to be a good term it's now become meaningless. It might as well mean karma or aura. Palm reading. It's become the new feng shui.

You decouple. Not angular. If you need angular to decouple, you can't and you don't decouple.

@Shireilia

This comment has been minimized.

Copy link

Shireilia commented Oct 4, 2019

why I have never believed in Angular, why I think it'll publicly fail pretty soon now (a couple years)

Are we there yet? :D

Are we there yet ? :D

@Maryannah

This comment has been minimized.

Copy link

Maryannah commented Oct 4, 2019

Switching from Angular 7 to 8 is a nightmare. And having to do such a switch every 6 month is completely absurd.

Step 1 : run ng update

Step 2 :

3cd49d

@arivera12

This comment has been minimized.

Copy link

arivera12 commented Oct 4, 2019

why I have never believed in Angular, why I think it'll publicly fail pretty soon now (a couple years)

Are we there yet? :D

Are we there yet ? :D

Its just a matter of time. Once people realize how updating and maintaining and angular cost, they will look for other alternatives. I personally have tried all those SPA frameworks. I vote for Vuejs with my eyes closed. What much people doesn't know already is that vuejs was created by an ex engineer from google that was working with angular core and he didn't liked so much things of it that he created vuejs. Vuejs since the begin was developed learning from angular and reactjs mistakes, and that's why its it better. Vuejs being the most younger of this framework have gain more popularity in less time that reactjs and angular.

@joeyhub

This comment has been minimized.

Copy link

joeyhub commented Oct 4, 2019

why I have never believed in Angular, why I think it'll publicly fail pretty soon now (a couple years)

Are we there yet? :D

Are we there yet ? :D

Its just a matter of time. Once people realize how updating and maintaining and angular cost, they will look for other alternatives. I personally have tried all those SPA frameworks. I vote for Vuejs with my eyes closed. What much people doesn't know already is that vuejs was created by an ex engineer from google that was working with angular core and he didn't liked so much things of it that he created vuejs. Vuejs since the begin was developed learning from angular and reactjs mistakes, and that's why its it better. Vuejs being the most younger of this framework have gain more popularity in less time that reactjs and angular.

Let simplify this. What do you want to do?

How many lines or bytes of code is that?

Angular is designed to be an endless sprawl. It solves your problems by extending the horizon beyond your view. If the solution is out of reach problem solved, you no longer have to reach as you know it'll accomplish nothing. You start with a blank slate them pull in thousands to millions of lines of code then bam it's a legacy codebase before you wrote a line of code.

It's immediately ten times bigger to a thousand times bigger than your initial problem.

It's a solution so huge the problem of its mere size alone supersedes itself as a solution to your problem.

All you need is a few beers and it'll all become clear.

VueJS probably has suckage as well but I've supported it to escape the sycophants and also in the hope of it being a middle of the road solution. What you say worries me a little. It might be an escape from bullshit but I'm not sure it's the ultimate.

@joeyhub

This comment has been minimized.

Copy link

joeyhub commented Oct 4, 2019

Switching from Angular 7 to 8 is a nightmare. And having to do such a switch every 6 month is completely absurd.

Step 1 : run ng update

Step 2 :

3cd49d

That's my life's story. Things that ought just work or be simple but OMG. And they complain about no invented here.

@arivera12

This comment has been minimized.

Copy link

arivera12 commented Oct 5, 2019

Switching from Angular 7 to 8 is a nightmare. And having to do such a switch every 6 month is completely absurd.

Step 1 : run ng update
Step 2 :
3cd49d

That's my life's story. Things that ought just work or be simple but OMG. And they complain about no invented here.

This is the best and simplified comment that says it all in simple words.

@Maryannah

This comment has been minimized.

Copy link

Maryannah commented Oct 5, 2019

That's my life's story. Things that ought just work or be simple but OMG. And they complain about no invented here.

This is the best and simplified comment that says it all in simple words.

image

@FiretronP75

This comment has been minimized.

Copy link

FiretronP75 commented Feb 4, 2020

I have never believed in Angular, why I think it'll publicly fail pretty soon now (a couple years)

This was written about 5 years ago now? A prophet, you are not. 😛

@FiretronP75

This comment has been minimized.

Copy link

FiretronP75 commented Feb 4, 2020

Switching from Angular 7 to 8 is a nightmare. And having to do such a switch every 6 month is completely absurd.

Step 1 : run ng update

Step 2 :

3cd49d

🤣 That made my day.

There is sometimes a step 2. But it is so ridiculously easy that it is ridiculous that people complain. I've taken large complex enterprise apps from Angular 5 to Angular 8 in a matter of hours. It does of course have a prerequisite of having competence with Angular. I'm pretty sure people who get frustrated with it just don't understand it.

@hhvdblom

This comment has been minimized.

Copy link

hhvdblom commented Apr 16, 2020

There is a tipping point now in web development. The missing parts to write a web application WITHOUT shitty libraries/frameworks is NOW possible. I just finished a Web UI with CSS Grid and plain Javascript. It works great!

@Maryannah

This comment has been minimized.

Copy link

Maryannah commented Apr 16, 2020

Why, my dear, I too like to re-invent the wheel : after all, why should I re-use what someone created to ease my life ? Isn't my job all about suffering while doing it ? 🤔

@hhvdblom

This comment has been minimized.

Copy link

hhvdblom commented Apr 16, 2020

Missy, you are missing the point. I use Javascript files like a Datepicker. But Angular, Bootstrap, JQuery are bandaid to help the web and are not needed anymore.

@Shireilia

This comment has been minimized.

Copy link

Shireilia commented Apr 18, 2020

Missy, you are missing the point. I use Javascript files like a Datepicker. But Angular, Bootstrap, JQuery are bandaid to help the web and are not needed anymore.

Tell me, when any of those were required anyway yet alone needed in that case ?

@hhvdblom

This comment has been minimized.

Copy link

hhvdblom commented Apr 18, 2020

JQuery for good DOM navigation and browser compatibility. Bootstrap for multiple form factors. Angular for data binding and SPA. So they serve a purpose but it would be nice if the web was just enough to handle all this.

@matthewekeller

This comment has been minimized.

Copy link

matthewekeller commented Apr 19, 2020

You don't need Angular to write a SPA. In fact you don't even need json. We use WebRocketX, and you don't have the complications of a fat client like Angular but you have all the advantages of a SPA, for example, having a back button that works perfectly. WebRocketX

@hhvdblom

This comment has been minimized.

Copy link

hhvdblom commented Apr 19, 2020

Angular is over engineered and over complicated. A perfect case for a failed open source project. Version 1-9 etc. How to keep up with it. Not to mention all the breaking changes. Just a big fail.

@Shireilia

This comment has been minimized.

Copy link

Shireilia commented Apr 20, 2020

Angular is over engineered and over complicated. A perfect case for a failed open source project. Version 1-9 etc. How to keep up with it. Not to mention all the breaking changes. Just a big fail.

A project actively developed and used by millions is hardly a failure tbh. It's okay not to use it, (hell, if you want to not use any framework, please do so), but don't say bullshit like "Angular/React/Vue/Whatever is a failure".

@Maryannah

This comment has been minimized.

Copy link

Maryannah commented Apr 20, 2020

I personnally lost all interest in pursuing a discussion when I read that Angular was put in the same category as jQuery and Bootstrap, and (implicitly) read that you could combine jQuery, Bootstrap & Angular because they all serve a different purpose.

But then again, people who dislike frameworks are against change, so changing their mind is just a no-brainer !

@matthewekeller

This comment has been minimized.

Copy link

matthewekeller commented Apr 21, 2020

Jquery is great. It makes complicated things less complicated. Angular was obviously written by people that don't care about making anything easy or intuitive. It is 100 times more complicated than it needs to be. For example, who decided that you would write your code in typescript which would be converted to javascript? Who decided that you should have to compile your code in order to view it instead of just being able to refresh the web page? Horrible horrible decisions.

@nalex-macaroni

This comment has been minimized.

Copy link

nalex-macaroni commented Jul 9, 2020

Really should split the angular narrative into two: 1.x and 2+ - they are completely different.
I've deployed dozens of web applications using 1.x and a couple using 2+. 1.x has a very unusual scope mechanism, which allows the views to be hierarchical. This is VERY nice in many ways I won't go into.
2+ threw that away, and introduced "components" as if that was automatically better than - well, NOT components. They're not.
I follow a YouTuber that excoriates Object Oriented Programming, and he has a LOT of good points. Components in Angular 2+ are gratuitously complicated and over-engineered.
Example? HttpClientModule vs HttpClient. Observables where you have to add operators ( as separate LIBRARIES??? )...Maybe I'm stupid, but promises WORKED - if you understood them, but Angular 2+ wraps crap-tons of nonsense around them, and makes them observable, but not-necessarily injectable - but you gotta have the latter defined because if not, then ng-For doesn't work right. And EVERYTHING CHANGED between Angular 6 and 7 - and apparently they changed AGAIN between 8 and 9? WHY??
I run a website on Angular 2+ with millions of hits per day. It's a pain to maintain, and it only has 23 discrete pages. I've been trying to do the magic ng-update - but guess what? IT DOESN'T WORK properly. Partially because the code I inherited is awful, and partially because I waited a few versions to wait for Angular to settle down.
If you run a PRODUCTION website, you can't afford the time to constantly churn your code to keep up with the imbeciles running the Angular project. I really don't think any of those clowns have to eat their own dogfood.

@Shireilia

This comment has been minimized.

Copy link

Shireilia commented Jul 9, 2020

Really should split the angular narrative into two: 1.x and 2+ - they are completely different.
I've deployed dozens of web applications using 1.x and a couple using 2+. 1.x has a very unusual scope mechanism, which allows the views to be hierarchical. This is VERY nice in many ways I won't go into.
2+ threw that away, and introduced "components" as if that was automatically better than - well, NOT components. They're not.
I follow a YouTuber that excoriates Object Oriented Programming, and he has a LOT of good points. Components in Angular 2+ are gratuitously complicated and over-engineered.
Example? HttpClientModule vs HttpClient. Observables where you have to add operators ( as separate LIBRARIES??? )...Maybe I'm stupid, but promises WORKED - if you understood them, but Angular 2+ wraps crap-tons of nonsense around them, and makes them observable, but not-necessarily injectable - but you gotta have the latter defined because if not, then ng-For doesn't work right. And EVERYTHING CHANGED between Angular 6 and 7 - and apparently they changed AGAIN between 8 and 9? WHY??
I run a website on Angular 2+ with millions of hits per day. It's a pain to maintain, and it only has 23 discrete pages. I've been trying to do the magic ng-update - but guess what? IT DOESN'T WORK properly. Partially because the code I inherited is awful, and partially because I waited a few versions to wait for Angular to settle down.
If you run a PRODUCTION website, you can't afford the time to constantly churn your code to keep up with the imbeciles running the Angular project. I really don't think any of those clowns have to eat their own dogfood.

You seems to be a really nice guy, plain an simply insulting people for developping a framework that nobody forces you to use. Yep. Nice.

Btw, is Angular dead yet ?

@hhvdblom

This comment has been minimized.

Copy link

hhvdblom commented Jul 9, 2020

TomTom is navigation software. I think its one of the best. My ex-girlfriend worked there. At TomTom they say: "Making difficult things look easy is the Hardest there is". If you look at TomTom software GUI is very intuitive and works great. They know how to do it. Angular took a different path. Making easy things difficult :-) ...and Yes Angular should be dead. Bury it deep, stamp on it, we don't want it to come back :-)

@Shireilia, I develop software now for over 40 years. Started with ABasic/GWBasic, then C, then C++, Oracle DBA etc. So I know what I am talking about. Javascript is a Mess, same for Angular.

@Maryannah

This comment has been minimized.

Copy link

Maryannah commented Jul 9, 2020

That explains it, no offense but at that point you're kind of a dinosaur, in the sense that coding evolved but you did not.

To each his own take on JS, but if you write JS code, then using a framework is just a no-brainer, you have to do it.

Angular is very simple to use (I'd say more than react and less than vue), but people that criticize it are usually the ones that don't use it (or that have tried and gave up).

In 🦕 language and in order to portray the backlash, Angular = Vim.

@hhvdblom

This comment has been minimized.

Copy link

hhvdblom commented Jul 9, 2020

agree, i am a dinosaur. but the c language is still great. it evolved in c++, c# and Java and now comes to the web with webassembly as a good replacement for shitty javascript.

hey and I tried and did not give up. wrote a custom part of umbraco cms and because of my programming experience was not happy how angular works, but did manage it.

and guess what, software engineering did not change much in 40 years. the tools are more productive, eh angular not! but it's still if.. then.. else.

those dinosaurs are often software architects, and they think first before running to the next hype. because when you build a million costing system that's hardly maintainable you did something wrong.

@Maryannah

This comment has been minimized.

Copy link

Maryannah commented Jul 9, 2020

I have to agree for Web Assembly, this is promising, especially for the source code obfuscation. But still, I wouldn't stop JS for it, it might have a bad rep but it's really powerful.

Well we're not talking about software engineering in particular, but rather a specific tool. And tools do change, and you have to keep up with the pace, otherwise you're left behind.

And Flutter would be a hype, a framework that's been there for ten years is hardly one. Also, saying software architects know better is a multi-layered fallacy. But even with ignoring that, what you imply is wrong : a poorly coded system can be created in any language, with any framework. This is on the developer, not on the tool. It's like saying guns kill people, not humans (simple example, I don't want to talk about politics).

@hhvdblom

This comment has been minimized.

Copy link

hhvdblom commented Jul 9, 2020

js is dynamic c# was static but has the dynamic keyword now. so when webassembly is finished with no need for js and aot there is no future anymore for js. I think it takes another 2 years but if you call it will come.

hey, poorly coded is done by software engineers. a software architect takes care for a good coding practice. you don't build your house yourself. the architect has the drawing.

follow Microsoft coding style. The sofware architect sets up the core, when that's finished the software engineers can do the rest. Thats make sure the baseline is already good.

@nalex-macaroni

This comment has been minimized.

Copy link

nalex-macaroni commented Jul 9, 2020

agree, i am a dinosaur. but the c language is still great. it evolved in c++, c# and Java and now comes to the web with webassembly as a good replacement for shitty javascript.

hey and I tried and did not give up. wrote a custom part of umbraco cms and because of my programming experience was not happy how angular works, but did manage it.

and guess what, software engineering did not change much in 40 years. the tools are more productive, eh angular not! but it's still if.. then.. else.

those dinosaurs are often software architects, and they think first before running to the next hype. because when you build a million costing system that's hardly maintainable you did something wrong.

LOL - here's another dinosaur. I used to be the "makefile guy" - other dinosaurs will know what that means. I agree 100% that javascript is a mess, and getting messier. Adding operators does not necessarily constitute making a language more powerful - just harder to maintain.

Also, we "dinosaurs" are not necessarily stuck in the past and can't understand new stuff. I started using OOD back in 1990 before the C++ specification was even finalized. I introduced OOP to 3 companies that were still using plain C. I even wrote a micro OOP version in C to help the migration.

BUT - I've also seen fads come and go over the years, and I can detect them more easily than you whippersnappers! Anybody remember CORBA? Didn't think so. COM? No? How about Objective-C? PASCAL? ( yeah, that one probably ). I can't count the number of libraries and frameworks I've dealt with - MFC anybody?

I can tell the difference between efficacious and shiny. Meteor looked pretty good, but.....Ruby? Don't get me started.

There are a plethora of Javascript frameworks - all have strengths and weaknesses. Angular 2+ has a LOT of weaknesses with regard to maintenance. They constantly churn their libraries, constantly breaking stuff.

They're TOO SMART. They can keep all that nonsense juggling inside their heads and I can't. I LIKE SIMPLE! Also, I LIKE MAINTAINABLE!

I've literally had to maintain my software up to 24 years! My very first web application - written in PHP + MySQL is STILL in use since 2006. I just migrated it to a new server, and it's used every day. ( restaurant chain franchisee ordering system )

Try that with Angular 2+ and get back to me.

@hhvdblom

This comment has been minimized.

Copy link

hhvdblom commented Jul 9, 2020

I did MFC, David Kruglinskys books where super. Real polymofism explained in real good books. He died, accident with hangglider

@nalex-macaroni

This comment has been minimized.

Copy link

nalex-macaroni commented Jul 9, 2020

I did MFC, David Kruglinskys books where super. Real polymofism explained in real good books. He died, accident with hangglider

Had several contracts with MFC - usually porting FROM MFC to the Macintosh. I later wrote my own cross-platform framework and deployed three shrink-wrapped projects with it.

Has software suddenly devolved, or what? Back in the old daze, we'd code-compile-link-run. Then, with web development, we had code-run for a while. Now, with Angular we're back to code-compile-link-run?? ( yes, there's a link cycle in there, whippersnappers ). Only it's worse: code-transpile-SASS transpile-compile-link-webpack-run. Holy crap. I'm sure I'm missing a step-or-two in there.

@Maryannah

This comment has been minimized.

Copy link

Maryannah commented Jul 9, 2020

Package versions are a burden of every (well, most) languages, especially if they're lightweight. Node is no exception to that. But seeing you say that Angular has issues with it, shows me that you don't really seem to know what you're talking about (about Angular, I'm not talking about your skills in general).

Unless you mismanage your versions, or do poor updates, you do not get breaking changes. That's kind of the purpose of versioning in fact. Because of ECMAScript, a code written in Javascript remains widely usable for years, even decades. And now (and for the past couple of years), a huge work has been done for compatibility, with the help of polyfills and whatnot, guaranteeing a huge compatibility across a variety of browsers.

The real issue is that the ecosystem is moving too fast, and you have to keep your apps & knowledge up to date if you want to follow.

As for the maintenance, then again, you have low maintenance if you have made good quality code. If you can't maintain a running application easily, question the application and the choices made first, not the framework used. I have made angularJS and Angular apps up to 8 years ago, and some still stand to this day, without any maintenance. I have also made applications in other languages (GWT and JavaFX), that became obsolete and were replaced by Angular web apps.

And it's transpilation, not compilation. Sure, it evolves backwards if you want it to. But it gives very powerful tools that expands the capabilities of your code, and eases your syntax and overall code quality. Not to mention that it's also super lightweight and fast, compared to other languages.

But then again, people get refractory to change as they grow older. Seems that you are no exception to this rule (and so will I I guess), and I won't try to change your mind anymore, because you clearly made it up already. Anyway, time will tell (you wrong I bet).

But one last thing, do yourself a favor, stop using Angular-based websites, you never know, it can stop working at anytime after all !

(edits because on phone and fat fingers kept pressing the send button)

@hhvdblom

This comment has been minimized.

Copy link

hhvdblom commented Jul 9, 2020

don't be to full with yourself. I saw lots, real lots of sr. developers full of themselves. the proof is in the pudding. when I looked at their code it sucks.

@nalex-macaroni

This comment has been minimized.

Copy link

nalex-macaroni commented Jul 10, 2020

But then again, people get refractory to change as they grow older. Seems that you are no exception to this rule (and so will I I guess), and I won't try to change your mind anymore, because you clearly made it up already. Anyway, time will tell (you wrong I bet).

But one last thing, do yourself a favor, stop using Angular-based websites, you never know, it can stop working at anytime after all !

Ah, whole bunch of ad hominems. You deny that the churn ( 2 releases / year + 1 year for deprecation ) is relevant. I just have to "keep up" and if I can't, I'm old and stodgy or perhaps just incompetent.

Why is the "ecosystem" moving "too fast" in your own words. Too fast for me, I guess. Perhaps I just want to spend more time on MY particular application, rather than having to learn a bazillion dubious changes to a thousand+ libraries. These libraries are changed at arbitrary times, and I just don't have time to keep relearning or repurposing code. AND - finding other people's bugs. I HATE having to debug brand-new libraries - it's a WASTE OF MY TIME. Perhaps your time is less important?

Doing an npm check-dependencies - holy crap there's a bunch of junk in there. On a significant ( or even small ) application and try to get all those "in line" and working together. "Oh, but that's why NPM exists in the first place" I pretend to hear you say.

Yes, and I assume you just tell the package.json to "get the latest-greatest" and it'll transpile-compile-compileSASS-transpile-link-run first time, every time, right? You've never done a build with a library with a ^ and not had it yanked out from under you with a new release?

What is the REAL REASON for Javascript server-side, anyway? Ostensibly so that programmers would have ONLY ONE LANGUAGE they had to learn. As if learning PHP, or Python, or even Ruby was such an onerous task that poor programmers would be unable to do so.

I think that's a REALLY stupid reason to foist a browser-side script language onto the server. Especially when the language was NOT designed to be what it's being forced to do.

It also blurs division-of-labor between the server and the browser. I think it actually makes it harder in some ways for inexperienced people to wrap their head around.

PHP is WAY too flexible, but it sure makes some things easy. Express in node cannot easily ( or maybe even possibly ) do some page preprocessing I need for my main application ( I inherited the code, and bounced off a particular problem several times ). In PHP - it's absolutely TRIVIAL.

But, hey, I'm just a dinosaur who can't keep up. I've written in excess of 2 million lines of code. I do so mostly solo - don't need a large team to finish significant jobs.

@Shireilia

This comment has been minimized.

Copy link

Shireilia commented Jul 10, 2020

Guys, you mostly have showned hate for Angular at this point because you think it's impossible to create Angular apps that are easy to maintain. However, we both know it's wrong. We can all have examples of very large apps with high level of complexity that are just fine to maintain.

I also, (while not behing a so called dinosaur, i'm still young, thanks) worked in C, C++, #Net, Java (even freaking assembly and Ocaml). I can see why you hate JS at first glance. Because i did too. And then, i stopped hating out of just emotional response and started thinking. What can this tool bring to me, what are the ups and downs ? Fast evolving, cool, i'll have to learn and challenge myself. Not strongly typed, making it harder to pass to the next developer ? Oh hey, hello Typescript ! Not having a strong need to scale but still need some reactivity in my app ? Can easily store my data in my service with Subjects and create a basic store. Need something more ? Great, i have NGRX for that.

Ah, too much tools to maintain. Nope, i've used the cli, used ng-update aaaand... Done. Seriously, it's that easy. I've started working with Angular in the Alpha, developped a large App that still runs today, and pushed it all the way to version 7 before leaving it to someone else. If i could update an app and maintain it without a sweat, and make it so for the next team (that i still have contact with), why the HELL are you telling me that you can't ?

The truth on the matter is as always, emotion. You don't like it. We get it. But none of the actual arguments you provided make sense. I have yet to see a single one that is decent. Maintainability is DEFINITELY not an issue, we all have examples on that. However, if you can not make an app you can maintain, ask yourself the question : is it the tool, or is it you ?

@nalex-macaroni

This comment has been minimized.

Copy link

nalex-macaroni commented Jul 10, 2020

Ah, being psychoanalyzed here. No, it's the tool. You assume it's an "emotional" response - why can't it be a legitimate reaction to unnecessary complexity? Let's be clear - I LOVE angularjs 1.x. I still use it all over the place. A new site I created just last month - took about a week with over two dozen discrete pages, a full-blown REST database, etc.. Back-end is PHP - but also uses MongoDB in addition to MySQL. I'm clearly NOT afraid of technology.
I first encountered Angular 2+ back in 2017 when I inherited a project that used it. In above posts, I gave my pedigree with regards to OOP and OOD. I WANTED to like TypeScript - and to be fair, aside from a clearly arbitrary ( but learnable ) syntax, Typescript BY ITSELF is not the problem with Angular 2+.
The problem is the abstraction-for-the-sake-of-abstraction and multiple layers of JUNK between MY stuff and the computer. One example would be just using HTTP - in Angular - one just typed, $http.get( .... ) AND YOU'RE DONE. In Angular 2+ you have to pull in a half dozen stupid things, and You can't use HttpClientModule itself, rather you need to use HttpClient - for - some reason, at variance with "convention" regarding names and such. Why the extra layer? God forbid I should just want to use a PROMISE. Because, well, I'm too stupid, apparently. So it forces me into layer-after-layer of Observable....then have to PIPE it in ( oh wait, that's not in the original Angular 2.x it's - um - later, but nothing effing works AT ALL so whatever ) ...then MAP it WITH TEMPLATES because - well, Typescript FORCES you to do it in classes - but the whole templating system therein IS NOTHING BUT A HACK!
How does all this nonsense make it "harder to make mistakes" - I submit it doesn't.
So, in order to actually get ANYTHING done, one just puts question marks everywhere or "any" - to completely bypass the typing - making Typescript just as useless as a C program with a zillion casts.
So, just last night I went ahead and built a VueJS project - just to see how it works.
EGAD - I got more done in one hour last night, than in almost a week of flailing around trying to port my Angular 2 to Angular 9 project.
Now, part of the problem is that I was skipping several versions of angular, and it clearly didn't like that. BUT virtually NONE of the code in angular 2 will even compile in Angular 9!
Because virtually all the libraries have been yanked-out or massively rewritten ( twice ). Why? It clearly worked back in 2016 when this project was written.
Because CHURN. SHINY. Because it's easier to make things complex than it is to make things easy.
I create a new Angular 2+ component - and it generates like 4 or 5 files. In VueJS - it creates ONE. I actually prefer the angularjs 1.x style of creating TWO files, but ONE ain't bad.
What a breath of fresh air.

PS( Does it sound like I can't handle change? That I'm too old and stodgy to keep up? )
PPS( I, too, have SHIPPED assembler in 8080, Z80, 6800, 68000, PPC 603, and Intel Pentium )

@Maryannah

This comment has been minimized.

Copy link

Maryannah commented Jul 10, 2020

I was going to leave it there, but clearly I have to write one last comment because you made my eyes bleed. At this point, it's either a troll or you're really messing things up "for the sake of it".

Point by point :

  • "I'm not afraid of technology" is not yours to say when you use angularJS. This is like saying "I listen to modern music like Britney Spears or NSYNC". You're outdated. A LTS version was released in 2018 and ends next year. This is not being on the edge, this is being in a retirement center.

  • if you are handed an existing application, then you are handed someone else's code. What if, again, the code was poorly made ? I'd love to learn kickboxing but I don't want to end up with a teacher breaking my bones on every training ... And trust me, it's VERY RARE to see someone actually make good angular code, so it's likely it.

  • in angular, you pull HttpClientModule and use its service. One dependency, one function call to do. Just like AngularJS. If you had more, then again, you were the problem.

  • Use a promise ? It's a downgrade from an observable, but sure. Call toPromise() on your observable and you're done, no piping required. By the way, this is not directly Angular but RxJS, so this isn't really an "angular issue".

  • RxJS is declarative. You do not like it ? Cry me a river, still won't make it a problem with Angular, but rather with you personal preference of imperative over declarative. And by the way, it offers a very clear and concise syntax for the features it offers, compared to a promise (and by the way, promises are declarative too and work kind of the same way).

  • if you flick up the typings, that's on YOU, not on Angular. Everything is strongly typed and the autocomplete is rather performant across IDEs. Using "any" as a type is a intern's mistake. You claim to have such knowledge of OOP, I would then suggest you spend a little more time on your typings.

  • Vue is easy, I can't deny that. But Vue is a library while angular is a framework. Sure, jQuery is also easy and fast, but it doesn't offer the same features. Angular is though to learn, but the reward is worth.

  • "I was skipping several versions of angular". Yes, I'm a man of culture as well, I don't read the instructions manual before using my circular chainsaw. I was so surprised when I lost 9 of my fingers, I started to dislike it after ... SERIOUSLY. You have a thorough upgrade guide, a dedicated schematic, and an upgrade can be done in less than an hour. I jumped from 6 to 9 in under 10 minutes, and plan to jump from 2 to 9 on another app shortly. I'm reptty sure I'll have no issue, but I can let you know.

  • 2 won't compile in 9. That's, again, expected, this is why versions are there, to allow your work to evolve. "I'm not afraid of technology" ... So your definition of a "good framework" is its first version ? Spare me.

  • they have been rewritten because of the evolution in it, as just stated. As a fan of angularJS or Vue, I don't see you complain about their breaking changes ?
    https://docs.angularjs.org/guide/migration
    https://fr.vuejs.org/v2/guide/migration.html
    Just by looking at those guides, I realize I'm glad to have a clear and concise one for Angular.
    https://update.angular.io/

  • it generates "4 or 5 files" because that's the chosen philosophy. Separation of concerns is pictured with the separation of files. But you can have a single file too (or two, or three, or as many as you want), you just didn't set up your config to do it.

Now clearly I'm done. You're talking without the proper experience. You're not able to make objective statements, just give your opinion. You're entitled to it, but it is irrelevant to the discussion. And yes, this IS an emotional response as said previously.

Basically all the issues you have raised are non existent, or exist because of your own (or someone else's code) doing.

I can't believe I'm saying it, but grow up, and listen to your parents telling you to eat your vegetables. Try angular, but I mean REALLY try it, and get back here to give an objective point of view after that.

(and inB4, yes, I am defending angular, but I can also say its boundaries and limits and drawbacks. This is what objectivity is)

Now I'm clearly done here, talking to you folks makes me feel like wearing a MAGA hat. I'll keep using Angular, try to master it, and laugh back at that thread about "Angular will die soon" !

(and for the record, I hold no animosity towards you, I just talk in an agressive way. Old habits die hard they say !)

@Shireilia

This comment has been minimized.

Copy link

Shireilia commented Jul 11, 2020

@Maryannah beat me to it, thought on a more agressive posting style than i would.

As he states here, you are not making any objectives valid points to demonstrate that Angular is bad. The part that made me smile the most was the "i tried to update from 2 to 9 and it didn't work".

@hhvdblom

This comment has been minimized.

Copy link

hhvdblom commented Jul 11, 2020

As an architect I break down things as simple as possible. If I build a house with available tooling I want to do that as productive as possible. Angular is not such a tool. As I stated before it's over complicated and over engineered. Version 1-100, I don't care, it's the way it's made up that sucks. That's my objective and point of view.

I am also a fan of CssGrid and Vanilla Javascript. People that say you a reinventing the Wheel are missing the point. The only valid thing you can say about the Wheel is that it's round. If the Wheel is CssGrid and Javascript then the rest is optional.

@nalex-macaroni

This comment has been minimized.

Copy link

nalex-macaroni commented Jul 11, 2020

What hhvdblom said.

In response to Maryannah and Shirelia - you make my points for me.

To reiterate one last time - my points are two-fold -

What hhvdblom said: Angular 2+ is over-engineered and over-complicated. I don't buy German cars any more because of the exact same problem. I'd rather have a simpler Toyota or Honda that will last me 300,000 miles than a Volkswagen or Mercedes that needs constant tinkering - and mechanics' bills.

Second, Angular's CHURN - constant tweaking. Twice-per-year releases, and once-per-year deprecations. Crazy if you want to keep a production website running.

Maryannah makes several assertions without providing evidence - an example would include "TRUST ME, making good angular[js] code is very rare. - That's just an assertion, no evidence can be provided, as it's a non-verifiable assertion. Any time anybody asks for "trust" - well, don't. ( in my case, my angularjs code usually runs at about 25% of the size of my fellow programmers - if lines-of-code is a useful metric )

Another assertion: "You're outdated. A LTS version was released in 2018 and ends next year. " And, why is that automatically outdated? Because it's being officially desupported? Is a Japanese pull-saw, which hasn't been "supported" for 500 years outdated? Or is it a perfect tool for some jobs?

Finally: "it generates "4 or 5 files" because that's the chosen philosophy." - EXACTLY - a "chosen philosophy" - thereby implying that other "philosophies" exist. But, to you, one cannot dislike the "chosen philosophy" - if you don't, you're outdated. If you're not on the "bleeding edge" then you're old and stodgy.

Maybe, if you mature enough, and work for yourself and have to maintain your own code - and servers - you'll discover that debugging other people's code ( aka "philosophy" ) wastes time and effort. It's not efficient.

Now, please note that I didn't keep insulting you, even as you kept insulting me. Over the missives I gave many examples of what I consider problems, and you dismissed them, or made unsupported assertions.

The automobile analogy given above is really really an important distinction between the two camps. I want my code to last 300,000 miles.

And, it does.

@hhvdblom

This comment has been minimized.

Copy link

hhvdblom commented Jul 11, 2020

Thats why I drive a Mitsubishi ASX - :) I gave a boot camp to wannabe programmers. The one with shortest efficient code was best.

I myself am a specialist in abstraction. The new versions of javascript supports classes and modules. If you implement these efficient then that's all you need.

@nalex-macaroni

This comment has been minimized.

Copy link

nalex-macaroni commented Jul 11, 2020

There are couple of guys on YouTube - WORKING ENGINEERS GUYS - that dispute the idea that OOP / OOD is the way to go for modern software.

If I could save you engineers literally YEARS of your lives by having you watch a 45 minute YouTube video, would you do it?

Before you answer and look at the video, please bear in mind that I started OOP back in 1989-1990 - before the C++ specification was even formally adopted. I started with something called "Think Class Libraries" - by a company called Lightspeed that was bought by Think around that same time.

I deployed several of my own class libraries ( "frameworks" if you will ). Though libraries is disparaged above, I'd like to submit that there are two types of "frameworks" out there - Shells, and skeletons.

Shells, like Angular - require you to stuff everything inside their ideas of "what's right" and will not allow you to really stray from the "path" of enlightenment. As projects get larger, it becomes increasingly difficult to wedge things into restrictive shells.

A skeleton on the other hand, is easy to just "hang" stuff onto the bones of the project. There are much fewer rules, and lower learning curves. Junior engineers can become useful members of society much faster. A skeleton can grow almost without limit.

The concept of OOD has its good points, certainly, but ultimately today's ideas of "global variables shoot women and children" and "everything - including an integer by golly - is an object" really add layers of complexity - and ultimately don't make sense. OOD can ( and does ) just mess things up. Just look at modern Java.

Anyway, these two guys say it better than I:

Brian Will: https://www.youtube.com/watch?v=QM1iUe6IofM
Bryan Lape: https://www.youtube.com/watch?v=gdJggfkqim8

Enjoy & see if some sacred animals are gored here.

PS( if inheritance is so great, MULTI-inheritance must be FANTASTIC! Right?! Right??? )

@hhvdblom

This comment has been minimized.

Copy link

hhvdblom commented Jul 11, 2020

OOP or OOD or whatever it all comes to grouping code and reuse that code. How you do it is not imported but you have to do it in a structural way. I learned in 1986 in C. You had in those days already Stuctures, some kind of classes without functions. Coding has not much changed but you must understand how to do it. Those guys who developed Angular do come from Mars. Skeleton or Architecture? I prefer Architecture.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.