this post was submitted on 20 Jul 2023
167 points (93.7% liked)
Fediverse
28339 readers
394 users here now
A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).
If you wanted to get help with moderating your own community then head over to [email protected]!
Rules
- Posts must be on topic.
- Be respectful of others.
- Cite the sources used for graphs and other statistics.
- Follow the general Lemmy.world rules.
Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Try "the Odin project", which has an amazingly active community.
But before you try too much, once you've learned to set up any programming tools, just use them to have fun. Find a way in which you can use programming in relation to your hobbies.
With JavaScript you can manipulate any webpage you see or create your own interactive webapp. Even if it's just a few ugly buttons and text fields, you could make an app that calculates good builds for a videogame you like, for example.
If you want to interact with a windows operating system you can't go wrong with C# using visual studio. This will literally allow you to manipulate files, folders or automate anything you want from the operating system.
Try to find something that is fun and just enjoy yourself with small apps before you try to go too fast.
I agree. I can only learn languages by having an idea of something that'll excite me. Making a to-do app rarely teaches me anything since I don't have fun doing it.
What about music?
Sorry for the late reply. If you're interested in music, you could give both javascript or C# a try. C# works integrated with the operating system and is not sandboxed by the browser, which means that you could do nifty things like actual sound processing and interact with sound devices etc.
In general you will want to start with a console application that receives user input, does something and even prints the output. Let me give you an example of playing an audio file in C#
LINE 1:
System.Media.SoundPlayer myAudioPlayer = new System.Media.SoundPlayer(@"c:\mywavfile.wav");
LINE 2:
myAudioPlayer.Play();
In the first line we are calling a pre-existing blueprint (library) that knows how to create an audio player. This blueprint can be located in System > Media > SoundPlayer within the collections of libraries. We are giving this virtual audio player a name and called it "myAudioPlayer". Then, after the "=" sign we are giving it the instruction to be created with a preloaded file that would be found in "C:\mywavfile.wav".
In the second file we are commanding our newly created virtual audio player and telling it to play the file. Please note that this audio player would not have a visual interface yet. You would hear audio coming from the speakers but no way to pause. Fortunately C# / .NET (.NET are the pre-existing libraries that you can use), has a drag-and-drop way to create windows application interfaces with buttons via the "Visual Studio" editor, so you could potentially create a drag-and-drop interface and bind a button with a Stop symbol to the instruction "myAudioPlayer.Stop();"
This is just a very very basic example, but object oriented programming often boils down to this: create virtual representations of something and then command them to do something.
If this has peaked your interest check out this playlist of a full complete programming course in C# which is what I used to learn programming years ago. https://www.youtube.com/watch?v=umAcMO3d9_E&list=PLFqasLx4-AErVMCWiIyJe9uA3yQMPBukG
In the end it's all about creating a series of instructions that the computer will follow. The trick is to learn what these instructions mean and to not be scared by their syntax, because behind every scary looking syntax there's just an instruction that can be explain in human language.
Here is an alternative Piped link(s): https://piped.video/watch?v=4vHBgwcz_I4&list=PLpQi14y2n2-E304sRm0jkEhLEI2uqPG1Q
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I'm open-source, check me out at GitHub.