this post was submitted on 25 Mar 2024
33 points (97.1% liked)

Learn Programming

1615 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
 

Hi everyone,

TL;DR Completely new to coding and programming, but I want to learn enough to be able to run a home server, my own website and tinker a bit with Arduino. Is there any programming language or path that you could recommend?

I don't know if those things are related or not. I've been looking at books a bout Arduino, but it's just following instructions to do xyz, but not explanation of the basics.

About the server and website, I've wanted to try it out since I stumbled upon the Low tech magazine. Many of the projects there and the philosophy behind it speak to me, so I would like to be more knowledgeable about it and be able to do some stuff myself.

EDIT. You guys are awesome! Thank you so much for the replies. It’s so cool to see Lemmy populated with cool people willing to chat and put knowledge in common :) I might be updating this post when I get to do something about… well all the resources you gave me!

you are viewing a single comment's thread
view the rest of the comments
[–] ericjmorey@programming.dev 10 points 7 months ago* (last edited 7 months ago) (1 children)

The most pragmatic answer is to learn Python.

The most pragmatic approach to that is Automate The Boring Stuff with Python which is free to read online. But it might be a little dated and you said you want to learn some basics which I take to understand as underling fundamental theory of programming which it doesn't provide.

Think Python, 3rd edition, which is also free to read online and was just updated to use Jupyter Notebooks, is a great introduction to the fundamentals of programming theory, but it is lengthier and will take more time to get to practical projects.

If you really want to get into an introduction to Computer Science theory, it would be hard to find a better introduction than A Data-Centric Introduction to Computing which is used at Brown University as well as others in their introductory Computer Science courses. It's can also be read online for free.

For website things, the MDN Web Docs hosted by Mozilla is the best resource out there.

For Linux server stuff, Linux Upskill Challenge is a wonderful resource.

Have fun!

[–] Beardedleftist@lemmy.ml 1 points 7 months ago (1 children)

Automate the boring stuff with Python sounds like something I would enjoy reading, even if it's a bit outdated. Mozilla's website seems a good approach for me too, since it starts from complete beginners.

I don't think I have the time to learn much about computer science theory if it's not something mandatory. Linux, on the other hand, is something I'm somewhat familiar too (I've used it a lot for uni and such as a “distraction free” OS haha) and it looks like any server that I could run on a Raspberry or similar is going to be running Linux.

Thanks for the information!

[–] ericjmorey@programming.dev 3 points 7 months ago* (last edited 7 months ago) (1 children)

The good news is that the author has a third edition coming out with updated material. But it won't be ready until August 2024. I'm assuming you won't want to wait for that, so I suggest using the current edition to get used to the language and then going through the list of updates and differences in the blog post and "figuring out" how to do some of them on your own.

Also, the author has a book for people who finished Automate the Boring Stuff and want more guidance on good, effective practices with less focus on people with no prior knowledge of programming, Beyond the Basic Stuff with Python, is also available to read for free online.

I should mention that if you have the means, I encourage you to pay for the eBook version of these books on the publisher's website since this allows the author to continue creating updated and high quality content that's free for those who feel that $35 is a strain on their budget. If not, no worries, that's why I paid for his first edition a while back. Al is pretty active online and in the fediverse (@AlSweigart@mastodon.social) and seems like a good dude. He deserves some love, so please give him a thank you at a minimum.

This was a weirdly long reply, but I hope other people subscribed to the Learn Programming community on Programming.dev see it and find some value in it too.

[–] Beardedleftist@lemmy.ml 1 points 7 months ago

I'm all about free use and distribution of all kind of content, but also a big believer of patronage and supporting what actually made a difference in your life (because you learnt from it or just because it brought you enough joy, so to speak). I will definitely chip in!

I like how posts and replies tend to be longer here than in other platforms. It feels more like talking to actual people, and makes Lemmy less noise polluted I would say, so your reply was a very welcomed read!