Live data from Hacker News

Why junior developers are learning bad habits from Angular

javascriptkicks.com

51–60 of 138 posts

Re: Why junior developers are learning bad habits from Angular

#51
post #46

Earlier quoted context omitted.

For one, it is incompatible with the whole open web stack. You cannot use Bootstrap with it. And if you decide to move off Angular, you are going to be in a world of pain. Second and worst of all - it is a monolithic framework. As long as you just do things the "Angular Way" - you are fine. If you want to change or override something, you are in a world of pain. If you are learning Angular - you are hardly learning J…

Isn't this just criticism of frameworks? If I want to do something a framework doesn't support I'm going to be in "a world of pain" but that's the cost of using a framework.

It is a criticism of big monolyth frameworks.

We have had shit like this circa 2005 - when jQuery started hitting the mainstream.

And monolyths had to cede their ground to small specialized frameworks that would be built for fast deprecation and mixing with other stuff. Sort of the UNIX way.

Angular is causing just as much damage as GWT, ASP and others did in their day. IMHO.

Re: Why junior developers are learning bad habits from Angular

#52
>Many would not even see the problem here, and just as children don't know cars can hurt, juniors don't know just how destructive this anti-pattern can be to performance, separation of concerns and long term code base maintenance.

Yup, I don't get it. I guess not only am I eternally doomed to be a junior dev but also am being compared to a child, a monkey typing at a typewriter, but also someone who doesn't know JS at all. Feels good man.

Other than some horribly obtuse undefined checking, there's no explanation of what the problem is. The argument seems to be that the controller depends on $scope. I... I thought that was the point. From the first line of documentation on controllers:

>In Angular, a Controller is a JavaScript constructor function that is used to augment the Angular Scope.

If the idea is that this is a bad habit to bring elsewhere, fine. Some more explanation would be nice, but whatever. But the implication is that this is a trap within the context of Angular dev itself.

Re: Why junior developers are learning bad habits from Angular

#53
post #33

Earlier quoted context omitted.

You say that as if there is some volition involved in the "settling" on JS. But there is no cohesive group with the agency to do any such thing. It's like blaming human evolution on individual human choices throughout history.

Well, we could decide as an industry that we really need to fix the code-in-web-browsers problem, and then fix it with a language which encourages safety and reliability. The fact that we haven't done that supports the OP's point.

But the same can be said about C / C++ with undefined and quirky behaviour. Even when the desire to replace them is there, it's near possible given the present situation.

Re: Why junior developers are learning bad habits from Angular

#54
post #26

Earlier quoted context omitted.

After I turned off µBlock, it loaded alright(Chrome/OSX 10.8). I know a lot of people here love them an adblocker, so that might be the problem. It seems to be blocking a JSONP call somewhere, and thus the loader spins forever...

Using µBlock and loading

Using µBlock and not loading for me

Re: Why junior developers are learning bad habits from Angular

#55

Earlier quoted context omitted.

This is a rather surprisingly and unnecessary harsh comment. Would you like to explain why do you think Angular is so flawed?

For one, it is incompatible with the whole open web stack. You cannot use Bootstrap with it. And if you decide to move off Angular, you are going to be in a world of pain. Second and worst of all - it is a monolithic framework. As long as you just do things the "Angular Way" - you are fine. If you want to change or override something, you are in a world of pain. If you are learning Angular - you are hardly learning J…

1: You shouldn't be using bootstrap, even though you can with angular.

2: What do you need to do in the front end that can't be accomplished the 'angular way'? I'm not sure you understand what monolithic really means. The beauty part of angular is that you can use it as little or as much as you'd like in your web applications.

3: Angular 2 is going to be preeeetty much only ecma6. Also, understanding angular means you understand AMD, digest cycles, etc... totally applicable to other frameworks.

4: What are you even talking about?

Re: Why junior developers are learning bad habits from Angular

#56

Earlier quoted context omitted.

This is a rather surprisingly and unnecessary harsh comment. Would you like to explain why do you think Angular is so flawed?

For one, it is incompatible with the whole open web stack. You cannot use Bootstrap with it. And if you decide to move off Angular, you are going to be in a world of pain. Second and worst of all - it is a monolithic framework. As long as you just do things the "Angular Way" - you are fine. If you want to change or override something, you are in a world of pain. If you are learning Angular - you are hardly learning J…

You can use bootstrap with it, at least the HTML/CSS part. But for the JS part, you don't really need most of those tools most of the time. I worked with a few different companies doing SaaS, and we have always rolled a custom solution because of the designs. We never needed anything from bootstrap.

To address your comment about knowledge not carrying over to the next framework down the line, what framework isn't like this? You always spend time learning the nuances of a framework that are never transferable.

Re: Why junior developers are learning bad habits from Angular

#57

Earlier quoted context omitted.

This is a rather surprisingly and unnecessary harsh comment. Would you like to explain why do you think Angular is so flawed?

For one, it is incompatible with the whole open web stack. You cannot use Bootstrap with it. And if you decide to move off Angular, you are going to be in a world of pain. Second and worst of all - it is a monolithic framework. As long as you just do things the "Angular Way" - you are fine. If you want to change or override something, you are in a world of pain. If you are learning Angular - you are hardly learning J…

[deleted]

Re: Why junior developers are learning bad habits from Angular

#58

(sorry if this comes off a bit snarky) "Overuse of the eventing system ($watch, $emit, $broadcast) leading to performance problems and memory leaks and not realizing it or being able to debug it" Blindly overusing most features in frameworks or libraries can cause performance problems. Which memory leaks? "Writing Controllers and Directives that take dependencies which make them nearly impossible to test." Doesn't de…

"Blindly overusing most features in frameworks or libraries can cause performance problems. Which memory leaks?"

Binding to event emitted by an object on another object, then deleting the receiver, can cause a memory leak if you don't unbind first.

Re: Why junior developers are learning bad habits from Angular

#59
post #46

Earlier quoted context omitted.

Isn't this just criticism of frameworks? If I want to do something a framework doesn't support I'm going to be in "a world of pain" but that's the cost of using a framework.

It is a criticism of big monolyth frameworks. We have had shit like this circa 2005 - when jQuery started hitting the mainstream. And monolyths had to cede their ground to small specialized frameworks that would be built for fast deprecation and mixing with other stuff. Sort of the UNIX way. Angular is causing just as much damage as GWT, ASP and others did in their day. IMHO.

Have you built any production apps with Angular?

Re: Why junior developers are learning bad habits from Angular

#60

Earlier quoted context omitted.

For one, it is incompatible with the whole open web stack. You cannot use Bootstrap with it. And if you decide to move off Angular, you are going to be in a world of pain. Second and worst of all - it is a monolithic framework. As long as you just do things the "Angular Way" - you are fine. If you want to change or override something, you are in a world of pain. If you are learning Angular - you are hardly learning J…

1: You shouldn't be using bootstrap, even though you can with angular. 2: What do you need to do in the front end that can't be accomplished the 'angular way'? I'm not sure you understand what monolithic really means. The beauty part of angular is that you can use it as little or as much as you'd like in your web applications. 3: Angular 2 is going to be preeeetty much only ecma6. Also, understanding angular means yo…

I will believe Angular 2.0 cures cancer when I see it[1]. Ok?

Regarding your other statements - you are saying the same things I am. I can do everything I could do otherwise, just at the expense of a lot of overhead I would not have if I didn't use Angular in the first place.

[1]: When it materializes.

Edit: > understanding angular means you understand AMD This is a load of bullcrap. __Nobody__ understands AMD, it is a cargo cult. Just like the SOAP was. And yes I think Angular (in its present form) is a cargo cult. That's what I meant with the SOAP thing.

For the record I use RequireJS on pretty much every project nowadays, but not because I like it - merely because my clients want to use it.

Post reply on HN