2010-02-16 2 views
2

similaires à: Why are RTOS only coded in C, mais:C++ pour les réseaux de capteurs sans fil

Outre les nombreux mythes sur C++, pourquoi est-il pas utilisé autant que C/nesC (TinyOS) pour WSN? Sachant que le C++ peut être utilisé pour Simulating Wireless Sensor Networks with OMNeT++, il est difficile de ne pas penser qu'il peut également être utilisé dans les systèmes embarqués en temps réel car C doit accomplir la gestion des événements. Je ne veux pas commencer un C++ est mieux que la guerre de flamme C, mais assez de preuves suggèrent que tout le C est plus rapide et plus polyvalent que le C++ est un mythe total. Jetez un oeil à:

C vs. C++ papier où les points suivants ont été soulignés:

- C++ is slower than C: Wrong! Many C programs are valid C++ programs as well - and such a C program should run at identical speed when translated with either the C and with the C++ compiler. 
- C++ specific features give overhead: Wrong! The so-called overhead introduced by certain C++ specific features (such as virtual function calls or exceptions), is comparable to the overhead you yourself would introduce should you choose to go thru the pain it would be to implement a similar feature in C. 
- C++ is object oriented: Wrong! The C++ language contains some language extentions over C, that make object oriented programming and generic programming more convenient. C++ does not force object oriented design anywhere - it merely allows for it if the programmer deems OO feasible. C allows for object oriented programming as well, C++ only makes it simpler and less error prone. 

Why are you still using C

+5

Nous avons discuté ici, mais je suis trop paresseux pour courir vers le bas les liens. Réponse partielle: les compilateurs c sont plus faciles à écrire et existent déjà pour presque toutes les puces que vous voulez nommer; c est suffisant pour faire le travail; et il y a beaucoup de c programmeurs. – dmckee

+0

Assez bien. J'ai déjà rencontré cette même raison auparavant, mais je l'ai prise à la légère. –

Répondre

Questions connexes