[翻译]《Programming - Principles and Practice Using C++, Second Edition》- Preface

本文主要是介绍[翻译]《Programming - Principles and Practice Using C++, Second Edition》- Preface,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文导航(全文7500字左右,按正常阅读速度,大概需要15-25分钟)

  • Preface 序言正文
    • A note to students 写给学生
    • A note to teacher 写给教师
    • ISO standard C++ ISO的C++标准
    • Support 学习支持
    • Acknowledgments 致谢名单

书籍封面

Preface 序言正文

Damn the torpedoes! 1 去他妈的鱼雷!
Full speed ahead. 给我全速前进!
——Admiral Farragut 2 海军上将法拉格特

Programming is the art of expressing solutions to problems so that a computer can execute those solutions.
编程是一种艺术,它表达出问题的解法,从而让计算机可以执行那些解法(得到问题的答案)。

Much of the effort in programming is spent finding and refining solutions.
编程时,大部分精力都花在寻找和改进解法上。

Often, a problem is only fully understood through the process of programming a solution for it.
通常情况下,只有过一遍求解过程才能让你完全理解这个问题。


This book is for someone who has never programmed before but is willing to work hard to learn.
这本书是为了那些从未编过程,但下决心要努力学习编程的人而写的。

It helps you understand the principles and acquire the practical skills of programming using the C++ programming language.
它会帮助你使用C++编程语言来理解编程原理和掌握实用技巧。

My aim is for you to gain sufficient knowledge and experience to perform simple useful programming tasks using the best up-to-date techniques.
我的目标就是让你获取到充足的知识和经验,使用最好最新的技术来完成一些简单有用的编程任务。

How long will that take?
需要花费多长时间呢?

As part of a first-year university course, you can work through this book in a semester (assuming that you have a workload of four courses of average difficulty).
作为一门大一课程,你可以在一个学期内完成这本书的学习(假设你同时在上一般难度的四门课程)

If you work by yourself, don’t expect to spend less time than that (maybe 15 hours a week for 14 weeks).
如果你是自学,那么请不要妄想用少于14周,每周15小时 3 就把这本书学完。


Three months may seem a long time, but there’s a lot to learn and you’ll be writing your first simple programs after about an hour.
三个月看起来很长,但实际上你要学很多东西,(不要着急)因为学一个小时你就能写出第一个简单的程序了。

Also, all learning is gradual: each chapter introduces new useful concepts and illustrates them with examples inspired by real-world uses.
当然了,学习是一个循序渐进的过程:每一章都会介绍有用的新概念,并辅以实际生活中的运用示例。

Your ability to express ideas in code — getting a computer to do what you want it to do — gradually and steadily increases as you go along.
你通过代码表达思维的能力——也就是让计算机做你想做的事的能力——会随着学习的过程逐渐提升并巩固。

I never say, “Learn a month’s worth of theory and then see if you can use it.”
我从不会说(我从不相信),学一个月理论然后看看你会不会直接用。


Why would you want to program?
为什么要学编程?

Our civilization runs on software.
人类文明运行在软件上。

Without understanding software you are reduced to believing in “magic” and will be locked out of many of the most interesting, profitable, and socially useful technical fields of work.
如果不理解软件那就只能选择相信计算机中存在某种「魔法」并被一些最有趣,最高效,对社会最有用的一些工作领域拒之门外。

When I talk about programming, I think of the whole spectrum of computer programs from personal computer applications with GUIs (graphical user interfaces), through engineering calculations and embedded systems control applications (such as digital cameras, cars, and cell phones), to text manipulation applications as found in many humanities and business applications.
我说的编程是一个宽泛的概念,包括个人电脑上有图形用户界面的计算机程序、工程计算、嵌入式系统中的控制应用(比如数码相机,汽车和手机)、还有很多在人文社科、商业场景可见到的文本编辑程序。

Like mathematics, programming — when done well — is a valuable intellectual exercise that
sharpens our ability to think.
就像数学一样,编程——如果认真琢磨——是一个能锻炼思维的非常有价值的智力活动。

However, thanks to feedback from the computer, programming is more concrete than most forms of math, and therefore accessible to more people.
然而,多亏了计算机返回的反馈信息,让编程比数学更

这篇关于[翻译]《Programming - Principles and Practice Using C++, Second Edition》- Preface的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/771981

相关文章

【C++ Primer Plus习题】13.4

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "port.h"int main() {Port p1;Port p2("Abc", "Bcc", 30);std::cout <<

C++包装器

包装器 在 C++ 中,“包装器”通常指的是一种设计模式或编程技巧,用于封装其他代码或对象,使其更易于使用、管理或扩展。包装器的概念在编程中非常普遍,可以用于函数、类、库等多个方面。下面是几个常见的 “包装器” 类型: 1. 函数包装器 函数包装器用于封装一个或多个函数,使其接口更统一或更便于调用。例如,std::function 是一个通用的函数包装器,它可以存储任意可调用对象(函数、函数

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

06 C++Lambda表达式

lambda表达式的定义 没有显式模版形参的lambda表达式 [捕获] 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 有显式模版形参的lambda表达式 [捕获] <模版形参> 模版约束 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 含义 捕获:包含零个或者多个捕获符的逗号分隔列表 模板形参:用于泛型lambda提供个模板形参的名

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现

c++的初始化列表与const成员

初始化列表与const成员 const成员 使用const修饰的类、结构、联合的成员变量,在类对象创建完成前一定要初始化。 不能在构造函数中初始化const成员,因为执行构造函数时,类对象已经创建完成,只有类对象创建完成才能调用成员函数,构造函数虽然特殊但也是成员函数。 在定义const成员时进行初始化,该语法只有在C11语法标准下才支持。 初始化列表 在构造函数小括号后面,主要用于给

2024/9/8 c++ smart

1.通过自己编写的class来实现unique_ptr指针的功能 #include <iostream> using namespace std; template<class T> class unique_ptr { public:         //无参构造函数         unique_ptr();         //有参构造函数         unique_ptr(