Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.arch.embedded > #18834
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Newsgroups | comp.arch.embedded |
| Subject | Re: reasons for preferring C over C++ |
| Date | 2014-10-19 17:00 -0700 |
| Organization | Nightsong/Fort GNOX |
| Message-ID | <7xoat7hape.fsf@ruckus.brouhaha.com> (permalink) |
| References | <543ead04$0$15847$e4fe514c@dreader35.news.xs4all.nl> <m1mmar.23s.1@stefan.msgid.phost.de> <caf18hF6lueU1@mid.individual.net> <7x4mv1tdyv.fsf@ruckus.brouhaha.com> <cahbdfFp8kcU1@mid.individual.net> |
"tim....." <tims_new_home@yahoo.co.uk> writes: >> [ STL containers ] > the syntax is awful - completely unintelligible to someone who has > never seen it before (and sometimes even if you have) It seemed pretty natural to me. std::vector<float> is a vector of floats. std::vector<int> is a vector of ints, and so on. > and for what: to save me writing a discrete function to perform the > task Well yeah, you get tested, standardized implementations of a bunch of datatypes that occur over and over in real world programs. Who wants to write a new function, debug it, maintain it, make others maintain it, figure out and maintain the implementations of such functions written by others, stop groaning after finding there are dozens of implementations of essentially the same function in any large codebase, etc. Imagine the C library didn't standardize printf, so everyone wrote their own function for printing numbers in decimal. Yeah you could, but it gets in your way at more levels than you might expect. >> They will do stuff like automatic resizing > Do you mean between types. No, I mean the STL vector class will let you grow the vector, like: std::vector<int> v; // v is now an empty vector v.push_back(3); // v now contains the element 3 v.push_back(4); // v now has two elements (3 and 4) > In a small embedded system who cares? I'm going to be using bools, 8 > bit bytes and 16 or 32 bit words. In very small systems (less than 4k of ram, say), yes you probably do want static allocation. In these days embedded programming encompasses those very small systems (8 bitters, Cortex M0) at one end where C is workable. Then there's a midrange (ARM Cortex M3, say) where C++ and the STL bring benefits. And finally there's systems with embedded Linux or equivalent, which is not much different from desktop programming and where C++ itself is too low level for lots of apps (I've programmed these systems in Python and have been interested in using Erlang on them). Tiny systems are a niche even in embedded software now. >> and range checking > big deal Given the amount of bugs in real code caused by subscript errors, range checking is a good thing too. >>, and they allow you to use containers of multiple > but I won't have enough types for this to be a problem Look up "typeful programming" and start using more types. It will decrease your debugging time :). >> STL is not really hard to use. > No it's not hard to use, but it is like 1000 discrete facts long. And > the tests always ask you about the most obscure ones. I've found cppreference.com to have enough info to use STL effectively. > at 2 minutes per question you don't have enough time for more that a > cursory glance In that case they're trying to check your experience level.
Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
reasons for preferring C over C++ Wouter van Ooijen <wouter@voti.nl> - 2014-10-15 19:21 +0200
Re: reasons for preferring C over C++ Paul Rubin <no.email@nospam.invalid> - 2014-10-15 10:36 -0700
Re: reasons for preferring C over C++ Wouter van Ooijen <wouter@voti.nl> - 2014-10-15 19:48 +0200
Re: reasons for preferring C over C++ Tom Gardner <spamjunk@blueyonder.co.uk> - 2014-10-15 21:25 +0100
Re: reasons for preferring C over C++ Wouter van Ooijen <wouter@voti.nl> - 2014-10-15 23:28 +0200
Re: reasons for preferring C over C++ Tom Gardner <spamjunk@blueyonder.co.uk> - 2014-10-15 23:40 +0100
Re: reasons for preferring C over C++ Don Y <this@is.not.me.com> - 2014-10-15 10:58 -0700
Re: reasons for preferring C over C++ upsidedown@downunder.com - 2014-10-15 21:03 +0300
Re: reasons for preferring C over C++ Don Y <this@is.not.me.com> - 2014-10-15 11:11 -0700
Re: reasons for preferring C over C++ Wouter van Ooijen <wouter@voti.nl> - 2014-10-15 20:26 +0200
Re: reasons for preferring C over C++ Stefan Reuther <stefan.news@arcor.de> - 2014-10-15 20:44 +0200
Re: reasons for preferring C over C++ Wouter van Ooijen <wouter@voti.nl> - 2014-10-15 23:30 +0200
Re: reasons for preferring C over C++ Stefan Reuther <stefan.news@arcor.de> - 2014-10-16 18:19 +0200
Re: reasons for preferring C over C++ Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2014-10-16 23:12 +0200
Re: reasons for preferring C over C++ Reinhardt Behm <rbehm@hushmail.com> - 2014-10-17 13:25 +0800
Re: reasons for preferring C over C++ Stefan Reuther <stefan.news@arcor.de> - 2014-10-17 18:43 +0200
Re: reasons for preferring C over C++ "tim....." <tims_new_home@yahoo.co.uk> - 2014-10-18 12:29 +0100
Re: reasons for preferring C over C++ Paul Rubin <no.email@nospam.invalid> - 2014-10-18 11:44 -0700
Re: reasons for preferring C over C++ Tom Gardner <spamjunk@blueyonder.co.uk> - 2014-10-18 22:25 +0100
Re: reasons for preferring C over C++ Paul Rubin <no.email@nospam.invalid> - 2014-10-18 15:42 -0700
Re: reasons for preferring C over C++ Niklas Holsti <niklas.holsti@tidorum.invalid> - 2014-10-19 11:03 +0300
Re: reasons for preferring C over C++ Tim Wescott <seemywebsite@myfooter.really> - 2014-10-19 17:46 -0500
Re: reasons for preferring C over C++ Paul Rubin <no.email@nospam.invalid> - 2014-10-19 16:28 -0700
Re: reasons for preferring C over C++ Nobody <nobody@nowhere.invalid> - 2014-10-20 02:47 +0100
Re: reasons for preferring C over C++ "tim....." <tims_new_home@yahoo.co.uk> - 2014-10-19 09:34 +0100
Re: reasons for preferring C over C++ Paul Rubin <no.email@nospam.invalid> - 2014-10-19 17:00 -0700
Re: reasons for preferring C over C++ Tom Gardner <spamjunk@blueyonder.co.uk> - 2014-10-20 08:50 +0100
Re: reasons for preferring C over C++ "tim....." <tims_new_home@yahoo.co.uk> - 2014-10-20 11:57 +0100
Re: reasons for preferring C over C++ Tom Gardner <spamjunk@blueyonder.co.uk> - 2014-10-20 12:11 +0100
Re: reasons for preferring C over C++ upsidedown@downunder.com - 2014-10-20 22:36 +0300
Re: reasons for preferring C over C++ Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> - 2014-10-21 00:36 +0000
Re: reasons for preferring C over C++ Tom Gardner <spamjunk@blueyonder.co.uk> - 2014-10-20 08:52 +0100
Re: reasons for preferring C over C++ "tim....." <tims_new_home@yahoo.co.uk> - 2014-10-20 11:56 +0100
Re: reasons for preferring C over C++ Stefan Reuther <stefan.news@arcor.de> - 2014-10-19 10:52 +0200
Re: reasons for preferring C over C++ Paul Rubin <no.email@nospam.invalid> - 2014-10-19 17:16 -0700
Re: reasons for preferring C over C++ glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-10-18 23:02 +0000
Re: reasons for preferring C over C++ "tim....." <tims_new_home@yahoo.co.uk> - 2014-10-19 09:45 +0100
Re: reasons for preferring C over C++ David Brown <david.brown@hesbynett.no> - 2014-10-15 22:12 +0200
Re: reasons for preferring C over C++ Wouter van Ooijen <wouter@voti.nl> - 2014-10-15 23:35 +0200
Re: reasons for preferring C over C++ Paul Rubin <no.email@nospam.invalid> - 2014-10-15 19:10 -0700
Re: reasons for preferring C over C++ Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2014-10-16 10:34 +0300
Re: reasons for preferring C over C++ Tom Gardner <spamjunk@blueyonder.co.uk> - 2014-10-16 10:10 +0100
Re: reasons for preferring C over C++ Tim Wescott <tim@seemywebsite.com> - 2014-10-16 01:06 -0500
Re: reasons for preferring C over C++ Anders.Montonen@kapsi.spam.stop.fi.invalid - 2014-10-16 08:32 +0000
Re: reasons for preferring C over C++ David Brown <david.brown@hesbynett.no> - 2014-10-16 20:54 +0200
csiph-web