《Imperfect C++》译序
                                                                                                                      by 刘未鹏

刀有很多种,有单刀,双刀,朴刀,戒刀,锯齿刀,砍山刀,鬼头刀,
雁翎刀,五凤朝阳刀,鱼麟紫金刀。
                                          —— 古龙《飞刀,又见飞刀》

这里我们要说的刀,是瑞士军刀,瑞士军刀其实严格来说并不能算是一种刀,其功能的繁杂和精细已然超过了刀的范畴。它包含的工具一般有主刀、小刀、剪刀、开瓶器、木锯、小改锥、拔木塞钻、牙签、小镊子等,而在一些工具上还设计了多种功用,如开瓶器上,就具有开瓶、平口改锥、电线剥皮槽三种功用。随着时代的发展,一些新兴的电子技术也被引入瑞士军刀中,如内藏激光、电筒等。

1879的瑞士军刀原形仅具有6种功能,而今天的一把瑞士军刀上可具有多达30余种功能(威戈的"15403-超能太空刀"和维诺斯的"16795-瑞士冠军")。多功能性成为瑞士军刀的又一大特色。在一把小型刀具上赋予了许多的实用小工具,解决了人们在日常工作及生活中的种种难题。而且不论在何种环境下,瑞士军刀都表现出它非凡的实用价值及相应的质量品质。瑞士军刀的组合工具不仅表现在品种上,同时还在于巧妙的组合在同一种工具上,使有限的工具发挥更多的实功能。

见过瑞士军刀的人大约都知道,瑞士军刀唯一可以算是缺点的地方是它的体积稍嫌臃肿,虽然瑞士军刀有若干种类,其中有些体积也相当精简,不过一把瑞士军刀总归还是要比普通的刀大许多,不过这其实严格来说并不能算是缺点,设想你把一把瑞士军刀中的各项功能全都用独立的工具来承担,可想而知需要消耗多大体积,带来多大的不便。

瑞士军刀是军人在野外生存的必备工具,其小体积浓缩众多实用功能的精心设计能够将一把刀的容限发挥到最大,丝毫不逊于《第一滴血》中蓝博带在身上的那把锐利的寒光闪闪的钢刀。

那么现在你拿在手里的这本书就是一把瑞士军刀!

这是一本非常特别的C++书,在市面上已经存在的大量经典C++书籍当中,这本书的着眼点和写作风格使它显得那么特立独行和标新立异,甚至有点另类。书中几乎巨细靡遗地涵盖了C++中大大小小的不完美之处,并以一系列成功案例证明C++的确同时也提供了迂回之道、解决之道,再加上其用本主义的立场,正如同一把实用的瑞士军刀,功能繁杂而面面俱到,实用之至。同其它C++著作不一样,本书虽然尊重标准,但同时又超越标准,当标准不能满足需求或成为拦路石的时候,后者才是第一位的,于是有了作者所谓的“不完美主义的实践者”以及“不完美工具箱”之说。此外,作者的所谓“苦行僧式编程”哲学在我看来也是极其实用的一种编码方式!

我们以前看到的绝大部分C++书籍可说是统统走的“阳关大道”,然而Matthew这本书却偏要走他的“独木小桥”,蹊径虽小,然则别有一番风味,不一样的景观。我们意识到原来C++中也存在着如此多大大小小的不完美之处,就像宫崎俊电影中的那些打满补丁的海盗飞机一样,Bjarne本就说过,C++是为“用本”而设计的,诚然!而本书最大的趣味就在于它并不去一味抱怨这些缺点,而是积极地采取其它替代方案来达到同样的目的,并借此展现出C++自由强大的一面!

作者Matthew常用“survive”一词来描述在编码的现实世界中的境况,作为STLSoft库的主要编写者,他十几年来积累的经验在书中充盈四溢,很多我们平常看不到的方面都会被他挑出来,甚至连我这个译者都觉得有点“啰嗦”,不过,对于喜欢他这种“唠叨”讲法的人,他那种辨证主义的严密论证法倒是能令你获益颇多(至少能够为你带来一笔额外的不菲的稿酬:))。另外,书中随处可见具有作者个人特色的幽默,在大量形容枯槁的技术书籍当中可算是一大亮点。

本书的一个小缺憾就是它不适合初学者,甚至有点儿不适合中级读者,作者自己经验非常丰富,因此有些地方就不加解释地一带而过,为此译者适当添加了一些译注,以便读者理解和阅读。

最后,感谢荣耀先生在本书初译的过程中一直给予的支持和信任,并容忍我总是延期交付章节,对我来说那使得译稿的质量达到了至少令我自己相当满意的程度,荣耀先生对技术的精益求精和一丝不苟也令我在翻译的过程中获益良多。

最大的感激要归于我的父母和我的爷爷,感谢他们一直以来对我的追求的支持和鼓励,没有他们我无法想象完成这项工作。

希望这本令我在翻译过程中获益匪浅的书也能够给你带来美妙而独一无二的阅读享受,Let's dig in!

转载于:https://my.oschina.net/abcijkxyz/blog/720632

《Imperfect C++》译序[已出版]相关推荐

  1. 《Exceptional C++ Style》译序[已出版]

    <Exceptional C++ Style>译序 by 刘未鹏   逍遥派武功讲究轻灵飘逸,闲雅清隽,丁春秋和虚竹这一交上手,但见一个童颜白发,宛如神仙,一个僧袖飘飘,冷若御风.两人都是 ...

  2. c++学习书籍推荐《Exceptional C++ Style》下载

    百度云及其他网盘下载地址:点我 编辑推荐 软件"风格"所要讨论的主题是如何在开销与功能之间.优雅与可维护性之间.灵活.性与过分灵活之间寻找完美的平街点.在本书中,著名的C++大师H ...

  3. 《Android/OPhone 开发完全讲义》已出版,现提供源代码下载

    <Android/OPhone 开发完全讲义>已出版. 购买: 互动网(China-pub) 样章下载 现将本书源代码完全公开   Android-OPhone-src.zip 目录 前言 ...

  4. 论文浅尝 | Data Intelligence 已出版的知识图谱主题论文

    本文转载自公众号:DI数据智能.   知识图谱被称为人工智能的基石,它的前身是语义网,由谷歌在2012年率先提出,用于改善自身的搜索业务.Data Intelligence执行主编.东南大学计算机科学 ...

  5. 新书《微信企业号开发揭秘》已出版,全书采用WeChatEnterprise框架开发

            新书<微信企业号开发揭秘>已出版,全书基于源码与API逐步讲解,采用WeChatEnterprise框架开发 纸质书购买地址:  天猫    京东    当当    亚马逊 ...

  6. SpringBoot+Vue讲解系列介绍(本专辑实体书已出版)

    2021年8月更新:本专辑已出版实体书,详见文章最后. 最近一直在开发Spring Boot及Spring Cloud前后端分离的分布式项目,打算把平时记录在本地的项目代码.笔记及疑难问题等整理汇集成 ...

  7. python深度学习include框架_搞事情。《用Python实现深度学习框架》已出版上架。...

    我和 @张觉非 合作的<用Python实现深度学习框架>一书已经由人民邮电出版社出版上市了.写作本书的缘由,是2017年11月我加入了360,开始负责以机器学习平台为中心的AI技术设施的研 ...

  8. 我的新书:《精通Excel公式、函数与图表》已出版上市

    由人民邮电出版 社出版的<精通Excel公式 .函数 与图表 >这本书本周已向全国开始发货,预计这两周就会在全国各地的书店上架销售. 本书将内容分为4部分共20章,详细讲解了Excel所包 ...

  9. 《Word排版之道》已出版上市

    前几天出版社的编辑告诉我,<Word排版之道>已经出版了.与此同时,编辑朋友还给我带来了另一个好消息:台湾出版社也要引进<Word排版之道>这本书,这个消息确实令我很高兴.我期 ...

最新文章

  1. ORACLE DUAL
  2. 2款不同样式的CSS3 Loading加载动画 附源码
  3. SQL Server中的Merge关键字
  4. linux shell touch更新文件时间
  5. ZooKeeper编程
  6. php的符号的排序大小
  7. python中函数type可以测试对象类型_python类型检测最终指南--Typing模块的使用
  8. Python 俄罗斯方块, 基于pyqt5实现俄罗斯方块 --pyqt5 进阶
  9. 3 Sum Closest
  10. 命令 结构_关于Oracle常用查看表结构命令总结分享
  11. ansys workbench汉化教程_【软件下载】——“冰点文库”使用教程及配套安装包(无广告插件)...
  12. 中国AI专利申请数超美国近2.5倍
  13. Matlab出错向量长度必须相同,代码已贴。错误使用plot3,向量长度必须相同
  14. linux pdf中文乱码,英文乱码(乱码为方格之类的解决方法)
  15. tlc5620输出三角波流程图_基于TLC5620的数模转换器设计
  16. 俄罗斯方块游戏的消行实现
  17. “诸神之眼”——Nmap端口扫描工具使用小手册
  18. 电脑桌面快捷方式更换图片
  19. 【C#】WPF实现经典纸牌游戏,适合新手入门
  20. 太厉害了,终于有人能把云计算、大数据和人工智能一次性讲明白了

热门文章

  1. 极好用的win10精品软件推荐
  2. Keepalived+nginx 集群解决单点故障
  3. linux连接时间,Linux保持SSH连接时间设置
  4. linux查看客户端连接,MySQL—Linux查看客户端连接信息(连接数、进程等)
  5. JAVA制作小游戏———简易的桌球
  6. 游戏手机排行榜2023 游戏手机哪款最好用
  7. 严蔚敏《数据结构》——顺序串
  8. 合成GIF图片 - 表情包
  9. 摩托罗拉携一万块钱的新手机重回江湖了
  10. 云台设备指令通讯-串口通讯、UDP、TCP通讯应用