化妆镜厂家
免费服务热线

Free service

hotline

010-00000000
化妆镜厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

但教心似金钿坚万芳

发布时间:2020-02-14 12:41:53 阅读: 来源:化妆镜厂家

但教心似金钿坚-CSDN.NET

来函:在学校由于我做过项目所以很受学生欢迎,但是基础感觉有欠缺在CSDN上看到了您的情况才注意到您(以前在公司上网规定很严我虽然当了项目经理还是不能随意上网并且经常封闭式开发所以不知您的大名)。很希望在3到4年的时间里成为一个基础理论扎实并比较熟悉业界最新技术的称职教师,您的道路就是我的梦想。

大陆的程序员没有规范的培训并且有很多的错误认识,把写代码看成是水平最高的(这种人很多在我经过的项目中,项目经理必须掌握样样比程序员高才行,否则项目很容易流产)。以后几年IT行业会越来越规范,越来越冷静,中国IT行业需要您这样的专家。

侯捷:中国IT行业需要您这样胸怀理想又务实的教师。(这封信我的回复不多原信照录我以为其中很有省思价值)

来函:近读侯sir文章发觉对 因特网 一词的翻译颇有嘲笑之意。可能是先入为主的缘故,我对这个词的翻译倒觉得不错。如同侯sir最爱喝的咖啡,以及人人都喜欢坐的沙发一样,将Internet翻译成因特网所采用的也是音译的方法,读起来琅琅上口而且网络互联的最终目的不就是要让人感觉只存在一个网吗?如此声情并茂的绝好翻译怎么能说翻的不好?二十年来恐怕只有基因(gene)一词的翻译能够与之媲美。

侯捷: 因特 一语只有音译何来声情并茂?关于咖啡和沙发我是这么想的,科技术语多采意(义)译。咖啡和沙发只是一个名称,谈不上什么意义采用音译,也理所当然。基因(gene)和万维网(world wide web)则是音义俱佳的翘楚。好的译名需要一个演进过程。一开始接触internet的人没有想到 互联网 这个好词随口说出 因特网 。然后好词出现了被大众接受了。这是一个演进过程。我并不嘲笑最初创造 因特网 一词的那个人。

最后,如同我在该文所说请把 翻的不好 改为 译得不好 好不好。

来函:我已从事多年的计算机图书翻译工作。在这期间不断进步,也不断体验成功和失败。从最开始极差的翻译习作开始。到现在自己觉得 尚可 的水平。感觉再难有一个很大的提高。因此颇为迷茫。至于原因主要在于追求新知和花在深思熟虑的时间较少。大陆的翻译报酬极低(我只能拿到30~40元/千字)因此必须多译但这样就造成了一个死循环──为了生活,我很难花上一年半载的时间去专门学习新知识,专门提高文学素质,专门去深入一门计算机学科。由此造成的翻译疏错,恐怕会令许多买书的人感到气愤吧?但人总是要进步的,只是进步的速度...。

侯捷:在劳动与酬劳不成比例的情况下,的确很难产生专职优秀写译人才。大环境不变,我也想不出什么好办法。我个人认为,技术书籍作者/译者并不需要文学素质就可以让自己的作品到达 达 的境界。只要通顺就 达 。要通顺很简单,以读者的心情多看几遍多改几遍肯定 达 。这是我很强调的沉淀过程。有人说赶快都来不及了还沉淀呢。这是层次的不同选择的不同 当然也造就结果的不同。

来函:我对编程很感兴趣但是关于做一名程序员我却有些困惑:计算机技术发展可以说是一日千里每天都有新的技术不断涌现书架上的书每天也在翻新似乎不管我如何努力都难以追赶软件概念制造者们的步伐更谈不上可以有所创新究竟一个程序员应该如何在追赶最新工具概念和做在熟悉平台上进行自己的开发之间找到一个最优点?

侯捷:基础学问如万古长空开发工具如一朝风月。不可万古长空不明一朝风月不可一朝风月昧却万古长空。

来函:经过两年多的编程实践,我发现了自己有很多不足,也深深地爱上了程序员这个工作,眼前,就有一个很好的公司在等待我,可是,我不知道是应该进学校深造基础课,弥补本科学习的不足,还是继续工作呢?以您的观点来看,对于一个程序员来说,是不是掌握了某种编程语言的语法,能够熟练地应用,就算是合格了呢?如果想成为一个高手,有没有必要进课堂学习计算机技术的基础呢?(比如数据结构、操作系统、编译原理等在您的工作中您觉得这些课程确实对自己很有帮助么?)

我觉得从发展的角度来看,即使我现在也许可以独当一面,可是由于基础的不足我可能没有办法编出来更高水平的程序竞争,不过那些科班出身的程序员们。可是我又不知道是不是现实中基础知识真的那么重要?是不是会成为更高发展的羁绊?因为好象好多高手都不是计算机专业出身的包括您在内。我是真的很矛盾。可能一个是短期利益一个长远利益的问题吧?另外程序员将来的出路在哪里呢?也许岁数大了只能在管理策划上进行突破了吧?

侯捷:程序语言是程序员最基础的功夫必须熟练它掌握它。但若只是如此编写不出好程序、大程序、专业程序。大家都会说中文独,有些人旁征博引,左右逢源,字字珠玑,文思隽永这是为什么?功夫在语言之外!语言是首要条件但不是决胜条件。功夫在语之外决胜在语言之外。PASCAL语言发明人Niklaus Worth博士说:Programming= Data Structures + Algorithms。这两门功课对于编程非常非常重要。操作系统(你的工作平台)也有必要深入。至于编译原理运用在工作上的机会比较少。

基本功有学习的必要,但不一定得在课堂上学习。书籍是你最好的、长长久久的老师。有些课程需要基础基础,又需要基础迷雾,需要点拨方向,需要指引有位好老师是最幸福的。但是得遇明师的机率很小真的。你需要的基础知识视你选择的路而定。任何技术都有其基础知识而它们都很重要。好多高手都不是计算机专业出身,但有更多高手是计算机专业出身。你认为侯捷是高手可在许多计算机专业领域(只有科班人才会接触的科目)里我的基础薄弱(这说明 弱水三千取一瓢饮 的重要)。我并不强调出身我对门第贵族那一套嗤之以鼻但该有的训练必须要有。让我再强调一次可以上课学习可以旁听学习可以自修学习。学习和拿学分拿文凭是两回事。

程序员将来的出路在哪里? 你把你的事做好自然就有出路。景气差也有人赚大钱景气好也有人赔光光。大家别老担心这种事了。

来函:我是一名程序员,已从事这个职业两年半了,曾经买了许许多多的计算机方面的书籍,现在回头来看,也发现好多都可以看做垃圾了,但是要扔呢,有点舍不得,颇有点 鸡肋 的感觉,毕竟那些书都是我用自己的工资买来的。不光是计算机书籍,包括中小学生的参考书籍,真是泛滥成灾,没有什么内容。还有就是一些不知名的人物写的一些书,每页印几行,每行几个字,凑成厚厚的一本,如果说书有内容,我很欣赏,但是去一看,我敢保证98%是垃圾!

侯捷:滥竽充数的问题从来不曾断过。就像光和影一样有阳光的地方就有阴影。解决这个问题需要读者的觉醒:慎选好书。滥竽没了市场就失去生存的养分;好书有了成绩自然就有蓬勃的生命好作者也就能开展更多的努力。

来函:我很想知道作为中国人是否应该为研发一个有中国自主知识产权的产品而努力,更不知道这个目标到底离我们有多远。

侯捷:一个世纪以来中国人做事渗杂了太多民族主义。当然有原因:中国人历经太多苦难恨不得强大再强大。所以研发一个属于自己的XXX就成为常听的口号扛起民族的大纛和中国人的希望。很沉重呀。

研发OS是水到渠成的事。如果单单只为民族主义研发成果我想不会好到哪里去。强扭的瓜不甜。Linux是跨国努力源码开放何不从它着手改良?顺带一提大家都可以享受open source的成果但中国人(华人)在open source领域贡献了多少?值得深思。

来函:最近我做...阅读boost库的代码...加上最近一段时间我所做的那个software完成其中大量使用STL和OO特性前后计10,000行代码左右算是略有一些实战心得了。综合读书、读码、写码的感受我越来越有一种疑虑想请教先生的看法。

我曾经非常推崇template的解决方案并推荐同好者学习Boost中的技巧。但是我现在越来越感到在实际开发中我觉得类似boost中某些模板技巧似乎正在重蹈macros的覆辙变得越来越复杂越来越tricky代码难以编译不说更难以阅读和维护。某些技术实在有 为用模板而用模板 之嫌。例如boost:regex++固然将模板技术运用得高超,但是其效率一般只及Perl的1/4,而美国微软研究院一研究员用比较简单的template技术实现的GRETA库同样处理regularexpression其效率足以与Perl抗衡。此事对我震撼不小难道我们学习模板技术泛型技术只是为了 炫耀 一种编程技巧码?

我现在非常质疑这个方向是否正确。不知道先生怎么看。

我以为C++中最重要、最有效、也最常用的那部分还是基本的C++和标准库中的那些东西,还是OO和STL所展示的generic programming技术。一味追求template编程技巧恐怕不是正确的方向。即使是library的编写对于temp-plate能力也不应该滥用。普通C++爱好者学习还是应该以标准库和STL为准不宜过早阅读Boost source以免 走火入魔 。

另外我感到在一种语言中泡得太久渐渐有一种局限无论C++是多么伟大的语言也不可避免地限制了我们的思想。似乎应该扩大自己的眼光了解一两种其它语言的思想。

我觉得Python似乎是个很适合的点。先生的意见如何?

侯捷:你终于有了一些实战体会开始real worldproject。这和学校中的习作截然不同--规模还在其次最主要是工作态度。你的东西要卖钱你的产品要维护你的肩上有了责任。OO有其价值非GP可取代。GP自有擅场亦非OO可到达。application framework如何以GP实现?不可能!STL揭示的弹性与灵活如何跳过template完成?也不可能!OO要求把一切相关date和functions封装起来GP却要求把data(containers)和functions(algorithms)拆开(再透过iterators桥接起来)这是相悖的两种思考。

不同的场合运用不同的技术才能红花绿叶相辅相成威力加乘。GP在data structures + algorithms身上找到了一个绝佳发挥场所其为每个程序所必须又与框架系统不生任何干戈。STL的复杂度远小于 application framework很容易就让人们良好地接受它、运用它、深入理解它。任何技术都需要一群急先锋扮演探究极限的角色。《Modern C++ Design》和Andrei Alexandrescu那群人就是GP急先锋Alexander Stepanov则是GP教主。没有这些人的狂热与偏执我们不知道GP的极限。他们的研究是否已达实用价值由时间判断他们的立论出于偏执或智能由我们判断。

你已经进入业界你应该已有体会定了位的公司要求稳定成长还在奋斗求生的公司追求大破大立。不同的位置不同的角度每个人期待的都不相同。一旦你经验老到你就再也不会对新技术新名词而疯狂而一头栽入了你会冷静判断决定自己的方向。成熟老练之后有些人会后悔年少的轻狂孟浪。其实也不必那就是成长过程。而且为某些事不够理智地疯狂是许多人共有的经验。

年轻朋友常落入 以技服人 的炫技窠臼并且老爱把新技术、新名词挂在嘴上争取在任何时候以经过刻意装饰的 不经意姿态 流露几许科技贵族气质。这种情况我见很多。我不是说你你的表现很自制沉稳。在近乎狂热地推崇template的过程中你写了一些帖文我看过。正因为有那样的过程你才有能力做今天的深刻反思。

网络上有无数libraries其中不乏好作品。但是剖析源码兹事体大它需要许多时间和精力。所以一定要慎选对象不可轻率为之你的时间和精力都容不得虚掷。我认为只有价值被百分之百认定的大型卓越作品才值得剖析源码从中吸取深层技术的养份。一样米还养百样人哪来被百分百认定的大型卓越作品?唔我说的是被你百分百认定不是被百分之百的人认定。

我感到在一种语言中泡得太久渐渐有一种局限 。确是如此所以我曾要你注意Java。我自己也研究Java和C#从中寻找新的养分、新的刺激。但是注意唯有曾经对某种语言

(而且是制高点上的语言)有过深刻的体会才适合以它为基础做这类横向攻错。

来函:我是一个程序员有4年工作经验,最近两年一直集中在做j2ee这方面的开发,这两年的学习过程中,我自认对Java语言本身和相关的核心api扩展apioop有了较好的认识和理解,也具备相当的工作经验。我目前的问题是现在我想再学习1、2门语言,对于script语言我选定python。对于系统语言我在考虑是否应该重新学习C++。我对语言自身和相关OO部分的东西感觉不会太困难,但是C++自身的特点要求学习者本身去了解精通特定的平台和框架体系,这又是我所不情愿的。一来我没有实际经验很难说我会用C++做哪一方面的东西,我主要还是做Java。二来学习这些东西要耗费大量的时间和精力,学习Java的各类extended api已经让我处在一种不停奔跑的进程中了。过去两年里我除了Java没有接触任何其它语言,我认为精通一门比粗通多门要好得多,更多的精力可以放在更高层次的问题上。问题是很多人的标准里不精通C++都算不上真正程序员。尤其现在Java 火热太多的C++程序员转过来做Java。在这种情况下没有C++背景的人很多人怀疑你自身的能力。很荒谬,可是现实包括大陆某知名的Linux开发人员都对我说学不好C++的人才去学Java这样的话。很多公司宁可招C++的高级程序员,让他们改学Java也不要纯懂Java的人,还有很多人认为我这个时候学习C++年纪已经太大了,我已经过了25岁。自己也颇为困惑。我无意在30岁以前去做SE和PM,还是觉得做程序员比较有乐趣目前对出路比较迷惑恳请指点一下。

另:发现您的大部分作品都局限于比较具体技术方面的东西,对于一些较高层次的涉及较少,如没见到您的作品或译作有design pattern 、anti-pattern 、refactor这些更大局一点的东西诸多经典的OO书籍中,您还是以OOP为主似乎也只提到DP也无和SE相关的作品。感觉还是一种在武侠中追求个人练功极致的时代为什么您不投入更多的精力去编写翻译一些和具体语言无关较高层次的设计和SE方面的东西?

又:在您的网站上发现了您翻译的Refactoring一书,此等好书不知大陆是否已有简体出版计划?侯先生为何不向大陆读者多推荐一些这方面的书?目前唯技术论实在是太滥了,看过太多程序员可以连续熬夜写几万行代码,却连基本的代码规范都不肯遵守实在是无言以对呀。

侯捷:我曾有一篇《C++的沉迷与爱恋》,但我不知道大陆IT业界迷恋C++到了这般地步--如果你的话有代表性。看来C++思想即将取代儒家思想。

精通一门语言确实比粗通多种语言要好得多鼯鼠五技而穷。 学不好C++才去学Java 这种话太荒谬太不可思议。就算换成 学不好C++才去学VB 我都觉得很荒谬。语言的选择主要在适用性。学术研究是一回事工业实战是另一回事。邓小平的白猫黑猫之说千万别忘了。

你说 C++自身的特点要求学习者本身去了解精通特定的平台和框架体系 ,这并不正确。你说的是applicationframework是class library不是C++语言本身。Java之所以跨平台不在语言而在虚拟机器(当然啦Java语言和Java虚拟机器是焦不离孟)。C++也有跨平台的applicationframeworkQt便是;C++也有跨平台的小型frameworkSTL便是。只要遵循C++标准便能跨不同的平台;运用它们虽不至于 一次编译到处运行 却可以 一次编程到处编译 。

对于那些不愿遵循基本代码规范的孤芳自赏型 高手 ,我个人永远保持工作上的距离。下面这一段文字希望对他们有点启发。Donald Knuth于1996年接受Dr. Dobb s Journal访问时被要求对美国程序员说几句话。他说: 我第一想说的是当你撰写程序的时候,请想象你正在进行一件文学工作。你应该写出一些给人类阅读的诗篇而不只是让机器遵循的指令。你的程序愈具可读性,你的工作愈有效率,因为你可以在今天看懂它,下个星期看懂它,三个月后仍然看懂它,负责维护和修改你的程序的继任者也可以轻易看懂它。

为什么您不投入更多的精力去编写翻译一些和具体语言无关较高层次的设计和SE方面的东西? 呵呵一步一步来!没有过去十年堆垒的厚实基础我如何建构一个自己完全掌握的坚实体系?我以书籍为媒介进行教育我需要一个完完全全放心、值得推荐的好书体系初阶、中阶、高阶...语言、应用、系统...一步一步往上攻坚,也成就我个人的进步。从某个角度说请赞许我是一个毅力坚定的人。 和具体语言无关较高层次的设计 你提到的《Refactoring》不正是我的开始吗。至于《Refactoring侯捷译本》发不发行简体版主动权不在我。

25岁学C++,嗯 我27岁才学C语言,30岁才初次接触C++,37岁才认真学习C++。你有信心了吗?

相关链接:

最新活动:2011年4月侯捷公开课(上海/深圳/北京)

侯捷:Boost.Function内核剖析

裸体美女

美女裸体照片

裸体美女图

励志句子

相关阅读