General Programming Discussion

9094 readers
11 users here now

A general programming discussion community.

Rules:

  1. Be civil.
  2. Please start discussions that spark conversation

Other communities

Systems

Functional Programming

Also related

founded 6 years ago
MODERATORS
1
 
 

cross-posted from: https://lemmy.eco.br/post/17894331

From the video description:

Stop recompiling your C code just to change a number. adjust.h is a single-header library that lets you edit variables while your program is running - no rebuilds needed. Just include the header, mark your variables, and watch them update live as you edit your source file. In this video, I'll show you how to set it up and demonstrate why this simple tool can save you time.

Works with any C99 compiler and integrates perfectly with Raylib, ImGui, and other popular libraries. Whether you're tweaking game physics, adjusting graphics parameters, or fine-tuning algorithms, adjust.h will make your life simpler. Zero dependencies, minimal setup, maximum productivity.

2
3
2
Rendering surfaces (clojurecivitas.github.io)
submitted 3 days ago by yogthos@lemmy.ml to c/programming@lemmy.ml
4
 
 

Qt Creator 18 adds experimental support for Development Containers and many more improvements.

5
6
7
8
 
 

cross-posted from: https://lemmy.ml/post/37947683

Hans-Kristian Arntzen wites:

There’s no shortage of examples of beginners rendering a simple triangle (or a cube), and with the new APIs having completely displaced the oxygen of older APIs, there is a certain expectation of ridiculous complexity and raw grit required to tickle some pixels on the display. 1000 lines of code, two weeks of grinding, debugging black screens etc, etc. Something is obviously wrong here, and it’s not going to get easier.

I would argue that trying to hammer through the brick wall of graphics is the wrong approach in 2025. Graphics itself is less and less relevant for any hopeful new GPU programmer. Notice I wrote “GPU programmer”, not graphics programmer, because most interesting work these days happens with compute shaders, not traditional “graphics” rendering.

Instead, I would argue we should start teaching compute with a debugger/profiler first mindset, building up the understanding of how GPUs execute code, and eventually introduce the fixed-function rasterization pipeline as a specialization once all the fundamentals are already in place. The raster pipeline was simple enough to teach 20 years ago, but those days are long gone, and unless you plan to hack on pre-historic games as a hobby project, it’s an extremely large API surface to learn.

9
 
 

In my decade-plus of maintaining my dotfiles, I’ve written a lot of little shell scripts. Here’s a big list of my personal favorites.

  • Evan Hahn
10
 
 

The ghosts of ancient Hackers past still roam the machines and—through the culture they established—our minds. Their legacy of the forging of craft lingers. A deep and kinetic craft we’ve extended and built a passionate industry on. We are driven by the same wonder, sense of achievement, and elegance of puzzle-solving as they were. Still driven by “The Right Thing.” These constitutional ideas, the very identity of programmers, are increasingly imperiled. Under threat. The future of programming, once so bright and apparent, is now cloaked in foreboding darkness, grifts, and uncertainty.

11
12
13
 
 

cross-posted from: https://reddthat.com/post/52215274

I’m searching for programming Q&A sites like Stack Overflow where I can ask “how-to” or practical coding questions without worrying about moderators closing my posts. Ideally, a community that’s beginner-friendly and encourages learning rather than strictly enforcing rules. Any recommendations?

14
15
 
 

Is having CS50 on your CV absolutely necessary for getting a job or is it one of those myths people create?

16
17
18
19
 
 

Some friends of mine are saying that this might be the next big thing on IT. As someone who still thinks of starting a new career in this field (just got my associate level certificate in system analysis after a long time being a journalist who works in PR), especially considering that my company is becoming a bottomless pit, should I start building my stack on this before things get really sour at my current job?

20
 
 

Qt 6.10 is now available, with new features and improvements for application developers and device creators!

Highlights for UI builders include a new flex-box layout system for Qt Quick, and support for more vector animations in SVG and Lottie format. And we have listened to your feedback and made it easier to exchange data between C++ code and a Qt Quick UI developed in QML. Such data can then be used with the new SearchField control, or with a new FilledSurface graph from the Qt Graphs module.

If you prefer to maintain your existing codebase, upgrading to Qt 6.10 ensures your application automatically aligns with high-contrast system settings on both desktop and mobile platforms. This and other improvements in our accessibility implementation directly benefits users reliant on assistive technologies, improving usability and inclusivity without requiring any additional development effort.

In addition to these highlights, new APIs across the Qt modules bring increased flexibility and productivity for both QML and C++ developers, and for users of Qt Widgets and Qt Quick.

21
 
 

Apologies for being nonspecific, but I don't know how else to describe Bob's struggles. Bob has been on the team for over a year now, and his code is just... not okay.

To his credit, he can make something that works... but that's not enough. His code belongs on programming horror. He's not supposed to be my junior; I'm just the repository's lead. I spend half my week helping him. Reviewing his pull requests takes hours because it's always a rats nest that needs significant refactoring/simplification. I'd love to say "do better" - but this is his best.

Most recently, Bob crashed his dev environment with a getter. (A mix of nested parsing logic with Angular's change detection = CPU crashed). It'd be impressive if it wasn't so irritating since I've already had a conversation with him about proper use of getters/setters. I even demonstrated how spammy the calls can be with a console.log statement for emphasis.

I could go on, but this is enough of a rant. I don't really know how to handle him going forward; I spend so much time helping and teaching him but he retains none of it.

Is there any hope for him? Any learning material? Advice on balancing my own sanity and workload?

22
 
 

The new and updated data-sharing options will be released in the next couple of weeks with the upcoming 2025.2.4 update of JetBrains IDEs. Non-commercial users will get a notification about the updates in the terms of use. For holders of other types of licenses, if you never provided consent, nothing will change.

23
 
 

Found this article interesting. Some (technological) highlights for me:

She initially wrote simple Python scripts to help with chain-of-custody problems. Those scripts worked on her machine, but she had trouble delivering the software to the people who actually need it.

Yeah, Python, Java etc. are quite portable in theory, but we also always ship the runtime along with it at $DAYJOB, because we don't want to deal with different runtime versions and users failing to install them properly. And since the runtime is compiled for specific platforms, we effectively have non-portable artifacts anyways.

Deuson's first attempt at distributing her software was to bundle it using Kubernetes. That sort of worked, but it turned out to be hard to get it installed in police departments. Opening ports in the firewall is also often prohibitively hard. "Getting software into these environments is really difficult."

Eventually, she decided that the only way to make this work would be to write a single, standalone executable that does everything locally. It would need to be able to run on ancient desktop computers, in a variety of environments, without external dependencies. That's why she ultimately chose Rust to write FolSum.

I feel like our industry poured tons of effort into making things deployable via Kubernetes, but there's still an absurd amount of niches, where this just does not make sense. Always interesting to hear about yet another such niche...

One thing that users really liked about the Rust version of the application was that it starts quickly, she said. Lots of commercial software is big and bulky, and takes a while to start up, leaving users staring at splash screens. FolSum starts up almost as soon as the user releases the mouse button.

Yep, I never quite buy it when this is deemed unimportant in commercial software development. The chance of your software running all the time is really low. And if it's not running all the time, I need to start it before I can use it. If I need to wait a minute for that, that takes me out of my workflow and I'll kind of hate your software for it.

It turns out that non-technical users like the approach that she has called "GUI as docs", where the application puts the explanation of what it does right next to the individual buttons that do those things. Several users have told her that they wished other software was written like this, to her bafflement. For-profit software is often a forest of features, which makes it hard to find the specific thing one needs, especially if the tool is only rarely used, she said.

I've been looking to take that kind of approach for our GUI at $DAYJOB, too. Our software is not either something that users use all the time. They might not look at it for months at a time. It's ridiculous to assume that they will remember all the concepts, just as ridiculous as it is to expect them to look at a completely separate manual every time. So, just dotting help texts around the place seems like a good idea.

24
25
view more: next ›