There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

programmerhumor

This magazine is from a federated server and may be incomplete. Browse more on the original instance.

BiteSizedZeitGeist , in Beginning with Kotlin and it's...

I did a bootcamp for Java, and lucked into a junior Android dev role, and man, I’ve really grown to love Kotlin. It really does have all the things I liked about Java, like type safety, but it’s so much more concise. It was pretty confusing at first, a lot of Kotlin is just syntactic sugar, and you kinda need to know what Kotlin is cutting out to make sense of things. But once I got into it, it just feels so much faster and expressive than Java.

I’m really happy when I see Kotlin being adopted outside of Android, like in backend services and such. But that rarely happens.

WilliamsStark OP ,

Interesting. Thank you for your feedback. I should go all the way with Kotlin then.

flashgnash , in My debugging experience today: Quantum Debugging

Clearly you should just ship it with the debugger and call it a day

phorq ,

Exactly, who would put a rebugged version into production anyway?

flashgnash ,

That would just be irresponsible we want fewer bugs not more of them!

werefreeatlast , in Microsoft builds a Death Ray.

I up voted this. Not because I think Microsoft is fantastic for having built a deathray, but because I think this is relevant.

Just wanted to clarify.

MacAnus ,

Did you read the article?

werefreeatlast ,

Nope.

xor ,

it’s satire

werefreeatlast ,

Yes

fer0n , in What You're acc to your fav language

Not all of these are programming languages btw

racketlauncher831 ,

You’re a nerd for knowing that.

xmunk ,

You’re a nerd for calling them out about it.

fer0n ,

I was basically begging for that comment ^^

SwampYankee ,

Scripting languages are for popular kids and jocks.

fer0n ,

I don’t know all of them, but I was talking about React being a framework, not a language.

SwampYankee ,

Hah, I kinda glossed over that one. Not sure what the downvote is about, it’s a joke. JS and PHP are the two I’m most familiar with and they’re scripting languages, not “proper” programming languages. That doesn’t make them any less serious. Anyway, React, being a library for a scripting language, is two steps removed.

DrJenkem ,
@DrJenkem@lemmy.blugatch.tube avatar

Accepting languages are a subset of programming languages though.

Agility0971 ,
@Agility0971@lemmy.world avatar

matlab is considered a programming language but that piece of shit acts more like a scripting language than php

docAvid ,

A scripting language is certainly a programming language. In fact, it can be hard to even draw a line at all. PHP is just-in-time compiled, and has static analysis tools that can catch errors that are normally considered “compile-time” - scripting language or no? Is Typescript compiled? Are JVM bytecode and WASM just very low level scripting languages? Can you write a powerful web application using BASH? What even is Lisp, in this context? “Scripting language” is a poor abstraction, really.

hackerwacker , in Being Agile

Our sprint at work has been going on for almost 900 days.

Nighed ,
@Nighed@sffa.community avatar

Ah! Your using Kanban then!

invertedspear , in question, When were programmers supposed to be obsolete?

Salesforce advertised “No more developers” for awhile in the mid 2010s. It was great fun trying to clean up the mess all the “not programmers” made of those systems. I really hate Salesforce. They must have some of the best sales people on the planet.

jonne ,

And now job boards are full of ads for ‘salesforce developers’ that pay ridiculous amounts because nobody really wants to work on salesforce.

invertedspear ,

I know I’ve chosen to take lower paid jobs rather than work on Salesforce.

Skullgrid ,
@Skullgrid@lemmy.world avatar

Hook me up, I work in outsourcing for salesforce and my current job has failed to find me a client for a while now.

They keep telling me it’s hard to find a client

Muffi , in What You're acc to your fav language

MATLAB is such a scam. Luckily a growing amount of universities are starting to realise it.

ChewTiger ,

I really enjoyed using MATLAB in school and it really helped with some of my graduate stuff. What scummy stuff are they up to? Any alternatives you’d recommend?

paholg ,

Python with numpy/matplotlib/scipy.

EdibleFriend , in What You're acc to your fav language
@EdibleFriend@lemmy.world avatar

What does it say about a person like me who reads all these damn memes even though I don’t know jack shit about programming?

GlitterInfection ,

You’re a geek.

EdibleFriend ,
@EdibleFriend@lemmy.world avatar

When I saw this reply in my inbox I honestly had no idea which of my posts it was going to be related to because it could probably apply to most of them.

Empricorn ,

They bite the heads off live chickens!?

en.m.wikipedia.org/wiki/Geek_show

insomniac_lemon ,
@insomniac_lemon@kbin.social avatar

I'm like that because:

  • I need a hobby
  • weird history with programming, but never actually liked any programming language enough to have a real project.
  • now I found a niche language* that I like but so far it's just not where I want get started (one example, still no bindings for Godot 4)
  • Ray almost tricked me into making a framework for a framework but I saw right through that
  • personal issues

*=Nim

xmunk ,

Might I suggest a Haskell for the indecisive diner?

jeremias ,
@jeremias@social.jears.at avatar

Never worked with nim or godot, but it is able to call c routines? So I guess you would be able to call to gdnative?

Likely isn’t gonna be beatifull, but it should work.

leaky_shower_thought ,

maybe, on off-chance, you fall under the term script monkey?

it’s like someone who understands well enough to run things but not grok through.

just remembered stumbling on it while reading some sci-fi.

theneverfox ,
@theneverfox@pawb.social avatar

It says you should write some damn code.

Anyone can program, granted they aren’t intimidated by the concept… It’s actually very easy, and most professionals are pretty bad at it.

I, and probably lots of others, would be happy to recommend a starting point based on your interests. If nothing else, it will make you smarter

tiredofsametab , in The C++ learning process

I learned c from a book from the 80s and then skipped to rust.

The only time I touched c++ was modding games in the early aughts and to try it for a couple coding challenges. I've heard templates are a thing of note when it comes to complications but not sure.

As for c# ... We don't talk about that (jk. I had to do it for one or two projects and played with unity a bit ages ago)

unionagainstdhmo OP ,
@unionagainstdhmo@aussie.zone avatar

Was that “The C Programming Language”? I learned C from that after a bit of C++ and it made everything make so much sense. C is refreshingly simple.

I’ve heard templates are a thing of note when it comes to complications but not sure

It’s funny because that is the one feature I really wish C had, I can live without member functions but templates or even a good generics system would be great. I did some C# with MonoGame and FNA. Language has gotten better as of late but idk about performance, way better than VB.

tiredofsametab ,

Probably. I think I still have the book in storage back in the US. At some point, I also got "learn c in 24 hours" or something as well.

TheHarpyEagle , (edited )

Honestly C# has grown on me quite a bit. Shakes off some of the bloat of Java and linq is pretty handy. God knows if I can’t tell you what the distinction is between C# and .NET Core and whatever the hell ASP is.

unique_hemp ,
  • C# = Java (the language itself)
  • .NET (Core) = Oracle JDK (a runtime and std lib implementation for the language)
  • ASP.NET = Spring boot (the default web framework)
TheHarpyEagle ,

Thank you!!

Treczoks , in My debugging experience today: Quantum Debugging

Heisenbug. Nasty buggers, especially in my domain: Embedded Engineering. When you are in the debugger, the whole processor is stopped, missing tons of data coming in, missing interrupts, getting network timeouts, etc. More often than not, resuming makes no sense, and you have to get straight to reboot.

fiqusonnick ,

“You don’t debug embedded” ~my brother, who’s been working in embedded for almost 15 years

Treczoks ,

That’s why I work with an extraordinary diligence to avoid making errors from the very start. Debugging is only a measure of last resort.

Treczoks , in The C++ learning process

After you’ve done some languages, they all look the same. Yes, some have interesting features like the indent-based blocking of Python, and I’ll have to look up if the new language has “else if”, “elsif”, “elif”, or whatever, but als long as it is coming from the family of ALGOL-like languages, it does not matter much. You’ll learn the basic functions needed to get around, and off you go.

Just a few weeks ago, I started learning Python. Yes, this indenting takes some time to get used to. My son does Python for about a year now - he started with it at university. Maybe ten days after I started learning, I invited him to have a look at my first Python program. I have no idea what he expected. A “Hello, World” with a few extra features, maybe? Definitely not the 2.5k lines app I had written in my spare time, with GUI, databases, harvesting data from a web site with caching, and creating PDF files with optimized layout for the data I processed. In the end, it was just another programming language.

xthexder ,
@xthexder@l.sw0.com avatar

I guess you’ve never seen some of the 10-page template errors C++ compilers will generate. I don’t think anything prepares you for that.

Treczoks ,

I’ve seen way worse. Imagine a project that uses C preprocessor structures to make a C-compiler provide a kind-of C++. Macros that are pages long, and if you forget a single bracket anywhere, your ten pages look like a romance novel.

Or VHDL synthesis messages. You’ve got no real control over them, 99.9% of the warnings are completely irrelevant, but one line in a 50k lines output could hint at a problem - if you only found it.

So far, the output of C or C++ compilers (except for the above-mentioned project) has not been a problem or me, but I’m doing this for about 40 years now, so I’ve got a bit of experience.

xthexder ,
@xthexder@l.sw0.com avatar

Yep, sadly I’ve been exposed to a few such codebases before. I certainly learned a lot about how NOT to design a project.

You’ve been at it longer than I have, but I’ve already had coworkers look at me like I’m a wizard for decoding their error message. You do get a feel for where the important parts of the error actually are over time. So much scrolling though…

Treczoks ,

Yes, I have my share of coworkers asking me when they run into problems, too. They even ask me when they have Windows problems. And I don’t do Windows - I do Linux and embedded systems.

locuester ,

You do get a feel for where the important parts of the error actually are

Yes, after decades of scanning large pages of text - code, errors, logs, search results, etc - a programmers ability to apply pattern recognition to screens of letters can be truly remarkable.

xthexder ,
@xthexder@l.sw0.com avatar

All I see now is blonde, brunette, redhead.

  • Cypher, The Matrix
dizzy ,
@dizzy@lemmy.ml avatar

I had to do a module programming in VHDL for my EE degree.

Every time I see it mentioned anywhere I have a compulsion to scream: FUCK VHDL AND ITS FUCKING ERRORS! NO YOUR ANALYSIS & SYNTHESIS IS UNSUCCESSFUL!

I did not pursue a career in electronics…

Treczoks ,

One of the key problems of learning VHDL at universities is that most teachers there are amazingly clueless about the language. Not only do you need a bit of a different mindset (you do not program, you define), but their knowledge of language and systems is stuck in the last century.

When I was a regular in a VHDL group on the site we don’t mention here, we regularly had students who got taught techniques that are obsolete or at least deprecated since 1989.

fushuan , (edited )

I’ve not had those while working with concurrent programs with c++ for over a year. Pointers, QT programming, non-qt backend programming, coding an engine to work with computer vision runners (openvino mostly), image management (more pointers)… Idk, this is gonna sound rude but just code better? Most of my errors were segfaults, I have had to plug the debugger and/or tons of prints and I made it work.

If you want to see giant error logs, check pyspark errors. But even those have the relevant line of info and then all the rest of the garbage info that no one really needs, like any other language.

xthexder ,
@xthexder@l.sw0.com avatar

It really depends what you’re doing. The last big project I did with C++ templates was using them to make a lot of compile-time guarantees about concurrency locks so they don’t need to be checked at runtime (thus trading my development time for faster performance). I was able to hide the majority of the templates from users of the library, and spent extra time writing custom static_assert messages.

C++ templates are in fact a compile-time turing complete language, as crazy as that sounds.

MonkderVierte , (edited )

Definitely not the 2.5k lines app

MVC can be a great experience, especially with python dictionaries.

Treczoks ,

Learning how to get models and views together took some time, but after the second refactoring that week I managed to have neat objects for each MVC with clean interfaces. My biggest source in the app defines a requester with three columns of lists: a global category, then parts from that category, and finally the available colors for that part. Each of those views is an object, their interacting logic is an object, and finally the actual requester is an object, and this makes thing easy to handle.

MonkderVierte ,

Great!

explodicle ,

I didn’t even know about the Python indentation thing until I was practically done learning it! I’m just used to copying whatever indentation scheme my coworkers are using, for consistency.

dependencyinjection ,

I’m interested in specifically what your first program did?

Like what data is it harvesting and how is it showing that in PDFs or should I say why?

Treczoks ,

The software gets data from a website named bricklink.com, where one can buy and sell LEGO bricks and sets.

The main view holds a list of bricks I’ve selected from the large range available. In a requester to add parts, I can select a certain brick from the list of existing bricks by first chosing a category (e.g. “Bricks”) in the leftmost column, then chosing it’s shape (e.g. “Brick 2x4”) in the middle one, and then selecting the color (of the known existing colors for this brick, e.g. “Black”) in the right column. On all three selections I can multi-select and sort, which allows me to select e.g. a number of different Bricks, then sort the last view by color, and multiselect those bricks in the color I need. OK’ing the requester add the part(s) to my list.

The list that shows all the properties (including when this part was in production, how much a single brick of it weighs, as well as mold codes and article numbers). From there, I can choose some bricks (usually 15 in a go) to print, which produces a PDF with 15 labels on a double-sided A4-paper with cut-marks on one side. I cut them along the cut marks and put them into the bag with the coresponding part. This is quite helpful, if you consider a box with bags all containing e.g. black parts and bad lighting conditions in the storage room. Alternatively, I can print a double-sided paper with four larger cards to cut, which I laminate and use for marking boxes when I have larger amounts of one brick shape and color.

I can (and do) export those bricks to an export folder as CSV once I’ve printed the labels. In a future version of the software, I will be able to take a bag or box of parts from my collection, select it in my software via it’s article number, and derive an approximate count by weighing them (therefor the parts weight) to get an approximate inventory.

dependencyinjection ,

Hey, thanks for explaining the project for me. That sounds fascinating, is it public? Not that I want to steal it, I never got into Lego, just would like to see exactly how it works.

It also begs the question of how much Lego you actually have lol.

I’ve been thinking of building Lego when I’m sad but it seems so expensive.

Treczoks ,

No, the project is still in its early stages, far from what I would publish.

Regarding the amount of LEGO, well, if I write a resource management and inventory system, you can imagine that it is a bit more than a handfull. My current estimates are around one million bricks, give or take a few hundred k. One of the reason to inventorize it…

dependencyinjection ,

Thanks again.

Do you make money with Lego or is it purely a hobby. Apologies for the questions I’m inherently curious and this is very interesting.

Treczoks ,

I don’t make money with it, on the contrary - my son is a bit more direct here and claims I’m wasting money ;-) It is just a hobby. OK, a big one. I build my own models for fun and exhibit them at shows and events.

And: Curiosity is good. It kept the human race advancing.

dependencyinjection ,

Thanks again.

I would say that it isn’t wasted money if it’s something you enjoy and brings you pleasure or satisfaction.

mitchty ,

Yeah this only really applies to Algol style imperative languages. Dependent types and say stack languages like idris and apl are dramatically different in their underlying axioms.

Treczoks ,

Indeed. I have done languages like Prolog and Forth, too, and have actually written a bit in APL ages ago. Yes, they are different, but in the end, it just adds a little bit of complexity. The underlying algorithms are universal, just the methods and structures to achieve them differ. Actually, the first programming language I have written was a simplified Forth derivate - in 6510 Assembler.

answersplease77 , in My debugging experience today: Quantum Debugging

this happens with so many scripts I’ve tried to debug with strace because strace requires to run as root or sudo which elevates the niceness of process which prevents certain errors from occuring when the script is run with root permissions and so it runs flawlessly without bugs and you sit wondering wtf

bhamlin , in My debugging experience today: Quantum Debugging

This is where printf debugging really shines, ironically.

meekah ,
@meekah@lemmy.world avatar

I once had a racing condition that got tipped over by the debugger. So similar behavior to what’s in the meme, but the code started working once I put in the print calls as well. I think I ended up just leaving the print calls, because I suck at async programming

Buddahriffic ,

Yeah, I was going to mention race conditions as soon as I saw the parent comment. Though I’d guess most cases where the debugger “fixes” the issue while print statements don’t are also race conditions, just the race isn’t tight enough that that extra IO time changes the result.

Best way to be thorough with concurrency testing IMO involves using synchronization to deliberately check the results of each potential race going either way. Of course, this is an exponential problem if you really want to be thorough (like some races could be based on thread 1 getting one specific instruction in between two specific instructions in thread 2, or maybe a race involves more than 2 threads, which would make it exponentially grow the exponential problem).

But a trick for print statement debugging race conditions is to keep your message short. Even better if you can just send a dword to some fast logger asynchronously (though be careful to not introduce more race conditions with this!).

This is one of the reasons why concurrency is hard even for those who understand it well.

dejected_warp_core , (edited )

Honestly, this is why I tell developers that work with/for me to build in logging, day one. Not only will you always have clarity in every environment, but you won’t run into cases where adding logging later makes races/deadlocks “go away mysteriously.” A lot of the time, attaching a debugger to stuff in production isn’t going to fly, so “printf debugging” like this is truly your best bet.

To do this right, look into logging modules/libraries that support filtering, lazy evaluation, contexts, and JSON output for perfect SEIM compatibility (enterprise stuff like Splunk or ELK).

super_mario_69 , in Dealing with tech debt
@super_mario_69@hexbear.net avatar

I’m on a project where we original had three devs, but two of them did exactly what is depicted in this image, so now there’s only me. There’s a proper god damn mountain of tech debt that keeps growing. At this point it’d take me probably a solid couple of months to sort it out, but of course the customer doesn’t want to pay for anything, because “what’s the problem, it’s still running”. All I can really do is glance at it every now and then, like that gif with richard ayoade and the fire from IT crowd. It’s a pretty big and widely used system too, so it’s gonna be a real biblical clusterfuck when it finally shits the bed.

yogthos OP ,
@yogthos@lemmy.ml avatar

This is the curse of working in tech. As long as things are working smoothly from customer perspective then the pleas to spend the time to deal with the tech debt are ignored. Yet, when enough debt piles up and things start breaking then it’s the people who’ve been warning about the problems the whole time who get blamed.

tetris11 ,
@tetris11@lemmy.ml avatar

please be Amex, please be Amex, please Amex

backhdlp , in What You're acc to your fav language
@backhdlp@lemmy.blahaj.zone avatar

If you recognize them all, you’re a double nerd

soggy_kitty ,

Am I delusional or am I really that nerdy? Who doesn’t recognise at least one of these?

I feel like they’re all super common language/frameworks

pingveno ,

Can I be a 1.99x nerd if I missed the bird one? (Swift, from a quick search)

Asudox ,

Guess I’m one.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines