Programming thread

  • 🔧 Actively working on site again.
Not to be a dick, since the advice is often a bit more tailored to the asker, but I feel like this question about beginner resources appears every few pages or so. Can we have some sort of prominent list of modern learning resources based off past suggestions in this thread? Idk if the OP is the best place for it since no one actually visits page 1 anymore as we're nearing 300.
 
Not to be a dick, since the advice is often a bit more tailored to the asker, but I feel like this question about beginner resources appears every few pages or so. Can we have some sort of prominent list of modern learning resources based off past suggestions in this thread? Idk if the OP is the best place for it since no one actually visits page 1 anymore as we're nearing 300.
Agreed. Separate thread?
 
  • Thunk-Provoking
Reactions: ADHD Mate
Agreed. Separate thread?
Probably the best way to go. I remember us kicking around the idea of a programming sub-forum (and perhaps a Q&A thing called Kiwi Overflow) around a year ago, but a separate thread for this (if it doesn't already exist) is a good and easy way to start. And it can always be moved to the hypothetical sub-forum someday if it ever comes to fruition.
 
  • Like
Reactions: UERISIMILITUDO
Probably the best way to go. I remember us kicking around the idea of a programming sub-forum (and perhaps a Q&A thing called Kiwi Overflow) around a year ago, but a separate thread for this (if it doesn't already exist) is a good and easy way to start. And it can always be moved to the hypothetical sub-forum someday if it ever comes to fruition.
You've been here longer and would probably be in a better overall position to write the OP. I'd be happy to contribute afterwards though.
 
  • Like
Reactions: UERISIMILITUDO
Not to be a dick, since the advice is often a bit more tailored to the asker, but I feel like this question about beginner resources appears every few pages or so. Can we have some sort of prominent list of modern learning resources based off past suggestions in this thread? Idk if the OP is the best place for it since no one actually visits page 1 anymore as we're nearing 300.
This reminds me how 4chan boards used to have their wikis back in the day.
 
That is highly dependent on what you want to program, mind sharing more specifics?
This is such a funny exchange and it's the most common one. "I want to paint!", "what do you want to paint?", "uh....". A lot of great filmmakers learn the tools cause they want to tell a story and they'll learn whatever leads to that point in time.
 
Not to be a dick, since the advice is often a bit more tailored to the asker, but I feel like this question about beginner resources appears every few pages or so. Can we have some sort of prominent list of modern learning resources based off past suggestions in this thread? Idk if the OP is the best place for it since no one actually visits page 1 anymore as we're nearing 300.
The problem with learning programming is that most of the starter sources will very likely be old books written in the early 2000s and sometimes try to fling you too far too quickly, since most of the base principles for modern programming were developed around that time. The newer stuff usually uses languages that I personally consider too high level, like Python or C#, which yeah removes a lot of the thinking required to get you into programming, but at the same time it will hit you hard as fuck with that overconfidence slap.
My honest advice from someone that wants to learn is trying to solve a menial task that doesn't involve a lot of tinkering with other applications or complex API's. The way you do that is:
> Learn the basic syntax of a language of your choosing, preferrably one that has very few or zero abstractions, like C
> Download a compiler/interpreter + IDE of your choosing and start solving that problem. Break it down into smaller problems, figure out how to solve those problems and then cobble together the solutions in order to solve the larger problem
> Fix issues and errors in your logic
> Repeat with harder problems

In my personal experience, learning how something works intimately first involves sticking your hand in its guts, and then understanding what each part is and what it does. Once you get people to solve their menial daily problems, either they'll be content with what they have learned or they will find some more things they want to get their hands on. In my very first programming class, they tried to instill programming into me with F# when I still knew absolutely nothing about programming, or even what "word size" was. Failed the class massively, then took another programming class, held by a different teacher, which actually managed to teach me the basics properly by making me solve menial problems (like copy the contents of this folder to another folder), went back to the F# class and passed it.
 
> Learn the basic syntax of a language of your choosing, preferrably one that has very few or zero abstractions, like C
I don't know why this approach to pedagogy is recommended in programming when it isn't anywhere else. In chemistry you learn the ideal gas law before making things more complicated later etc. Why not apply that reasoning to things like memory management?
 
I don't know why this approach to pedagogy is recommended in programming when it isn't anywhere else. In chemistry you learn the ideal gas law before making things more complicated later etc. Why not apply that reasoning to things like memory management?
Truuuu. Learn Haskell first, and stop giving a fuck what computer does. :cunningpepe:
 
Truuuu. Learn Haskell first, and stop giving a fuck what computer does. :cunningpepe:
I only write the purest of Prolog because being able to read code after you wrote it is for smooth-brained faggots
big-brain-wojak-hot-air-balloon.jpg
 
I don't know why this approach to pedagogy is recommended in programming when it isn't anywhere else. In chemistry you learn the ideal gas law before making things more complicated later etc. Why not apply that reasoning to things like memory management?
Because programming relies very heavily on abstractions. If you think about it, every solution ever made by any computer ever, just comes down to presenting the correct sequence of 1s and 0s that satisfies the problem at hand. However, explaining this to any normal person would make you look completely insane. So what we do is, we break down the abstractions slowly, not so high that you cannot understand what's going on under the hood, but not so low that you cannot understand how you are supposed to solve the problem at hand because you got cognitive overload from too much information at the same time.
Making a parallel to memory management, it would be insane to start explaining it by telling you what a page is, the tradeoff of having smaller/larger page sizes, what a TLB is and how the CPU uses it etc. .You explain that once the programmer has a firm grasp of what memory allocation is and how that works, and maybe pointers. I believe C is the best language for learners, because it gives you enough freedom to not have to deal with the limitations of previous languages, while also giving you very few safety belts. COBOL was also an extremely popular language, but it has aged very poorly because it has no dynamic memory allocation and the syntax was created when programming languages were not completely figured out yet.
The principle of starting off in the right spot that you can understand the basics without burning yourself out with too much information is the basis of learning how to be a very competent programmer in the long run.
 
Because programming relies very heavily on abstractions. If you think about it, every solution ever made by any computer ever, just comes down to presenting the correct sequence of 1s and 0s that satisfies the problem at hand. However, explaining this to any normal person would make you look completely insane. So what we do is, we break down the abstractions slowly, not so high that you cannot understand what's going on under the hood, but not so low that you cannot understand how you are supposed to solve the problem at hand because you got cognitive overload from too much information at the same time.
When I got my start, it was with QBASIC, C and a smattering of Common Lisp. But I don't think that just starting with Python outright would have ruined me. Ultimately, though, I think we're all committing the same mistake many programmers have made over the years, which is to base our ideas about what does or doesn't make sense on intuition alone. What we need is solid empirical research on how to make a good programmer.

There was this book that came out in 1971, The Psychology of Computer Programming, by one Gerald Weinberg, and I suppose it's only fitting that a Jew wrote about psychology and computer science at the same time. I'm not sure exactly there have been any other works exactly like his in the decades since then. There need to be more, a lot more, as opposed to "[famous programmer] says X so do X". In any case, which one of you was being written about here?
Screenshot 2025-01-31 23:01:48.png
 
Which assembler, for which architecture?
Well, seeing the previous comment was C64 and 6510 I'm going with that.

I don't remember if any of the ones I had did character literals though.
looks like I'd probably want LDA #'H for the C64 macro assembler.
 
A few months ago the Godot moderators had a huge spergout
In the words of Deer Feeder:
Open Source Developers belong in some sort of Communist Chinese internment camp for feral autists where they drop in a crate of AI-generated fetish porn, McDonalds, and Anime DVDs every day, and extract Rust code like a farmer collecting eggs. Not a single one of them can manage their little fiefdoms of bullshit competently.

I am interested in looking into programming, but I am overwhelmed and don't know where to start.
Locate a statically-typed, preferably compiled language with a big community. E.g. C#, Typescript, Rust, Go. Do not use Python, Java, or C(++).
I find the best way to learn is picking a project (start very small), and build it. You learn a lot with researching how to solve real problems, though I bet google is much less helpful at this time.
CLI blackjack is good if you are very new. Tetris is a great initial project.
 
Typescript, Rust, Go.
Those are languages for pedophiles.

I like open source, as in any community, there will be some people I disagree with, but the idea itself is good and a lot of good software came out of it. Being able to learn from SW I like and even improve it if I miss something is great. Unfortunately a lot of open source projects (Redot included) host their code on GitHub... Microsoft, the lord of gifts, slowly sucking the souls of FOSS developers - as expected from them.
 
Back