Why C++?

geyin 2009-05-07 10:52:07
Why C++?
Let me ask you a different question, ‘‘Why English?’’ Well you know the answer to that; it is a language you
speak. Think a little further, what is the most widely spoken human language? Chinese is the mother tongue
for more people than any other language, so why am I not writing in Chinese? On the other hand languages
like Spanish and Swahili are far easier to learn than English so why am I not writing in one of those?
As you know, English is not only the mother tongue of a few hundred million people but it is also the
second language for immensely more people. If you were an alien visitor to Earth I doubt that you would
think twice about which human language you should start with. For all its complexity English is
overwhelmingly the first choice language for those who want to move outside their own community.
C++ is very like that in the computing community. It is a rich and complex language with dark
corners and traps for the unwary. But it is also the most widely used general-purpose computer
programming language. Few people, if any, ever master the whole of English and few people, if any, master
the whole of C++. But we do not need mastery of the whole of English nor do we need mastery of the
whole of C++. This is not a book about C++ and when you finish it you will not be a C++ programmer.
What you will be is a programmer who can use C++ to express solutions to problems and to write programs
that meet real needs.
Why C++? Exactly because C++ does not get in the way of my showing you how to program. Other
programming languages may be simpler but too often I would find myself frustrated because they would
prevent me from showing you simple answers to programming problems. I have been able to pick and
choose from the richness of C++ to empower my readers with powerful tools that match powerful ideas.
C++ has one small failing in that the basic language lacks tools for graphical work. That was easily
fixed because I could write those tools in C++ and make them available to you. I needed some specialist help
with those tools because of the quirkiness of computers: they have different graphical facilities, numbers of
colors on the screen, etc. Using C++ allowed me to specify what I needed and have a colleague (Garry
Lancaster) turn those specifications into tools that will work on all MS Windows machines. Eventually
(maybe even before you see this book) I will find others who can turn that C++ into identical tools for other
machines but until I do, we have to put up with an artificial limitation in that programs you write using my
tools will only work on machines running some version of MS Windows.
The last element I needed was some simple tools for you to use to write programs and manage the
various technical details of turning what you write into something the computer can use. Those tools were
provided by another writer, Al Stevens, who gave me permission to distribute Quincy, which is his tool set
for newcomers to programming.
The work of people like Garry Lancaster and Al Stevens demonstrates the very best of the computing
community, good work freely shared. The consequence is that you have in your hands everything you need
(other than a computer and your time and energy) to learn to program.
The choice is entirely yours, if you want to learn to program and by doing so learn a bit about how
other people’s computer programs work, you can. Roberta and I have spent nine solid months writing this
book for you (that does not mean it will take you nine months to read it – she had the added burden of
persuading me to improve the text so that others would find it easier). For the first time you have a real
choice about learning to program. We have done our, bit the rest is up to you.
...全文
106 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
datacodebugs 2009-05-10
好文...
  • 打赏
  • 举报
回复
我来看看CB 2009-05-10
C++
  • 打赏
  • 举报
回复
zhanghelpsgz 2009-05-08
[Quote=引用 3 楼 Waiting4you 的回复:]
接分,改成中文就好了
[/Quote]

同感
  • 打赏
  • 举报
回复
fairchild811 2009-05-08
jf
  • 打赏
  • 举报
回复
cxxer 2009-05-08
不错,不错.
  • 打赏
  • 举报
回复
springworker 2009-05-07
jf
  • 打赏
  • 举报
回复
laowang2 2009-05-07
jf
  • 打赏
  • 举报
回复
hemiya 2009-05-07
jf
  • 打赏
  • 举报
回复
jame2001 2009-05-07
看完了~
  • 打赏
  • 举报
回复
Waiting4you 2009-05-07
接分,改成中文就好了
  • 打赏
  • 举报
回复
发帖
茶馆

538

社区成员

C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
帖子事件
创建了帖子
2009-05-07 10:52
社区公告
暂无公告