Download presentation
Presentation is loading. Please wait.
Published byMavis Lindsey Modified over 8 years ago
1
The C++ Programming Language Lecture 0: Introduction to the course http://sse.tongji.edu.cn/zhaoqinpei/Courses/C++2016/index.html
2
Learning requirements of course Basic knowledge (concepts, principles, methods) of C++ Basic knowledge (concepts, principles, methods) of C++ Exercise after class Exercise after class Practice Practice
3
Abilities to develop Computer level: Computer level: Basic knowledge (concepts, techniques) Basic knowledge (concepts, techniques) Style of programming /software design Style of programming /software design Skill of programming /software design Skill of programming /software design English level English level Terms Terms Capabilities of reading professional books Capabilities of reading professional books
4
Books Stanley B. Lippman, Essential C++, 1999 Stanley B. Lippman, Essential C++, 1999 Bjame Stroustrup, the C++ programming language, 2001 Bjame Stroustrup, the C++ programming language, 2001 Stanley B. Lippman etc., C++ primer, 2006 Stanley B. Lippman etc., C++ primer, 2006 Bruce Eckel, Thinking in C++, 2000 Bruce Eckel, Thinking in C++, 2000 Scott Meyers, Effective C++, 2005 Scott Meyers, Effective C++, 2005 谭浩强, C++ 程序设计, 清华大学出版社, 2004 谭浩强, C++ 程序设计, 清华大学出版社, 2004
5
We Need To Know This Guy Designer and original implementer of the C++ Designer and original implementer of the C++ Author of “ The C++ Programming Language ” (4 editions) and “ The Design and Evolution of C++ ” Author of “ The C++ Programming Language ” (4 editions) and “ The Design and Evolution of C++ ” ACM fellow, AT&T Fellow, AT&T Bell Laboratories Fellow, head of AT&T Lab's Large-scale Programming Research department ACM fellow, AT&T Fellow, AT&T Bell Laboratories Fellow, head of AT&T Lab's Large-scale Programming Research department Homepage: http://www.research.att.com/~bs/http://www.research.att.com/~bs/ C++ Resources: http://www.research.att.com/~bs/C++.htmlhttp://www.research.att.com/~bs/C++.html Tech FAQs: http://www.research.att.com/~bs/bstechfaq.htmhttp://www.research.att.com/~bs/bstechfaq.htm Bjarne Stroustrup --- Godfather of the C++
6
Introduction to C++ C is a programming language developed in the 1970’s alongside the UNIX operating system. C is a programming language developed in the 1970’s alongside the UNIX operating system. C provides a comprehensive set of features for handling a wide variety of applications, such as systems development and scientific computation. C provides a comprehensive set of features for handling a wide variety of applications, such as systems development and scientific computation. C++ is an “extension” of the C language, in that most C programs are also C++ programs. C++ is an “extension” of the C language, in that most C programs are also C++ programs. C++ as opposed to C, supports “object-oriented programming” C++ as opposed to C, supports “object-oriented programming”
7
Why C++? Bad news Bad news C++ is not easy to learn C++ is not easy to learn Good news: Good news: Lots of good-paying jobs for programmers because C++ is not easy to learn Lots of good-paying jobs for programmers because C++ is not easy to learn Java uses C++ syntax, it is easy to learn java if you know C++ Java uses C++ syntax, it is easy to learn java if you know C++ Though C++ is not the easiest language(Basic and Pascal are easier), it is not the hardest either(Ada, Prolog and Assembly languages are really difficult) Though C++ is not the easiest language(Basic and Pascal are easier), it is not the hardest either(Ada, Prolog and Assembly languages are really difficult)
8
Why C++? Almost as efficient as C Almost as efficient as C Appropriate for many design methodologies Appropriate for many design methodologies Large base of programmers Large base of programmers Extensive standard library Extensive standard library Designed to scale well Designed to scale well ANSI/ISO standard ANSI/ISO standard
9
Why C++ is very important? Compliant with C, but better than C Compliant with C, but better than C Protect legacy codes Protect legacy codes More safe More safe Easier for debugging Easier for debugging Support data abstraction Support data abstraction Support 4 kinds of Programming and Design style Support 4 kinds of Programming and Design style Procedure-Based Programming Procedure-Based Programming Object-Based Programming Object-Based Programming Object-Oriented Programming Object-Oriented Programming Especially useful in modern project developing Especially useful in modern project developing Generic Programming Generic Programming Necessary for excellent programs Necessary for excellent programs
10
Where C++ can be applied by Bjarne Stroustrup Where C++ can be applied by Bjarne Stroustrup Amazon.com : Software for large-scale e-commerce. Amazon.com : Software for large-scale e-commerce. Apple: OS X is written in a mix of language, but a few important parts are C++. Apple: OS X is written in a mix of language, but a few important parts are C++. AT&T: The largest US telecommunications provider. AT&T: The largest US telecommunications provider. Autodesk: A large number of major number of application in the CAD domain Autodesk: A large number of major number of application in the CAD domain Ericsson: server platform. Ericsson: server platform. Google: web search engine, etc. Google: web search engine, etc. HP, IBM, Intel, Nokia HP, IBM, Intel, Nokia JPL (Jet Propulsion Lab, NASA): Mars rover autonomous driving system (incl. scene analysis and route planning). C++ on Mars! Also lots of supporting software "on the ground" (i.e. Earth). JPL (Jet Propulsion Lab, NASA): Mars rover autonomous driving system (incl. scene analysis and route planning). C++ on Mars! Also lots of supporting software "on the ground" (i.e. Earth).
11
Where C++ can be applied by Bjarne Stroustrup Where C++ can be applied by Bjarne Stroustrup Microsoft:o Windows XP o Windows NT (NT4 and 2000) o Windows 9x (95, 98, Me) o Microsoft Office (Word, Excel, Access, PowerPoint, Outlook) o Internet Explorer (including Outlook Express) o Visual Studio o SQL Microsoft:o Windows XP o Windows NT (NT4 and 2000) o Windows 9x (95, 98, Me) o Microsoft Office (Word, Excel, Access, PowerPoint, Outlook) o Internet Explorer (including Outlook Express) o Visual Studio o SQL Mozilla: Firefox browser and Thunderbird mail client (open source) Mozilla: Firefox browser and Thunderbird mail client (open source) MySQL: MySQL Server (about 250,000 lines of C++) and MySQL Cluster. Arguably the world's most popular open source database MySQL: MySQL Server (about 250,000 lines of C++) and MySQL Cluster. Arguably the world's most popular open source database telephone systems telephone systems
12
Tools C++ IDEs : C++ IDEs : Microsoft Visual C++, Visual Studio Series Microsoft Visual C++, Visual Studio Series Borland C++ Builder Borland C++ Builder Bloodshed Dev-C++, which used MingW32/GCC compiler and follow the standard of C/C++ Bloodshed Dev-C++, which used MingW32/GCC compiler and follow the standard of C/C++ Eclipse CDT is a plugin of Eclipse, it turns the Eclipse to a powerful C/C++ IDE Eclipse CDT is a plugin of Eclipse, it turns the Eclipse to a powerful C/C++ IDE For Macs, if you are running OS X, you have a free professional development tool called Xcode For Macs, if you are running OS X, you have a free professional development tool called Xcode
13
面向对象程序设计 Dev-C++
14
Bug/debug - Computer scientist in USA navy - One of the first programmer on Harvad Mark I - develop the first compiler Grace Hopper 1940s Photo of "first computer bug" Mark II Computer at Harvard University in 1947
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.