《C语言点滴》一1.5 内功修炼

1.5 内功修炼

C语言点滴

1.5.1 数学

作为一个门外汉,我真的不敢在这里谈论数学的话题。直到我在网上看到南京大学数学系张高飞老师的一篇文章,我决定将全文转述在下面,下面分割线之间的就是张高飞老师那篇文章了。文章不长,但是让我这个悲情人物找到了自信,数学里面是有属于我的一个分支的,那就是计算数学!

正如大家所知,代数几何是现代数学的主流。当代大多数一流的数学家都工作在这一领域。因此如果你觉得自己天赋异禀,并在代数、几何与分析各方面都有着扎实的基础,我建议你绝不要浪费自己的天赋:应义无反顾地选择代数几何这一专业。当然把代数、几何与分析这三门基础功课同时学好的人很少。比如有些同学有着很好的分析功底,但代数中的抽象思维能力却相对显得薄弱。如果是这样的话,我建议你选择分析方面的专业,比如:复分析,分形,调和分析或微分方程。

除以上三部分同学之外,还有这样的一部分同学:他们对代数,分析与几何都不擅长,但却一直坚信自己在数学上仍能有所作为,并幻想有朝一日成为中国数学界的中流砥柱。如果你属于这部分同学中的一位的话,我建议你选择动力系统。动力系统这一学科其实就是专门为这部分同学开设的。

当然即使是动力系统也不是人人都能学的。因为动力系统需要大量的微积分。可总有那么一部分同学还没来得及把极限的概念搞清楚就大学毕业了(本文作者中枪)。如果你不巧就是这样一位同学,也就是说你大学四年压根儿就没学数学,但仍希望自己将来能在数学上一展宏图的话,我建议你选择组合数学这一专业。这一专业的特点就是它只用到中学的数学。如果你在中学时参加过数学竞赛并获过奖项的话,这一学科正是你大展身手的地方。

我想大多数同学看到这儿之前已经找到了适合自己的专业了。可若仍有人羞怯地说他在中学时早恋,因此连中学的数学也没学好,我想告诉这部分同学不要怕。在我们系有专门为你们开设的一个专业:统计学。这一学科只要求懂得小学数学中的加减乘除四则运算就够了。更重要的是,选择这一专业的大多都是女同学。在你准确无误地把成千上万个数据加起来并娴熟地计算出他们的均值时,你也赢得了众多师姐师妹的芳心:短短三年的研究生生活或许能让你再次体会一次那如花美眷,似水流年的往事……

最后这一条是专门针对那些悲情人物的。他们连小学的数学也没学好。不要说把上千个数加起来,就是把两个数加起来,对他们来说都是件很吃力的事。然而这一切丝毫没有削弱他们对数学的一片痴情。他们日日夜夜泡在图书馆里。他们翻阅了所有的数学文献,却从未找到一本能读懂的。但他们仍坚持不懈,为的就是找到一个适合自己的专业。他们的行为感动了上帝。上世纪的某一天,上帝为他们创造了一台机器帮他们计算,这就是计算机。借助计算机,他们可以很快地进行加减乘除的运算。这就是计算数学。

张老师的文章转述完毕,看来张老师也同意这样一种观点:数学学不好的学统计,统计学不好的才学计算机,这句话多少有点道理。确实,很多的计算机研究领域并不需要高深的、抽象的数学知识。但是大家千万不要以为学计算机就可以轻视或忽略数学。关于计算机和数学的关系,我只想说两点。第一点,数学很有用。数学对我们理解和使用数据结构和算法有很大的帮助。数学中,不仅数值分析、集合论、概率统计与分析这些课程可以直接应用到计算机相关应用中,同时,坚实的数学基础会给日后从事研究性质的工作带来巨大的帮助。如果你的数学学得非常好,你不仅拥有数学的知识,更重要的是拥有数学的思维,而数学的思维对从事计算机职业来说至关重要。

第二点,如果从应用的角度来理解数学,数学很简单。我们来举个例子。由一个最简单的问题谈起,我们要铺正多边形地砖,能够使得拼接处没有缝隙,正几边形能够满足这个要求?这个问题可以化解成另外一个问题,正多边形的一个内角的整数倍等于360度。我们继续推导这个问题,正n 边形总可以分割成n -2的三角形,所以正n边形内角和等于 (n-2)times {{180}^{circ }}。

这样,正n边形的每个内角就是

假设正n边形恰好需要m个围绕在一起而没有空隙,那么就可以得到

经过简单地推导,最后可以得到(m−2)(n−2)=4,其中m和n必须为正整数,经过简单的口算,你就可以得到n只能是3,4,6。与之对应的是三角形,正方形,和正六边形。正八边形好像是满足要求,但是如果你尝试铺一下,就会发现这是不行的。也就是说,能够无缝隙的平铺一块地方的正多边形中,最大的就是正六边形。通常情况下,边数越多,周长相等的情况下所占面积就越大。所以……所以你想到了什么没有?蜂巢!没错,就是蜂巢。聪明的蜜蜂早就知道了这一原理,把自己的巢建成正六边形,如图1-14所示;另外,我们的手机采用的都是蜂窝网,这回你知道为什么了吧!怎么样,数学真的不难,而且非常有用吧。

既然正六边形有如此优良的特性,为什么我们超市里面装牛奶的盒子都是正方形,而不是正六边形的呢?这是因为牛奶一般都是放到货架上,正方形可以保证你能很方便地抽取出来啊!那为什么不设计成圆形呢?因为牛奶必须需要放到冰柜里,正方形可以保证最大限度地利用冰柜的空间啊!那为什么可乐瓶子都是圆的啊?因为一般可乐都是用手拿着喝的啊!那为什么……。好了,为了系统回答你的所有问题,我需要引入一门新的课程,这门课程叫做《软件工程》。他包含了商业、沟通、管理、市场、开发等方方面面。一个软件产品,技术很重要,但不是全部。这一点,苹果的乔布斯应该深有体会,下面我就叨咕叨咕软件工程这个东西。

图1-14 蜂巢

1.5.2 软件工程

对于软件工程,有一句表扬它的话,那就是:“懂得软件工程的程序员就不再是妓女了!”这句话来源于程序员圈内用于自嘲的一个类比,那就是程序员和妓女都是吃青春饭的。不过说句实话,我对表扬软件工程的这句话理解的并不是很透彻。

话说回来,软件工程这东西,真的很重要。如果有一个产业,大家都很努力工作,但是结果却会很差,那就是软件这个行业了。开发一个软件包含很多步骤,从需求设计与分析、系统设计,到软件实现、软件测试、部署和维护,其中每一个步骤又涉及到很多人,从用户到销售,从经理到程序员,从架构师到测试人员等。一个常见的情况就是程序员不了解用户,用户也不了解程序员;大部分时候,用户也不了解自己。这就造成了如图1-15所示的一个项目悲催的一生。

图1-15 一个软件项目悲催的一生

说到软件工程,不能不提到CMM(软件能力成熟度模型),这个是软件工程和软件管理的一个比较主流的模型。我曾经听过一个故事,国内的一个企业曾经派一些资深的员工去印度一家公司学习CMM模型。学习一年回国以后,中国员工并没有学会CMM,但是印度那家公司从此却不用CMM,改用中国模式了!后来这个公司改变了战略,第二次派了一批刚从学校毕业的学生去学习,终于取得真经,修成正果。从这个故事中,大家得到了什么结论呢?

还有一个真实的案例那就是微软公司,它开发软件的时候不用CMM进行管理,而是使用开发、测试、项目经理三个团队互相配合的方式来进行管理。

看来CMM这个东西也并不是传说中的那么神。就像炒菜一样,只要好吃就行,没必要偏得按照菜谱来。关于软件工程,我基本上不懂,所以也只给大家介绍这么多了。

我个人的一个感觉就是,软件工程这个东西很赚钱,而且无论是从课本上,还是从课堂上,你都学不来。

时间: 2024-07-30 23:59:34

《C语言点滴》一1.5 内功修炼的相关文章

《C语言点滴》一导读

前言 C语言点滴C语言的书林林总总,数不胜数,其中不乏<C Programming Language>1这样的Bible级经典白皮书,也不乏<C陷阱与缺陷>2.<C Programming FAQs>3这样的工程师枕边必备.中文教材方面也有<C语言程序设计>4,5这样广受学生们欢迎的教科书.所以任何再写C语言书籍的作者,都要首先回答这样一个问题,为什么还需要这样一本书? 首先说明,这本书不是教材.任何教材都是"扁平"结构的,争取覆盖面广一

内功修炼之操作系统学习(存储管理)

存储器管理负责管理计算机系统中重要的资源---主存储器.任何程序和数据必须载入到主存中才得以执行和处理,因此存储器管理的优劣直接影响系统的性能. 主存分为两部分:一部分是系统区,用于存放操作系统内核程序和数据结构等.另一部分是用户区,用于存放应用程序和数据. 计算机系统采用层次结构的存储系统.以便在容量大小.速度快慢.价格高低等诸多因素中取得平衡.它分为五个层次:寄存器,高速缓存,主存储器,磁盘,磁带等五层.寄存器,高速缓存和主存储器属于操作系统存储管理管辖范畴.磁盘和磁带属于设备管理的管辖对象

《C语言点滴》一1.4 程序=数据结构+算法

1.4 程序=数据结构+算法 C语言点滴 程序员首先要有自己的想法,而写程序只是为了实现自己的想法而已. 而程序员的想法就是用数据结构+算法来描述的.如果程序是一个人,正确的数据结构就像是强壮的体格,高效的算法就像是高尚的性格,而语言,只是一件外衣而已.不同的场景,你会穿不同的外衣,而且外衣可能还有一定的流行趋势,但这些真的不重要. 纠结于语言的程序员,就像是只关注外衣是否漂亮的小姑娘.凡是能够流传千古的作品,你会发现都是不穿衣服的,如图1-10所示的罗丹的思想者:更有甚者,不仅衣服没有了,就连

《C语言点滴》一1.2 程序猿和互联网

1.2 程序猿和互联网 C语言点滴 虽然你可以对电脑的硬件要求不高,但是对另外一个功能还是应该严重关切一下的,那就是联网功能.最方便的联网方式无疑就是3G联网方式了,可以做到随时随地上网.我在北京上班的时候,地铁车厢里有时会有人拿着笔记本通过3G在上网.因为我还没有忙到这种程度,所以一般我在地铁上经常干的就是防范小偷.应付要饭的.还有偷眼看看周围的美女. 有了互联网,就有了一个巨大的宝藏,你需要了解一些知识,同时还需要能够利用一些工具从这个巨大的宝藏中获得你需要的信息和资源.本节的"搜索引擎&q

淘宝商家的网络营销内功修炼(如邻网络案例分析)

前几日,朋友在淘宝一家店铺买了几斤新疆核桃,大家一起分享,核桃皮薄,仁香.说起,这家店铺,朋友也是大家赞赏,列举 如下:兵贵神速:从下订单到到货2天时间物美价廉:价格特别实惠安全专业:物品封装规范,附上机打产品详单(可同DELL一拼) 客服甜美周到:小小店铺,光客服10来个,每个人的昵称新颖不落俗套-..我也到这家店铺去逛一逛.店铺做的特火,在4月25日的那天的订单数量在160个左右.从2006年到现在,店铺的评价次数有15万之多.粗略估算一个,这个店铺的一年的 销售额在 200万左右.看看这家

《C语言点滴》一第1章 程序猿 &amp;&amp; 程序媛1.1 装备篇

第1章 程序猿 && 程序媛 C语言点滴 1.1 装备篇 C语言点滴1.1.1 衣着程序猿们通常并不在意穿着,整天西装革履的基本上都是销售人员.一般的程序员日常的穿戴通常都是牛仔裤和T恤衫,其中一个最主要的原因在于这种穿戴根本不用花时间去打理.牛仔裤很难用眼睛来判断已经多长时间没洗过了,除非你用鼻子靠近去闻一闻.T恤衫虽然比较容易脏,但是可以一次买7件,一周7天每天换一件,不同的颜色和图案还可以代表本日不同的心情.周一可以穿一件有熊图案的T恤,代表这一天基本上自己会比较"熊样&q

农产品电商需要踏实的内功修炼

就目前的情形来看,农产品电商大致可以分为平台型和垂直型两个模式,也有人分为3种模式.其实模式无所谓,其核心的关键是要在线下花费大量的精力和时间,淘宝的生鲜频道也并没有像其天猫商城那样成功,也证明了线下的功夫是决定农产品电商成功的关键因素.即便农产品电商网站如雨后春笋在很多城市出现过,不仅规模小,而且都或多或少的面临盈利的困境和资本匮乏的局面.而这很大的原因是充当了跑腿代购的角色,并没有真正从客户的角度出发解决现实问题.回头看看亚马逊的生鲜之路吧,早在2007年就开始了在西雅图地区推出了Amazo

团购网站应注重内功修炼多于表面功夫的完善

硅谷网讯 这两年,团购网站的发展对其经营者而言可以说是有喜有悲.喜的是整个http://www.aliyun.com/zixun/aggregation/17612.html">行业网站在数量上犹如雨后春笋般出现,说明了行业的市场前景;即便是现在大批量团购网站的倒闭或丑闻,也未能阻挡后进者的脚步.但同时,悲的便是由于行业未历经市场的长时间洗礼,就被经营者烧钱催熟,因此,表面如此繁荣的背后实际上危机重重.但经营者似乎被团购战国的战火烧红了眼,而不去或者是很少去关注如何进行业内整合,如何做团购

照镜子 - 内功修炼

"凌厉刚猛,无坚不摧,弱冠前以之与河朔群雄争锋."  初出茅庐,已经能熟练的使用常用的框架了,感觉框架在手,天下我有.  "紫薇软剑,三十岁前所用,误伤义士不祥,悔恨不已,乃弃之深谷."  已经懂得把百炼钢化为绕指柔,对各个框架的特点有所了解,会根据项目的需求去选择合适的框架,并能在此基础上更好的去设计拓展.  "重剑无锋,大巧不工,四十岁前持之横行天下."  返璞归真,放下了对框架的依赖,对算法,设计模式,抽象等有所顿悟,而对语言本身也有了较深