Hacker News new | ask | show | jobs
by kuyfiuyg 4042 days ago
So don't study it then? It's perfectly fine to continue using what you are using. Most recruiters talking to me still ask for Angular, even if I consider it a little hairy and prefer not using it.

After being in the JS sphere for a while and living with these changes, I have learned a lot. Because there is nothing new under the sun, these all do pretty much the same thing - but in different ways. There are tradeoffs, and by working with and making big and small products in different frameworks, I've learned how to learn. Picking up new things are not always needed, but the more you expose yourself to different libs, frameworks and platforms, the better you get at it.

2 comments

The problem is, it's our fault that recruiters are now asking for Angular, because we sold our employers on Angular and built their apps in Angular. Now that Angular is mainstream and has fallen out of fashion, they need to hire more developers to maintain all those Angular apps we built for them.
There is no "our" and there is no "we". Developers, web developers, JS developers or even HN users who are JS developers are not:

* a tribe

* a close-knit group

* an industry union

You do not assign blame to hundreds of thousands of professionals, who live in different parts of the world, speak different languages and work on different projects.

The web evolves without intelligent design or regard of your personal interests. Deal with it or withdraw in denial to the perfect land of perfect web technologies.

> not:

> * a tribe

> * a close-knit group

> * an industry union

unfourtunately

I would love to see some sustainable structured cooperation with at least thousands of developers participating.

https://snowdrift.coop <-- this is a great example, btw

Oh ok, well then I guess it's just Google's fault.
It's Google fault as in a mistake, a defect, an offense that they've created a popular js framework? Is that a correct interpretation of your words?
Only if you feel that Angular itself was a mistake.

I do, primarily because it's yet another attempt in a long history of misguided attempts to bestow Turing completeness on XML.

Not at all! Honestly there are some WONDERFUL things about angular. There are some bad ones too.

- Polling for changes vs. event driven - two way data bindings causing infinite redraw loops. - "feels like O(n^2)" performance on ng-repeats / large pages

but things like the templating, directives, data-binding... they are all really good things.

And dependency injection! They have really moved the needle forward on client side testing.

No angular in itself is not a mistake at all. There are mistakes without question. I suspect the angular 2.0 release will address many of the major criticisms. Though, I haven't read much about it yet.

I can make functional prototypes very, very quickly with angular. There are things it does not do well, in my opinion, but it has given me a tool that previously didn't exist in the JS world.

I don't care about the turing completeness of angular.

I don't.

If Angular has produced a local optima of efficiency in the range of "misguided attempts" then it's effect on the development ecosystem was a net positive.

That said, I am extremely concerned that most popular frameworks/libraries are products of megacorps.

Angular is helpful because it promotes things like loose-coupling, dependency injection, modularity, re-use and the factory pattern. I agree that two way data binding was oversold. It isn't a bad thing, just not the most important thing about angular. No doubt angular itself, and other libraries, will evolve. But I don't think angular is a mistake. It encourages developers to design applications the right way.
Angular is helpful because it promotes things like loose-coupling, dependency injection, modularity, re-use and the factory pattern.

Modularity and code re-use are like apple pie and motherhood. The real question is, do you need dependency injection and the factory pattern to get those things? In JavaScript, the answer is no you don't, because you have closures and first-class functions. Patterns like DI and Factory were invented to compensate for the deficiencies of Java, they are superfluous in JavaScript.

I have to agree.. factories and IoC/DI in JS just seems like such alien overkill in the space. Yes, it's great when you need to create a testable system in a strongly typed world like .Net or Java, but in JS you can simple spike your module loader for unit testing your modules in certain conditions (proxyquire and the like).

Even in those platforms (.Net and Java) unit testing is such a miserable experience, and adds so much complexity it's easier to just skip unit testing in favor of simpler classes/methods and better integration tests.

Agree - i think 2-way data binding is a more superficial benefit vs the other benefits you mention
I think it's not so much the fact that developers praised Angular, but rather this same above mentioned proliferation of frameworks - with so many choices, at some point it becomes paradoxically more likely that people will follow the herd instead of picking each his own framework (if I may oversimplify to make the point clearer) with the risks that entails (possibility of bad choice, of support ending while you still need it...). Nobody's gonna get fired for betting on a big name like Google.
It is our fault if Angular was not a best tool for a job at the time, otherwise we should be happy that we have better tools coming to help us doing our job.
What is problem for you - for some might be job security :) And I think Angular is still very much in fashion. At least this is impression I am getting from occasional talks with random recruiters.
this is impression I am getting from occasional talks with random recruiters

What's in fashion isn't what the recruiters are talking about, but what the developers are talking about. Recruiters will always lag a bit behind whats actually in fashion.

Exactly, recruiters are not cool, so when they are asking for a particular framework that is the strongest sign that the framework isn't cool anymore.

It's just like when your parents start listening to your (former) favorite musician.

I guess it is also depends on who is judge - either business (my case) or developers (yours :))
If you're talking about finding a job now, then I absolutely agree. But if you're talking about what technology developers will persuade their employers to adopt in the future, then developers are the ones who decide.

Employers seem to be influenced by what the developers push (maybe not short term, but longer term it seems to me to be that way). Recruiters go where the employers are. Therefore, IMHO, ultimately its the (vocal) developers who pick the fashion.

Right, his point is that it's in fashion with employers and recruiters because there are things to be maintained and sometimes even built. Where everyone else on HN that stays up with JS is trying to things with maybe a reactjs, or this, now.
Haha, yep. I did that. Sorry, Future Me.

Love, Past Me.

I "failed" a job interview recently to the reason that they didn't have faith in my jQuery (any by extension Javascript) skills.

I managed to write a multi-page response explaining how the modern frameworks were moving away from jquery in favour of data bindings, virtual dom, etc... while I acknowledge that there is still a place for jQuery, it has a very much diminished role in modern web development.

In the end, I never sent the email in response. While it was cathartic to write, I really didn't want to come across as "sour grapes". (and truth be told, I respected their decision... I'd feel a better fit in a more technology forward environment, their reliance on "old faithful" technologies can still make money)

I feel like even angular has come-and-gone as a framework the 1.x just isn't performant on busy pages. Anything with a log of ng-repeats gets out of hand. Though I suppose that could also mean that I'm writing bad pages too.

My most recent favorite is Leo Horie's https://lhorie.github.io/mithril/ We've got some of that running in production and it really is beautiful to work with.

I'd like to try REACT, but haven't found the right project for it yet.

I've sortof started rambling here... my point was I share your experience with employers looking for "old" tech.

I dont understand, if mithril is good why would you want to try react? Personally I'm trying to solve a problem (make complex ui easy to code and understand) Either mithril solves it or it doesnt..?
Totally fair question.

I think the reason I want to try react is to compare and contrast the various approaches.

I've written both angular & mithril for production. So far I haven't enjoyed anything as much as mithril. It is so clean & pure. It stays almost completely out of your way.

In fact there are places where I'm actually running angular INSIDE mithril pages (long story, part of migrating a project from angular to mithril, without losing legacy pages)

I would like to start a react project from scratch to see what it's like. To compare what one really, really smart guy (Leo) came up with against the mighty multibillion dollar facebook.

Leo has a day job and mithril is spare-time, facebook has a staff dedicated to react. Facebook is committed to working on react long term as a corporate strategy. Leo could get bored and walk away.

Additionally there's the aspect of looking at react-native. It makes me suspect that there may be a long term value in being aware of the patterns used in the react.

I struggle to believe it could be better than mithril, but who knows? I haven't tried it yet!

Finally there's the "learning things is fun" side of things.

FYI, Mithril is largely a scratch-my-own-itch kind of project project and I use it heavily at work, so I'm definitely not going to walk away from it :)
Of course!

But what if you're in a Starbucks, and the person behind you is the head of BMA Model's hands and feet division? (http://www.bmamodels.com/hands_legs_feet). As you reach for your frappachino you're "discovered" as the next-big-thing. About to explode into the glamorous, yet high stakes world of hand-modelling. It's a multi million dollar deal... but with the stipulation... no more coding effective immediately.

What happens to mithril then Leo? What then?

If it happened at facebook they'd give the job to Jimmy "Stubby Fingers" Malone and move on.

Obviously I'm teasing (hopefully at least).

I think there are actually a lot of advantages to your running mithril lean & (mostly) solo.

I've been impressed by seeing the contributors in github https://github.com/lhorie/mithril.js/issues and the quality of the discussions in the google group https://groups.google.com/forum/#!forum/mithriljs ... to say nothing of how great your blog posts are.

You contribute and participate in all those places and even turn up on HN.

It does make it a consideration when selecting a direction for a project though. It's a bit of a risk awareness/tolerance thing. I still think C# is way better than node.js for some things too :)

Chances are React would be better supported long-term. React Native could be a selling point for a lot of people too.
I think they failed the job interview. jQuery is great, but with React or Angular (or Mithril? don't know what that is) it has become unnecessary. Unless you wanted the job fixing all of their old javascript bugs, in which case my condolences.