Name everyone c...'s profileFocus on English writing...PhotosBlogLists Tools Help
    December 22

    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 are you not writing in Chinese? On the other hand languages
    like Spanish is far easier to learn than English so why are you 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 an article 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 turn those specifications into tools that will work on all MS Windows machines. Eventually
    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.

    Comments (14)

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.

    To add a comment, sign in with your Windows Live ID (if you use Hotmail, Messenger, or Xbox LIVE, you have a Windows Live ID). Sign in


    Don't have a Windows Live ID? Sign up

    This text was copied from the introduction to the book "You Can Do It! A Beginner's Introduction to Computer Programming" by Francis Glassborow with Roberta Allen. See page 2 in http://www.spellen.org/youcandoit/flast.pdf .
    The book's homepage is at http://www.spellen.org/youcandoit/
    Please don't use material that others created, and if you do, at least attribute it correctly.

    Sept. 16
    Unbenanntwrote:
    This is really a response to an earlier comment.
     
    It's really hard to imagine that Spanish is more difficult than English.  Up front, I will admit that Spanish grammar is more difficult than that of English, in general.  The most obvious being the total lack of genders in English.  That said, English exhibits far more irregularities than Spanish and its variations, namingly Portuguese and Italian. 
     
    A language's difficulty does not rest solely on its grammatical complexity.  Other factors that should be taken into consideration include, but not limited to, pronunciation, flexibility, word formation, and probably the most important factor, the steepness of the learning curve to achieve a high level of competency.  Spanish is not an easy language to be fluent at; but once fluent, proficiency is very easy to achieve.  English, on the other hand, is just the opposite.  A person can be fluent in English within six months, if diligent.  However, to become proficient, it would take years upon years of hard work.
     
    To support my contention, I would like to introduce two separate references. 
     
    The first is the United States State Department language rating.  This rating is used to guide prospective diplomats in selecting which language to learn, amongst other purposes, such as salary determinations.  Spanish is rated as one of the easiest languages to learn, with German, Russian and Chinese as the hardest.  English falls between the two extremes.
     
    The second is the European Common Language Framework.  The average number of years necessary to achieve C2 level for each language can serve as a good indicator to how difficult it is to become proficient at that language.  Again, Spanish is on the easy end, German and Russian on the opposing end, with English in the middle.
     
    A language's perceived difficulty is heavily dependent on the individual.  I will give three examples.
     
    For an English speaker, learning Spanish would mean learning a new and more complex way of thinking about languages, and re-learning almost all words.  Whereas the order of English sentence elements is fairly important, Spanish provides some flexibility through its slightly more complex case structures.  An American English speaker also would need to "re-learn" how to pronounce sounds that are already present in English but more closed in comparison to the American accent.  The redeeming factor is that the two languages share an extraordinarily large collection of vocabulary, thus making the learning process significantly simpler once the basics are mastered.
     
    For a Chinese speaker, learning Spanish would mean learning a whole new approach for almost every single linguistic aspect.  In contrast to English, Chinese is so far off that effectively nothing from the language can be reused.  The only possible aspect of Chinese that could facilitate learning Spanish is the Chinese language's amazing lack of structure, or put it in a more positive way, its high level of modularity.  However, there's only so far this can go, because Spanish's detachment from order-specific structure is largely due to its use of cases.
     
    For a German speaker, learning Spanish would mean dumbing down significantly to accomodate the severely simplified grammar of Spanish and learning a few new words.  German is arguably the closest language to Latin, from which almost all European languages stemmed.  It is the only language that retained all three genders (male, female, neuter) in addition to the plural form, all four cases (nominative, accusative, dative, genitive), and the three-pronged inflection (physical location, structural position, reference gender).  Spanish does not have that.  For example, it only retained two of the three original genders.  Also similarly to English, German and Spanish inevitably overlaps each other tremendously when it comes to vocabulary.
     
    As for the person who voiced the widely held view that Chinese is a contender in becoming the next "international language," I think, while plausible, it is unlikely due to a spectrum of barriers.  However, to address this in full will probably take up more screen space than most people would care for, and definitely would require more effort than I have patience for right now :)
     
    Good article!
    Nov. 14
    Picture of Anonymous
    寒潭居士.清月先生 wrote:
    I don't writing in english.
    我用英语写不好,所以,就用汉语,我真的羡慕你们这么熟练的使用英语,我一定好好学习英语, 希望尽早的用英文和世界交流。

    tiger_zhu
    Aug. 24
    Picture of Anonymous
    essential wrote:
    While C++ evidently has some merits, its predecessor C is more beautiful. C++, as the redundant "++" indicates, makes things a little too complicated. When I compare "The C programming Language" by K&R with "The C++ Programming Language" by BS, we find the former a classic but the latter a reference, a dictionary.

    (1). C is simpler but not less powerful.

    (2). C writes poems while C++ essays.
    July 30
    Danielwrote:

    "... If you were an alien visitor to Earth I doubt that you would think twice about which human language you should start with. ..."

     

    If I would be an alien that is visiting China, I would think twice and then learn chinese. :)

    I came to this country last year ago and I quickly realised that only few people here talk english. Now I have to adopt to the situation and started learning chinese.... very slowly.

    Same goes for the tools I'm using at work (not programming related). I have to learn the software that is commonly used in chinese productions and that the client is used to.

    I guess the same is true for programming languages. Although C++ is commonly "spoken" you have to use the language that your client or the platform that you're developing for understands or that the market is evolving to. If it's C++ (or english) than you can guess yourself lucky.

    But living in China for half a year now, I can truly see that chinese will become more and more important to learn for people living outside China. One day it might be our new "english", our new second language.

    And as fast as the IT world is moving forward and changing everyday, I wouldn't be surprised if some other language will become a new standard eventualy.

     

    Never the less, I enjoyed reading your article. Very well written :)

    cheers,

    Daniel

    May 7
    Picture of Anonymous
    wrote:
    my God ,i lost my way. i wanta to find sth.for my paper------English writing skills.but u a my result.~~
    you a pretty good !
    you've done a very good job.
    congratulatons.
    Mar. 28
    Picture of Anonymous
    Jack Yan wrote:
    Nice post, and I also like your ligatures (the use of the character in the word find, etc.). Not many people do it.
    Mar. 25
    Chris SYSUwrote:
    Hi
     
    Just a smal tip.
     
    Add some blank lines in your posts to make them more readable.
     
    It really helps!
     
    Oh - and did you work out how to get your space in English?
     
    If not - sign in here
     
     
    And keep smiling!
     
     
     
     
    Mar. 24
    Jim Huangwrote:
    C++ is dead. It is for no life geeks which will distinct soon. Time to learn C# or Java.
    Mar. 10
    code Johnwrote:
    Interesting compare...
    Mar. 8
    呵呵。英语写不出来就写中文了
    你写的不错,我也是程序员,好想出国去
    Feb. 6
    Picture of Anonymous
    pedro wrote:
    Greetings from Mexico. I hope you can post a new entry in your blog soon. I am very interesting in learning English.
    Jan. 20
    Picture of Anonymous
    Tony wrote:
    Excellent post....the only thing is that spanish is a lot harder than english....just that....

    I speak 4 languages being spanish the hardest one past french...the others are italian and english...

    Regards,

    Tony from Caracas, Venezuela
    Jan. 8
    Picture of Anonymous
    peterwill wrote:
    *∵*★**∵*◢◣***↘*☆*∴*
    *∴*○↙**◢■◣★**↘**∵*
    **↘**∵*◢■■◣*◆**↙***
    *○**☆*◢■■■◣*☆***∴*
    *◆*○*◢■■■■◣*●*∵**
    **○★◢■■■■■◣**◎***
    **★*∵*∴*◢◣****☆*↘∵*
    ☆∵☆∴★∵★∴☆∵☆∴★*
    ╱◥█◣ ╱◥█◣ ╱◥█◣
    田︱︱田︱︱田︱田︱
    ╬╬╬╬╬╬╬╬╬╬╬
    Happy New Year
    Jan. 1

    Trackbacks (3)

    The trackback URL for this entry is:
    http://leighsword.spaces.live.com/blog/cns!A519562DB3FB541F!131.trak
    Weblogs that reference this entry