Every year passes. I orbit the sun again. Each year I stare at my pile of thick books on computer programming. That one on C or C++ or some other letter: how much dust have they gathered? Have I opened them this year or last year?
In the digital realm I have collected browser bookmarks on programming for beginners. I also have a collection of programming PDFs somewhere. At least they can't get dusty as each year condemns like a Saturnine bell.
I tried once. I enrolled in an online course. It was a mix of SQL and Java and .NET. It didn't go well. Microsoft changed the goal posts half way through and increased the server charges so the course added an extra fee. I withdrew. I learnt my lesson: I will never learn any propietary programming language. I had my fingers burnt. Not again. The long end of a leash of a tech Megacorp is not for me.
I've also seen so much hype. Java was all the hype. Then Perl came and went. Then Ruby. Right now it's Rust! Everyone's going Rusty! Is that a closed box language? I'm not sure. Probably is: no thanks then.
I suppose that I should ask WHY? What would I hope to get from any considerable investment of time and energy? I suppose that I have 2 interests:
- Linux.
- audio engineering.
I've played a little with bash scripting. Maybe it irritates me. Same with Python. I don't like Python. I find it's layout ugly. Then you have AI supposedly doing code for people. I don't like that. Should we farm out our skills to tech megacorps and their eccentric billionaires? That's the big picture that they want: to make us all rely on them. Then they control us. I want to be in charge. Not Mr Twitter, Mr X or whatever he calls himself this week.
Will I ever program? Is it like the novelist who never writes or the mountain climber who never climbs? I suppose if I had to choose something of interest it would be a music and audio programming language. Of course nobody would ever give me a job for that. But I think that programming for monetary rewards is a horse that bolted long ago. At least at my age.
https://en.wikipedia.org/wiki/List_of_audio_programming_languages
I am only interested in programming in an IDE. I used to like Codeblocks. But I am not sure what's going on with it now. It looks weird. I am old school but I'm not so old school that I would program in a text editor. I have some masochistic limits.
Should I Learn to Code?
-
- Posts: 1256
- Joined: October 22nd, 2021, 10:55 pm
- Location: Melbourne with kangaroos
Fan of all 80s pop music except Meatloaf.
Heeee. I don't even know what half those terms are, but I hear you on the gist of things. ![Cool 8-)](./images/smilies/icon_cool.gif)
![Cool 8-)](./images/smilies/icon_cool.gif)
~Lynette * -
Fancy some fun character recording? Small parts needed in these dramatic novels: Clouds of Witness | Ivanhoe (DR)
Fancy some fun character recording? Small parts needed in these dramatic novels: Clouds of Witness | Ivanhoe (DR)
This might give you motivation and a sense of purpose: LibriVox is open source. https://github.com/LibriVox/librivox-catalog
But I do find this an interesting question!
When I first learned "to code", it was because I wanted to mod a game. I don't consider myself a programmer today, and the language I learned isn't all that widely used, but it served a purpose, and I had my fun. Nowadays, I'm psyching myself up to dig deeper into the JavaScript and PHP that run LV's workflow system and catalog, as notartom mentions.
So, aside from "learn to code", is there a goal you would like to accomplish (or a project you'd like to play with), where learning at least a little code might be a side-effect? Whether you get a job with it or not, you could do a project using an audio language, and see how you like it.
One thing I'll say in favor of Rust as a language: it is definitely open! Its original backer is Mozilla, who you may recognize from the open source web browser Mozilla Firefox. Now, it's used, updated and relied on by several companies and groups, so no one group can claim it as their own. It's so surely open, that Linus Torvalds has given the "OK" for some parts of the Linux kernel to be written in it going forward.
But I don't think Rust is for most beginners, because its learning curve is relatively steep. It requires you to explain what you're doing and how you're doing it, and to account for each detail, so that certain types of mistakes become almost impossible. It's like writing a mathematical proof, before being allowed to use the calculator. I don't have any practical problems to solve that way, myself, but it's interesting to think about.![Wink :wink:](./images/smilies/icon_wink.gif)
When I first learned "to code", it was because I wanted to mod a game. I don't consider myself a programmer today, and the language I learned isn't all that widely used, but it served a purpose, and I had my fun. Nowadays, I'm psyching myself up to dig deeper into the JavaScript and PHP that run LV's workflow system and catalog, as notartom mentions.
![Wink :wink:](./images/smilies/icon_wink.gif)
So, aside from "learn to code", is there a goal you would like to accomplish (or a project you'd like to play with), where learning at least a little code might be a side-effect? Whether you get a job with it or not, you could do a project using an audio language, and see how you like it.
One thing I'll say in favor of Rust as a language: it is definitely open! Its original backer is Mozilla, who you may recognize from the open source web browser Mozilla Firefox. Now, it's used, updated and relied on by several companies and groups, so no one group can claim it as their own. It's so surely open, that Linus Torvalds has given the "OK" for some parts of the Linux kernel to be written in it going forward.
But I don't think Rust is for most beginners, because its learning curve is relatively steep. It requires you to explain what you're doing and how you're doing it, and to account for each detail, so that certain types of mistakes become almost impossible. It's like writing a mathematical proof, before being allowed to use the calculator. I don't have any practical problems to solve that way, myself, but it's interesting to think about.
![Wink :wink:](./images/smilies/icon_wink.gif)
Last edited by redrun on December 9th, 2023, 8:01 pm, edited 1 time in total.
Reason: Removed a more time-dependant note.
Reason: Removed a more time-dependant note.
I'll be out for a bit on this last weekend of April, but still checking in as I get the chance. I will try to follow up on Monday, with anything I can't do on the go.
-
- Posts: 1256
- Joined: October 22nd, 2021, 10:55 pm
- Location: Melbourne with kangaroos
Thank you! I had never been to that before! Thank you for your contributions. It is fantastic that LibriVox is open source.notartom wrote: ↑December 9th, 2023, 9:06 am This might give you motivation and a sense of purpose: LibriVox is open source. https://github.com/LibriVox/librivox-catalog
![Happy or Clapping :clap:](./images/smilies/happy0100.gif)
Fan of all 80s pop music except Meatloaf.
-
- Posts: 1256
- Joined: October 22nd, 2021, 10:55 pm
- Location: Melbourne with kangaroos
OK, here is my shortlist of languages that I like:
- Faust
- R
- Prolog
Honorable mentions: Ruby and Lua. If I were a Linux Admin I would rather script in them than bash.
p.s "clown" in my Antipodean culture is a backhanded complement. OK, OK, not everywhere wants my Paul. Hogan mentality
I promise that no wild animals were tamed while making this post.
- Faust
- R
- Prolog
Honorable mentions: Ruby and Lua. If I were a Linux Admin I would rather script in them than bash.
p.s "clown" in my Antipodean culture is a backhanded complement. OK, OK, not everywhere wants my Paul. Hogan mentality
![Very Happy :D](./images/smilies/icon_biggrin.gif)
I promise that no wild animals were tamed while making this post.
Fan of all 80s pop music except Meatloaf.
-
- Posts: 1256
- Joined: October 22nd, 2021, 10:55 pm
- Location: Melbourne with kangaroos
I have written a line of code that works in Faust.
Well, it doesn't do very much. It's the audio signal equivalent of Hello World.
process = 1;
produces an audio signal of endless 1.
That basically makes a click that sounds like hot plugging a microphone and no other noise. But we have to start somewhere![Smile :)](./images/smilies/icon_smile.gif)
![Laughing :lol:](./images/smilies/icon_lol.gif)
Well, it doesn't do very much. It's the audio signal equivalent of Hello World.
process = 1;
produces an audio signal of endless 1.
That basically makes a click that sounds like hot plugging a microphone and no other noise. But we have to start somewhere
![Smile :)](./images/smilies/icon_smile.gif)
Fan of all 80s pop music except Meatloaf.
I don't have an answer for you. Learning any useful programming language (and programming generally to a decent level) requires time and effort. One of the issues with writing audio software is that you need to understand digital signal processing in order to do anything useful or interesting. That's another layer of very technical knowledge which requires a high level of maths.
You could use one of the visual tools to learn about sound synthesis and processing. Plugdata is free and open source. It's an easier way to learn about audio processing without lots of unpleasant maths. And it's built using JUCE which is a standard audio framework, so you could learn more about that if you wanted to get deeper in to the technical and programming side.
ETA: Pure Data is another visual programming environment for multimedia that you may find useful. I'm sure either of those options will be more immediately productive than pure coding. Max (from cycling74.com) is another popular one. But it's commercial and probably doesn't run on Linux.
You could use one of the visual tools to learn about sound synthesis and processing. Plugdata is free and open source. It's an easier way to learn about audio processing without lots of unpleasant maths. And it's built using JUCE which is a standard audio framework, so you could learn more about that if you wanted to get deeper in to the technical and programming side.
ETA: Pure Data is another visual programming environment for multimedia that you may find useful. I'm sure either of those options will be more immediately productive than pure coding. Max (from cycling74.com) is another popular one. But it's commercial and probably doesn't run on Linux.
-
- Posts: 1256
- Joined: October 22nd, 2021, 10:55 pm
- Location: Melbourne with kangaroos
It is worth adding that if a high level of maths is required then I did a maths degree a long time ago. I'm dusty and rusty at all that calculus and matrix algebra. But I could summon my maths Gods once again.
Right now I am doing a serious qualification in audio engineering. Thus I am learning about signal processing from an extremely experienced tutor.
Right now I am doing a serious qualification in audio engineering. Thus I am learning about signal processing from an extremely experienced tutor.
Fan of all 80s pop music except Meatloaf.
I thought it was interesting that R appeared on your list of languages.
I think you've mentioned using Reaper in the past. That comes with a built-in scripting language (loosely based on C) that powers all the built-in JS plugins. All the signal processing stuff is included (but it does so much more) and you can inspect and modify the code for all the built-in plugins. It's a seriously cool feature of Reaper, and probably overlooked by many.
I think you've mentioned using Reaper in the past. That comes with a built-in scripting language (loosely based on C) that powers all the built-in JS plugins. All the signal processing stuff is included (but it does so much more) and you can inspect and modify the code for all the built-in plugins. It's a seriously cool feature of Reaper, and probably overlooked by many.
-
- Posts: 1256
- Joined: October 22nd, 2021, 10:55 pm
- Location: Melbourne with kangaroos
It seems that I like functional programming. Even way back when I did university maths I did computer exercises that were basically functional programming. Yes, Reaper has -GrayHouse wrote: ↑December 12th, 2023, 4:29 am I thought it was interesting that R appeared on your list of languages.
I think you've mentioned using Reaper in the past. That comes with a built-in scripting language (loosely based on C) that powers all the built-in JS plugins. All the signal processing stuff is included (but it does so much more) and you can inspect and modify the code for all the built-in plugins. It's a seriously cool feature of Reaper, and probably overlooked by many.
Reascript
Support for scripting in Lua.
Probably other language scripting support.
Fan of all 80s pop music except Meatloaf.
-
- Posts: 1256
- Joined: October 22nd, 2021, 10:55 pm
- Location: Melbourne with kangaroos
OK, I went to course era and made a free account. I am watching their videos on the DSP Fourier transform. Yes! I like! I have always liked series such as power and Taylor series. ![Thumbs Up :thumbs:](./images/smilies/happy0034.gif)
![Thumbs Up :thumbs:](./images/smilies/happy0034.gif)
Fan of all 80s pop music except Meatloaf.