this post was submitted on 22 Jul 2023
4 points (100.0% liked)

Learn Programming

1625 readers
1 users here now

Posting Etiquette

  1. Ask the main part of your question in the title. This should be concise but informative.

  2. Provide everything up front. Don't make people fish for more details in the comments. Provide background information and examples.

  3. Be present for follow up questions. Don't ask for help and run away. Stick around to answer questions and provide more details.

  4. Ask about the problem you're trying to solve. Don't focus too much on debugging your exact solution, as you may be going down the wrong path. Include as much information as you can about what you ultimately are trying to achieve. See more on this here: https://xyproblem.info/

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
 

Hello there, it's great to hear from you! I've been learning C, and I find myself forgetting things in C often due to the lack of opportunities to use it frequently, given my limited exposure. Are there any good novice-friendly projects or effective ways to improve my C skills?

edit: If it matters, what I eventually want to graduate into doing is fixing bugs on the linux kernel.

you are viewing a single comment's thread
view the rest of the comments
[–] pileghoff@programming.dev 0 points 1 year ago (2 children)

Avoid projects that require a lot of memory management to begin with. Usually embedded is a good place to start because of this, while a desktop app is a bad place to start. Learn what c is good at (fast memory effecient stuff) and avoid stuff where c has largely been replaced for good reasons.

[–] wtry@lemm.ee 1 points 1 year ago (1 children)

this may be unrelated and super late, but what language usually compliments c for what it can't do?

[–] pileghoff@programming.dev 2 points 1 year ago

One of C's main painpoints is that development is slow. I work in embedded and there people usually use python or another scripting language along c, to handle tasks where performance and memory footprint os not an issue and you just want to build something, and then save c for when you really need it.