Ask Lemmy
A Fediverse community for open-ended, thought provoking questions
Rules: (interactive)
1) Be nice and; have fun
Doxxing, 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 spam
Please do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.
4) NSFW is okay, within reason
Just remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either !asklemmyafterdark@lemmy.world or !asklemmynsfw@lemmynsfw.com.
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 info@lemmy.world. 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 !politicaldiscussion@lemmy.world or !askusa@discuss.online
Reminder: The terms of service apply here too.
Partnered Communities:
Logo design credit goes to: tubbadu
view the rest of the comments
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.
I also started with Powershell, and not by reading guides/books. I got pretty good with using the pipeline, loops, etc. but my code was terrible soup with no re-usability. Later I learned JavaScript and realized how important it is to think about functions first when writing scripts. Makes everything easier and smoother.
Yeah, it definitely helps to plan things out ahead of time, but I've had decent luck with refactoring a code block into a function to reuse code or cleanup sections. But I definitely try to make it into a function first when I can since it's less work than going back and fixing stuff, but sometimes a simple code block blows up or you need to reuse it later.
Wow, thank you for the detailed response. I do have ideas for what kind of stuff to work on, especially after your great example. Thank you again!
You're welcome! Coding has been my passion since I was in high school, and I understand how hard it can be to wrap your head around the concepts, even with formal schooling on the topic. To the point that I've learned so much more on my own than I did in school just because my passion allowed me to internalize the knowledge instead of just learning it.
Best of luck on your adventure!
I remember a time in my life, back when I was trying to learn C. Every time I saw a problem my brain directly started breaking it down in to steps. How to solve this consistently, think about edge cases, etc.
I want to get that back!