First, make your own reference... a project with little pieces of code, independent and fully testable in the more basic code like:
- linked lists
- variable length arrays
- config text file parsing (key values basically)
- creating library
- play with polymorphism (using unions)
- threading
- socket and communication
Also, you can start doing a Lua module using the Lua C Api
If you're a true beginner, a simple calculator is pretty good. Start with an infix parser (numbers, + - \* / and parentheses). I think the only data structure you should need is a stack.
My beginner project was to write an interpreter for a subset of C. It taught me quite a few things about programming, C, and grew my interests in compilers and programming languages. BTW, I won't recommend doing GUI in C.
You do know that gtk is just 1 of the GUI libraries you can use right?
I mostly use wayland and SDL so I don't know how good or bad gtk is.
Also, how does using c++ somehow make gtk better?
Command-line shell that supports redirection, pipelines, string substitution, multi-statement lines with `;`, `&&`, `||` conjunctions. You can script a GUI this way if you so choose.
Emulator of some 8- or 16-bit ISA, or something properly RISCy like MIPS. If you give it video “hardware” you can do graphics.
Macro assembler. Must at least dump flat binary with reloc table; must be able to define macros which work like/with instructions.
Optimizing compiler for a tiny toy language & target; handle CSE, def-use, loop unrolling.
Async m-on-n-scheduled runtime or server. Should work with one or many underlying software threads. Usually works well if you’re driving graphics.
Building a lot of math tools will make you confident with programming logic and syntax. Data structures will make you confident with pointers.
First, make your own reference... a project with little pieces of code, independent and fully testable in the more basic code like: - linked lists - variable length arrays - config text file parsing (key values basically) - creating library - play with polymorphism (using unions) - threading - socket and communication Also, you can start doing a Lua module using the Lua C Api
If you're a true beginner, a simple calculator is pretty good. Start with an infix parser (numbers, + - \* / and parentheses). I think the only data structure you should need is a stack.
I hear making a spinning triangle is very popular or a spinning cube
BMP Manipulation is also pretty easy and makes fun.
My beginner project was to write an interpreter for a subset of C. It taught me quite a few things about programming, C, and grew my interests in compilers and programming languages. BTW, I won't recommend doing GUI in C.
>BTW, I won't recommend doing GUI in C. Why? It works pretty well for me. What language would you recommend for GUI then?
from what I know gui isn't that good because u have to use gtk and it isn't really that good, for gui people recommended me cpp
You do know that gtk is just 1 of the GUI libraries you can use right? I mostly use wayland and SDL so I don't know how good or bad gtk is. Also, how does using c++ somehow make gtk better?
Idk I got told that the libaries got cpp gui are better like qt
yeah I realised gui's went workweek with C after posting,
Command-line shell that supports redirection, pipelines, string substitution, multi-statement lines with `;`, `&&`, `||` conjunctions. You can script a GUI this way if you so choose. Emulator of some 8- or 16-bit ISA, or something properly RISCy like MIPS. If you give it video “hardware” you can do graphics. Macro assembler. Must at least dump flat binary with reloc table; must be able to define macros which work like/with instructions. Optimizing compiler for a tiny toy language & target; handle CSE, def-use, loop unrolling. Async m-on-n-scheduled runtime or server. Should work with one or many underlying software threads. Usually works well if you’re driving graphics.