Programming thread

Already checked these ones out? They're mainly about opengl and are largely interchangable.
I've actually followed learnopengl.com before, but I was looking for something more focused on the structure of a game engine. I have a book I'm following now, but it's skipping huge parts of the codebase and I'm having to reverse engineer the author's github. I'll just keep following that for now and maybe read Game Engine Architecture, too.
 
What's the easiest place to start for 2d top-down or sidescroller vidya? I only really know Python (ex-Java, algorithms on C++) but I don't mind learning anything (ok maybe not javascript) that gets me to a working prototype fast but with actual code (not tee hee no coding required drag and drop kiddy shit).
I'm on Linux.

---
Very good at filtering and producing a ranking, useless at telling you whether someone would be good at any job.
I told every employer who wanted me to take a timed test to fuck right off. One Sberbank (biggest bank in Russia and THE techbro company neck and neck with Yandex) interviewer started talking nonsense about git rebase destroying data and I called him a retard and hung up on him + 5 observers. (They'd wanted me to shutter my business as a condition of employment.)

its great to see how much knowledge they have over the OSI stack
Last time I was looking for a job, I answered "lmao idunno lol" to these. I'd considered having SOLID and OSI open on my screen but decided against it, and now I have a rewarding job and the greatest boss ever (no he's not reading the Farms). The bulk of the winning interview was me autistically talking about my collection of Django recipes and writing a data model for public transport timetables.
 
What's the easiest place to start for 2d top-down or sidescroller vidya? I only really know Python (ex-Java, algorithms on C++) but I don't mind learning anything (ok maybe not javascript) that gets me to a working prototype fast but with actual code (not tee hee no coding required drag and drop kiddy shit).
I'm on Linux.
It's been awhile since I've done game stuff myself, but I would imagine pygame is probably still good.
 
What's the easiest place to start for 2d top-down or sidescroller vidya? I only really know Python (ex-Java, algorithms on C++) but I don't mind learning anything (ok maybe not javascript) that gets me to a working prototype fast but with actual code (not tee hee no coding required drag and drop kiddy shit).
I'm on Linux.

---

I told every employer who wanted me to take a timed test to fuck right off. One Sberbank (biggest bank in Russia and THE techbro company neck and neck with Yandex) interviewer started talking nonsense about git rebase destroying data and I called him a retard and hung up on him + 5 observers. (They'd wanted me to shutter my business as a condition of employment.)


Last time I was looking for a job, I answered "lmao idunno lol" to these. I'd considered having SOLID and OSI open on my screen but decided against it, and now I have a rewarding job and the greatest boss ever (no he's not reading the Farms). The bulk of the winning interview was me autistically talking about my collection of Django recipes and writing a data model for public transport timetables.
Godot would be a good fit for you. GDScript is python like in syntax and you can easily start from templates if you just want to get something up and running.
 
Last time I was looking for a job, I answered "lmao idunno lol" to these. I'd considered having SOLID and OSI open on my screen but decided against it, and now I have a rewarding job and the greatest boss ever (no he's not reading the Farms). The bulk of the winning interview was me autistically talking about my collection of Django recipes and writing a data model for public transport timetables.

I don't expect people to memorise the OSI model. But I want to understand to what level they understand networking. Do they know there are different levels. Do they know that HTTP runs on TCP, and TCP uses a 3-way handshake. Do they know anything of the layer lower than that. I have no idea how a web-browser actually renders the content, but equally you could go through that in lots of detail.

There are lots of people who claim to know things, and this is a way to sort those people out. If you had said, I'm not big on networking, Django is my jam. I would be okay with you saying dunno. But I'd expect you to be able to answer similar things on Django. Assuming this was relevant for the role.
 
1705421150717.png
classmate asked me why I why I snickered in lecture. lol Sam Snead
 
I fucking hate how Qt makes you sign up for their installer of open source software., EVEN THE FUCKING OFFLINE VERSION. Yeah, sure, you can get around it, but I'm looking for alternatives anyway, the more python code as opposed to C/C++ we'll have to write, the better. Anyone got any recs?

View attachment 5639578
classmate asked me why I why I snickered in lecture. lol Sam Snead
Ahh, DB systems lectures, those really were the good times.
 
  • Like
Reactions: no-exit
the more python code as opposed to C/C++ we'll have to write, the better. Anyone got any recs?
Have you looked at Qt?
Obviously this is partially in jest, but the Qt (PySide6) Python bindings seemed to work fine for me. But my code was just draw a graph using data from a remote device and push buttons to send commands back to the device.

As I recall I didn't screw with the Qt provided stuff, just Qt6 from Debian and then did have to figure out how to get PySide6 to be happy with that version, which I think involved a local compile. Maybe the pip version is more matched now.
 
Whats your guys opinion on Tailwind CSS? Is it used in the industry and is it worth learning?
I really don't find value in learning anything in programming like it's a certification test you've got scheduled for next week.

Really just think up a practical project that will solve a real problem for you and implement it using whatever tools. You will need to make decisions on what frameworks and languages and whatnot to use. Some of those things will be useful in a career, some won't. But ultimately the underlying skills will always be useful.

Regarding Tailwind: Uhh, I think I've heard of it? I hate frontend so I don't know specifically but I think I've heard of it. Idk I've never seen value in getting really good at any one frontend framework or library. They're all similar enough that I don't feel like the minute differences represent profound knowledge that I need to commit to memory.
 
Whats your guys opinion on Tailwind CSS? Is it used in the industry and is it worth learning?
Tailwind is great if you are generating your HTML and don't want to write in CSS. Really all that Tailwind does is bundle a bunch of common styles into classes, it allows you to mix and match style classes locally on your tags rather than going back and forth between your display code and CSS files. If you're writing static HTML though you will want to style two elements the same way and quickly develop a throbbing pain in your head as you write out the same class="a b c d ..." stack in every single element.
Since you're asking about learning, I would get the gist of how classes are named compared to what they do and not spend much more than an hour or so doing it. It is used in the industry, but it has documentation for a reason. It won't save you much time at all or even be all that impressive to memorize Tailwind classes.
 
is Golang a good language to learn?
t. cpp + python chud
I would say yes.

It's used professionally quite a bit, so it's good for your career.

It's got a reasonably strict type system, so the damage your coworkers can do is limited. It's not, say, haskell or sml tier, but it's stronger than C, C++, Javascript, Python, etc. Also its approach to concurrency is pretty straightforward.

If you're refactoring code while hungover or maybe fixing some code that your pajeet coworker copied from stack overflow, it's pretty easy to just break stuff and then fix things until the compiler stops complaining. And when you get the compiler to stop complaining, you can be reasonably confident that a surprising amount of the program is functional. This is something I never see when I have to work on my coworker's Javascript or Python code.

When working with Javascript or Python, I have zero expectation that I will be able to get more than a couple lines in the program before I have to sit down and line-by-line, do printf debugging.

If you don't deliberately ignore error conditions (ie item, _ := someCollection.Find("whatever"), this has bad code smell), and you check for nil pointers (try to avoid using pointers in general unnecessarily), you won't have too many surprises, and when you do have a surprise, it's not hard to fix.
 
is Golang a good language to learn?
t. cpp + python chud
I'm liking Go a lot. It's like C in that I have the power to do basically anything, but it's like Python in that I also have the power to let the compiler figure a lot of it out. Control when I need it, ease of use when I don't.

However, it's maintained by Google, so I'm just waiting for the day where it won't compile unless you include the character "🏳️‍⚧️" somewhere in your code.
 
Last edited:

"I need native YAML serialization support for PowerShell."
"Just download `this module` from the gallery."
"I work in a subterranean lab with no internet and harsh restrictions on allowed software. That's why I said native."
"Sorry, but the .Net team has to build a parser."
"Why even use YAML for Azure Pipelines if you can't support it for your scripting language? YAML has been the standard for CI/CD and containers for years."
"This issue has been marked as won't fix and has not had any activity for 1 day. It has been closed for housekeeping purposes."

I hate JSON so much.
 
is Golang a good language to learn?
t. cpp + python chud
I'm using it for my latest project after not having used Go for anything in many years. I really like writing it; it's easy and makes intuitive sense as a lifelong C programmer. Go has goroutines and channels (basically just queue structures), which make async programming a breeze. Plus, it's a Jewgle thing, so its support for web services is excellent.

Another thing I like is that you can do composition of structs like
Code:
type structA struct {
    fieldA someType
    fieldB someOtherType
}

func (a *structA) someMethod() {}

type structB struct {
    structA
    fieldC yetAnotherType
}

// Then you can access structA fields and methods through an instance of structB.
// Suppose b here is an instance of structB. I don't feel like writing out a proper def.
someVar := b.fieldA
b.someMethod()
You can make some really simple but powerful public types with a well organized backend composed of smaller private types. I like this more than classical OOP inheritance.

edit: fixed syntax.
 
Last edited:
Any opinions on whether I should learn React over Flutter? I mostly work on mobile but want to expand my UI programming chops on web.
 
I would say yes.

It's used professionally quite a bit, so it's good for your career.

It's got a reasonably strict type system, so the damage your coworkers can do is limited. It's not, say, haskell or sml tier, but it's stronger than C, C++, Javascript, Python, etc. Also its approach to concurrency is pretty straightforward.

If you're refactoring code while hungover or maybe fixing some code that your pajeet coworker copied from stack overflow, it's pretty easy to just break stuff and then fix things until the compiler stops complaining. And when you get the compiler to stop complaining, you can be reasonably confident that a surprising amount of the program is functional. This is something I never see when I have to work on my coworker's Javascript or Python code.

When working with Javascript or Python, I have zero expectation that I will be able to get more than a couple lines in the program before I have to sit down and line-by-line, do printf debugging.

If you don't deliberately ignore error conditions (ie item, _ := someCollection.Find("whatever"), this has bad code smell), and you check for nil pointers (try to avoid using pointers in general unnecessarily), you won't have too many surprises, and when you do have a surprise, it's not hard to fix.
Go's concurrency model is actually really good imo. Clojure's core.async uses a similar model and it's genuinely nice to work with
 
Back