| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| 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™.