[i=s] 本帖最后由 apple753357 于 2009-5-31 00:04 编辑 [/i]
经常看到一些小年轻一开始抱着满腔热情进入linux的世界,但是好景不长,没有几天就耷拉着脑袋抱怨这个不行那个不行。有其实一些想在linux下学习c/c++的青年,经常说这个怎么通不过编译,那个怎么不能联接,我以前学习java只要七十二个小时等等。我想了一下,造成这种情况的原因有如下几种。
1)不熟悉系统,比如微软的IDE集成度很高,很多库不需要你人工联接。当你进入linux之后,linux的环境可能使你在原先熟悉系统上获得的经验失效。 当然,如果是新人遇到问题就没有什么奇怪的了,你要是不遇到问题只有一种情况----你懒惰而愚蠢,永远固步自封,因为不接触新东西,所以也不会有问题。
2)都是市场惹的祸, 市面上充斥着那些号称多少小时教你学会XX语言,XX系统的书籍,比如《72小时学java》,《36小时精通linux》等等。即使有些书是畅销书,我也不得不说,这些快餐文化几乎和垃圾食品是等价的。这些书除了教会你些出 "hello worls!"之外,没有其他什么价值。
3)心理问题, 本来就没有很坚决的要进入linux世界的想法,所以只要一产生问题就立刻退出。这样的人除了损耗机器(频繁的装卸系统)什么也没有学到, 当然或许他学会了人是怎样屈从于惯性的。
4)语言问题, linux下的资料大部分是英文的,编译器是英文的,编译之后的错误反馈是英文的。可能你要解决的问题随便上网一搜索就有答案,但是问题是,你看得懂吗?举个典型的例子,如果使用模板类,其中的返回取决于变量类型的成员函数在类体外定义的时候如果没有加上关键字 typename, 编译器就会说expected constructor, destructor, or type conversion (缺少构造函数,析构函数,或类型转换函数),国外的论坛有这个错误信息的例子和解决方法,但是语言可能是你 的障碍。
想到现在大家的普遍的浮躁, 我只想问你一个问题, 你小时候学习系鞋带这么一个简单的事情用了多少时间? 事实上很多号称自己学会了c/c++的人大部分只是粗略的掌握了语法, 有的人甚至从来没有用到国操作符重载,纯虚函数等等一些特性,你怎么敢说你学会了c++。c++不是用来输出 “hello world!“ ,要写这个你自己拿A4纸用毛笔写了挂在墙上会比较好看。
还要说一个事情作为结束希望大家引以为鉴,思考一下学编程到底要学什么! 学语言还是学解决问题的方法!前几天一个论坛上有一个求救的帖子, 一个网友在参加一个软件的开发项目,语言是s7,他负责编写一个通过比对时间来动态调整进程占用率的部分。他遇到的主要困难是s7自带的计时器,计时的最大上限是16分钟, 可16分钟是远远不够的。他问有没有谁是s7高手,怎么获得任意大的一个时间。
我解答了这个问题, 我说设置一个变量,这个变量的单位是5分钟, 每当默认的计时器满五分钟,把计时器清零,把那个以五分钟的单位加1,如此类推你可以定义以小时为单位的变量, 只要以五分钟为单位的变量数到12就进1。 他非常感谢我的建议, 通过增加一次输入输出就解决了他的问题。
好了!故事就说到这里, 我最后想说一句可能让大家吃惊话:我从来没有学过s7编程, 也根本不懂s7编程。
stack 于 2009-06-15 15:04:15发表:
目前还是在windows下学习C++。
linux还要过渡阿。。。
zaifeng 于 2009-06-15 12:44:11发表:
很好
wlabcxyz 于 2009-06-07 23:59:46发表:
没什么说的坚持努力学习
wswwaizh 于 2009-06-07 11:16:21发表:
学习还是要踏踏实实的来,一天热情谁的可以做到,关键是看能一直这样坚持多久
roc112008 于 2009-06-04 18:03:23发表:
嗯,算法才是精髓
qq470320278 于 2009-06-03 18:02:42发表:
同感!!{:3_108:}
happy_pig 于 2009-06-02 23:54:41发表:
受教了(6)m:b
jiehe 于 2009-06-01 09:13:32发表:
楼主很神秘哦。
kpshare 于 2009-05-31 12:56:19发表:
我也在努力中。。
ubuntulover 于 2009-05-31 11:31:19发表:
牛
feir8510 于 2009-05-31 09:04:32发表:
也正在学习linux c呢,也正再看网络部分的linux源代码,向大牛学习了......
tJbwhy 于 2009-05-31 00:02:52发表:
浮躁是魔鬼