Boston Linux & Unix (BLU) Home | Calendar | Mail Lists | List Archives | Desktop SIG | Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings
Linux Cafe | Meeting Notes | Linux Links | Bling | About BLU

BLU Discuss list archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss] OT Rant/Discussion C vs C++



I started programming back in the 1970s. When I learned C, C was a new 
language. ANSI C was a big thing and we had to "port" to ANSI C because 
various vendors implemented vagueness in the C syntax differently. Those 
of us who understood portability between C compilers fared better. 
Anyway, when C++ came along, it was a similar sort of deal. The rough 
edges around the language were different across different vendors. 
Templates especially. Understanding this always made maintaining the 
code, over time, easier.

As C++ developed, those of us who were conservative in our 
implementations fared well in the Borland/Microsoft C++ war.  In 
adopting C++, the general rule was to use the "safe" constructs of the 
language and use only those aspects of the language that facilitated the 
architecture and leave the rest alone. Even today, aspects of C++ create 
immense bloat in code. (Templates)

Maybe old habits are hard to break, I don't know, but I still consider 
the old way a good design philosophy. The whole "[OT] C++ strings" 
discussion is a perfect example. A C++ programmer and/or architect 
should resist the temptation to be "language lawyers" and design 
software that requires understanding the arcana of the language to 
understanding the body of the code. It may be clever, but it makes the 
code hard to understand and of reduced value in the future.



BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org