Show more

Good morning. I thought today would finally be the day that I quit Brooklyn-based politics irony podcasts. Alas,

good morning, hereโ€™s my new guitar

how do I know itโ€™s mine?

it has my name on it ๐Ÿค—

good morning, I just love Monday mornings because I get to catch up on all my emailsssssss

Good morning, can anyone confirm that shrink-wrapped bread is unique to America? Why do this? [cw food]

good morning, I found this guide to using `tar` very helpful [cw screaming Arnold Schwarzenegger face]

good morning to the profound absurdity and existential horror I found on my way out the door of my apartment building this morning [cw ec]

Follow

good morning. props to Java developers for having such a good sense of humour about their, quite frankly, horrifying language

ยท Toot! ยท 7 ยท 13 ยท 20

good morning, I got an easter care package from my family back in Canada, check out its customs declaration label [cw food]

good afternoon, hereโ€™s a photo I took while diagnosing buzzing in my acoustic guitar

the buzzing persists, and itโ€™s really pissing me off if you wanna know the truth about it

@ashfurrow In the first one, you can overload visit() all three times and polymorphism will work fine.

Most of the time, the only problem with Java is uneducated kids and consultants using it badly.

@mdhughes I have a difficult time judging people for not yet having internalized such a bizarre thing as a โ€œprogramming language.โ€

@ashfurrow The problem is a kid's learned one hammer so that's all they apply to every problem. And the industry hires young inexperienced kids because they're cheap. And then none of our software works worth a shit.

Consultants are worse, because they should know better, but don't bother.

@mdhughes it makes me feel weird to see you call junior developers โ€œkidsโ€ โ€“ and in any case, it was just a meme. I havenโ€™t even written Java in nine years.

@ashfurrow I do call everyone under 30 "kids". It's very hard to distinguish them from this far side of the event horizon.

I mostly quit Java in 2008, but still maintain a few tools and it keeps those circuits active in my memory.

@mdhughes Aren't your interactions with junior developers then constrained by looking at them as children?

I learn a lot from the juniors I work with, and even in areas where I _am_ an expert, I consider newcomers to be peers.

@ashfurrow If they've specialized in something new, they might have had time to develop one useful skill, but generally the "kids" are literally where I was 2-3 decades ago.

I'm OK with teaching them, as long as I have time, but wouldn't trust their checkins without review.

I also don't have to collaborate a lot, just solve customer problems (often created and left behind by juniors) or work on my own things. If I had to be in a giant corporate machine again that'd be a different social problem.

@mdhughes okay, well, there ya go

For the record, I don't trust _any_ checkins without review :P

@ashfurrow The language is simple enough. The ecosystem and API ("standard library") are pure insanity.

Every so often a new solution comes along that has everyone jump on a bandwagon and sing hallelujah! But it hides the fact that at its base language design level, java makes O.O.P. really, really hard and cumbersome.

@aeveltstra that's an interesting perspective. If I may ask, isn't that the goal of the JVM as a compile target? So that languages like Scala and Clojure can take advantage of Java's popularity without having to use the actual syntax?

(Not that Scala isn't a difficult language, too!)

@ashfurrow Yes, it is. And then these other JVM-targeting languages have to build their own API, via which they show, that they hadn't planned for that, and just wind up making a big mess.

It's like how creating a new language is fun. But the ecosystem around it, to male that language practical to use? That's hard work.

@aeveltstra gotcha, that makes sense. Do you think this is why we (I) hear more success stories with languages compiling to the .Net CLR than compiling to the JVM? Because it was designed to be agnostic to languages from the start? (Not that it doesn't have to be hacky about adding support for new constructs, too.)

@ashfurrow I have on-hands experience with several .Net languages. Yes: the CLR does not appear to suffer the exact same issues. It suffers whole other ones.
Inside Powershell for instance, we can mix paradigms in the same script: functional, o.o., procedural, and maybe event-driven too (legacy VB was event-driven and moved from procedural to o.o. over time) - 1/2

@ashfurrow

But depending of the version of your script engine and the source version of an invoked library, Powershell may force us to employ a different, unwanted paradigm. And apart from finding a different library to invoke, there's literally nothing we can do.

That is not Powershell's fault, as far as I could determine, but the CLR. - 2/2

@aeveltstra interesting โ€“ I hadn't realized the different paradigms targeting the same runtime would add such complexity!

@ashfurrow pfft! ๐Ÿง only four! Common Lisp has five ways of doing it. clhs.lisp.se/Body/m_tpcase.htm

On one hand, limiting restricts the user. On the other hand, having many ways to do something makes the need for conventions greater, and that isn't nice either.

@ashfurrow Oh, crud, I tried to write out a DynamicDispatchFunction implementation as a fifth alternative and realized I couldn't do dependent type parameters between the keys and values of a map easily, so I'd probably have to do unchecked casts instead and hmmmmm. (What I want is something like <S> Map<<C> Class<C extends S>, Function<C, R>> if that existed.)

(I bet the real version would be an appropriate response, it's just beyond my silliness attention quota right now)

@ashfurrow can we at least add some electric tape to insulate those contacts. Hate to see cats get hurt

@ashfurrow
I love how this thread is now a real-life test case for Mastodon clients

@sturmflut haha, yuuuup. I thought about continuing last year's thread but decided to start a new one in 2019 to avoid crashing any software. Here's 2018's thread: mastodon.technology/@ashfurrow

@ashfurrow "Good" in that "the office didn't burn down overnight" :-)

@ashfurrow Holy shit, this made me cackle like a supervillainess :heart_cybre:

@ashfurrow I wish I could change his mind, but I really can't think of a valid argument at the moment. Give me a millennium or two, I might come up with something.

@ashfurrow Hang on a minute! I refuse to take morality lessons from an omnipotent, smarmy arsehole that put Tasha Yar in a blast freezer.

Sign in to participate in the conversation
Mastodon for Tech Folks

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!