this post was submitted on 24 Feb 2025
384 points (99.5% liked)

Programmer Humor

20885 readers
1613 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 

Good old Udemy Elixr/Pheonix courses being irrelevant within 6 months but still trying to con people by saying they're updated to current year.

top 42 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 5 days ago (1 children)

Are you wanting a general overview of Elixir and Phoenix, or do you want to jump into the most modern part of Phoenix, LiveView? I’m an Elixir developer, so I could help direct you to materials and answer questions if you’d like.

[–] [email protected] 1 points 5 days ago (1 children)

This is what I love about Lemmy post jokes get actual advice :D I'm learning it to create a monolith webapp for work I'm a solo dev, and it ticked the most boxes.

I've gone through the basics of elixir and pattern matching is starting to click, about to start Elixir in action. But I imagine most of my actual dev focus will be in Liveview?

[–] [email protected] 2 points 5 days ago (1 children)

Elixir in Action is a great way way to learn the core language, and it's pretty up-to-date with its latest edition. Elixir as a language has been declared feature-complete, so it doesn't change that much anyway (the major libraries are a different story).

If you wanted a book to walk you through LiveView after that, I can recommend Programming Phoenix LiveView. The book is currently in "beta", with the final version expected in a month, so it's very up-to-date. We have a book club at work and just finished it this past week. It does a good job of showing how to make live-updating CRUD pages along with building a pentominoes puzzle game that's rendered with SVG. You build up the project chapter-to-chapter and have a pretty cool little app at the end.

As long as you don't need offline support, then a monolith webapp seems like a perfect use for LiveView, especially for a solo dev!

[–] [email protected] 2 points 5 days ago

Thank you so much

[–] hperrin 1 points 6 days ago

I sometimes make videos on how to use one of my libraries. They’re often outdated a year later.

[–] [email protected] 45 points 1 week ago (7 children)

Man don't get me started. I went to college in the 10's

I remember when I was trying to learn android development kid and android 5 was just released and all the tutorials that existed were basically immediately deprecated. God what a frustrating time.

We learned node in class and I learned angularjs in my free time because it was the new shiny thing lol. Went to pick it up 2 years later, come to find out EVERYTHING I learned was deprecated.

[–] hperrin 2 points 6 days ago

Learn the fundamentals and try to use as few libraries as possible, is always my approach.

[–] [email protected] 28 points 1 week ago (1 children)

Google seem to be particularly bad at this. They did the same with Tensorflow. It was kind of the de facto deep learning framework until Google decided to deprecate everything. Everyone responded by switching to Torch instead.

[–] [email protected] 12 points 1 week ago

IMO tensorflow always had a worse API than PyTorch. There's even the legendary issue "I fucking hate tensorflow", now unfortunately censored as spam lol.

Tensorflow died because devs never bothered improving that. While PyTorch always had an increasing number of features and high level capabilities, TF has always felt like a lower level tool that only made sense choosing if you needed to run models for inference in other platforms. PyTorch Lightning on top of it was a great touch for researchers.

[–] [email protected] 14 points 1 week ago (1 children)

Android is the worst environment I've ever worked in. Concurrency? Use Threads! No wait, we got handlers and loopers now. Oh wait sorry, we're doing coroutines this year.

Now let's do DI with Koin. But ooh google released their own version with Dagger, but oh no! It's clunky to use, so well slap some more stuff in top and call it Hilt!

Networking, persistent storage, UI, permission flows, any other API they have follow the same pattern of new shiny thing, oh it didn't turn out very good, here's a new thing to replace the old. Congrats, every blog and SO answer is now outdated. Even the build system has gone from Maven to Gradle in Groovy to Gradle using Kotlin.

And don't get me started on Android Studio itself. The worst IDE I've ever touched. Any changes to the manifest and now you need to manually sync the project. Be prepared to create a shortcut to gradle's cache folder for easy deleting whenever it shits the bed.

Fuck Android development, I hope I'll never have to touch it again after this job.

[–] [email protected] 3 points 6 days ago* (last edited 6 days ago) (1 children)

Lmao. I love Android development but I've been doing it since froyo so I might have Stockholm syndrome.

I love shiny new toys :D. Kotlin as a language is p. good. The flip side to changing standards all the time is that stuff sometimes gets better :D.

Threads to coroutines was a huge improvement IMO.

[–] [email protected] 3 points 6 days ago* (last edited 6 days ago)

I agree kotlin can be a cool language sometimes. And I'm sure it's been a more gradual journey if you've worked with it while it's been evolving. But man, jumping in at Android 10/11 having to remain compatible with 7 (we've moved up to a minimum of 10 now thankfully) with how much background services and file storage permissions changed right around that time was an extreme headache to work around.

But I definitely prefer C#'s async/await Tasks than trying to wrap my head around all the various coroutine scopes, runBlocking and all that jazz. I know they are very similar concepts, but there's just something with coroutines that isn't clicking in my head.

[–] [email protected] 8 points 1 week ago

I wrote an app in 2016 and maintained it for some 3 years. Every year there would be a number of deprecated things that required code changes and it was a pretty simple app. I only imagine the amount of work more complicated apps demand.

[–] [email protected] 7 points 1 week ago (2 children)

this is exactly what turned me away from learning android properly.

even simple tutorials for calculator apps would be broken and i had no idea where to even start

[–] [email protected] 6 points 1 week ago

Fwiw, I think Android is starting to get to a good place now with Kotlin, Compose and the MVVM-architecture.

The old days were completely wild though

[–] [email protected] 1 points 1 week ago

Thankfully we have Flutter to fill the gaps in usable developer experience these days.

[–] [email protected] 3 points 1 week ago

I had an app development course in university and probably the most valuable tip our professor gave us was to limit the timeframe for search results to the last year

[–] [email protected] 3 points 1 week ago

You must not have React'd well to that.

[–] [email protected] 16 points 1 week ago (1 children)

Is that a chocolate tea pot?

[–] [email protected] 13 points 1 week ago (2 children)
[–] [email protected] 1 points 6 days ago

It doesn't seem very useful

[–] [email protected] 8 points 1 week ago (1 children)

I trust your teapot knowledge seeing what instance you're on.

[–] [email protected] 3 points 1 week ago

Well the alternative was too heinous to consider.

[–] [email protected] 16 points 1 week ago (1 children)

It's even happened to me with python. I stepped away from programming for a while and now all the guides are about 3.8 while the version on trixie is 3.13

[–] [email protected] 24 points 1 week ago* (last edited 1 week ago) (2 children)

Has python changed that much for a new learner that a 3.8 tutorial is worthless in 3.13?

I don't think so...there's new features that wouldn't be taught, but most everything from Hello World to decorators and lambdas were present in both.

Now, if you have a python 2 guide....yeah. That's worthless. That shows its flaws during "Hello World".

[–] [email protected] 12 points 1 week ago* (last edited 6 days ago) (1 children)

Python 3.11 onwards can basically be a fully statically typed language, which is a pretty dramatic change in where you spend most of your time. Python 3.13 allows you to do multi threading as a compiler option, we might see native multi threading in 3.14 or 3.15 (or maybe that's a 4.0-worthy feature honestly)

[–] [email protected] 14 points 1 week ago* (last edited 1 week ago) (2 children)

Python now has type hints, which are not the same as static typing. Those hints do not change program operation. See https://peps.python.org/pep-3107/

You can pass a string to a function parameter annotated as int and Python will happily accept it (assuming the function does not attempt to call a method that a string doesn't have).

[–] [email protected] 1 points 6 days ago

You got any code written for Python 3.8 that won't run in 3.13?

[–] [email protected] 1 points 6 days ago

CAN being the critical word here. If you use tools like pydantic, then yes, typing can be strictly enforced, or as most people use it, you can type only what you want to type.

[–] [email protected] 6 points 1 week ago (2 children)

Well the last version I was actively using was 3.6 and the shiniest new feature I remember is switch cases from 3.7, so yes it has for me

[–] [email protected] 8 points 1 week ago

Well. Yeah, if you want to learn the shiniest new features, you'll need the shiniest new references.

But for a new user, for whom Python is probably one of the first languages they learn, a 3.8 reference won't give them much trouble for a while.

I say this as a novice Python user tho.

[–] [email protected] 5 points 1 week ago (1 children)

I think each of 3.8 through 3.11 were substantial, just in different ways.

[–] [email protected] 2 points 1 week ago

I believe it! One glimpse at the latest docs tells me that every major builtin library I knew is depreciated or gone. I'm not even sure if secrets is still the correct encryption library. Honestly I might have to start fresh with Python like it's a new language

[–] [email protected] 14 points 1 week ago

Or Blender. Seems like every little update moves menu items around making every guide you look up unusable.

[–] [email protected] 6 points 1 week ago (2 children)

Somewhere around here I have a "Learn C++ in 24 hours" book that was published in 1999. I have a feeling that a modern C++ expert would react the same way 22nd century McCoy reacted to 20th century medicine in Star Trek IV.

(For you youngsters, I'll-get-around-to-its and nope-not-for-mes who haven't seen it, he mutters things about "dark ages" and "Spanish Inquisition". The whole movie is goofy, including the otherwise terrifying main plot point.)

[–] [email protected] 4 points 1 week ago

Upvote for McCoy reference

[–] [email protected] 1 points 1 week ago (2 children)

Would you recommend it? I've seen the wrath of khan, it was alright but tos just can't hold my attention like tng

[–] [email protected] 3 points 1 week ago

Absolutely, it might be tied with Galaxy Quest for my favorite Star Trek movie. And even if your tastes lean more towards drama or action than comedy, it's still very close to the top of the list.

[–] [email protected] 3 points 1 week ago

It's an even-numbered Star Trek movie. They followed a pattern for a while where they were the good ones and if you were going to skip one, you skipped the odd numbered ones, even the first. Especially the first.

As for recommend, it depends how much you love / know the characters. I grew up on re-runs of the 60s TV show and am pretty sure I saw it for the first time at the cinema. That would have been a couple of years before TNG was even a thing, so my opinion might not mean much even then.

But yeah, sure. Watch it on a grey rainy afternoon with friends or family when you've nothing else to do. Trust me when I say that specific weather outside will definitely add to the experience.

[–] mp3 5 points 1 week ago* (last edited 1 week ago) (1 children)

I had to build a Windows Installer package using WiX Toolset, and v5 came out maybe 3-4 months at that point and the structure compared to v4 is quite different.. that was fun trying to build something with lackluster documentation compared to v4. I gave a shot to ChatGPT, etc to help, but all it could spit out was a mess.

[–] [email protected] 2 points 1 week ago (1 children)

4 to 5 added like 2 tags, but was fully backwards compatibile. the painful upgrade you're thinking of was 3 to 4 where they basically rewrote, it but don't have any tutorial content other than one of the main devs making an absurdly long series of walkthrough videos so it's impossible to find the topic you're interested in

[–] mp3 2 points 1 week ago* (last edited 1 week ago)

Right, I think I found a lot of stuff for v3, but not that much for v4 and almost nothing for v5. I still managed to figure it out and I have a decent template now.

The worst is trying to find which version a post on StackExchange is about..

Just having an example with the most common tasks (ex: creating registry keys, registering DLLs or Fonts, etc) and having some comments in there with the common pitfalls to avoid would really go a long way.

I do appreciate v5 in a way, now that you don't need a preprocessing step for the file, that you can use a wildcards for a directory, and you can just build a package in a single step is a great improvement. Maybe I was spoiled with Nullsoft and Inno Setup in the past 😬