Hoeveel talen vind je genoeg?

ProgHead

Gepokt en gemazeld
Lid sinds
26 februari 2019
Berichten
8.110
Locatie
Zeist
Er zijn heel wat programmeertalen voor muziek en audio: Sonic Pi, ChucK, Csound, PureData, SynthEdit, FAUST, SynthCraft, SuperCollider, C++, etc. Dat roept de vraag op hoeveel talen optimaal is om te bestuderen. Dat zal voor iedereen weer verschillend zijn. Maar ik ben heel benieuwd hoe anderen die knoop hebben doorgehakt en waar ze zo op zijn uitgekomen.
 
Er zijn heel wat programmeertalen voor muziek en audio: Sonic Pi, ChucK, Csound, PureData, SynthEdit, FAUST, SynthCraft, SuperCollider, C++, etc. Dat roept de vraag op hoeveel talen optimaal is om te bestuderen. Dat zal voor iedereen weer verschillend zijn. Maar ik ben heel benieuwd hoe anderen die knoop hebben doorgehakt en waar ze zo op zijn uitgekomen.
Van bovenstaande talen heb ik wel eens dingetjes gedaan met Sonic Pi, SuperCollider en C++. Dat laatste op de Arduino, tegenwoordig ook op de Arduino Uno Q.
Verder doe ik wel eens dingen met Python. Dat heeft niet altijd met muziek te maken. In het verleden heb ik, met Python, de presets (sysex) van de E-mu roms ontcijferd.
Momenteel ben ik aan het bekijken hoe ik e-mu presets kan 'vertalen' naar een ander rom.
Ik voel geen behoefte om nog meer talen aan te leren, al heb ik kort geleden wel -beperkt- wat gedaan met JavaScript.
 
Is er voor jou ook een grens aan het aantal talen dat je bereid bent te bestuderen?
 
Ik ben geen programmeur, maar slaag er toch in om dingen in verschillende programmeertalen aan de praat te krijgen.
Het gaat meer uit van de behoefte van het moment. Jaren (decennia) geleden deed ik dingen in Visual Basic, omdat het programma (SecureCRT) in die taal kon aangepast worden (op PC).
Toen er eindelijk een versie voor Mac uitkwam, ben ik -uiteraard :P - daar naar overgeschakeld.
Maar daar werd Python gebruikt, in plaats van Visual Basic, en dus heb ik dat geleerd, en het script (slordige 2000 lijnen) omgebouwd naar Python (heeft 6 maanden geduurd)
Later heb ik C++ geleerd, om dingen te kunnen doen op de Arduino.
Ik deed vroeger ook wel eens wat in HTML (als je dat programmeren kan noemen).
Dat ging toen (lang geleden) vlot, omdat ik jaren op een zetterij heb gewerkt, waar SGML werd gebruikt. HTML is daar van afgeleid.
Misschien krijg ik in de toekomst nog wel de kans om een andere taal te leren? Tenslotte ben je nooit te oud om te leren, toch ?
Dus, nee, er is voor mij geen grens. Tenslotte ben je nooit te oud om te leren, toch ?
 
Dat laatste vraag ik mij af. Maar ik was vroeger ook al heel slecht in vreemde talen. En voor programmeertalen worstel ik met de syntax, de logica daarvan is - voor mij - vaak ver te zoeken. Hoe leer je die syntax?
 
De behoefte om weer wat met Python te doen, kwam er doordat Balma nieuwe presets heeft gemaakt voor de Shock-rom.
Ik heb het 'decodeer-script' afgestoft, om de presets uit te lezen (op verzoek van iemand op Gearspace)
En omdat er instrumenten gebruikt worden van roms die ik ook heb, wil ik de presets vertalen naar mijn roms.
Daar ben ik de volgende dagen nog wel zoet mee :engel:
 
Python heb ik ook wel gebruikt en vond ik relatief gemakkelijk om te leren.
 
Dat laatste vraag ik mij af. Maar ik was vroeger ook al heel slecht in vreemde talen. En voor programmeertalen worstel ik met de syntax, de logica daarvan is - voor mij - vaak ver te zoeken. Hoe leer je die syntax?
Ik ben ook slecht in vreemde talen (momenteel -eindelijk- Chinees aan het leren :engel:)
De syntax pik ik meestal op door naar voorbeelden te kijken, en die dan aan te passen naar wat ik nodig heb.
 
Ik zou ook graag oud Chinees kunnen lezen om oude Chinese wijsgeren als Lao tze en consorten in het Chinees te kunnen lezen, maar dat zal er niet meer van komen.

Leer je de syntax van programmeertalen op jouw manier zo goed dat je later ook zonder het gebruik van voorbeelden programma's kunt schrijven?
 
Ik zou ook graag oud Chinees kunnen lezen om oude Chinese wijsgeren als Lao tze en consorten in het Chinees te kunnen lezen, maar dat zal er niet meer van komen.

Leer je de syntax van programmeertalen op jouw manier zo goed dat je later ook zonder het gebruik van voorbeelden programma's kunt schrijven?
Ik leer modern Chinees (Mandarijns), om met de (schoon)familie te kunnen praten. Al spreken die allemaal vlot Engels...

De syntax van programmeertalen van buiten leren zal mij niet lukken, denk ik.
En ik heb ook steeds nieuwe dingen nodig.
Zo ben ik nu, voor het vertalen van die presets, aan het bekijken hoe ik binaire bestanden (sysex) kan wegschrijven, en hoe ik van een integer een byte kan maken.
(omgekeerd lukte al, dat doe ik al in het Python-script dat de E-mu presets ontcijfert)
 
Ik heb toen ik een jaar of 10 was wel eens een spelletje overgetypt in Basic op de commodore vic20... Telt dat ook? Spelletje deed het bijna... Heb de typfouten nooit gevonden....
 
Basic was op assembleertaal na de eerste computertaal die ik op school leerde. Dus dat telt zeker mee. ;-)
 
Ik heb aardig wat (script)talen langs zien komen en een aantal beheers(te) ik redelijk, veel lijken uiteindelijk ook wel weer op elkaar als soort mix van C en Basic-achtige toestanden. Echt programmeren doe ik al 20 jaar niet meer behalve eens een prototype, maar tegenwoordig knutsel ik nog weleens dingetjes in elkaar met Python of JavaScript met behulp van AI.
 
Begin jaren `80 obsessief bezig geweest met die Apple van toen. Tot ik er moe van werd.
Dan assembler op de Microproffesor`86 Die kwam uit de Bosch-Nederland. Daar heb ik nog een zelfgebouwde eprom-programmer voor gemaakt. Dat werkte. De `prehistorie` allemaal vergane glorie.
Daarna alles aan de kant gegooid. Gesnuffeld aan verschillende talen Visual Basic, HTML. Maar er nooit verder in gegaan.
Alleen voorbeeldjes.
Nog eens een keer een half jaar een goedkope cursus gevolgd van iets wat op een soort Basic leek van Microsoft een jaar of tien geleden.
Ik vond het een draak van een programma waar de computer nog niet eens genoeg geheugen voor had.
Nu doe ik het net zoals Nap.😁. En dat gaat.
 
Hangt er een beetje vanaf wat je wil bereiken:
  • Als je VSTs of Arduinos wilt gaan bouwen dan is het handig om (de basis van) C++ te leren.
  • Als je Ableton/Max4Live-plugins wilt maken zul je Max/MSP moeten leren (meer een tool dan een taal) en eventueel de daaraan gerelateerde talen om je eigen objecten te bouwen (C++, Java of Javascript dacht ik uit m'n hoofd).
  • Als je muziek wilt gaan scripten is Sonic Pi heel tof.
  • Python is altijd goed om te kunnen: vrij makkelijk te leren, grote community, heel leesbaar en heel veelzijdig.
  • Javascript is ook altijd goed om te kunnen, zeker voor web- of Node-achtige toepassingen. WebMIDI is heel tof om bijvoorbeeld een online MIDI-controller te maken en Web Audio is tof om audio-dingen mee te doen in je browser.
En zo zijn er natuurlijk nog meer talen, maar hoe meer niche, hoe minder flexibiliteit. Met C++/Python/Javascript kom je een heel eind in de digitale wereld, of je nu VSTs, websites of server-software wilt bouwen.
 
Hangt er een beetje vanaf wat je wil bereiken:
  • Als je VSTs of Arduinos wilt gaan bouwen dan is het handig om (de basis van) C++ te leren.

Daar heb ik al naar gekeken, maar dat is voor mij toch echt te hoog gegrepen. Ik wil wel ongeveer een idee hebben van wat C++ inhoudt en hoe het eruit ziet. Maar zelf in C++ programmeren zie ik niet meer gebeuren. Een paar boeken (die ik al heb) erover lezen moet genoeg zijn.

  • Als je Ableton/Max4Live-plugins wilt maken zul je Max/MSP moeten leren (meer een tool dan een taal) en eventueel de daaraan gerelateerde talen om je eigen objecten te bouwen (C++, Java of Javascript dacht ik uit m'n hoofd).

PureData ben ik wel al mee bezig geweest (en vind ik leuk), Java en JavaScript ben ik nog van plan te bestuderen. Die laatste twee dan vooral vanwege het steeds belangrijker worden van apps die in de browser werken.

  • Als je muziek wilt gaan scripten is Sonic Pi heel tof.

Mooi!

  • Python is altijd goed om te kunnen: vrij makkelijk te leren, grote community, heel leesbaar en heel veelzijdig.

Heb ik al mee gewerkt, voor rekenwerk en wetenschappelijke toepassingen. Dat ging heel goed.

  • Javascript is ook altijd goed om te kunnen, zeker voor web- of Node-achtige toepassingen. WebMIDI is heel tof om bijvoorbeeld een online MIDI-controller te maken en Web Audio is tof om audio-dingen mee te doen in je browser.

Web Audio wil ik mij nog in verdiepen omdat vrijwel iedereen een browser heeft, dus daarin een door mij gemaakte plugin zou kunnen draaien. Nu is het vaak zo dat Mac of Windowsgebruikers met mijn plugins niet uit de voeten kunnen omdat ik die op mijn Linux computer gemaakt heb.
 
Begin jaren `80 obsessief bezig geweest met die Apple van toen. Tot ik er moe van werd.
Dan assembler op de Microproffesor`86 Die kwam uit de Bosch-Nederland. Daar heb ik nog een zelfgebouwde eprom-programmer voor gemaakt. Dat werkte. De `prehistorie` allemaal vergane glorie.
Daarna alles aan de kant gegooid. Gesnuffeld aan verschillende talen Visual Basic, HTML. Maar er nooit verder in gegaan.
Alleen voorbeeldjes.
Nog eens een keer een half jaar een goedkope cursus gevolgd van iets wat op een soort Basic leek van Microsoft een jaar of tien geleden.
Ik vond het een draak van een programma waar de computer nog niet eens genoeg geheugen voor had.
Nu doe ik het net zoals Nap.😁. En dat gaat.
Mijn eerste programmeertaal was (op school) Fortran. Maar al snel waren er rekenmachientjes die je kon programmeren, en die meer konden dan die 'computer' op school. Ik heb toen een paar programmaatjes gemaakt op de HP-25 en TI SR-52. Dan een jaartje informatica gevolgd, op een 'computer' waar je nog ponskaarten moest induwen (...). Programmeertalen waren Cobol, RPG II en Assembler. Maar met een klas van 30 leerlingen, had je per lesuur amper 2 minuten om je code te testen. Dan moest je weer een week wachten. Dus kocht ik een TRS-80. Dat ding had 8k (!) geheugen. Daar heb ik mijn eerste BASIC programma's op gemaakt. In '88 had ik mijn eerste Apple (Apple Plus). Die kostte toen, zelfs tweedehands, een klein fortuin.
 
Daar heb ik al naar gekeken, maar dat is voor mij toch echt te hoog gegrepen. Ik wil wel ongeveer een idee hebben van wat C++ inhoudt en hoe het eruit ziet. Maar zelf in C++ programmeren zie ik niet meer gebeuren. Een paar boeken (die ik al heb) erover lezen moet genoeg zijn.
Op een Arduino kan je met een paar lijnen code al leuke dingen doen. Daar zijn talloze voorbeelden van te vinden.
 
OK - wie weet wat er nog van komt... ;-)

Maar nu is er op dat gebied nog te veel in beweging en zie ik door de bomen het bos niet meer. Zie: Daisy, Bela, Esp32, FPGA, OWL, Teensy, Ksoloti
Ja, dat gevoel ken ik. Ik heb voor de Arduino Uno Q gekozen, omdat je daar C++ én Python én JavaScript én HTML kan op doen? En die dan combineren tot 1 project. In de software (Arduino App Lab) zitten daar ook voorbeelden van.
Ligt even opzij, omdat ik nu het ‘vertalen’ van die E-mu roms aan het uitzoeken ben.
 
Back
Top