Coding


#41

So hang on… there’s a digitone maxforlive plug-in knocking around somewhere?

Ahem


#42

Live coding is great fun as you will hear the changes you are making immediately in reference to what you type and run. You will start very quickly to build sounds / tracks and find your own ways to sequence or layer those sounds together - check out ‘Algorave’ and associated software.

For starters install Supercollider and Python - (Python is preinstalled on mac’s) and then install FoxDot. Follow instructions here > http://foxdot.org - it might seem limited at first (which definitely has it’s pros too) but you can go quite deep into sound manipulation once you get the hang of it and you will get a feel for syntax / logic in coding very quickly.

I would not advise going straight into programming Supercollider or trying to wrap your head around C++ - Maybe you have a natural aptitude for it in which case, go for it.

…and as a side note, I started out coding in Processing not long after it’s first release in the early 00’s. It’s a digital coding sketchbook, so predominantly immediate visual based feedback and is built on the Java language and therefore has many uses. There are also sound and midi libraries though limited. Nevertheless, I think you could gain a hell of a lot of understanding from trying it out too. The Processing community is amazing > https://processing.org


#43

This is an interesting discussion. I’m in my late 30’s, and have been working on a Computer Science degree for a few years now, while working full-time and only taking one class a semester. I already have an English degree, so I only needed the required prerequiste & core classes to get admitted into the BA program. I only have a couple more classes, and 8 credits of electives left, but at my pace, that will still take a couple years.

This is my first summer I’m not taking a class because none of the ones I need/want are available so I’ve actually been trying to figure out how to self-teach myself some relevant skills since I’ve been so heavily focusing on theory & math. I just watched part of a Node.js tutorial yesterday; I’m thinking of trying to create a website or app I can use to help me find a job in the future.

My main goal right now is to build some skills, and find ways of showcasing capabilities on platforms that will make me attractive to potential employers. I want to avoid having to take the route of interning for free; I just can’t afford to not be working full-time right now.

I have zero experience with JavaScript, but I’m confident I can pick up any language with a bit of time. I really disliked Java, thought C was ok, and really enjoyed what I learned about OCaml.


#44

What made Java so terrible?

(I’m also pretty grateful for this thread)


#45

Keep in mind my feelings are in the context of a class I had to take which was also teaching me the very basics of algorithms & data structures. It was just really frustrating learning all the conventions that I found unintuitive, like “wrapper classes” to solve problems. I might find it better with more exposure, and without the pressure of completing assignments I guess. I didn’t do so well in a class that required me to learn OCaml, but I just found that language so much more appealing. I think I’m a fan of functional languages.


#46

Similar situation, I went into business consultancy at 40, after doing software engineering and programming for more than 25 years, with a PhD in computer science. As a change at that age, this was very challenging, but still manageable, so this may be something for you if your current skill set is marketable (think of the processes you are good in, and where you could apply these outside of your current line of work).

If you look for a very challenging intellectual hobby you can do on your own time and pace, I’d say coding could be bullseye perfect for you, just like producing electronic music is for me for the past years. For a career change, I strongly advice against it, this is a game younger people have considerable advantages when starting out.

Best,

K


#47

Nothing beats walking in to an interview with sample code having something to do with the position you are applying for. It doesn’t have to be jaw dropping, especially if you can say something like, “I was thinking about your problem, and i got interested and so i had to put together this little application, to …” You’ll at least get some attention and stand out a little. Been on both sides of this and believe me it works.


#48

The thing that’s pretty cool about development work (i’m distinguishing development work here from just programming or coding) is that whatever other expertise you may have you can combine it with computers and have something in that. Even a degree in English :grin:!


#49

Keep in mind that object oriented languages are there for a reason, and that functional programming languages, while easier to master, have their pitfalls when designing larger systems. The things you are struggling with are not Java, but the idea of object-oriented expression of problems, which is one abstraction layer above thinking in functions.

Once you realize that modern cars, whose embedded systems often have been programmed in low-level functional languages, do normally have more than 30.000 global variables within their control systems to keep track of all the “states” the subsystems have, you can imagine what kind of horror it must be to debug these monsters. So give Java a chance.


#50

I don’t even think I have a choice considering how widely-used it is lol.


#51

The young may have considerable advantages, that is true, but that’s not enough of a reason to give up. For many of us who did not get to go off to university, early retirement is not a viable option. So why not continue to learn and evolve, especially when the barrier to entry has become so low? If I want to take a python class, I can take one for free online, presented by a Stanford professor who works at Google.

I did not have things like GitHub and codepen, etc. as a semi-feral youth. For me, it was mostly dudes telling me I lacked the pedigree. Now it’s inclusive young people sharing how-to’s. There’s no way I’m going miss out on this part of my life.


#52

I worked with Reaktor for many years (maybe 2000-2007?) and transitioned to MAX in around 2010 after a break from computer stuff. I am far from an expert, but find it has a great open community and lots of support and documentation. PD is great due to the open source nature. So is Supercollider, but honestly, it intimidates me. I’ll stick with MAX and my ES8 to interface with my modular stuff.

There’s a great Kadenze class for MAX beginners I’d highly recommend. Youtube channels galore.

I think a lot of this all depends on how much you want to focus on the programming side and how much you want to focus on the creating things side. Given that there’s a relatively steep learning curve even with MAX to get making stuff that’s your own, I’m sure some of these more foundational code languages will be even steeper.

Good luck though! :slight_smile:


#53

im gonna go ahead and be a little contrarian and say PD is an absolute pain in the ass to use, and i attribute this mostly to its open source nature. even with purr data / extended / l2ork etc, max is far superior.


#54

JavaScript is a good place to be these days. So much tasty code ripe for the taking on npm. And decent built-in web APIs for MIDI (at least in Chrome) and synthesis.

Plenty of other great suggestions here too. I recommend you do a little shopping around, think about what excites you about code, weigh your options and have a good long think about it. Then dive in deep on the thing that looks the most interesting and promising… and most of all like you could spend many long hours staring at it - because you will!


#55

You make a fair point, and maybe I am too pessimistic here. You are right, there is a lot to be said at ressources now much more available, which greatly helps when you have the determination.


#56

One of my favorite developers to work with was in his mid-60s at the time. And he wasn’t the canonical stubborn greybeard - he turned me onto React and Redux (just because he thought they looked cool).

Another friend of mine is almost 40 and just starting his development career. I think he’s making more money than me :slight_smile:

It’s foolish to shut out anyone based on something as superficial as calendar age.


#57

I couldnt agree more. I made switch from Accounting to Development when i was 30 and I have loved every minute of it since. Some of my friends had false assumptions that you have to be super young to be “good at it.” I think just being abot to understand procedural thinking helps alot. In fact, i joke about “if you can read a manaul and follow instructions, you’ll be a decent programmer.” So I guess that means everyone here is capable of being a decent programmer LOL


#58

I don’t believe you intended to sound discourging or pessimistic, but I couldn’t help but recognize my own voice. Or rather the sort of thoughts that lead me to abandoned pursuits. :slightly_smiling_face:


#59

I’ve begun my career as a programmer at age 30 and i’m 41 now.
I’ve never really been a geek , nerd or whatever. I just wanted to make a good living at the time because my passion is really music and arts. Im a Java programmer and i make very good money (sometime i’m almost embarrassed ). I really like what i do but there is a difference coding for fun and doing this has a living.

I don’t use my computer that much when im at home, i mean i code 40 hours a week so i really need to do something else.

Also i like “programming” stuff for the Axoloti , Nord Modular etc. I don’t think i have the time and patience to build hardcore DSP stuff from scratch since i have 2 kids and not a lot of time.

Sometime i think some of my coworkers are too nerdy even if everyone is very nice :slight_smile:
I mean i don’t understand how you can spend all your spare time in front of a computer.


#60

The most sensible reason to get started with Python is, that many people find it to be the most beneficial language because it’s easy to learn (compared to other languages) it’s fast to write, and it’s used in many different fields (specifically in math, machine learning, etc.). Yes, I can say it’s even a lot of fun to write Python code :slight_smile: Once you know the concepts of writing in Python, it would be much easier to learn C/C++ which you’d be choosing if you really care about low latency giving you the ability to build e.g. something like the Virus TI or many other software based synths. Although it was written in Assembler (which is even more bare bone than C), it today would probably be written in C/C++ when talking to Kemper’s engineers.

So my thinking is: Starting off with Python’s basics (e.g. with a course on https://www.codecademy.com/) for a week or two, start implementing some algorithms with libraries mentioned in this thread and see how the journey goes. If you get something decent coded and you run into latency issues you’re naturally going to think about other languages and make your choice.