英语翻译技巧 中英对照:ANSI-C面向对象编程翻译-序言 - 贫僧自东软大堂而来 - CSDN博客

来源:百度文库 编辑:九乡新闻网 时间:2024/04/26 03:59:25
您还未登录!|登录|注册|帮助
CSDN首页 资讯 论坛 博客 下载 搜索 更多CTO俱乐部
学生大本营
培训充电
移动开发
软件研发
云计算
程序员
TUP
贫僧自东软大堂而来
条新通知 登录 注册 欢迎 退出 我的博客 配置 写文章 文章管理 博客首页   全站 当前博客  空间 博客 好友 相册 留言 用户操作
[留言]  [发消息]  [加为好友] 
三无舍人ID:SerenityMoon共1883次访问,排名2万外,好友75人,关注者32人。
君子食无求饱,居无求安,敏于事而惧于言,就有道而正焉,可谓好学也矣
三无舍人的文章
原创 19 篇
翻译 0 篇
转载 7 篇
评论 24 篇
订阅我的博客
    
 
 
 
[编辑]SerenityMoon的公告
一盏茶,两卷书画,交三四挚友,共度五载韶华。粉黛天六瓣清云,明月夜七星北挂。吟诵八九诗词,绘十里荷花。百千人家,焕烟霞。千种情,百般幽怨,负十九华年,独赏八月玉圆。明霜夜七夕鹊飞,艳阳天六弦难全。歌赋五四红颜,求三生凤鸾。二一佳话,当笑谈。
[编辑]文章分类
Ajax
C/C++
linux
Windows
数据库
算法、人工智能
文学
综合
存档
2010年12月(2)
2010年11月(4)
2010年10月(2)
2010年08月(1)
2010年06月(1)
2010年04月(3)
2010年03月(6)
2010年02月(7)
公告: CSDN机房调整公告 [意见反馈][官方博客]   ANSI-C面向对象编程翻译-序言 收藏
版权所有,转载请注明出处。本文地址:http://blog.csdn.net/SerenityMoon/archive/2010/11/21/6025498.aspx译者序: 我刚刚做出了一个艰难的决定,我决定翻译这本《ANSI-C面向对象编程》。这本书是一位刚刚离职的技术狂同事推荐给我的,细看了一点发现这是一本非常棒的书。但是苦于本人英语不佳,从网上又没有搜到中文译本,于是我决定翻译它,方便我自己的阅读,也提供给诸位爱好编程的技术狂人们。 C语言虽然是一门结构化的语言,但是它是一个非常有技巧的语言,用C可以写出非常优美、非常具有艺术性的代码来。C++脱胎于C,虽然是一门面向对象的语言,但是我不得不说,它的确是一门非常糟糕的语言,它的标准复杂到目前没有任何一款编译器支持C++的所有特性,而且不同的编译器甚至是同一款编译器的不同版本,对C++代码的理解是不一样的。由于多继承的引入,虽然C++是面向对象的,但是你需要比C更加地了解底层才能在胜任多继承情况下C++代码的调试。 这本书从另一个角度去理解C,去看C是如何实现面向对象的。技术之外,我也更想去思考一下我们与老外思想上合技术上的差距,以及造成这种差距的原因。 本人能力有限,翻译中难免有错误的地方,有感兴趣的童鞋希望不吝指摘。今天先翻译了序言,以后会定期更新。由于工作的原因,我不可能投入太大的精力到本书的翻译,预计每一至两周翻译一章。英文原本的下载地址是http://www.planetpdf.com/codecuts/pdfs/ooc.pdf               2010年11月21日卜少峰于沈阳目录: -序 -内容 -1 抽象数据类型 -2 动态连接 -3 编程悟性Programming Savvy -4 继承 -5 编程悟性Programming Savvy -6 类的层次结构 -7 ooc 预处理器 -8 动态类型检测Dynamic Type Checking -9 静态构造Static Construction -10 委托 -11 类方法 -12 持久对象 -13 异常 -14 递进消息Forwarding Messages -A ANSI-C 编程暗示Programming Hints -B ooc 预处理器Preprocessor -C 手册 -参考书目序:    没有能解决掉所有问题的编程技术。    没有能只产生正确结果的编程语言。    没有每个项目都该从头写的程序员。    面向对象编程已经出现了十多年,它目前仍是解决问题的灵丹妙药。本质上,除了接受了二十多年来的一些好的编程法则外并没有什么新的东西带给我们。C++是一门新的语言因为它是面向对象的,如果你不想使用或者不知道如何使用那么你不需要使用它,因为普通的C就可以实现面向对象。虽然子程序的思想和计算机一样久远并且好的程序员总是随身携带着他们的工具和库,但是只有面向对象才可以在不同项目间实现代码复用。    这本书不准备推崇面向对象或者批评传统的方式。我们准备以ANSI-C来发掘如何实现面向对象,有哪些技术,为什么这些技术能帮我们解决更大的问题,如何利用它的一般性以及更早的捕获异常。虽然我们会接触很多术语,如类、继承、实例、连接、方法、对象、多态等等,但是我们将会剥去其魔幻的外表,使用我们熟悉的事物来表述他们。    我非常有意思的发现了ANSI-C其实是一门完全的面向对象的语言。如果想要和我分享这份乐趣你需要非常熟悉它,至少也要对结构、指针、原型和函数指针。通过这本书,你将遇到一个“新语言”——按照Orwell和韦氏词典对一门语言的解释,语言的设计目的就是缩减思维的广度——而我会尽力证明,它不仅仅汇合了所有的那些你想汇聚到一起的良好的编程原则。结果,你可以成为一个更熟练的ANSI-C程序员。前六章建立ANSI-C做面向对象编程的基础。我们从一个抽象数据类型的信息隐藏技术开始,然后加入基于动态连接的通用函数,再通过谨慎地扩充结构来继承代码。最后,我们将上述所有放进一个类树中,来使代码更容易地维护。    编程需要规范。良好的编程更需要很多的规范、众多原则和标准以及确保正确无误的防范措施。程序员使用工具,而优秀的程序员则制作工具来一劳永逸地处理那些重复的工作。用ANSI-C的面向对象的编程需要相当大量的不变的代码——名称可能变化但结构不变。因此,在第7章里我们搭建一个小小的预处理器,用来创建所需要的模板。它很像是另一个方言式面向对象的语言。但是它不应该这样被看待,它剔除“方言”中枯燥无味的东西,让我们专注于用更好的技术解决问题的创新。OOC有非常好的可塑性:我们创造了它,了解它,能够改变它,而且它可以如我们所愿的写ANSI-C代码。    余下章节继续深入讨论我们的技术。第8章加入动态类型检测来实现错误的早期捕获。第9章讲我们通过使用自动初始化来防止另一类软件缺陷。第10章引入委托代理,说明类和回调函数如何协作,比如去简化标准主程序的生成这样的常规任务。其他章节专注于用类方法来堵塞内存泄漏,用一致的方法来存储和加载结构数据,和通过嵌套异常处理系统的规范错误的恢复。    在最后一章,我们突破ANSI-C的限制,做了一个时髦的鼠标操作的计算器——先是针对curses然后是针对X Window系统。这个例子极好地表明:即使是不得不应对外部库和类树的风格,通过对象和类我们已然可以非常精致地进行设计和实现。    每一章都有总结,这些总结中我试图给随意浏览的读者一个梗概以及它对此后章节的重要性。大多数的章节都有练习题,不过他们并不是正式的阐明性文字,因为我坚定的相信读者应当自己实践。由于该技术是我们从无到有建立起来的,所以尽管有些例子应该能够从中获益,但是我避免建立和使用庞大的类库。如果你想要真正地理解面向对象的编程,首先掌握该技术并且在代码设计阶段考虑你的选择更为重要;而开发中依赖使用他人的库应当在这稍后一点。    本书的一个重要部分是所附源码软盘——其上有一个DOS文件系统,包括一个用来按照章节顺序来创建源码的简单shell脚本。还有一个ReadMe文件——在你执行make命令前要先查阅这个文件。使用一个工具如diff并且追踪根类和ooc报告在后续章节的演化也是非常有帮助的。    这里展现的技术源自我对C++的失望。当时我需要面向对象技术实现一个交互式编程语言,但我意识到无法用C++建立一个可移植的东西来。于是我转向我所了解的ANSI-C,并且我完全能够做到要做的事情。我将这个些告诉组里的几个人,然后他们用同样的方法完成了他们的工作。如果不是布赖恩·克尼翰(Brian Kernighan)以及我的出版商翰斯·尼科拉斯(Hans-Joachim Niclas)、约翰·维特(John Wait)鼓励我出版这些笔记(在适当的时候全新的展现一下),这个事情很可能就止于此,我的注解也就是一时的时尚了。我感谢他们和所有帮助并且经历本书不断完善的人。最后但是并非不重要的,感谢我的家庭——面向对象当然绝不可能代替餐桌上的面包。         1993年10月于Hollage     阿塞尔-托彼亚斯·斯莱内尔(Axel-Tobias Schreiner)发表于 @ 2010年11月21日 20:23:00 | 评论( 4 ) | 编辑| 举报| 收藏 旧一篇:Solaris的内存管理 | 新一篇:C语言实现异常处理
查看最新精华文章 请访问博客首页相关文章 suxpert 发表于2010年11月26日 星期五 22:18:18  IP:218.58.59.*举报回复删除
卧槽,这都行??看来恁时间还挺富裕~~SerenityMoon 发表于2010年11月26日 星期五 23:09:01  IP:122.67.152.*举报回复删除
回复 suxpert:富裕个P呀,要是富裕,我争取两天翻译一章。这周估计只能翻译一节了,一章肯定翻译不出来了。
suxpert 发表于2010年11月26日 星期五 22:19:02  IP:218.58.59.*举报回复删除
话说,是不是顺便直接TeX出来啊whicet 发表于2011年1月26日 星期三 9:13:02  IP:59.108.109.*举报回复删除
08年初我接触这本书,那时即将毕业,粗略看了一下,当时的水平,主要是英语水平不够,所以理解不够,最近快乐过年了,也没有什么事,又拿出来学习学习,真是收获不少呀~发表评论 表 情:           评论内容:  用 户 名: 登录 注册 匿名评论 匿名用户验 证 码:   重新获得验证码    热门招聘职位【imo】-国际风投+福利租房+奖金+期权+不加班+调休,邀你共创互联网的奇迹【YOHO!新力传媒】高薪诚聘各类网站人才 北京+南京【方正国际】诚招软件精英 北京+苏州+武汉【热聘】搜狐畅游全国热招开发工程师【爱立信上海】急招多媒体、核心网开发测试工程师,国际团队等你加盟!【舒适刀片】诚聘IT Programmer (VB,VBS,VBA, web development编程)【Zynga Beijing】热招各类游戏人才,与我们共建属于你的虚拟帝国【MediaV】技术类职位热招,欢迎应届毕业生【瀚信科技】诚聘 WINDOWS C++ WINDOWS C#中高级开发工程师【美国国家仪器】诚聘高级软件 工程师 信号处理软件部门经理【Amazon】亚马逊诚聘技术专家!【网路时代】高薪诚聘C++、.net开发工程师 【imo】-国际风投+福利租房+奖金+期权+不加班+调休,邀你共创互联网的奇迹【YOHO!新力传媒】高薪诚聘各类网站人才 北京+南京【方正国际】诚招软件精英 北京+苏州+武汉【热聘】搜狐畅游全国热招开发工程师【爱立信上海】急招多媒体、核心网开发测试工程师,国际团队等你加盟!【舒适刀片】诚聘IT Programmer (VB,VBS,VBA, web development编程)【Zynga Beijing】热招各类游戏人才,与我们共建属于你的虚拟帝国【MediaV】技术类职位热招,欢迎应届毕业生【瀚信科技】诚聘 WINDOWS C++ WINDOWS C#中高级开发工程师【美国国家仪器】诚聘高级软件 工程师 信号处理软件部门经理【Amazon】亚马逊诚聘技术专家!【网路时代】高薪诚聘C++、.net开发工程师  公司简介|招贤纳士|广告服务|银行汇款帐号|联系方式|版权声明|法律顾问|问题报告
北京创新乐知信息技术有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
江苏乐知网络技术有限公司 提供商务支持
 Email:webmaster@csdn.net
Copyright © 1999-2010, CSDN.NET, All Rights Reserved  本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/SerenityMoon/archive/2010/11/21/6025498.aspx
ANSI-C面向对象编程翻译-序言 - 贫僧自东软大堂而来 - CSDN博客 JavaScript的面向对象编程 面向对象的分析和设计-抽象出对象 - 崔超的思想备忘录 - CSDN博客 国际:为什么每个程序员都要学C语言的五个理由 , 语言,编程,汇编,面向对象,运行,学习,使用,程序,情况, , Linux C 编程 实现彩色文字输出 - wesleyluo的专栏 - CSDN博客 利用FileSystemObject对象来处理文件 - 刘皓天的收藏夹 - CSDN博客 PHP中实现面向对象编程-在线教程,电子书下载,视屏教程,中国计算机教学网 面向对象表示法 - 6DAN - 博客园 施主,贫僧乃东土大唐而来,恳请在此借宿一晚 面向对象数据库 Sql Server删除主键和重建主键 - 编程 - CSDN博客 USB有关的编程 - sanshao27的专栏 - CSDN博客 小白学Linux之内核模块编程 - tiger-john - CSDN博客 游戏程序员成长 - 痞子龙3D编程 - CSDN博客 网页编程常用技巧 - happycyp的专栏 - CSDN博客 对象内存池技术 - ShaHuShaBoJue的专栏 - CSDN博客 TIOBE 2011年6月编程语言排行榜:Lua挤进前10位 - CSDN.NET - C... ANSI C 字符串库函数的实现 C语言中的数组越界 - marken - CSDN博客 浅析dojo中的有状态对象 - Dojo中文博客 - CSDN博客 Linux设备驱动编程之中断处理 - aaaaatiger--寻路 - CSDN博客 简评游戏人工智能相关的中文书(上) - 赖勇浩的编程私伙局 - CSDN博客 简评游戏人工智能相关的中文书(下) - 赖勇浩的编程私伙局 - CSDN博客 使用记号的cvCopy - 一个爱编程的人专栏 - CSDN博客