[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/sci/ - Science & Math


View post   

File: 753 B, 490x422, images.png [View same] [iqdb] [saucenao] [google]
14637435 No.14637435 [Reply] [Original]

I've learned pygame and python. Now I feel like I already have everything. I'm lazy now to study Opengl/SDL/C as my second tool. What's the use of C?

>> No.14637456

A consistant and well defined language that treats the programmer as a programmer and allows you to build up more advanced systems from smaller systems.
8/10

>> No.14637462

>>14637456 here
If you don't want to learn it, don't. Nobody outside of /g/ is forcing you to. Do it if you want to understand how hardware works or make compatible and efficient code.

>> No.14637489

>>14637435
The performance of pygame is abysmal compared to OpenGL/SDL. If you want to make a game from scratch pygame is useless for everything but pong and visual novels. Python is a scripting language masquerading as a programming language while C/C++ gives you real control of the system. I say this as someone who prefers python for almost everything.

>> No.14637529

>>14637435
>What's the use of C?
Low-level systems programming. No one really writes games in C anymore. It's a waste of time, just like writing them in Python. Learn a real programming language.

>> No.14637565

>>14637435
>What's the use of C?
It's fast and not bloaty.

>> No.14637675

Opengl and graphics programming in general is extremely difficult

>> No.14637763

>>14637675
OpenGL isn't very difficult once you understand the rendering pipeline. It's certainly not the most user-friendly API but it's nothing like Vulkan or some of the other graphics stuff out there.

>> No.14637773

>>14637435
>programming
>not just expressing your game as an infinite series with recursively defined coefficients
Get off /sci/ and go back to the retards at /g/

>> No.14637792

>>14637763
This is true. It's a state machine. But OpenGL is dead. Vulkan is the replacement.

>> No.14637819

>>14637435
change the stack pointer in python

>> No.14637904
File: 266 KB, 2048x1612, 1653944814105.jpg [View same] [iqdb] [saucenao] [google]
14637904

Eternal September never ends. Languages are not slow; parts of software systems are slow. Every non trivial program will be dependent on runtime support, special hardware, or a build process that breaks any sense of "this language fast; that language slow". OP will be happy to know there are OpenGL bindings for Python he can use to make Pygame projects faster than any C SDL project done with software rendering. Writing C in user space is not the same as writing it out of user space. C corresponds closely to your machines ISA, which was designed to for C programmers and C compiler writers, but not closely to how your hardware actually works. You still need to know C anyway.

>> No.14637925

>>14637904
>closely to your machines ISA
>but not closely to how your hardware actually works
HMM very interesting. Tell me more about how machine code does not correspond to the hardware whose job is precisely run it.

>> No.14637974

>>14637925
That's right. Understanding the ISA, a portability layer, gives you a very limited understanding of the hardware. Occasionally you'll even see hardware with two completely different ISAs supported. If knowing the ISA meant knowing the hardware, there would be no difference between first and latest generation processors of the same ISA. Processor improvements are more than just better manufacturing, smaller transistors, and faster clocks. The design changes beneath the ISA.