this post was submitted on 07 Feb 2025
440 points (94.9% liked)

memes

11693 readers
2233 users here now

Community rules

1. Be civilNo trolling, bigotry or other insulting / annoying behaviour

2. No politicsThis is non-politics community. For political memes please go to [email protected]

3. No recent repostsCheck for reposts when posting a meme, you can only repost after 1 month

4. No botsNo bots without the express approval of the mods or the admins

5. No Spam/AdsNo advertisements or spam. This is an instance rule and the only way to live.

A collection of some classic Lemmy memes for your enjoyment

Sister communities

founded 2 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 20 points 6 days ago* (last edited 6 days ago) (1 children)

i don't usually cross-post my comments but I think this one from a cross-post of this meme in programmerhumor is worth sharing here:

The statement in this meme is false. There are many programming languages which can be written by humans but which are intended primarily to be generated by other programs (such as compilers for higher-level languages).

The distinction can sometimes be missed even by people who are successfully writing code in these languages; this comment from Jeffrey Friedl (author of the book Mastering Regular Expressions) stuck with me:

I’ve written full-fledged applications in PostScript – it can be done – but it’s important to remember that PostScript has been designed for machine-generated scripts. A human does not normally code in PostScript directly, but rather, they write a program in another language that produces PostScript to do what they want. (I realized this after having written said applications :-)) —Jeffrey

(there is a lot of fascinating history in that thread on his blog...)

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

PostScript was my first thought to. I guess these days WASM also applies.

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

I've kinda noticed this block when working with non-developers attempting low-code and no-code platforms. Anecdotally, non-coders tend to assume that knowing how to code is the hard part of software development. It's really not though, there's tons of resources to learn any language you want for free, and cs students cover all of the basics in their first year. The actually hard part (well one of them) is knowing what to code: the data structures and algorithms. Pro_code, low-code, or no-code, there's just no way around not knowing how to design a working, efficient algorithm or a clean, scalable database schema. Ironically, for anything but the most trivial problems, the lack of maturity in low-code platforms tends to only make the algorithm harder to implement.

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

Though perhaps when AIs start actually coding, they're all going to just probably use the native instructions. Because why not?

[–] [email protected] 3 points 6 days ago (1 children)
[–] [email protected] 0 points 6 days ago (1 children)

Audit

You mean a process where a human checks what the AI did? That'll stop when the AI gets good enough.

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

We will likely have AI create a language, that is easy for it to write. But can be easily converted into a human readable form.

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

A lot of people really have difficulty with maths and programming.

The way i imagine it, programming is something non-real, something metaphysical, or how you want to call it. And a lot of people even plainly reject that such a thing meaningfully exists. Think about how many people reject the existence of "spirits", "demons", or "god", based on nothing else but the argument that it is not tangible. Something similar is going on with maths and programming.

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

I like this only because it makes me feel like a wizard

[–] [email protected] 8 points 6 days ago (2 children)

I think it's "learned helplessness", sadly. https://en.m.wikipedia.org/wiki/Learned_helplessness

Like much of math, people are often eager to talk about the cool stuff and make it sound hard because they are proud they understood it. For a newcomer, this is just a brick in the face.

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

Exactly!

Literally everything we ever came up with is comprehensible by humans, and is likely to be comprehensible by a layman given enough time and making sure prerequisites are filled.

In fact, it takes a good explanation that would click with a given person's experience and level of expertise to make anyone understand anything.

It's just that sometimes people need that specific thing X, and normally it's needed to those who have some knowledge in another specific thing Y, and it gets expected that a person needing X knows Y (which is not necessarily true)

This is especially common in the world of computers. Everyone uses them, everyone has to troubleshoot them, but not everyone is the system administrator, to which 85% of the guides often seem to be addressed.

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

People who know math make math sound hard? Eehh, that does not seem to track. Math can become incredibly difficult, and even the cryptic terminologies are a way to alleviate the difficulty.

[–] PixelProf 5 points 6 days ago (1 children)

Maybe I'm an old fogey, but I usually hear more pushback against visual languages as being too finicky to actually create anything with and I usually advocate for a blending of them, like working in Godot and having nodes to organize behaviour but written scripts to implement it.

I really appreciate the talks from Bret Victor, like Inventing on Principle (https://youtu.be/PUv66718DII), where he makes some great points about what sorts of things our tooling, in addition to the language, could do to offload some of the cognitive load while coding. I think it's a great direction to be thinking, where it's feasible anyways.

Also, one reason folks new to programming at least struggle with text code is that they don't have the patterns built up. When you're experienced and look at a block of code, you usually don't see each keyword, you see the concept. You see a list comprehension in Python and instantly go "Oh it's a filter", or you see a nested loop and go "Oh it's doing a row/column traversal of a 2d matrix". A newbie just sees symbols and keywords and pieces each one together individually.

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

like working in Godot and having nodes to organize behaviour but written scripts to implement it

That was the intent with Godot's (3.X) implementation of VS (Visual Scripting) but I think most people didn't like it (thus why it was gone in 4.X). The major flaw with that idea is that programmers probably don't want to work on VS and... is it really better than just components with exported script variables and either way well-documented code (especially with gdscript)? Also communication on desired effects.

VS should be easy for beginners, if it fails at that a huge amount of people who aren't in a team will find it to be useless. For comparison, UE's Blueprints are usually what people point as better than Godot's VS (which failed at discoverability due to lower-level workflow and IIRC wasn't fleshed out with organization either), so this wasn't strictly a problem with the idea of VS.

There are 3rd-party things now (Orchestrator, also Block Coding which generates gdscript) that might work better, though I don't know.

[–] PixelProf 1 points 5 days ago (1 children)

Yeah, I wasn't a fan of the visual scripting, but I do consider composing nodes in the editor, connecting signals, modifying field values with sliders, having global variables in a separate editor, visual curve editors, file managers, etc. to be a form of visual scripting by a different name, and I do quite like that.

I've been curious how this sort of editor would work for non-game code, like making a CLI in C, C++, Kotlin, etc. Where you primarily interact with nodes and inspectors for data organization and scripts for behaviour implementation. I need to go back to Smalltalk to see some of the ideas there for alternative code organization structures.

[–] [email protected] 1 points 5 days ago* (last edited 4 days ago)

I’ve been curious how this sort of editor would work for non-game code

I mean software is just a game that isn't a game, and Godot does do a decent job of it. on [email protected] somebody recently posted* a note-taking app and someone in the comments linked to an article about Godot for GUI software development.

Bindings are nice too, and as a mostly-non-coder I've actually done a small sample program with Godot+Nim-lang. In a similar vein, there is Raylib (which has lots of bindings options) and paired with rGuiLayout you might get something going.

I tried a Qt editor once and it seemed a bit clunky to me, then some simple toolkits that I think have a better experience despite lacking an editor (though lack of dynamic text scaling is probably an issue here, at least it was for me as I wanted unicode symbols for a text-centric application).

TUI applications are a fun idea too, though viable ideas are chicken-and-egg for me so I'll probably just stick to Godot if I make anything.

  • 2 days ago, Post title Finished my first Godot project!, Github em-s-h/Nairu
[–] [email protected] 6 points 6 days ago

It took me looking at unfamiliar programming languages and realizing that I could read most of them without really knowing them for me to realize I probably could learn to at least read another language.

It's been years since then and I'm still probably shit at Spanish, but just like programming languages regular languages were made by humans to communicate with other humans, you're capable of understanding any of them given a reasonable amount of time and guidance.

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

What is non-plain-tezxt code?

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

'Nocode', scratch, NODE-red, etc.

[–] PeriodicallyPedantic 2 points 6 days ago

Programs are meant to be read by humans and only incidentally for computers to execute

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

We're in x86 and we speak binary assembly in this architecture, goddammit.

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

And guess who X86 was designed for.

Yes. Humans.

[–] ILikeBoobies 3 points 6 days ago

Assembly is just a high level language for people without a hole puncher

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

It's a balancing act between made for humans and made for optimization.

Because humans left with their own devices write shit code.

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

We've 'solved' that problem years ago: just buy a newer computer or learn to code better

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

For me, I think it's that most common-language things that I happen to look at are 500-line+ with non-obvious short names (initialisms? might be an issue with low-level). Some of it might be down to optimization or language features/requirements, or not using libraries. Though I also don't hate whitespace so it may just be my brain.

The other side of the coin is that interpreted languages (being more readable) are slower(+single-threaded) and have other limitations/issues. I have some hope that Python's update with JIT and no-GIL may change that, but integrating it into other tools is still an issue so I haven't looked into it.

The one language that has clicked for me is Nim-lang (compiles-to-C, interop). I haven't done enough real projects, but I like the syntactic sugar and UFCS. Not sure if that's the best way to say it, but it's like the options that exist can be used to make code more concise. Something that seems small like how you can write conditions or loops can make a big difference.

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

All programming languages claim to be for humans. Doesn't make them good at it.

[–] [email protected] 48 points 1 week ago (7 children)
load more comments (7 replies)
[–] [email protected] 52 points 1 week ago (4 children)
[–] [email protected] 34 points 1 week ago (1 children)

Making something to make humans suffer is still making it for humans

load more comments (1 replies)
load more comments (3 replies)
[–] [email protected] 29 points 1 week ago (3 children)

i don't think brainfuck or ook are actually meant for humans. more like against humans

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

They are very much aimed at humans.

Crafted to hurt humans, but still.

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

imho they're still made for humans. But the goal is to discuss them rather than code with them n_n

load more comments (1 replies)
load more comments
view more: next ›