News for hackers. Stuff that matters.

vikramkrishnan

I am referring to the following mental algorithm I see being used by managers and some devs: 1. My front end guy does JS 2. My backend guy costs money 3. Let me remove 2 and get 1 to do both, it is all JS anyway; completely ignoring that the way you build the two is fundamentally different, with different mindsets. Language is just a small part of the equation. The claim that having a single language on FE and BE will save cash is simplistic and misguided. It is like saying since my kitchen utensils are built of stainless steel and aircraft carriers are built of stainless steel, I will get Le Crueset to manufacture my aircraft carriers
I don't think node.js per se is the worst thing. However, the way it is used, particularly what I believe to be a misguided attempt to do "full stack development" is really terrible. And it is not the first time that we have made this mistake. The whole Java on the client side blew up in our faces. If bosses really understood that client side and server side are two different problems with different mindsets and specializations we would not be in the world of pain that we are
I have a theory that by optimizing for the UI/UX of a First time user, things have gotten worse for the power user. In the past when most of our apps were desktop apps, there was a hidden assumption that the user would be using the apps for years and therefore had the time to build up muscle memory, currently when bulk of the apps on App Store are not downloaded and those that are, are barely opened twice, it makes sense to optimize to make the whole thing easy for the FT User. That by definition makes it harder for the power user. Notice that the really responsive websites are ones that cater to a group of people who by definition are more likely to be power users: HN, Github etc
I would blame Scrum and the culture of storyboards. Go and take a look at any storyboard. 99% of it is feature addition. Not speed improvement, not security. It is some "scrum master" who comes up and says 10% of our customers have said that feature X on our app would be awesome and based on this POOMA-ed projection we will have a 10% improvement in retention and 100% improvement in some other random statistic, completely ignoring the fact that you are negative impacting things like speed and responsiveness that the other 90% of the user base gives a crap about, which was not captured in this random survey of yours
Well the only way a 20 year old is getting weirded out by a Win 95 interface is (1) he has never seen a Windows machine because Win 10 basically reverted to the same Win 95 interface or (2) never worked on a desktop/laptop with KDE, Cinnamon or the other DEs inspired by Win 95. And Win 95's UI rocks IMHO (and I say that as a person closer in age to those annoying pipsqueaks in that video). You go to a button labeled "START". It has clearly labeled folders called "Accessories", "Programs", "Internet" etc and then you get to where you want to. For 90% of the UIs, a tree like that is a perfectly good data structure. The more annoying thing is why is it that software like Office etc take two orders of nagnitude more RAM while being essentially 90% similar in functionality to Office '97
The front end developer at one of the companies I was working for nearly fainted when I told him I like Craigslist's web interface. The only criticism he could muster was "But it looks like the 90s". And then he proceeded to tell me off "because you don't want to learn how to use a new interface". Of course I don't want to, it is a skill with zero transferability. Learning how to be productive with an interface that only works with 'a' given app, for 'a' duration of six months until some bozo changes the whole UI, because some focus group decided that "it would look so pretty if ..." (and that is the best case scenario, mostly it is because some UI/UX guy was inspired while sacrificing chickens to a graven image of Steve Jobs) is bunk. The two most hated things that came out of Redmond in the last 20 years were the 07 rejig of the Office UI (so you had muscle memoried a bunch of key strokes that made you super productive, well the F U buddy, we are going with this weird ribbon thingie for no discernable reason - fixed that by recording a bunch of macros that did what Office 03 did) and the Win 8 UI. I mean which diseased mind thought that it would be a good idea? And if that was not retarded enough, to force it on server users.
You can: try FP languages. My personal recommendations (from opposite ends of the FP spectrum) would be Clojure and Haskell. F# is pretty nice too.