door DoubleJ » 19 maart 2008 22:50
C is iets waar je in principe als software 'engineer' niet aan moet beginnen.
C wordt nog steeds een heleboel toegepast in het op low level programeren van Micro controllers en soortgelijke applicaties. Ik meende dat iemand hier ook beweerde dat C 'OOP' was, en ik meende dit ook weer ontkracht te zien worden, maar dan nogmaals C is NIET!! Object Oriented.
C++ is een Object georiënteerde variant van C, daarnaast is C++ ook veiliger omdat de parser er rekening mee houd dat je niet geheugen plaatsen gaat overschrijven die je je zelf niet het toegekend, zo kun je niet buiten je arrays treden, C let hier totaal niet op en voor zover ik weet wordt die in de ICT niet meer onderwezen, maar alleen nog dus in microcontrollers endergelijk gebruikt(eventueel ondersteund met eigen stukjes assembly code voor extra snelheid).
Verder heb je nog C# ik weet niet in hoeverre C# met MS of .Net te maken heeft, wel weet ik dat .Net een enorme opkomst begint, of aan het maken is. Dus als .Net gebruik maakt van C# is het zeker de moeite waard om je hier in te gaan verdiepen.
Dan is er nog Java... Java is zo OOP als de pest, en naar mijn mening weer iets 'te', maar dat heeft ook weer voordelen. Tegenwoordig is het ook steeds meer een trend dat er Java applicaties in embedded omgevingen worden gebruikt. Op mijn stage ben ik nu bezig met een Cellular engine(mobiel telefoon modem)van Siemens, die je kan voorzien van een Java applicatie.
Java heeft een aparte 'Micro edition' speciaal ontwikkeld voor embedded software. In principe werkt dit ook op gewone java machines, alleen heeft J2ME minder features/libraries dan normale Java.
Verder nog de opmerking dat van C, en Java de syntax enorm op elkaar lijkt, ik vermoed dat voor C++ en C# hetzelfde geld.
Goed tot zover mijn duit in het zakje bij deze discussie.
Dan over het feit wie je bij kan staan in het programeren en C++, nee helaas kan ik je daar niet bij helpen. Ik heb op dit moment alleen maar ervaring met programeren in C en eventueel assembly, maar dat laatste heb je niet veel aan omdat dat per processor een andere syntax heeft(is fabrikant afhankelijk).
Bovendien strekt die ervaring zich ook niet verder dan micro controllers, en ik neem aan dat jij niet een stukje embedded software wil gaan zitten produceren...
De wondere wereld van het wijde web.