6 ms·
The central problem with Angular is what is says about the software industry in general - that a framework so fundamentally and ridiculously flawed could invite
by kuni-toko-tachi 12y ago
The central problem with Angular is what is says about the software industry in general - that a framework so fundamentally and ridiculously flawed could invite such wide appeal suggests that many people have absolutely no idea what they are doing. The thousand monkeys approach to engineering has wide implications for security and safety of systems that we rely on. There is simply no way that you can say that you know Javascript and at the same time support Angular. None.
- cozuya 12y agoThats a little hyperbole. I "support" it in that its an easy way for someone to make a typical web application without having to know the details of call vs apply, arguments, prototypes, etc, or writing a lot of boilerplate. So in that way I guess angular is for people who don't want to learn "javascript" - and thats what you see it being used for generally anyways.
- snarfy 12y agoAnd how do those developers deal with issues such as XSS, injection, untrusted JSON, etc if they don't know JavaScript? I agree with the OP. At some point it will come back to bite you. I've watched many ASP and ASP.NET developers struggle with more modern web methodologies such as restful web apis, client side MVC, etc and it's because they never took the time to understand the web, the browser, or javascript and let ASP take care of it for them since everything is server side and postbacks. I fear it will be the same mistake again but made with frameworks such as angular where we have a generation of developers who have no idea how the underlying technology works.
- cozuya 12y ago>And how do those developers deal with issues such as XSS, injection, untrusted JSON, etc if they don't know JavaScript? I agree with the OP. At some point it will come back to bite you. Well thats the thing, they don't because thats what the senior devs are for, and learning that stuff is part of becoming a senior dev. I just don't see angular making any more developers who don't really know the core of their technology than any other "generation"... I bet the exact same things were said about jQuery 8 years ago.
- lstamour 12y agoI liked Angular because it seemed to have a lot of the same ideas that polymer and other libraries had, but supported older browsers also. It seemed more pragmatic. It is a bit annoying though that there's so much misinformation on the web. About the only source I trust right now is http://shop.oreilly.com/product/mobile/0636920033486.do http://shop.oreilly.com/product/mobile/0636920033486.do
- CmonDev 12y agoSettling for JS in the first place says something about the software industry in general. Let alone any MVC frameworks-of-day.
- dasil003 12y agoYou 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.
- rwmj 12y agoWell, 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.
- svisser 12y agoBut 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.
- CmonDev 12y agoWell, actually: http://www.rust-lang.org http://www.rust-lang.org Everything is possible. One step at a time. C++ and JS belong with COBOL.
- snarfy 12y agoIf that were true there would be no such things as CoffeeScript and TypeScript. The market settled on JavaScript, not the software industry. The software industry is doing what it can with the hand the market dealt them. It's not like x86 is an awesome architecture, but here we are.
- 12y ago
- kyberias 12y agoThis is a rather surprisingly and unnecessary harsh comment. Would you like to explain why do you think Angular is so flawed?
- JanezStupar 12y agoFor 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 JavaScript. The knowledge learned from it is hardly transferable to the next framework down the line. To me it looks a lot like SOAP. Everybody is acting like they understand what is going on. But nobody really does.
- pandog 12y agoIsn'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.
- JanezStupar 12y agoIt 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.
- dmak 12y agoHave you built any production apps with Angular?
- 12y ago
- xyzzy123 12y agoAngular brutally sucks in a variety of ways, but security isn't one of them [pentester]. Specifically, the builtin "stuff" makes it actively hard to XSS, and in SPAs that's job #1.
- angersock 12y agoSo, all all seriousness, what is the actual danger of XSS? Where does that typically come in? Is it an issue on an intranet app with a controlled stack?
- engendered 12y agoThe central problem with Angular is what is says about the software industry in general - that a framework so fundamentally and ridiculously flawed could invite such wide appeal suggests that many people have absolutely no idea what they are doing. I have yet to see an Angular project that doesn't qualify as tiny. For that purpose -- banging out some internal CRUDish app -- if it allows people to create working success, then it's a success. Instead people are busy arguing over the semantics of over-engineering a couple of text boxes, and that really is what leaves me boggling. Though of course, as is the nature of these things, there are over-dramatizing camps, and one month Angular is the greatest thing ever on HN, the next it's the demonstration of all that is wrong in the world. The reality, as always, is somewhere in between. It wasn't that many years ago when people didn't even understand basic concepts like closures in JavaScript, or the power they bring. Now people are viciously arguing about the edges. It's all very surreal. There is simply no way that you can say that you know Javascript and at the same time support Angular. One of the most common features pushed by just about every framework (just saw it about React yesterday) is desperately, and leakily, trying to abstract Javascript into some sort of classic OOP language. Some of the most popular tools allow you to write in various compiled-to-JavaScript languages (TypeScript, CoffeeScript, GWT, etc). It's all very strange. But again, if JavaScript is treated just as a runtime, and if it works for a team, there is some measure of success.
- Swizec 12y ago> trying to abstract Javascript into some sort of classic OOP language Which is wrong. And, I think, stems from the way CS is taught. Everyone starts with Java and learns that programming is all about knowing that a dog and a cat are just subclasses of the 4-legged-creature class, which is itself inherited from the mammal class. Wait no, that's not right now is it? But it's how people learn. JavaScript is a beautiful glorious language when you realise it's a weird hybrid between functional and OOP and is messy enough to let you do just about anything. It reminds me a lot of what I hear about Scala ...
- pjmlp 12y agoThat is how bad CS is taught. I had the pleasure to learn about Pascal, C, C++, Smalltalk, Caml Light, Prolog, Algol, PL/SQL and Java, as well as, their respective paradigms.
- looins 12y agoSo when you see everyone flock to a framework you deem poorly implemented, the solution to the dissonance is to call everyone stupid, instead of admitting maybe there's some angle you're missing? I've been doing JS since Netscape and Angular since before Google. I support Angular. Guess I don't know anything about JavaScript though. Nothing.
- mrits 12y ago"There is simply no way that you can say that you know Javascript and at the same time support Angular. None." These kind of statements always make me think the author is trying to be dramatic because they don't know enough about the subject to try to get their strong feelings across in any other way.
- datashovel 12y agoI think what alot of people don't think about is that "proper / correct engineering principles" don't necessarily translate to creating successful projects / companies. If your goal is to nitpick about the reasons why a specific framework is not right for the job, then "mission accomplished". If your goal is to create amazing products / services. And are willing to do anything to accomplish that, then sadly I think you're on the wrong side of the argument.
- fixermark 12y agoEssentially this. Angular may be monolithic and less flexible, but if a young company gets to prototype faster with it and as a result survives to second- and third- funding rounds, they can afford the engineering hours to re-implement their UI from scratch. Success (and its associated revenue) solves all engineering problems in the long run.