Settings

Theme

HN how do I learn to code?

3 points by Void_Kitty 2 years ago · 11 comments · 1 min read


I was recently dismissed from my uni where I was planning on studying compsci (mostly had to do with my very bad grades from the semester I tried to major in mechanical engineering but I degress). My hope is to contribute to the FOSS ecosystem as a developer, but as it stands I have very little experience programming. I feel I have a rather strong conceptual understanding of how computers work, but I still don't know how to talk to them. As school is no longer an option, I am unsure how to proceed. I currently am hoping to learn c and to use it to write a utility for managing multiple ttys with simultaneously different DEs and WMs on a linux system but I feel this project is too ambitious for my novice self. Are there any projects or advice y'all have, any would be greatly appreciated. Anyway regardless I hope you are doing well :)

pabs3 2 years ago

Pick a FOSS project that you use, check out its source code, fix a problem that affects you and contribute the fix back to the project.

After doing that for a while, check out the internships and bounties sections of the FOSSjobs wiki for opportunities to get paid for contributing to FOSS.

https://github.com/fossjobs/fossjobs/wiki/resources https://www.fossjobs.net/

beardyw 2 years ago

Yes, building something is key. But you would do better to build something easy well than something complex and fail.

  • Void_KittyOP 2 years ago

    Any recommendations for a easy project?

    • az09mugen 2 years ago

      From personal experience, start with something small (max a few 100s lines) but that can improve your everyday life (work or personal) so you can stick to it. Identify your need, think what functionality could solve it, then decompose the solution and read some doc.

sn9 2 years ago

HtDP [0], CS50x [1], and whatever strikes your interest from teachyourselfcs [2], in that order.

Also highly recommend the book for nand2Tetris after CS50.

[0] https://htdp.org/2023-8-14/Book/index.html

[1] https://www.edx.org/learn/computer-science/harvard-universit...

[2] https://teachyourselfcs.com/

brudgers 2 years ago

My hope is to contribute to the FOSS ecosystem as a developer

This is too vague to be worthwhile as a course of action.

write a utility for managing multiple ttys with simultaneously different DEs and WMs on a linux system

This is a concrete goal.

I currently am hoping to learn c and to use it to

This is an excuse for not executing on the concrete goal.

Start writing the tool in Javascript, C#, Python, Racket whatever is easiest to execute in...and they are each and all hard because programming is hard.

Because starting to write code is how you learn to write code.

And the simplest way to contribute to a FOSS project is to write some code yourself and make it FOSS.

Good luck.

shrimp_emoji 2 years ago

I would start with Python (or maybe Java) and then graduate to C. And, if you ever mess with C++, don't let it fool you that it's an easy/beginner language; it's actually the hardest and deepest language of them all, masquerading as a shallow pond. ;p

Baldbvrhunter 2 years ago

start doing

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection