Ah sorry... ik interpreteerde de
wat anders...
Visual Studio is inderdaad een IDE die voornamelijk ontwikkeling voor Windows stevig ondersteunt, maar niets verhindert je om platformonafhankelijke code te schrijven of te gebruiken. Als je ze wil testen onder andere platforms moet je natuurlijk wel elders inladen in een andere IDE, of toch makefiles voorzien... Maar als je platformonafhankelijke libraries gebruikt, zal je vaak merken dat inderdaad zowel project files voor Visual Studio als makefiles worden meegeleverd.
Het platformonafhankelijk zijn van de code heeft niets te maken met de IDE, alles met de code zelf. C++ code platformonafhankelijk maken is inderdaad een heksenwerk - van Endianness tot file systems, alles moet je zelf programmeren. Vaak staat zo'n code dan ook vol #ifdefs ... daar is niets aan te doen. Het is in ieder geval niét zo dat Visual Studio u zou verplichten Windows specifieke code te schrijven - je kiest zelf wat je schrijft. Maar moest je kiezen om een eenvoudige Windows app te schrijven, kan het je natuurlijk wel vele dagen werk besparen.
Technologieën die enkel onder Windows werken : VST (Virtual Studio Technology) van Steinberg bvb : de industriële standaard voor software synthesizers. Dit zijn plugins voor sequencers die je moet compileren in de vorm van dll's. Ik geloof dat Logic voor Macintosh wel mogelijkheden heeft om deze ook te gebruiken (meestal door heel low level op de dll te gaan inhaken, void pointers, mallocs, enz.). In linux wordt er wat aan gewerkt in Audacity in combinatie met Wine, maar dat staat nog in de kinderschoenen en zal nooit de performantie kunnen bereiken van het native draaien in Cubase op Windows.
ASIO is een geluidskaart-drivertechnologie die lage latency timings biedt, een beetje zoals DirectSound. ASIO werkt voor Windows en Mac, Linux support ben ik vooralsnog nergens tegengekomen. Het dichtste dat in de buurt komt voor Linux is JACK, maar die zitten nu ook maar aan versie nul-punt-zoveel... nog niet zo lang in ontwikkeling.
In het algemeen is het qua audio functionaliteit in Linux erg pover gesteld. De enige echte sequencer voor Linux is Rosegarden, en dat staat nog vrijwel nergens - Cubase staat tot Rosegarden zoals een Lamborghini tot een Trabantje. Als ik audio wil opnemen, hoezeer ik geluidsinstellingen ook probeer te tweaken, heb ik via ASIO in mijn Windows-omgeving nog steeds 2 keer lagere latency timings en dus veel betrouwbaarder opnames.
Totdat iemand met heel veel tijd dus eens werk gaat maken van de uitbouw van low latency audio technologieën voor Linux, blijft de industrie het netjes met Windows en Mac doen - platformen waarop al 20 jaar heel veel ontwikkeling voor audio is gebeurd en waar die sector dus al zwaar is uitgebouwd. Voor een keer geef ik de industrie eens gelijk - als je kan kiezen tussen vele miljoenen smijten aan het jarenlange ontwikkelen van een linuxtechnologie en er dan een cd-tje mee te maken, of zonder die miljoenen ineens een cd-tje te maken met bestaande en bewezen high-performance Windows-technologieën...
Het is een geval van 'established standards' in de user community. Geen enkele opnamestudio draait op Linux, het is allemaal Windows of Mac, al jarenlang. De hightech bedrijven die de dure apparatuur leveren doen dus ook geen moeite om Linux drivers te schrijven - vraagt heel veel manuren, en ook dure fabricage, weinig afzetmogelijkheden, en cutthroat competition tussen alle spelers in de markt laten geen mogelijkheid voor nog meer extra R&D fondsen.
Makefiles zijn heel mooi enzo, maar vanaf dat een project enkele libraries gebruikt en een 100-tal klassen heeft, smeek je om een IDE. Auto-aanvulling en tooltips alleen al zijn een godsgeschenk - niet telkens in headerfiles moeten duiken om te zien wat er nu in een returned object zit, gewoon "->" typen en alle mogelijkheden verschijnen netjes op je scherm... zaligheid.