Live data from Hacker News

Why Learning Angular 2 Was Excruciating

hackernoon.com

41–50 of 226 posts

Re: Why Learning Angular 2 Was Excruciating

#41
post #4

I never used Angular 2, but that sounds like the biggest issue is a release candidate that should have been called a beta or alpha release. I sometimes tend to try out beta releases when learning something new and interesting, but that does tend to backfire now and then when it's unstable enough that I can't tell if I'm doing something wrong, the framework is buggy or the documentation is simply outdated.

In general, if I understand correctly, "Release candidate" implies "unstable." The emphasis is on "Candidate," not "Release," i.e. "This bundle could end up being the final version, but it probably won't. "

It tends to imply that the API is stable, though. RCs tend to get a few bug fixes and other polishing, but not complete API overhauls.

Re: Why Learning Angular 2 Was Excruciating

#42
post #26

The best thing about Angular 2 is that Angular 1 is now stable. I say this as a web developer currently coding apps in Angular 1 for production. This is gonna be a python 3 moment all over again.

I liked Angular 1. It only took a few days to get the hang of it. If Angular 2 or React are really the future of front end then I'm not going to go back. I'm happy doing some backend dev in Go right now. After I finally figured out all the parts of modern front end development I was already sick of it all.

I hate Angular and how it makes simple code hard to debug.

Not to mention stupid behavior, like Angular app behavior depend on order of components clicked.

Re: Why Learning Angular 2 Was Excruciating

#43

Your first foray into web development and you picked a large, unfinished (it wasn't final) framework to learn with? Then you are complaining that there were breaking changes you had to deal with? I get your beef with the ecosystem, but this is a very unfair knock on Angular 2. Angular 2 was not the problem here at all. Am I missing something obvious?

Unfinished because they essentially announced Angular 2 as the "we got the first so wrong we're throwing away huge chunks". It literally got announced with gravestone images and tolling bells for various features. As web devs we know this.

For someone coming from the Java world seeing a very popular framework with a release candidate of their 2.0 release - that would portray a very different story.

Re: Why Learning Angular 2 Was Excruciating

#44
post #37

TL;DR - developer learns the meaning of Release Candidate or rather...does not: "To be fair, I have been using versions of the library that have thus far not been officially released. Maybe, you say, it’s my fault for trying to download and use a version of the library that is still in alpha/beta/release candidate and expecting it to work and be relatively easy to use. Perhaps you are right. But, considering the fact…

Complaining about API breakage in release candidates is justified. It happens far too often so people are desensitized to it. Maybe I'm old-fashioned but if you're still planning on changing the API, don't call it a release candidate.

> Maybe I'm old-fashioned but if you're still planning on changing the API, don't call it a release candidate.

If you are planning on changing anything it shouldn't be a release candidate.

OTOH, the reason for the "candidate" part of "release candidate" is that things may still change from the plan.

Re: Why Learning Angular 2 Was Excruciating

#45

Sorry, but sometimes I feel like the only sane person in the madhouse. It’s a blog! It’s literally just an index page and some display pages! Why could that possibly need 100s Kb of JS to run it? Of course you’re going to have trouble, you’ve picked a JCB to do a screwdriver’s job.

Because SPA and asynch is dope, yo! This ain't the 90s. Gotta keep it new & shiny.

Re: Why Learning Angular 2 Was Excruciating

#46
post #4

I never used Angular 2, but that sounds like the biggest issue is a release candidate that should have been called a beta or alpha release. I sometimes tend to try out beta releases when learning something new and interesting, but that does tend to backfire now and then when it's unstable enough that I can't tell if I'm doing something wrong, the framework is buggy or the documentation is simply outdated.

In general, if I understand correctly, "Release candidate" implies "unstable." The emphasis is on "Candidate," not "Release," i.e. "This bundle could end up being the final version, but it probably won't. "

The old definition I learned is that it is a version that you think could be released, unless any major bugs appear that you don't know about yet. It's not something where you would expect major API changes.

But those definitions have become much more fluid, and it's hard to find out which definitions everyone is using.

Re: Why Learning Angular 2 Was Excruciating

#47

To me this is still why React feels like the first front end UI framework that got it "right." It stays close to vanilla Javascript. There's a tiny API surface area to learn, and the rest is vanilla Javascript classes and functions. Angular's API, and apparently Angular 2.0's API, is still large, and strays far from vanilla Javascript

That's one of the pros often mentioned about React. In practice, I haven't found it to be true so far. Once you start using React, you'll almost certainly have to use one the Flux implementations. So let's say you use Redux. Suddenly you also have Actions, Reducers and Stores that you have to learn. If you want to use Async Actions (which is very likely in a web application), you'll probably need Redux Thunk, so that's another concept to understand.

Then there's routing, which is not present in the React core, so you'll need a routing library as well. Again your API surface increases.

In the end, if you want to write a larger application with React, you'll often have a similar or even larger API surface than Angular. I can understand that some people prefer the conceptual model of React (with its focus on Components) over that of Angular. The claims about a smaller "API surface" have always felt wrong to me, though.

Re: Why Learning Angular 2 Was Excruciating

#48

Sorry, but sometimes I feel like the only sane person in the madhouse. It’s a blog! It’s literally just an index page and some display pages! Why could that possibly need 100s Kb of JS to run it? Of course you’re going to have trouble, you’ve picked a JCB to do a screwdriver’s job.

On a related note -- is there a StackOverflow-like site where you can ask questions about basic app architecture so you don't get stuck on a shitty ecosystem?

I'm building a simple front end and I had settled on Angular. But there are too many choices out there. I know there's no simple answer, but there ought to be "rules of thumb" out there to consider. e.g., does your team know Typescript? do you want to use plain old Javascript? etc etc etc.

The choices are staggering.

Re: Why Learning Angular 2 Was Excruciating

#49
post #4

I never used Angular 2, but that sounds like the biggest issue is a release candidate that should have been called a beta or alpha release. I sometimes tend to try out beta releases when learning something new and interesting, but that does tend to backfire now and then when it's unstable enough that I can't tell if I'm doing something wrong, the framework is buggy or the documentation is simply outdated.

In general, if I understand correctly, "Release candidate" implies "unstable." The emphasis is on "Candidate," not "Release," i.e. "This bundle could end up being the final version, but it probably won't. "

To me personally, "release candidate" implies "almost ready". After all, it is a candidate for release. In other words, it's released to the public for some final testing and bug fixes with no chance of additional features, API changes, etc. between the RC and the final release.

Re: Why Learning Angular 2 Was Excruciating

#50

Sorry, but sometimes I feel like the only sane person in the madhouse. It’s a blog! It’s literally just an index page and some display pages! Why could that possibly need 100s Kb of JS to run it? Of course you’re going to have trouble, you’ve picked a JCB to do a screwdriver’s job.

> mostly for the learning
Post reply on HN