this post was submitted on 04 Dec 2024
84 points (97.7% liked)

Ask Lemmy

28605 readers
1352 users here now

A Fediverse community for open-ended, thought provoking questions


Rules: (interactive)


1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them


2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?


3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.


4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either [email protected] or [email protected]. NSFW comments should be restricted to posts tagged [NSFW].


5) This is not a support community.
It is not a place for 'how do I?', type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email [email protected]. For other questions check our partnered communities list, or use the search function.


6) No US Politics.
Please don't post about current US Politics. If you need to do this, try [email protected] or [email protected]


Reminder: The terms of service apply here too.

Partnered Communities:

Tech Support

No Stupid Questions

You Should Know

Reddit

Jokes

Ask Ouija


Logo design credit goes to: tubbadu


founded 2 years ago
MODERATORS
 

How do I go about this? Are there any free resources that’ll help me get started?

I see people advising to start with a small project, but you need to get some basics down right? What language? How to develop it and stuff?

My only experience is some very basic C programming classes I took during school.

(page 2) 6 comments
sorted by: hot top controversial new old
[–] [email protected] 16 points 2 months ago (5 children)

Realistically, you should still find a project that you want to do and use that as the basis of your learning, as that will influence your language of choice,. I'd start with either python or powershell stuff to get going, as both are general purpose, multiplatform languages that can do a lot and are moderately forgiving with syntax and stuff.

Past that, find a project that interests you, break down what needs done, and learn those steps individually. It's not as cohesive as a hand holding hello world style tutorial, but I found I learned so much better if I had a need for the knowledge instead of just learning for it's own sake.

In my case, I picked powershell as I'm a windows admin. Since I'm a data hoarder as well, I chose a video conversion pipeline to convert all of my movies into a consistent file format. Part of the requirements are to find all files with an extension that isn't my standard (concepts: file listing, filtering, working with objects) and then execute an external program to convert the files (concepts: command line execution, state management, error handling, looping), validate the conversion completed successfully (concepts: reading file content, filtering/regex), moving the files to a new location or replacing the file with the new one and backing up the original (concepts: file management), and log file retention and cleanup. As I developed my script, I also began learning to properly "function-ize" my code to make things more readable/usable, and eventually started moving functions into a module to better modularize my code.

A decade later and I'm currently in the middle of a couple of projects using powershell to make and call API functions to automate business services at work.

load more comments (5 replies)
[–] [email protected] 5 points 2 months ago* (last edited 2 months ago)
[–] [email protected] 9 points 2 months ago

I learned using python.

I've yet to find anything that would have been a better place to start, and the concepts you pick up coding almost anything are extremely transferable.

A small project is good because it doesn't just teach you the basics, it makes you apply what you learn to actually do stuff.

I write little python scripts to do various things all the time. Most recently I made one that automatically posts the next comic strip to [email protected].

My recommendation would be to come up with something like that, then start figuring out how to do each step of accomplishing the task you want the code to do, then putting it all together. Look things up a lot, use print() often, and trial and error your way to the goal.

You could also read guides or watch videos, but personally I learn WAY faster by just doing.

Reading the code, making changes based on how I think something should work, then being proven right/wrong also seems to give me a better understanding than just following instructions.

[–] [email protected] 2 points 2 months ago

I too would recommend that you start with something small that you want to build and google the best language for it and a guide.

[–] [email protected] 28 points 2 months ago (2 children)

Harvard CS50 on YouTube might be a good start. Teaches python and you can then pivot to another language from there.

[–] [email protected] 7 points 2 months ago

Looks interesting, I’ll check it out!

load more comments (1 replies)
load more comments
view more: ‹ prev next ›