u/html6dev
html6dev
html6dev
Not according to Doug Crockford who should probably know... He then goes on to joke about it being pronounced with a French accent in a talk he did a while back, I'll try to dig it up and reply again. Great talk in general.
Edit: here ya go https://www.youtube.com/watch?app=desktop&persist_app=1&v=zhVdWQWKRqM
html6dev
Spot on. That's why the common understanding of MVC (model 2) never worked well on the client. Historically, we did it over http which is stateless and that model made sense. on the client, we have to manage state and it led to state being mutated from any and everywhere, impossible to debug chains of events being emitted and listened to from arbitrary places etc. Once the community coalesces around the right ways of doing things in react I think it will be a paradigm shift (to steal a marketing buzzword) that changes development in general. Hence the demand for react even in native development.
html6dev
Of course there are tools like this but they are all non native anyway so that's barely any value proposition, let alone one greater than wrapping an existing mobile web app in a native container which takes zero development time. You obviously don't work in enterprise mobile development :p they get plenty complicated.
html6dev
Even funnier is the fact that all of his issues are caused by what is already the 'old' way of using react rather than a single global immutable data store. All of these problems go away when you stop calling setState everywhere. The app I started most recently will send the last 5 global states to the server when an error occurs and then I can load them up and have the exact screen the user was seeing right in front of my face and replay the process they took to get there (note this is CircleCIs idea not mine but its nearly as useful a debugging tool as I can imagine). I worry that all this churn in frameworks causes people to make decisions about things they haven't fully gotten a grasp on and that's really unfortunate. React is actually different. Its not a new MVC framework and its not just the V either(as it was originally marketed but i think that was to soften the blow of just how many 'best practices' it breaks) once you've really embraced the way it does things.
html6dev
Uh this is true, the only issue is its the exact same state mobile is currently in. Java does nothing to help target iOS and no one wants to maintain two separate code bases for mobile. It's literally history repeating itself. We know where this goes and it will be not the best possible user experience but good enough just like web beating out native desktops (and let's not forget things like rokus, watxhes, your fridge, all of which are coming) web might not be the best possible technical answer to these problems but its the only one that's practical.
html6dev
Everything if my coworkers, boss and wife are any indication (computer programmer).
html6dev
Cost of living is a factor though. I didn't start out making anywhere near six figures out of college but was able to comfortably by a nice middle class family home the first year (in the Midwest). I also feel like my opportunities to shine and move up in companies are a lot better than they would be in the land of startups as well. I'm not rich but at this point all of our student loans are paid off (very significant on my wife's end) we are extremely comfortable etc. Out there, I constantly see posts about people making 150k and not being able to afford a home, have a family, etc on Quora and it just really surprises me.
All that being said, I put up with some brutal winters here that I may be looking to leave behind in a decade or so. I definitely envy the weather.
html6dev
Yeah, I can't figure out what the definition of 'responsive' is to OP. It's sure not responding to my phone.
html6dev
I would wager the role of designer and front end developer are completely different at google. More cs majors do front end now because the programming is getting to a level where the client app is as complex as the backend. Just about any front end developer can take a mock from a designer and recreate it in html, that is the easy part. There are some candidates with solid skills on both ends but they are rare, and it's not required by either of the respective roles (I would argue front end developers need solid understanding of ux and the theory though or its extremely difficult for them to contribute in planning, meetings, etc and they become the guy that can follow orders/spec well at best)
html6dev
Just want to say, I spent the majority of my life interacting with people in this manner due to extreme social anxiety. It's not always that people don't like you or aren't interested (everyone used to always think I was an asshole or arrogant and stuck up and it killed me). It's taken years and I've improved to the point where I am even pretty good at thinfs i thougjt were impoasible like office politics now. However, I still sometimes meet new people and forcing myself to make eye contact is driving me insane inside and coming up with a response other than just saying 'yes' to sound agreeable is still something I revert to now and again. It's probably not the most common reason, but we are out there :)
html6dev
Just so you know. You can create a simple select function that takes your selector, passes it to querySelectorAll and calls the array slice method on what is returned and you now have a real array of elements you can use all the native array methods on, not just the slow jquery each function. For apps where you know you have querySelectorAll the DOM lookup / manipulation parts of jquery are pretty unnecessary (obviously it has more utility stuff as well as plugins for people still on those).
html6dev
People can donate and its all publicly available information, person or PAC. The amounts won't be limited because its an arms race and both sides take money from the same players . Technology could have been the answer here but I don't think current politicians want to joe blow to be as likely to get his word out as them just because he has a vine account so it never materialized. Personally, I don't even understand how these campaigns cost millions of dollars but I am sure there are people more knowledgeable on the topic than I am out there.
html6dev
Got to have a pragmatic, implementable solution, not just say I'm wrong for feeling there isn't one.
html6dev
What would you recommend? Having to disclose funds appropriated to a candidate? Because thats why we now 'have' super PACS (that is to say, that's why you know whose names to put on your protests signs now, they've never changed and has always been in the fabric of the political system). If we disallowed lobbying legally it would just occur under the table like it always has. I'd love it if we could make it so political campaigns didn't cost millions of dollars but its so far from practical at this point that's its nothing but a nice daydream I have now and then (and this is one area where the incumbents on both sides can find common ground. Its the last thing in the world they'd want to have happen).
html6dev
The important distinction /u/_My_Angry_Account_ made here is public vs private Lobbying. It had nothing to do with 'fairness' in job contracts and we domt have to have that debate every time unions are mentioned.
You can't possibly stop lobbying from privately owned organizations or citizens, but you can send it back 'underground' if you think that's a good idea. public employee unions lobbying the government is mind bogglingly recursive, however.
html6dev
I'd bet a years salary no one replying to you could've done this at 14. Shit, I was barely a sentient being at myself at 14, but I could sling the worst php code you've ever seen lol. I've kept some to look at when I'm feeling likely I'm still particularly horrible at this and haven't gotten my head around this field after all this time. Haters gonna hate. the kid could be doing much less valuable things with his time, that's for sure.
html6dev
There's a difference with the examples in the WAT video though, and it's that js doesn't do the sane thing and throw an exception when you do [] +{}. I definitely agree with defensive coding for anything of that sort, issues with numbers and NaN, etc. I just believe things like exploiting the fact that a zero .length is falsey is idiomatic and powerful. I agree with Eich that the base type system and the dynamic nature is a language feature not a mistake, but there are definitely other things that require thorough attention to detail and defensive programming.
html6dev
Mmmm transients
html6dev
this is a long and old post now but I have been away. My point is if they don't know the language don't hire them or put them on js jobs. I'm not referring to people just learning programming or not working as professionals. That's a completely different context than dedicated front end teams which are common these days.
html6dev
/u/oh_no_a_hobo , /u/Hobocannibal and you have all posted in this thread 2 hours ago. Where am I?
html6dev
I was referring to a simple variable. They made the decision for 'good' in the second case because length is guaranteed to be an integer and I agree with this decision as well. It's redundant to use strict equality checks in that case.
I think we can assume airbnb has a solid team of js devrlopers, but in general we need to get past this "not everyone is an expert javascript developer and knows the minutia of the language". The front end is its own ecosystem now and only experts should be dealing with it or your company is doing it wrong. Furthermore, the type system (in every language) is not minutia. Its rudimentary, fundamental, level 101 stuff that everyone should know if they are developing professionally with it or they shouldn't be. The example mentioned above is one of the things that makes js flexible and powerful and we shouldn't handicap the language because some people haven't bothered to learn it in 2015. That's an indicator of bad managers allocating the wrong resources to the wrong work, not an indicator of poor language design.
html6dev
It's because in 99% of cases you want the same behavior whether the name variable is the empty string, null or undefined. In this case you are far more likely to introduce bugs by using strict equality due to null and undefined unless you test for them explicitly as well (the only exception being you specifically want the value 0 to pass the if, which in these cases is also unlikely). In my experience, it's obviously context driven, but this is the proper rule provided you have a team of javascript programmers with a good fundamental understanding of the type system. That not being the case is the only time I'd invert the rule (but I'd also be actively trying to resolve that far bigger issue concurrently anyway).
html6dev
I agree with you from an ideological perspective, but this is only true in the 'T' of STEM and if the history of the S, E and M is any indication this will change in technology too. For example, I know a handful of guys working as EE right now that started out 20 to 25 years ago with no degree and remain in those jobs, but that's next to impossible for young guys today (this is true in most non programming, engineering roles). I don't think it's required to be a good programmer but I do think we will see this happen and it gets back to my main issue with the article: these fields can actually be extremely creative fields and to reduce them to being completely straightforward, robotic fields is to remove everything I enjoy about them. Obviously, programming is rooted in logic but it takes a lot of creativity to solve problems, especially in a new way.
html6dev
I agree that i thought this answer is prett hand wavey for beung reated to the thing everyone sees as the great "trap" of js. To be specific here, because its sort of a pet peeve: === prevents type coercion and does value comparison, not checks against type and value. This is the answer I hope to hear (not that Id hold it against a candidate in a big way its just, as you said, the precise answer).
From the horses mouth https://www.youtube.com/watch?app=desktop&persist_app=1&v=zhVdWQWKRqM note how he pronounces it when saying it conversationally.