Hm, totaal niet wat ik bedoel eigenlijk. In C++ wordt het als evil gezien om met pointers en dat soort meuk te spelen, terwijl dat in embedded hardware bittere noodzaak is. In C++ heb je een miljard mogelijkheden tot verregaande abstractie, terwijl je in embedded hardware (ok, ik praat nu echt over ARM7 en simpeler) simpelweg het geheugen niet hebt om te generaliseren of abstraheren. C is daarentegen weer veel fijner dan de meeste andere talen in dat je pointers en structs kúnt gebruiken. Dat maakt C dus een meer-dan-voldoende taal voor embedded, en een mooi compromis tussen asm en abstractere (bijv. OO) talen. Of, anders gezegd, C++ voegt eigenlijk niks toe voor echt low-level embedded spul. Je gebruikt C stiekum gewoon als 'makkelijke' assembler.Exirion schreef op zaterdag 03 juli 2010 @ 00:07:
[...]
Onzinnig statement. In de jaren 90 was OOP het sleutelwoord en moest alles OOP zijn om als fatsoenlijk gemodelleerd beschouwd te worden. Dat veel mensen leren programmeren in object-georienteerde talen wil niet zeggen dat niet-OO talen daarom geen goeie software kunnen opleveren. Veel mensen zijn bang voor C of weten er niet mee om te gaan. OO is niet heilig en in C kun je net als in C++ prima software schrijven. Sterker nog, overgestructureerde C++ code kan soms zo omslachtig/krampachtig opgezet zijn dat je hetzelfde in veel minder code met C kunt doen, en zodanig dat het overzicht over het geheel beter is.
Aan de andere kant van het verhaal heb je high-level OS-meuk waar je écht geen tijd en zin hebt om de honderd miljard interfaces te gaan bestuderen. Je wilt abstractie, je wilt alle complexiteit wegijken, je wilt prototypes en je wilt dynamic binding zodat maintainability nog enigszins makkelijk blijft voor je ooit-glorieus-geprogrammeerde projecten. Je hebt de luxe dat een x86-monster tientallen miljoenen interrupts per seconde en giga-instructies per seconde kan verwerken, en bovendien terabytes opslag heeft, dus mag je wel ietsjes meer overhead genereren om het jezelf makkelijk te maken. Ik zeg niet dat dit met C niet kan, ik zeg alleen dat C++ het IMO makkelijker maakt, net als bijvoorbeeld Java (wat wmb ook een prima platform is voor high-level zut).
Nou programmeer ik zelf bijna exclusief voor AVRs, ARM7, TMS320 en andere simpele microcontrollers, dus ik kom ook niet bepaald intensief in contact met C++, dus een .oisyn kan hier intelligentere opmerkingen over maken, maar dit is wat ik erover denk.
Ligt het trouwens aan de hitte of zijn jullie altijd zulke vechtersbaasjes?
            
            
            