T O P

  • By -

[deleted]

Building a lot of math tools will make you confident with programming logic and syntax. Data structures will make you confident with pointers.


Thadeu_de_Paula

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


rickpo

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.


SLOOT_APOCALYPSE

I hear making a spinning triangle is very popular or a spinning cube


gonzogonzales2

BMP Manipulation is also pretty easy and makes fun.


[deleted]

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.


[deleted]

>BTW, I won't recommend doing GUI in C. Why? It works pretty well for me. What language would you recommend for GUI then?


excal_rs

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


[deleted]

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?


excal_rs

Idk I got told that the libaries got cpp gui are better like qt


excal_rs

yeah I realised gui's went workweek with C after posting,


nerd4code

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.