Live data from Hacker News

Advice to my younger self: become allergic to the churn

lambdaisland.com

151–160 of 221 posts

Re: Advice to my younger self: become allergic to the churn

#151
post #9

Unfortunately doing this tends to lead to being unemployable because too many people associate being immersed in churn as "productivity." This spreads philosophically and suddenly people doing the hiring want these kinds of people who can "solve" these kinds of "problems." At the same time, finding something that works and sticking with it perpetually sounds wonderful - perfect, even. But breaking things and doing ha…

The best way to stay employed is pick something new. Start writing medium posts how this is so much better than what they are using. Get hired once the problems start mounting repeat the process for a new language.

Re: Advice to my younger self: become allergic to the churn

#152
post #75
post #41

Earlier quoted context omitted.

You may hate Make and it is certainly far from ideal (tab-based syntax was a mistake) but the thing is, Make has very simple rules that haven't changed for decades and Makefiles generally keep working (and when they break it isn't the fault of Make itself but of something else that isn't as stable/backwards compatible as Make).

Common make fail #1 The project you landed on has been using some souped-up supermake with a ton of features (which were used with wild abandon) and some subtly different semantics for (say) macro expansion and variable assignment (and these are really difficult to determine the dependency scope of). The build system has grown to a recursively gnarly Turing-complete mess. So when you go to update the tooling, you fin…

Honestly, more than anything, this reminds me of the time Uber flounced off PostgreSQL because its performance sucked when used incorrectly.

When you (the general "you", please) use a tool wrong, you can look kinda a fool for blaming the tool.

Re: Advice to my younger self: become allergic to the churn

#153
post #150

Earlier quoted context omitted.

I'm a JS dev and I love it, but JavaScript is to programming languages what the electric guitar is to musical instruments. It's the thing that attracts a lot of new beginners who may or may not be interested in the more serious theory that makes programming what it is.

Agreed. I've gotten to where I don't like it as much for really large projects - TypeScript helps a bunch but is inherently limited by aspects of JS itself - but there is absolutely no language I'd rather sketch something out in. The core data types actually strike a really excellent balance between representing the major distinct paradigms (named collections, unnamed collections, strings, numbers, booleans) while gi…

Yeah definitely, it's amazing for scratching together ideas. Though at a certain scale, it starts to feel pretty fragile. I don't have much experience with other languages but the explicit interface/implementation paradigm that Objective C used was so amazing to me (as someone who started out in JS). I find myself missing it every now and then, especially for large projects.

Re: Advice to my younger self: become allergic to the churn

#154
post #86

Earlier quoted context omitted.

I have a similar set of experiences but have a feeling that it's at least partly down to the sheer number of people writing Javascript and the very public nature of much of that code that so much of it is a mess. I don't think there's anything inherent in JS that make is produce messy code other than the fact that it's easy for amateurs to get results (thanks to the fact it runs in a browser and there's lots of easil…

I'm a JS dev and I love it, but JavaScript is to programming languages what the electric guitar is to musical instruments. It's the thing that attracts a lot of new beginners who may or may not be interested in the more serious theory that makes programming what it is.

Also, it's used with high levels of added distortion.

Re: Advice to my younger self: become allergic to the churn

#155
post #51

Earlier quoted context omitted.

There is something extremely weird about the idea of having a build system for a particular language. It is not uncommon for a project to have multiple languages and it is also possible that some of the source code in one language is generated by an executable in another language. Because of this and because of compatibility issues the correct number of build systems to exist is 1. If there is more than 1 in a single…

Rake isn't for Ruby any more than Make is for C. It comes from that ecosystem, but you can use it for anything. If you've got a system ruby installed, you've probably also got rake.

Exactly. Remember in 2010 before grunt a lot of us were using maven to build single page JavaScript apps? That was pretty funny in retrospect :-) The creator of angular created the precursor to the karma test runner, called jstestdriver, which was a maven plugin ;-) It worked though! We built a single page app with tdd using it at Autodesk.

Re: Advice to my younger self: become allergic to the churn

#156
post #100
post #45

Earlier quoted context omitted.

What are you referring to? Linux never intentionally breaks userspace code.

Linux as narrowly defined as the kernel is very good at not breaking things. Linux as used in common speech to mean a Linux distribution and associated libraries undergoes constant churn. I maintain a cross platform desktop app for Windows, macOS and Linux. Windows is the best, 32 bit versions going back 15 years still work no issues. macOS is next, 32 bit don't no longer work, but 64 bit versions still work going ba…

[deleted]

Re: Advice to my younger self: become allergic to the churn

#157
post #145
post #102

Earlier quoted context omitted.

what killed Javascript for me (and I think many others) is that there is no idiomatic way of writing Javascript. There is no "javascript"-y way of doing things (unless you count callback hell). I'm not saying that a language should only offer one approach to a problem, but there should be general guardrails and guidelines. A shared vocabulary. None of that exists in modern JS

The same criticism (which is a valid one) is doubly true of Lisp, but Lisp doesn't take half the flak that JavaScript does.

That's because there's three or four orders of magnitude more JS code out in the wild, then there is Lisp code.

Re: Advice to my younger self: become allergic to the churn

#158
post #145
post #102

Earlier quoted context omitted.

what killed Javascript for me (and I think many others) is that there is no idiomatic way of writing Javascript. There is no "javascript"-y way of doing things (unless you count callback hell). I'm not saying that a language should only offer one approach to a problem, but there should be general guardrails and guidelines. A shared vocabulary. None of that exists in modern JS

The same criticism (which is a valid one) is doubly true of Lisp, but Lisp doesn't take half the flak that JavaScript does.

"There are only two kinds of languages: the ones people complain about and the ones nobody uses."

- Bjarne Stroustrup

Re: Advice to my younger self: become allergic to the churn

#159
post #100
post #45

Earlier quoted context omitted.

What are you referring to? Linux never intentionally breaks userspace code.

Linux as narrowly defined as the kernel is very good at not breaking things. Linux as used in common speech to mean a Linux distribution and associated libraries undergoes constant churn. I maintain a cross platform desktop app for Windows, macOS and Linux. Windows is the best, 32 bit versions going back 15 years still work no issues. macOS is next, 32 bit don't no longer work, but 64 bit versions still work going ba…

[deleted]

Re: Advice to my younger self: become allergic to the churn

#160
post #105
post #55

Earlier quoted context omitted.

I've been working with Clojure for the past decade, and haven't had to deal with any of the craziness. The job market is smaller, but so is the pool of developers. Companies tend to be more flexible because of that and are often open to remote work. I'd much rather work in a sane niche market than deal with the mainstream churn.

Isn't it fair to say, though, that you're not the average Clojure dev? I mean you have a book and a web framework to your name so that puts you way ahead of the pack. As an average Clojure dev I've found it very difficult to find work.

That's just a result of me having been working with the same tech for a long time. When I was starting out with Clojure it was a lot more niche than it is now, and finding jobs was much harder. The whole reason I published a book was due to lack of beginner resources being available. So I don't think there's anything special about me, it's just that I was stubborn about wanting to work with Clojure and didn't get dissuaded until I made that a reality.

We have local Clojure meetup in town, and when I first started going there pretty much everybody was using Clojure as a hobby. Today, we have a bunch of companies using it in production, and all of them are actively hiring. The last three coop students I had all ended up getting Clojure jobs. I imagine this varies based on where you live of course, but another option is to simply introduce Clojure at a place that's using something else. That's where Clojure jobs come from in the first place at the end of the day.

Post reply on HN