TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Jason Hendriks
from: Jonathan de Boyne Pollard
date: 1995-04-19 08:34:20
subject: `Which C++ Compiler?`

JH>
  >              And you seem to know what you're talking about
  > so just what compiler are you recommending???
JH>

  I have my favourite, but I'm not *recommending* any of them.  Weigh up
  the pros and cons yourself and decide which is best for you based upon
  your own criteria.

JH>
  >          I can handle Pascal, and the university teaches
  > "Turing" (similar to Pascal), but I could probably give C a
  > try.  Is that the only language available natively for OS/2?
JH>

  Nope.  There are development tools for PASCAL, FORTH, MODULA, PL/I,
  REXX, SmallTalk, Ada95, Eiffel, and several other languages (which I
  cannot remember off the top of my head) available for OS/2.

  There are others here who are greater experts in those languages than
  I, though.

JH>
  > Never even dabbled in C, so could you tell me the
  > difference between C, C+ and C++?
JH>

  [[ Hello to Andrew Clegg! (-: ]]

  Coincidentally enough, I'm composing a list of Frequently Given
  Answers for the CPLUSPLUS echo (since no-one else seemed to actually
  want to do it), and "What is the difference between ISO C and C++?" is
  one of the questions that is frequently asked.  So here's a sneak
  preview of a couple of answers from the second draft of FGA-CPP.TXT :

| X What is the difference between ISO C and C++ ?
|
|   Strictly, ISO C and C++ are two entirely separate languages.  However,
|   there are strong historical links between the two.  C++ originally
|   developed as "C with Classes", which was the C language
(which was K&R
|   C at the time) with a class facility (borrowed from Simula) added to
|   it.  In fact, the earliest C++ "compilers", such as AT&T cfront, in
|   fact converted C++ source to K&R C code and then used the K&R C
|   compiler as a "back end".
|
|   Nowadays, C++ is a language in its own right.  Although most ISO C
|   code can be compiled with a C++ compiler with little or no trouble,
|   there are slight syntactic differences between the two languages and a
|   definite difference in philosophy.
|
|   Whereas ISO C is thought of much as a "portable assembly" (i.e. it is
|   a low-level language giving a strong degree of control at the level of
|   the actual hardware), C++ is aimed slightly higher.  C++ programming
|   involves a lot more abstraction than ISO C programming, and there is
|   comparatively less congruence between source and object code.  C++
|   also places far more emphasis on strict variable typing, and narrower
|   scoping (i.e. upon declaring variables as near to the point of use as
|   possible).  The idea that variables are variously constructed and
|   destroyed as program execution progresses is another difference.
|
|   As far as syntactic differences go, consult section 18.2 of The ARM
|   for a complete list.  Most of the differences stem from the reduced
|   need for the preprocessor in C++, the changes to the way that
|   declarations work, and the stricter type system that C++ has.
|
| X Should I learn ISO C or C++ ?
|
|   In general, the fact that C++ is touted as being "one step on from C"
|   means that a lot of companies hire people with C++ experience these
|   days.  It's a sad fact that most managers have a sort of checkbox
|   mentality when it comes to hiring people, and those that know C++
|   stand a better chance of being hired, even when the job is not C++ at
|   all.
|
|   ( In fact, you will find that many people hire on the basis that "we
|     are thinking of moving to C++ at a future date", even though they
|     never end up doing so, usually because the job never requires the
|     sort of high-level abstractions in C++.  The job market has a lot to
|     do with perceptions, rather than anything else.  As a fellow
|     programmer, used to thinking logically, you will probably find this
|     as frustrating and stupid as the rest of us do.  )
|
|   If you do intend to learn C++, there are two ways to go about it.  You
|   should choose which one you find easiest.
|
|   If you find yourself to be one of life's natural born Object Thinkers,
|   who can grasp the concepts of classes, instances, methods, and
|   instance data easily, then it is probably best to start with C++
|   straightaway, since learning ISO C will weigh you down with a lot of
|   procedural-oriented conceptual baggage that you will not need for C++.
|
|   If, on the other hand, you find yourself lost in a maze of squiggly
|   brackets, all alike, then it is probably wiser to learn C before
|   learning C++, because ISO C has the simpler syntax.  Once you have
|   mastered the syntax of ISO C, the syntax of C++ will be easier to come
|   to grips with.
|
| X I already know ISO C.  How can I best get up to speed with C++ ?
|
|   Difficult one.  Probably the best route is to start with C++ as a
|   "type-safe C" and work up from there.  The biggest step will be
|   introducing Object Oriented Programming techniques into your program
|   design.
|
|   If you find occasions where you have a structure and a set of
|   functions operating with an instance of that structure (usually taking
|   a pointer to it as a parameter), then you may be surprised to learn
|   that you are already doing OOP, in C. You should think of turning that
|   structure and those functions into a C++ class.
|
|   If the ideas of data and function members of classes don't click for
|   you, then, ironically, one of the best ways to get accustomed to them
|   is a little Visual BASIC or JOT programming.  The concepts of
|   Properties and Methods in both Visual BASIC and JOT can give you
|   insight into the slightly more powerful (and more complex) concepts of
|   data and function members in C++.
|
| X What's the best C++ compiler ?
|
|   Unfortunately, this question is the source of many Compiler Wars.
|   [ ... and so on ... ]

  The CPLUSPLUS Frequently Given Answers is currently unreleased, but
  (moderator willing) I hope for it to see the light of day in the
  FIDONET CPLUSPLUS echo quite soon. All contributions are welcome (via
  netmail only, please).

  > JdeBP <
___
 X MegaMail 2.10 #0: Oklahoma? Pah! A bomb exploded in Belfast EVERY WEEK.
--- Maximus/2 2.02
* Origin: DoNoR/2,Woking UK (44-1483-722344) (2:440/4)
SEEN-BY: 105/42 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407
SEEN-BY: 712/515 628 704 713/888 800/1 7877/2809
@PATH: 440/4 141/209 270/101 105/103 42 712/515 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.