News for hackers. Stuff that matters.
Re:Sick of Ruby, dynamic typing, side effects, and object-or... by blub on Tuesday November 07, 2017 @05:39AM (#15642297)
That's a very interesting metaphor you came up with.

So the JS ecosystem is a giant pool right? Everyone is swimming in all possible directions with all sorts of contraptions like rubber tires, inflatable dinghies, pieces of wood, plastic garden flamingos, etc. A lot of the swimmers naturally pee in the pool because it's more convenient than exiting (that was frowned upon at the beginning, but people kinda got used to it - and it keeps a steady development speed!).

This might look quite horrifying to those on the outside, but for the swimmers it's nice and warm, while stepping outside is cold and scary, because they would have to learn all sorts of complicated and frightening technologies.

For someone like me that got out when the pool was small around 2006, there is no incentive to jump back in. I mean yes, if I closed my eyes and jumped I would probably adjust after a while. But why jump in the JS pool when I can swim in the open sea? :)

Re:Sick of Ruby, dynamic typing, side effects, and object-or... by pluma on Tuesday November 07, 2017 @06:04AM (#15642414)
So you "got out" of JS around 2006, before module systems, before node.js, before anything resembling modern build tools, before even jQuery was really a thing (it was created that very year), before all development tools (firebug was also originally created in 2006).

And you think you have any idea what you're talking about when you talk about modern JS just came outdevelopment?

You know when AJAX first became possible? 2005. ES3, the latest version of JavaScript available at the time, was released all the way back in 1999, the next version (ES5) wouldn't come out until 2009. Strict mode didn't exist.

MSIE had an 80%+ market share, Firefox was hovering around 12%. 2006 was the year IE7 came out. Building a website meant you were targeting IE6 if you were lucky but had to worry about compatibility with IE5 (and also the completely different but identically named MacOS version of IE5) -- but in practice IE4 and Netscape 4 were still a concern.

You know the song "IE is being mean to me"[0]? That was first published in 2009.

Your comment is the equivalent of showing pride about "getting out of" automobiles in 1903, when Ford started working on the first mass-produced car.

[0]: https://www.youtube.com/watch?v=vTTzwJsHpU8

Re:Sick of Ruby, dynamic typing, side effects, and object-or... by blub on Tuesday November 07, 2017 @06:27AM (#15642486)
Ah yes, those were the days. One could open a website and it worked. You could save it, bookmark it, share it and it worked. No invasive ads, no pervasive tracking, accessibility was starting to become an important topic.

JavaScript was used mostly for decorative purposes and AJAX where it improved experience.

As far as benefits to the users are concerned, why is today's web better? It's just a souped up Model T with bilboards on all sides, a 360 degree camera on top and more cameras on the inside.

But I get why it's awesome for front-end developers, they get to rewrite everything in the framework of the day every couple of years and they are handsomely paid. They get to invent new contraptions to keep up in the eternal race with native apps.

It does get a little annoying when someone points out that the emperor is naked, but otherwise life is good.

Re:Sick of Ruby, dynamic typing, side effects, and object-or... by pluma on Tuesday November 07, 2017 @06:53AM (#15642604)
Yes, clearly the web was better when half the sites were broken because you didn't have the latest version of Flash/Shockwave/Java and the entire website just showed a sad rectangle.

There's nostalgia and then there's outright denial. The reason you think the web was glorious in 2006 is that you forgot everything that was shit about it.

Want to know what made those shitty parts go away?

Modern JavaScript.

Re:Sick of Ruby, dynamic typing, side effects, and object-or... by ryanbrunner on Tuesday November 07, 2017 @08:18AM (#15643078)
2006 is maybe not the correct year, but I'd say the was a period around JQuery's heyday that had a lot of advantages compared to today. JavaScript, while used frequently, was mostly for progressive enhancement, CSS was beggining to be a saner language to work with (particularly with sass), and overall, I generally felt more productive than I do today in the JS-driven world of the web.

Absolutely there's a class of applications that wouldn't be possible with this approach, and I'm glad they exist. But it seems the "correct" answer to any problem to be solved on the web, no matter how straightforward, is to reach for React or a similar framework.

Re:Sick of Ruby, dynamic typing, side effects, and object-or... by blub on Tuesday November 07, 2017 @07:58AM (#15642951)
Java was irrelevant by then, shockwave was not really used for websites, that would be Flash, which was already installed on most clients and was working fine.

Flash was not shitty, it was quite good for writing apps, but it was proprietary and like a lot of contemporary tech it was (becoming) a security liability.

You're giving waaay too much credit to JS. Apple almost single-handedly buried Flash.

Re:Sick of Ruby, dynamic typing, side effects, and object-or... by zeveb on Tuesday November 07, 2017 @12:04PM (#15645129)
Modern JavaScript is just as bad as Flash, Shockwave & Java; indeed, it's worse: those plugins could be enabled or disabled within particular pages and everything else would continue to work just fine, but modern SPAs are utterly unusable without JavaScript. Modern web sites use JavaScript to insert text & images into the DOM; it's impossible to usefully view the web without a full-fledged JavaScript implementation. It's impossible to read a blog without exposing yourself to security & privacy risks due to JavaScript.

It used to be possible to escape; now it no longer is.

> Want to know what made those shitty parts go away?

> Modern JavaScript.

Modern JavaScript didn't make the shitty parts go away; modern JavaScript made the shitty parts universal.

Re:Sick of Ruby, dynamic typing, side effects, and object-or... by welly on Tuesday November 07, 2017 @07:03AM (#15642657)
> As far as benefits to the users are concerned, why is today's web better?

It does more. Significantly more than "back in the day".

Re:Sick of Ruby, dynamic typing, side effects, and object-or... by blub on Tuesday November 07, 2017 @08:01AM (#15642968)
It does more or less what Flash did back then. Probably less.

JS is nicer because it's a standard and it's supported everywhere.

Re:Sick of Ruby, dynamic typing, side effects, and object-or... by ashark on Tuesday November 07, 2017 @10:42AM (#15644287)
It seems to me that modern JS and CSS are mostly used to make much-worse-performing and even-more-annoying replacements for frames, and a plague of worse-than-ever popups. :-/
Re:Sick of Ruby, dynamic typing, side effects, and object-or... by oblio on Tuesday November 07, 2017 @07:04AM (#15642668)
I, for one, like webmail and don't pine for the days before Oddpost/Gmail and AJAX in general.
Re:Sick of Ruby, dynamic typing, side effects, and object-or... by mratzloff on Tuesday November 07, 2017 @07:32AM (#15642820)
I mean, there was webmail back then... Besides a prettier interface and hitting refresh to check for new messages, there's no substantive difference.
Re:Sick of Ruby, dynamic typing, side effects, and object-or... by mercer on Tuesday November 07, 2017 @07:39AM (#15642846)
You're excluding exactly what I suspect OP considers a substantive difference.
Re:Sick of Ruby, dynamic typing, side effects, and object-or... by oblio on Tuesday November 07, 2017 @09:39AM (#15643687)
Yes, exactly:

"Besides this major technical difference, there is basically no major technical difference" :)

Re:Sick of Ruby, dynamic typing, side effects, and object-or... by mercer on Tuesday November 07, 2017 @06:27AM (#15642489)
> For someone like me that got out when the pool was small around 2006, there is no incentive to jump back in. I mean yes, if I closed my eyes and jumped I would probably adjust after a while. But why jump in the JS pool when I can swim in the open sea? :)

I think that's actually worrying. While I'm not in the 'JS sucks; avoid at all cost' camp, I do find it a bit worrying that as I'm getting better as a developer, and as I'm getting more experience with non-JS ecosystems, I find myself avoiding it whenever possible. Even to the point of going for old-fashioned server-side apps just so I can use saner language ecosystem <x>.

I'm sure the loss of me will not affect the JS ecosystem much. But I'd be surprised if the same is not the case for many other, better developers. TJ Holowaychuck left for Go? Jose Valim moved on from Rails to Elixir (even to the point of creating it to solve problems he encountered with Rails).

I'm confident JS is important enough to keep a hold on many good devs, but I do hope we keep improving the ecosystem so that the really good developers stay on board to help improving it.

Re:Sick of Ruby, dynamic typing, side effects, and object-or... by zeveb on Tuesday November 07, 2017 @12:35PM (#15645499)
I think that 'really good developers' would better spend their time replacing the JavaScript ecosystem, not continuing to prop it up. The modern web platform is a security, privacy & performance nightmare, and there's no way to fix it; we need to burn it to the ground and start over again.
Re:Sick of Ruby, dynamic typing, side effects, and object-or... by sillysaurus3 on Tuesday November 07, 2017 @06:09AM (#15642428)
For someone like me that got out when the pool was small around 2006, there is no incentive to jump back in. I mean yes, if I closed my eyes and jumped I would probably adjust after a while. But why jump in the JS pool when I can swim in the open sea? :)

I was right there with you.

If you can find a way to retain your career and not have to worry, maybe it's not worth it.

But for me, I came precipitously close to having no marketable dev skills, by accident. I loved gamedev, and I spent my life learning it. It's what got me into programming.

Most cities don't have gamedev shops. And if you're not at a gamedev shop, you're not really a gamedev. Yeah you can try your hand at indie stuff, but that's roulette. Wanna be forced to move to whichever city has a studio? Be a gamedev.

So... Backing out of that career trajectory led to an uncomfortable realization: I'd amassed a bunch of low-level skills, had a deep understanding of Unix/C, and could implement https://lmax-exchange.github.io/disruptor/ without breaking a sweat. (Not merely use it; implement it.)

None of that translates into dollars. If you show up to a recruiter, they don't know what to do with you. There are literally hundreds of Rails gigs.

One interview went like this: They sat me down, opened up postgres, and said "Accomplish these goals." The goals were simple things like write SQL statements to query for certain types of users, or join data together.

I never had any reason to learn any of that. I knew that I could learn it if I needed to. I understood conceptually what joins are, why to use them, and what to avoid and why. The "why" is the crucial ingredient, and I naively thought that would protect me.

No... It's not fun when you have to sheepishly admit in front of three engineers that you have no idea how to write those SQL queries.

It was the same deal with Rails. Ditto for JS. Eventually I went through 5 interviews and struck out on all 5, in a row.

That's deep shit. When you start worrying about paying the rent, you're not in a happy position.

The way out of this mess, and not to end up in it, is to own it. Embrace all the shit. Become Elvis of code. Literally throw in the kitchen sink just because you haven't tried it out yet and this new kitchen sink might help you.

This story might not seem too relatable, and you might feel like your career is impervious. But a wise person once said that we overestimate the impact of years, and underestimate the impact of decades. "One decade" is so powerful that it's hard to overstate how much the world changes during that time frame. Are you absolutely certain you can get by without swimming in that pool that gives you the heebie jeebies?

Let go. Once you start swimming a few laps, it's not so bad. And in my case, I discovered I kinda like it. You're not supposed to like it, but it really is kinda fun. What other career would get to play with an endless box of legos?

Re:Sick of Ruby, dynamic typing, side effects, and object-or... by blub on Tuesday November 07, 2017 @06:45AM (#15642560)
Can't really relate I'm afraid.

I mean I think I understand why you chose JS, but we each make decisions that can take us on different paths.

I also do systems programming and have been doing C++ for most of my career. Instead of choosing JS I chose to invest in mobile and developed for iOS, Android and Nokia. Then I got back to system programming and will probably transition to software architecture.

I'm currently very interested in safety, security and reliability, which is basically the opposite of JS development culture. It seems to me that it's a big world development world out there.

Re:Sick of Ruby, dynamic typing, side effects, and object-or... by loup-vaillant on Tuesday November 07, 2017 @10:15AM (#15643976)
I expect there were other low-level jobs out there, outside the gaming industry. Were there? Why didn't take you one? Not criticising, but it looks like it would have been the path of least resistance.