Why C++?
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.
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.
...全文
相关推荐
萤石CS-CP1-2C3WF刷机固件,可刷MY3-3WHY机型
标题中的“萤石CS-CP1-2C3WF刷机固件,可刷MY3-3WHY机型”指的是萤石公司的一款网络摄像头产品,型号为CS-CP1-2C3WF,该固件是为了升级或恢复设备的系统而设计的。"
why.js:网页的神秘和客观适得其反的asm
这表明"why.js"不仅包含了JavaScript代码,也可能包含C语言编写的组件,用于构建能在JavaScript环境中运行的虚拟机,该虚拟机可以解释执行类似汇编的语言。**标签解析:**1.
电信CS-TY3-2WCN,移动CS-MY3-3WHY, 可解固件萤石CS-CP1-2C3WF ,300W像素
电信CS-TY3-2WCN,移动CS-MY3-3WHY, 可解固件萤石CS-CP1-2C3WF ,300W像素
电信CS-TY2-2wcn,移动和家亲CS-MY2-2why,200W像素刷萤石云固件CS-CP1-1C2WFR可解
电信CS-TY2-2wcn,移动和家亲CS-MY2-2why,200W像素刷萤石云固件CS-CP1-1C2WFR可解
Unit_5_Why_do_you_like_pandas_A_Grammar_focus-3c
"Unit_5_Why_do_you_like_pandas_A_Grammar_focus-3c"在本单元的学习中,我们关注的是与语法相关的幽默和趣味性问题,通过一系列的脑筋急转弯和动物相关的谜


茶馆
