<?xml version="1.0" encoding="gb2312"?>

<!-- RSS generated by oioj.net on 4/16/2004 ; 感谢LeXRus提供 RSS 2.0 文档; 此文件可自由使用，但请保留此行信息 --> 
<!-- Source download URL: http://blogger.org.cn/blog/rss2.asp       -->
<rss version="2.0">

<channel>
<title>201111的博客</title>
<link>http://blogger.org.cn/blog/blog.asp?name=201111</link>
<description>201111的博客</description>
<copyright>blogger.org.cn</copyright>
<generator>W3CHINA Blog</generator>
<webMaster>webmaster@blogger.org.cn</webMaster>
<item>
<title><![CDATA[自古考研一条路 调剂也是硬道理（2005调剂信息火暴汇总）]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=201111&amp;id=3878</link>
<author>201111</author>
<pubDate>2005/3/18 14:59:57</pubDate>
<description><![CDATA[<P><FONT size=2>· </FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/05-1399.htm" target=_blank><FONT color=red size=2>重庆邮电学院经济管理学院管理科学与工程专业硕士研究生2005调剂信息</FONT></A><BR><FONT class=copyright size=2>· </FONT><A href="http://www.kaoyan.com/2005tiaoji/post.htm" target=_blank><FONT color=#003366 size=2>大连交通大学2005年攻读硕士学位研究生招生调剂信息</FONT></A><BR><FONT class=copyright size=2>· </FONT><A href="http://www.kaoyan.com/2005tiaoji/post.htm" target=_blank><FONT color=#003366 size=2>华东交通大学硕士研究生2005年调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 北京</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/15-1526.htm"><FONT color=#003366 size=2>2005年北京科技大学固体力学专业硕士研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 安徽</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/14-1524.htm"><FONT color=#003366 size=2>安徽理工大学2005年研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 江苏</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/14-1523.htm"><FONT color=#003366 size=2>江苏工业学院2005年硕士研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 北京</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/13-1519.htm"><FONT color=#003366 size=2>中国地震局各研究生培养单位2005年考研调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 黑龙江</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/13-1518.htm"><FONT color=#003366 size=2>中国地震局工程力学研究所2005年考研调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 重庆</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/11-1505.htm"><FONT color=#003366 size=2>重庆邮电学院自动化学院控制理论与控制工程、检测技术与自动化装置专业硕士研究生2005调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 辽宁</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/11-1502.htm"><FONT color=#003366 size=2>渤海大学2005年硕士研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 北京</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/11-1486.htm"><FONT color=#003366 size=2>北京物资学院2005年硕士研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 山西</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/11-1485.htm"><FONT color=#003366 size=2>太原科技大学2005年考研调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 江苏</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/11-1484.htm"><FONT color=#003366 size=2>江苏科技大学2005年硕士研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 北京</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/11-1483.htm"><FONT color=#003366 size=2>北京工业大学2005年“科学技术哲学”专业硕士研究生招生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 黑龙江</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/11-1482.htm"><FONT color=#003366 size=2>哈尔滨理工大学2005年接收调剂生公告</FONT></A><BR><FONT size=2><FONT class=copyright>· 北京</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/11-1481.htm"><FONT color=#003366 size=2>中国农业大学理学院2005年硕士固体力学调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 江西</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/11-1480.htm"><FONT color=#003366 size=2>江西农业大学2005年考研调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 安徽</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/11-1479.htm"><FONT color=#003366 size=2>安徽工业大学2005年硕士研究生招生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 黑龙江</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/11-1478.htm"><FONT color=#003366 size=2>齐齐哈尔大学化学与化工学院招收公费调剂生</FONT></A><BR><FONT size=2><FONT class=copyright>· </FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/11-1477.htm"><FONT color=#003366 size=2>大连交通大学2005年攻读硕士学位研究生招生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 黑龙江</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/10-1476.htm"><FONT color=#003366 size=2>齐齐哈尔大学2005年研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 内蒙古</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/10-1475.htm"><FONT color=#003366 size=2>内蒙古科技大学2005年考研调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 江苏</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/10-1474.htm"><FONT color=#003366 size=2>苏州科技学院2005年研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 陕西</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/10-1472.htm"><FONT color=#003366 size=2>西安理工大学2005年考研成绩查询以及调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 江西</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/10-1471.htm"><FONT color=#003366 size=2>华东交通大学硕士研究生2005年调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 广西</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/09-1455.htm"><FONT color=#003366 size=2>桂林电子工业学院2005年硕士研究生复试分数线、调剂相关事宜通知</FONT></A><BR><FONT size=2><FONT class=copyright>· 陕西</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/09-1454.htm"><FONT color=#003366 size=2>长安大学2005年硕士研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 北京</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/09-1452.htm"><FONT color=#003366 size=2>北方工业大学2005年硕士研究生招生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 江苏</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/09-1451.htm"><FONT color=#003366 size=2>江苏大学2005年硕士研究生招生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 上海</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/09-1449.htm"><FONT color=#003366 size=2>中科院上海应用物理研究所关于接受2005年硕士研究生调剂的通知</FONT></A><BR><FONT size=2><FONT class=copyright>· 天津</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/08-1443.htm"><FONT color=#003366 size=2>天津科技大学2005年研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 上海</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/08-1434.htm"><FONT color=#003366 size=2>上海海事大学2005年研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 河北</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/08-1433.htm"><FONT color=#003366 size=2>第七一八研究所2005年硕士研究生调剂</FONT></A><BR><FONT size=2><FONT class=copyright>· 江西</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/08-1432.htm"><FONT color=#003366 size=2>南昌大学化工过程机械2005年调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 上海</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/07-1423.htm"><FONT color=#003366 size=2>上海大学生物信息中心2005年考研调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 重庆</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/07-1417.htm"><FONT color=#003366 size=2>重庆工商大学2005年硕士研究生招生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 辽宁</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/07-1416.htm"><FONT color=#003366 size=2>马鞍山矿山研究院2005年考研调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 黑龙江</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/07-1414.htm"><FONT color=#003366 size=2>黑龙江八一农垦大学2005年硕士研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 北京</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/07-1413.htm"><FONT color=#003366 size=2>中国科学技术大学软件工程硕士北京招生办接收2005年考研调剂生</FONT></A><BR><FONT size=2><FONT class=copyright>· 黑龙江</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/05-1400.htm"><FONT color=#003366 size=2>黑龙江省中医研医院2005年硕士研究生招生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 重庆</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/05-1399.htm"><FONT color=#003366 size=2>重庆邮电学院经济管理学院管理科学与工程专业硕士研究生2005调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 江西</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/04-1389.htm"><FONT color=#003366 size=2>江西理工大学：2005年研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 北京</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/04-1384.htm"><FONT color=#003366 size=2>中国农业大学：欢迎MPA考生调剂我校</FONT></A><BR><FONT size=2><FONT class=copyright>· 云南</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/04-1383.htm"><FONT color=#003366 size=2>昆明贵金属研究所：2005年研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 重庆</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/04-1381.htm"><FONT color=#003366 size=2>重庆工学院：欢迎全国广大考生调剂到我校！</FONT></A><BR><FONT size=2><FONT class=copyright>· 北京</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/04-1379.htm"><FONT color=#003366 size=2>中国原子能科学研究院：2005年硕士研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 四川</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/04-1378.htm"><FONT color=#003366 size=2>西南科技大学：2005年研究生招生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 浙江</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/04-1374.htm"><FONT color=#003366 size=2>杭州电子科技大学关于2005年硕士研究生调剂的通知</FONT></A><BR><FONT size=2><FONT class=copyright>· 新疆</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/02-1352.htm"><FONT color=#003366 size=2>中科院新疆理化研究所2005硕士研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 辽宁</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/02-1347.htm"><FONT color=#003366 size=2>沈阳航空工业学院:2005年硕士研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 湖南</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/02-1346.htm"><FONT color=#003366 size=2>长沙理工大学:2005年经济学院研究生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 河北</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/02-1329.htm"><FONT color=#003366 size=2>河北工业大学工商管理硕士（MBA）研究生招生调剂信息</FONT></A><BR><FONT size=2><FONT class=copyright>· 安徽</FONT>&nbsp;</FONT><A href="http://www.kaoyan.com/Registration/Recruitment/c/2005/01-1326.htm"><FONT color=#003366 size=2>中国科学技术大学软件工程硕士2005年调剂简章</FONT></A><BR>
<TABLE cellSpacing=0 cellPadding=3 width=557 border=0>
<TBODY>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050315/3131106.shtml" target=_blank><FONT size=2>中国建筑设计研究院2005年接受考研调剂生的说明</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050315/3131091.shtml" target=_blank><FONT size=2>上海大学2005年硕士研究生招生调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050315/3131085.shtml" target=_blank><FONT size=2>中国矿业大学(北京)理学院2005年硕士研究生调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050315/3131083.shtml" target=_blank><FONT size=2>宁夏大学2005年接收硕士研究生考生调剂说明</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050314/3131062.shtml" target=_blank><FONT size=2>华北计算技术研究所2005年调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050314/3131061.shtml" target=_blank><FONT size=2>中国建筑设计院2005年考研调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050314/3131058.shtml" target=_blank><FONT size=2>北京服装学院2005年研究生调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050314/3131036.shtml" target=_blank><FONT size=2>江苏工业学院2005年硕士研究生调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050314/3131032.shtml" target=_blank><FONT size=2>浙江工业大学化材学院2005年考研调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050314/3130961.shtml" target=_blank><FONT size=2>中北大学2005年硕士研究生调剂招生（含部分公费名额）</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050314/3130958.shtml" target=_blank><FONT size=2>长沙理工大学管理学院调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050311/3130944.shtml" target=_blank><FONT size=2>北方工业大学2005年硕士研究生招生调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050311/3130943.shtml" target=_blank><FONT size=2>北京工业大学北京市嵌入式系统重点实验室调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050311/3130881.shtml" target=_blank><FONT size=2>合肥工业大学2005年接收硕士研究生调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050311/3130880.shtml" target=_blank><FONT size=2>渤海大学2005年硕士研究生调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050311/3130878.shtml" target=_blank><FONT size=2>江西农业大学2005年考研调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050307/3130362.shtml" target=_blank><FONT size=2>中国科学技术大学软件工程硕士2005年调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050307/3130356.shtml" target=_blank><FONT size=2>中国原子能科学研究院2005年硕士研究生调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050307/3130292.shtml" target=_blank><FONT size=2>西北第二民族学院05年研究生调剂信息</FONT></A></TD></TR>
<TR>
<TD><FONT color=#6699ff size=2>·</FONT><A href="http://www.cer.net/article/20050304/3130251.shtml" target=_blank><FONT size=2>2005年沈阳航空工业学院硕士研究生调剂信息</FONT></A></TD></TR></TBODY></TABLE><A></A></P>]]></description>
</item><item>
<title><![CDATA[计算机科学与技术学习反思录]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=201111&amp;id=3877</link>
<author>201111</author>
<pubDate>2005/3/18 14:58:13</pubDate>
<description><![CDATA[<P>计算机科学与技术这一门科学深深的吸引着我们这些同学们，上计算机系已经有近三年了，自己也做了一些思考,我一直认为计算机科学与技术这门专业，在本科阶段是不可能切分成计算机科学和计算机技术的，因为计算机科学需要相当多的实践，而实践需要技术；每一个人(包括非计算机专业)，掌握简单的计算机技术都很容易（包括程序设计），但计算机专业的优势就在于，我们掌握许多其他专业并不“深究”的东西，例如，算法，体系结构，等等。非计算机专业的人可以很容易地做一个芯片，写一段程序，但他们做不出计算机专业能够做出来的大型系统。（与司徒彦南兄的谈话）今天我想专门谈一谈计算机科学，并将重点放在计算理论上。 </P>
<P><BR>计算机理论的一个核心问题--从数学谈起： 
<P><BR>记得当年大一入学，每周六课时高等数学，天天作业不断(那时是六日工作制)。颇有些同学惊呼走错了门:咱们这到底念的是什么系？不错，你没走错门，这就是计算机科学与技术系。我国计算机科学系里的传统是培养做学术研究，尤其是理论研究的人（方向不见得有问题，但是做得不是那么尽如人意）。而计算机的理论研究，说到底了，如网络安全，图形图像学，视频音频处理，哪个方向都与数学有着很大的关系，虽然也许是正统数学家眼里非主流的数学。这里我还想阐明我的一个观点：我们都知道，数学是从实际生活当中抽象出来的理论，人们之所以要将实际抽象成理论，目的就在于想用抽象出来的理论去更好的指导实践，有些数学研究工作者喜欢用一些现存的理论知识去推导若干条推论，殊不知其一：问题考虑不全很可能是个错误的推论，其二：他的推论在现实生活中找不到原型，不能指导实践。严格的说，我并不是一个理想主义者，政治课上学的理论联系实际一直是指导我学习科学文化知识的航标（至少我认为搞计算机科学与技术的应当本着这个方向）。 
<P><BR>其实我们计算机系学数学光学高等数学是不够的（典型的工科院校一般都开的是高等数学），我们应该像数学系一样学一下数学分析（清华计算机系开的好像就是数学分析），数学分析这门科学，咱们学计算机的人对它有很复杂的感情。在于它是偏向于证明型的数学课程，这对我们培养良好的分析能力极有帮助。我的软件工程学导师北工大数理学院的王仪华先生就曾经教导过我们，数学系的学生到软件企业中大多作软件设计与分析工作，而计算机系的学生做程序员的居多，原因就在于数学系的学生分析推理能力，从所受训练的角度上要远远在我们之上。当年出现的怪现象是：计算机系学生的高中数学基础在全校数一数二(希望没有冒犯其它系的同学)，教学课时数也仅次于数学系，但学完之后的效果却不尽如人意。难道都是学生不努力吗，我看未见得，方向错了也说不一定，其中原因何在，发人深思。 
<P><BR>我个人的浅见是：计算机系的学生，对数学的要求固然跟数学系不同，跟物理类差别则更大。通常非数学专业的所谓“高等数学”，无非是把数学分析中较困难的理论部分删去，强调套用公式计算而已。而对计算机系来说，数学分析里用处最大的恰恰是被删去的理论部分。说得难听一点，对计算机系学生而言，追求算来算去的所谓“工程数学”已经彻底地走进了误区。记上一堆曲面积分的公式，难道就能算懂了数学？那倒不如现用现查，何必费事记呢？再不然直接用Mathematics或是Matalab好了。 
<P><BR>我在系里最爱做的事情就是给学弟学妹们推荐参考书。中文的数学分析书，一般都认为以北大张筑生老师的“数学分析新讲”为最好。万一你的数学实在太好，那就去看菲赫金哥尔茨的“微积分学教程”好了--但我认为没什么必要，毕竟你不想转到数学系去。吉米多维奇的“数学分析习题集”也基本上是计算型的东东。书的名气很大，倒不见得适合我们，还是那句话，重要的是数学思想的建立，生活在信息社会里我们求的是高效，计算这玩意还是留给计算机吧。不过现在多用的似乎是复旦大学的《数学分析》也是很好的教材。 
<P><BR>中国的所谓高等代数，就等于线性代数加上一点多项式理论。我以为这有好的一面，因为可以让学生较早感觉到代数是一种结构，而非一堆矩阵翻来覆去。这里不得不提南京大学林成森，盛松柏两位老师编的“高等代数”，感觉相当舒服。此书相当全面地包含了关于多项式和线性代数的基本初等结果，同时还提供了一些有用的又比较深刻的内容，如Sturm序列，Shermon-Morrison公式，广义逆矩阵等等。可以说，作为本科生如能吃透此书，就可以算高手。国内较好的高等代数教材还有清华计算机系用的那本，清华出版社出版，书店里多多，一看就知道。从抽象代数的观点来看，高等代数里的结果不过是代数系统性质的一些例子而已。莫宗坚先生的《代数学》里，对此进行了深刻的讨论。然而莫先生的书实在深得很，作为本科生恐怕难以接受，不妨等到自己以后成熟了一些再读。 
<P><BR>正如上面所论述的，计算机系的学生学习高等数学：知其然更要知其所以然。你学习的目的应该是：将抽象的理论再应用于实践，不但要掌握题目的解题方法，更要掌握解题思想，对于定理的学习：不是简单的应用，而是掌握证明过程即掌握定理的由来，训练自己的推理能力。只有这样才达到了学习这门科学的目的，同时也缩小了我们与数学系的同学之间思维上的差距。 
<P><BR>概率论与数理统计这门课很重要，可惜大多数院校讲授这门课都会少些东西。少了的东西现在看至少有随机过程。到毕业还没有听说过Markov过程，此乃计算机系学生的耻辱。没有随机过程，你怎么分析网络和分布式系统？怎么设计随机化算法和协议？据说清华计算机系开有“随机数学”，早就是必修课。另外，离散概率论对计算机系学生来说有特殊的重要性。而我们国家工程数学讲的都是连续概率。现在，美国已经有些学校开设了单纯的“离散概率论”课程，干脆把连续概率删去，把离散概率讲深些。我们不一定要这么做，但应该更加强调离散概率是没有疑问的。这个工作我看还是尽早的做为好。 
<P><BR>计算方法学（有些学校也称为数学分析学）是最后一门由数理学院给我们开的课。一般学生对这门课的重视程度有限，以为没什么用。不就是照套公式嘛！其实，做图形图像可离不开它，密码学搞深了也离不开它。而且，在很多科学工程中的应用计算，都以数值的为主。这门课有两个极端的讲法：一个是古典的“数值分析”，完全讲数学原理和算法；另一个是现在日趋流行的“科学与工程计算”，干脆教学生用软件包编程。我个人认为，计算机系的学生一定要认识清楚我们计算机系的学生为什么要学这门课，我是很偏向于学好理论后用计算机实现的，最好使用C语言或C++编程实现。向这个方向努力的书籍还是挺多的，这里推荐大家高等教育出版社（CHEP）和施普林格出版社(Springer)联合出版的《计算方法（Computational Methods）》,华中理工大学数学系写的（现华中科技大学），这方面华科大做的工作在国内应算是比较多的，而个人认为以这本最好，至少程序设计方面涉及了：任意数学函数的求值，方程求根，线性方程组求解，插值方法，数值积分，场微分方程数值求解。李庆扬的那本则理论性过强，与实际应用结合得不太紧。 <BR>每个学校本系里都会开一门离散数学，涉及集合论，图论，和抽象代数，数理逻辑。不过，这么多内容挤在离散数学一门课里，是否时间太紧了点？另外，计算机系学生不懂组合和数论，也是巨大的缺陷。要做理论，不懂组合或者数论吃亏可就太大了。从理想的状态来看，最好分开六门课：集合，逻辑,图论，组合，代数，数论。这个当然不现实，因为没那么多课时。也许将来可以开三门课：集合与逻辑，图论与组合，代数与数论。（这方面我们学校已经着手开始做了）不管课怎么开，学生总一样要学。下面分别谈谈上面的三组内容。 
<P><BR>古典集合论，北师大出过一本《基础集合论》不错。 
<P><BR>数理逻辑，中科院软件所陆钟万教授的《面向计算机科学的数理逻辑》就不错。现在可以找到陆钟万教授的讲课录像，http://www.cas.ac.cn/html/Dir/2001/11/06/3391.htm自己去看看吧。总的来说，学集合/逻辑起手不难，普通高中生都能看懂。但越往后越感觉深不可测。 
<P><BR>学完以上各书之后，如果你还有精力兴趣进一步深究，那么可以试一下GTM系列中的《Introduction to Axiomatic Set Theory》和《A Course of Mathematical Logic》。这两本都有世界图书出版社的引进版。你如果能搞定这两本，可以说在逻辑方面真正入了门，也就不用再浪费时间听我瞎侃了。 
<P><BR>据说全中国最多只有三十个人懂图论。此言不虚。图论这东东，技巧性太强，几乎每个问题都有一个独特的方法，让人头痛。不过这也正是它魅力所在：只要你有创造性，它就能给你成就感。我的导师说，图论里面随便揪一块东西就可以写篇论文。大家可以体会里面内容之深广了吧！国内的图论书中，王树禾老师的“图论及其算法”非常成功。一方面，其内容在国内教材里算非常全面的。另一方面，其对算法的强调非常适合计算机系(本来就是科大计算机系教材)。有了这本书为主，再参考几本翻译的，如Bondy &amp; Murty的《图论及其应用》，人民邮电出版社翻译的《图论和电路网络》等等，就马马虎虎，对本科生足够了。再进一步，世界图书引进有GTM系列的"Modern Graph Theory"。此书确实经典！国内好象还有一家出版了个翻译版。不过，学到这个层次，还是读原版好。搞定这本书，也标志着图论入了门。 
<P><BR>离散数学方面我们北京工业大学实验学院有个世界级的专家，叫邵学才，复旦大学概率论毕业的，教过高等数学，线性代数，概率论，最后转向离散数学，出版著作无数，论文集新加坡有一本，堪称经典，大家想学离散数学的真谛不妨找来看看。这老师的课我专门去听过，极为经典。不过你要从他的不经意的话中去挖掘精髓。在同他的交谈当中我又深刻地发现一个问题，虽说邵先生写书无数，但依他自己的说法每本都差不多，我实在觉得诧异，他说主要是有大纲的限制，不便多写。这就难怪了，很少听说国外写书还要依据个什么大纲（就算有，内容也宽泛的多），不敢越雷池半步，这样不是看谁的都一样了。外版的书好就好在这里，最新的科技成果里面都有论述，别的先不说，至少是“紧跟时代的理论知识”。 
<P><BR>组合感觉没有太适合的国产书。还是读Graham和Knuth等人合著的经典“具体数学”吧，西安电子科技大学出版社有翻译版。 
<P><BR>抽象代数，国内经典为莫宗坚先生的“代数学”。此书是北大数学系教材，深得好评。然而对本科生来说，此书未免太深。可以先学习一些其它的教材，然后再回头来看“代数学”。国际上的经典可就多了，GTM系列里就有一大堆。推荐一本谈不上经典，但却最简单的，最容易学的：http://www.math.miami.edu/~ec/book/这本“Introduction to Linear and Abstract Algebra"非常通俗易懂，而且把抽象代数和线性代数结合起来，对初学者来说非常理想，我校比较牛的同学都有收藏。 
<P><BR>数论方面，国内有经典而且以困难著称的”初等数论“(潘氏兄弟著，北大版)。再追溯一点，还有更加经典(可以算世界级)并且更加困难的”数论导引“(华罗庚先生的名著，科学版，九章书店重印，繁体的看起来可能比较困难)。把基础的几章搞定一个大概，对本科生来讲足够了。但这只是初等数论。本科毕业后要学计算数论，你必须看英文的书，如Bach的"Introduction to Algorithmic Number Theory"。 
<P><BR>计算机科学理论的根本，在于算法。现在很多系里给本科生开设算法设计与分析，确实非常正确。环顾西方世界，大约没有一个三流以上计算机系不把算法作为必修的。算法教材目前公认以Corman等著的"Introduction to Algorithms"为最优。对入门而言，这一本已经足够，不需要再参考其它书。 
<P><BR>再说说形式语言与自动机。我看过北邮的教材，应该说写的还清楚。但是，有一点要强调：形式语言和自动机的作用主要在作为计算模型，而不是用来做编译。事实上，编译前端已经是死领域，没有任何open problems，北科大的班晓娟博士也曾经说过，编译的技术已相当成熟。如果为了这个，我们完全没必要去学形式语言--用用yacc什么的就完了。北邮的那本在国内还算比较好，但是在深度上，在跟可计算性的联系上都有较大的局限，现代感也不足。所以建议有兴趣的同学去读英文书，不过国内似乎没引进这方面的教材。可以去互动出版网上看一看。入门以后，把形式语言与自动机中定义的模型，和数理逻辑中用递归函数定义的模型比较一番，可以说非常有趣。现在才知道，什么叫“宫室之美，百官之富”！ 
<P><BR>计算机科学和数学的关系有点奇怪。二三十年以前，计算机科学基本上还是数学的一个分支。而现在，计算机科学拥有广泛的研究领域和众多的研究人员，在很多方面反过来推动数学发展，从某种意义上可以说是孩子长得比妈妈还高了。但不管怎么样，这个孩子身上始终流着母亲的血液。这血液是the mathematical underpinning of computer science(计算机科学的数学基础)，也就是理论计算机科学。原来在东方大学城图书馆中曾经看过一本七十年代的译本（书皮都没了，可我就爱关注这种书），大概就叫《计算机数学》。那本书若是放在当时来讲决是一本好书，但现在看来，涵盖的范围还算广，深度则差了许多，不过推荐大一的学生倒可以看一看，至少可以使你的计算数学入入门。 
<P><BR>最常和理论计算机科学放在一起的一个词是什么？答：离散数学。这两者的关系是如此密切，以至于它们在不少场合下成为同义词。（这一点在前面的那本书中也有体现）传统上，数学是以分析为中心的。数学系的同学要学习三四个学期的数学分析，然后是复变函数，实变函数，泛函数等等。实变和泛函被很多人认为是现代数学的入门。在物理，化学，工程上应用的，也以分析为主。 
<P><BR>随着计算机科学的出现，一些以前不太受到重视的数学分支突然重要起来。人们发现，这些分支处理的数学对象与传统的分析有明显的区别：分析研究的问题解决方案是连续的，因而微分，积分成为基本的运算；而这些分支研究的对象是离散的，因而很少有机会进行此类的计算。人们从而称这些分支为“离散数学”。“离散数学”的名字越来越响亮，最后导致以分析为中心的传统数学分支被相对称为“连续数学”。 
<P><BR>离散数学经过几十年发展，基本上稳定下来。一般认为，离散数学包含以下学科 ： 
<P>1) 集合论，数理逻辑与元数学。这是整个数学的基础，也是计算机科学的基础。 
<P>2) 图论，算法图论；组合数学，组合算法。计算机科学，尤其是理论计算机科学的核心是 <BR>算法，而大量的算法建立在图和组合的基础上。 
<P>3) 抽象代数。代数是无所不在的，本来在数学中就非常重要。在计算机科学中，人们惊讶地发现代数竟然有如此之多的应用。 
<P><BR>但是，理论计算机科学仅仅就是在数学的上面加上“离散”的帽子这么简单吗？一直到大约十几年前，终于有一位大师告诉我们：不是。D.E.Knuth(他有多伟大，我想不用我废话了)在Stanford开设了一门全新的课程Concrete Mathematics。 Concrete这个词在这里有两层含义： 
<P><BR>首先：对abstract而言。Knuth认为，传统数学研究的对象过于抽象，导致对具体的问题关心不够。他抱怨说，在研究中他需要的数学往往并不存在，所以他只能自己去创造一些数学。为了直接面向应用的需要，他要提倡“具体”的数学。在这里我做一点简单的解释。例如在集合论中，数学家关心的都是最根本的问题--公理系统的各种性质之类。而一些具体集合的性质，各种常见集合，关系，映射都是什么样的，数学家觉得并不重要。然而，在计算机科学中应用的，恰恰就是这些具体的东西。Knuth能够首先看到这一点，不愧为当世计算机第一人。其次，Concrete是Continuous(连续)加上discrete(离散)。不管连续数学还是离散数学，都是有用的数学！ 
<P><BR>理论与实际的结合--计算机科学研究的范畴 
<P><BR>前面主要是从数学角度来看的。从计算机角度来看，理论计算机科学目前主要的研究领域包括：可计算性理论，算法设计与复杂性分析，密码学与信息安全，分布式计算理论，并行计算理论，网络理论，生物信息计算，计算几何学，程序语言理论等等。这些领域互相交叉，而且新的课题在不断提出，所以很难理出一个头绪来。想搞搞这方面的工作，推荐看中国计算机学会的一系列书籍，至少代表了我国的权威。下面随便举一些例子。 
<P><BR>由于应用需求的推动，密码学现在成为研究的热点。密码学建立在数论(尤其是计算数论)，代数，信息论，概率论和随机过程的基础上，有时也用到图论和组合学等。很多人以为密码学就是加密解密，而加密就是用一个函数把数据打乱。这样的理解太浅显了。 
<P><BR>现代密码学至少包含以下层次的内容： 
<P>第一，密码学的基础。例如，分解一个大数真的很困难吗？能否有一般的工具证明协议正确？ 
<P>第二，密码学的基本课题。例如，比以前更好的单向函数，签名协议等。 
<P>第三，密码学的高级问题。例如，零知识证明的长度，秘密分享的方法。 
<P>第四，密码学的新应用。例如，数字现金，叛徒追踪等。 
<P><BR>在分布式系统中，也有很多重要的理论问题。例如，进程之间的同步，互斥协议。一个经典的结果是：在通信信道不可靠时，没有确定型算法能实现进程间协同。所以，改进TCP三次握手几乎没有意义。例如时序问题。常用的一种序是因果序，但因果序直到不久前才有一个理论上的结果....例如，死锁没有实用的方法能完美地对付。例如,......操作系统研究过就自己去举吧！ 
<P><BR>如果计算机只有理论，那么它不过是数学的一个分支，而不成为一门独立的科学。事实上，在理论之外，计算机科学还有更广阔的天空。 
<P><BR>我一直认为，4年根本不够学习计算机的基础知识，因为面太宽了，8年，应该差不多了...... 
<P><BR>这方面我想先说说我们系在各校普遍开设的《计算机基础》。在高等学校开设《计算机基础课程》是我国高教司明文规定的各专业必修课程要求。主要内容是使学生初步掌握计算机的发展历史，学会简单的使用操作系统，文字处理，表格处理功能和初步的网络应用功能。但是在计算机科学系教授此门课程的目标决不能与此一致。在计算机系课程中目标应是：让学生较为全面的了解计算机学科的发展，清晰的把握计算机学科研究的方向，发展的前沿即每一个课程在整个学科体系中所处的地位。搞清各学科的学习目的，学习内容，应用领域。使学生在学科学习初期就对整个学科有一个整体的认识，以做到在今后的学习中清楚要学什么，怎么学。计算机基本应用技能的位置应当放在第二位或更靠后，因为这一点对于本系的学生应当有这个摸索能力。这一点很重要。推荐给大家一本书：机械工业出版社的《计算机文化》（New Perspective of Computer Science），看了这本书我才深刻的体会到自己还是个计算机科学初学者，才比较透彻的了解了什么是计算机科学。 
<P><BR>一个一流计算机系的优秀学生决不该仅仅是一个编程高手，但他一定首先是一个编程高手。我上大学的时候，第一门专业课是C语言程序设计，念计算机的人从某种角度讲相当一部分人是靠写程序吃饭的。在我们北京工业大学实验学院计算机系里一直有这样的争论（时至今日CSDN上也有），关于第一程序设计语言该用哪一种。我个人认为，用哪种语言属于末节，关键在养成良好的编程习惯。当年老师对我们说，打好基础后学一门新语言只要一个星期。现在我觉得根本不用一个星期，前提是先把基础打好。不要再犹豫了，学了再说，等你抉择好了，别人已经会了几门语言了。 
<P><BR>汇编语言和微机原理是两门特烦人的课。你的数学/理论基础再好，也占不到什么便宜。这两门课之间的次序也好比先有鸡还是先有蛋，无论你先学哪门，都会牵扯另一门课里的东西。所以，只能静下来慢慢琢磨。这就是典型的工程课，不需要太多的聪明和顿悟，却需要水滴石穿的渐悟。有关这两门课的书，计算机书店里不难找到。弄几本最新的，对照着看吧。组成原理推荐《计算机组成与结构》清华大学王爱英教授写的。汇编语言大家拿8086/8088入个门，之后一定要学80x86汇编语言。实用价值大，不落后，结构又好，写写高效病毒，高级语言里嵌一点汇编，进行底层开发，总也离不开他，推荐清华大学沈美明的《IBM-PC汇编语言程序设计》。有些人说不想了解计算机体系结构，也不想制造计算机，所以诸如计算机原理，汇编语言，接口之类的课觉得没必要学，这样合理吗？显然不合理，这些东西迟早得掌握，肯定得接触，而且，这是计算机专业与其他专业学生相比的少有的几项优势。做项目的时候，了解这些是非常重要的，不可能说，仅仅为了技术而技术，只懂技术的人最多做一个编码工人，而永远不可能全面地了解整个系统的设计，而编码工人是越老越不值钱。关于组成原理还有个讲授的问题，在我学这门课程时老师讲授时把CPU工作原理誉微程序设计这一块略掉了，理由是我们国家搞CPU技术不如别的国家，搞了这么长时间好不容易出了个龙芯比Intel的还差个十万八千里，所以建议我们不要学了。我看这在各校也未见得不是个问题吧！若真是如他所说，那中国的计算机科学哪个方向都可以停了，软硬件，应用，有几项搞得过美国，搞不过别人就不搞了，那我们坐在这里干什么？教学的观念需要转变的。 
<P><BR>模拟电路这东东，如今不仅计算机系学生搞不定，电子系学生也多半害怕。如果你真想软硬件通吃，那么建议你先看看邱关源的“电路原理”，也许此后再看模拟电路底气会足些。教材：康华光的“电子技术基础”（高等教育出版社）还是不错的（我校电子系在用）。有兴趣也可以参考童诗白的书。 
<P><BR>数字电路比模拟电路要好懂得多。推荐大家看一看我们北工大刘英娴教授写的《数字逻辑》业绩人士都说这本书很有参考价值（机械工业出版社的）。原因很明了，实用价值高，能听听她讲授的课程更是有一种“享受科学”的感觉。清华大学阎石的书也算一本好教材，遗憾的一点是集成电路讲少了些。真有兴趣，看一看大规模数字系统设计吧（北航那本用的还比较多）。 
<P><BR>计算机系统结构该怎么教，国际上还在争论。国内能找到的较好教材为Stallings的"Computer Organization and Architecture:Designing for Performance"(清华影印 <BR>本)。国际上最流行的则是“Computer architecture: aquantitative approach", by Patterson &amp; Hennessy。 
<P><BR>操作系统可以随便选用《操作系统的内核设计与实现》和《现代操作系统》两书之一。这两部都可以算经典，唯一缺点就是理论上不够严格。不过这领域属于Hardcore System,所以在理论上马虎一点也情有可原。想看理论方面的就推荐清华大学出版社《操作系统》吧，高教司司长张尧学写的，我们教材用的是那本。 另外推荐一本《Windows操作系统原理》机械工业出版社的，这本书是我国操作系统专家在微软零距离考察半年，写作历时一年多写成的，教操作系统的专家除了清华大学的张尧学（现高教司司长）几乎所有人都参加了。Bill Gates亲自写序。里面不但结合windows2000,xp详述操作系统的内核，而且后面讲了一些windows编程基础，有外版书的味道，而且上面一些内容可以说在国内外只有那本书才有对windows内核细致入微的介绍， 
<P><BR>如果先把形式语言学好了，则编译原理中的前端我看只要学四个算法：最容易实现的递归下降；最好的自顶向下算法LL(k)；最好的自底向上算法LR(k)；LR(1)的简化SLR(也许还有另一简化LALR)。后端完全属于工程性质，自然又是another story。 
<P><BR>推荐教材：Kenneth C.Louden写的“Compiler Construction Principles and Practice”即是《编译原理及实践》（机械工业出版社的译本） 
<P><BR>学数据库要提醒大家的是，会用VFP，VB, Power builder不等于懂数据库。(这世界上自以为懂数据库的人太多了！)数据库设计既是科学又是艺术，数据库实现则是典型的工程。所以从某种意义上讲，数据库是最典型的一门计算机课程--理工结合，互相渗透。另外推荐大家学完软件工程学后再翻过来看看数据库技术，又会是一番新感觉。推荐教材：Abraham Silberschatz等著的 "Database System Concepts".作为知识的完整性，还推荐大家看一看机械工业出版社的《数据仓库》译本。 
<P><BR>计算机网络的标准教材还是来自Tanenbaum的《Computer Networks》（清华大学有译本）。还有就是推荐谢希仁的《计算机网络教程》（人民邮电出版社）问题讲得比较清楚，参考文献也比较权威。不过，网络也属于Hardcore System，所以光看书是不够的。建议多读RFC，http://www.ietf.org/rfc.htm里可以按编号下载RFC文档。从IP的读起。等到能掌握10种左右常用协议，就没有几个人敢小看你了。再做的工作我看放在网络设计上就比较好了。 
<P><BR>数据结构的重要性就不言而喻了，学完数据结构你会对你的编程思想进行一番革命性的洗礼，会对如何建立一个合理高效的算法有一个清楚的认识。对于算法的建立我想大家应当注意以下几点： 
<P><BR>当遇到一个算法问题时,首先要知道自己以前有没有处理过这种问题.如果见过,那么你一般会顺利地做出来;如果没见过,那么考虑以下问题: 
<P>1. 问题是否是建立在某种已知的熟悉的数据结构(例如,二叉树)上?如果不是,则要自己设计数据结构。 
<P>2. 问题所要求编写的算法属于以下哪种类型?(建立数据结构,修改数据结构,遍历,查找,排序...) 
<P>3. 分析问题所要求编写的算法的数学性质.是否具备递归特征?(对于递归程序设计,只要设计出合理的参数表以及递归结束的条件,则基本上大功告成.) 
<P>4. 继续分析问题的数学本质.根据你以前的编程经验,设想一种可能是可行的解决办法,并证明这种解决办法的正确性.如果题目对算法有时空方面的要求,证明你的设想满足其要求.一般的,时间效率和空间效率难以兼得.有时必须通过建立辅助存储的方法来节省时间. 
<P>5. 通过一段时间的分析,你对解决这个问题已经有了自己的一些思路.或者说,你已经可以用自然语言把你的算法简单描述出来.继续验证其正确性,努力发现其中的错误并找出解决办法.在必要的时候(发现了无法解决的矛盾),推翻自己的思路,从头开始构思. 
<P><BR>6. 确认你的思路可行以后,开始编写程序.在编写代码的过程中,尽可能把各种问题考虑得详细,周密.程序应该具有良好的结构,并且在关键的地方配有注释. 
<P>7. 举一个例子,然后在纸上用笔执行你的程序,进一步验证其正确性.当遇到与你的设想不符的情况时,分析问题产生的原因是编程方面的问题还是算法思想本身有问题. 
<P>8. 如果程序通过了上述正确性验证,那么在将其进一步优化或简化。 
<P>9. 撰写思路分析,注释. 
<P><BR>对于具体的算法思路,只能靠你自己通过自己的知识和经验来加以获得,没有什么特定的规律(否则程序员全部可以下岗了,用机器自动生成代码就可以了).要有丰富的想象力,就是说当一条路走不通时,不要钻牛角尖,要敢于推翻自己的想法.我也只不过是初学者,说出上面的一些经验,仅供大家参考和讨论。 
<P><BR>关于人工智能，我觉得的也是非常值得大家仔细研究的，虽然不能算是刚刚兴起的学科了，但是绝对是非常有发展前途的一门学科。我国人工智能创始人之一，北京科技大学涂序彦教授（这老先生是我的导师李小坚博士的导师）对人工智能这样定义：人工智能是模仿、延伸和扩展人与自然的智能的技术科学。在美国人工智能官方教育网站上对人工智能作了如下定义：Artificial Intelligence, or AI for short, is a combination of computer science, physiology, and philosophy. AI is a broad topic, consisting of different fields, from machine vision to expert systems. The element that the fields of AI have in common is the creation of machines that can "think". <BR>这门学科研究的问题大概说有： 
<P>（1）符号主义： 符号计算与程序设计基础，知识表达方法 ：知识与思维，产生式规则，语意网络，一阶谓词逻辑问题求解方法：搜索策略，启发式搜寻，搜寻算法，问题规约方法，谓词演算：归结原理，归结过程专家系统：建立专家系统的方法及工具 
<P>（2）联接主义（神经网络学派）：1988年美国权威机构指出：数据库，网络发展呈直线上升，神经网络可能是解决人工智能的唯一途径。 
<P>我想对于人工智能的学习，大家一定不要像学数学似的及一些现成的结论，要学会分析问题，最好能利用程序设计实现，这里推荐给大家ACM最佳博士论文奖获得者涂晓媛博士的著作《人工鱼-计算机动画的人工生命方法》（清华大学出版社）。搞人工生命的同学不会不知道国际知名的涂氏父女吧。关于人工智能的书当然首选《Artificial Intelligence A New Synthesis》Nils J.Nilsson.鼻祖嘛！ 
<P><BR>关于网络安全我也想在这里说两句，随着计算机技术的发展，整个社会的信息化水平突飞猛进，计算机网络技术日新月异，网络成了当即社会各个工作领域不可缺少的组成部分，只要有网络存在，网络安全问题就是一个必须解决好的问题，学习网络安全不是简简单单的收集一些黑客工具黑一黑别人的网站，而是要学习他的数学原理，实现原理，搞清底层工作机制，这样才能解决大部分的现有问题和新出现的安全问题。 
<P><BR>关于计算机科学的一些边缘科学我想谈一谈软件工程技术，对于一个企业，推出软件是不是就是几个程序员坐在一起，你写一段程序，我写一段程序呢？显然不是。软件工程是典型的计算机科学和数学，管理科学，心理学，社会学等学科的综合。它使我们这些搞理论和技术的人进入了一个社会。你所要考虑的不仅仅是程序的优劣，更应该考虑程序与软件的区别，软件与软件产品的区别，软件软件产品的市场前景，如何去更好的与人交流。这方面我还在学习阶段，以后这方面再写文章吧，先推荐给大家几本书：畅销20年不衰的《人月神话》（清华大学中文版，中国电力出版社影印版），《软件工程-实践者研究的方法》（机械工业出版社译本），《人件》（据说每一位微软公司的部门经理都读过这本书，推荐老总们和想当老总的同学都看看，了解一下什么是软件企业中的人）以及微软公司的《软件开发的科学与艺术》和《软件企业的管理与文化》（研究软件企业的制胜之道当然要研究微软的成功经验了！） 
<P><BR>关于计算机技术的学习我想是这样的：学校开设的任何一门科学都有其滞后性，不要总认为自己掌握的某门技术就已经是天下无敌手了，虽然现在Java,VB,C,C++用的都很多，怎能保证没有被淘汰的一天，我想.NET平台的诞生和X#语言的初见端倪完全可以说明问题。换言之，在我们掌握一门新技术的同时就又有更新的技术产生，身为当代的大学生应当有紧跟科学发展的素质。举个例子，就像有些同学总说，我做网页设计就喜欢直接写html，不愿意用什么Frontpage,Dreamweaver。能用语言写网页固然很好，但有高效的手段你为什么不使呢？仅仅是为了显示自己的水平高，unique? 我看真正水平高的是能够以最快的速度接受新事物的人。高级程序设计语言的发展日新月异，今后的程序设计就像人们在说话一样，我想大家从xml中应是有所体会了。难道我们真就写个什么都要用汇编，以显示自己的水平高，真是这样倒不如直接用机器语言写算了。反过来说，想要以最快的速度接受并利用新技术关键还是在于你对计算机科学地把握程度。 
<P><BR>计算机技术牵扯的内容更为广泛些，一项一项说恐怕没个一年半载也说不清。我只想提醒大家的还是那句话，技术与科学是不能分家的，学好了科学同时搞技术，这才是上上策。犹如英语，原先人们与老外交流必须要个翻译，现在满马路的人都会说英语。就连21世纪英语演讲比赛的冠军都轮不到英语系的学生了。计算机也是一样的，我们必须面对的一个现实就是：计算机真就只是一个工具，如果不具备其它方面的素养，计算机系的学生虽然不能说找不到工作，不过总有一天当其他专业性人才掌握了计算机技术后将比我们出色许多。原因就在于计算机解决的大都是实际问题，实际问题的知识却是我们少有的。单一的计算机技术没有立足之地。 
<P><BR>我想是时候指出：学习每一个课程之前，都要先搞清这一课程的学习目的。这一学科的应用领域。据我自身所了解到的同龄同学和低年级的同学的学习状况：他们之中很少有人知道学一个学科的学习目的，期末考试结束了也不知道学这科做什么用。这就失去了读计算机科学的意义。当然这与现存的教育思想不能说一点关系都没有。 
<P><BR>总的来说，从教育角度来讲，国内高校的课程安排不是很合理，强调理论，又不愿意在理论上深入教育，无力接受新技术，想避开新技术又无法避得一干二净。我觉得关键问题就是国内的高校难于突破现状，条条框框限制着怎么求发展。我们虽然认识得到国外教育的优越性，但为什么迟迟不能采取行动？哪怕是去粗取精的取那么一点点。我们需要改变。从我们自身角度来讲，多数人4年下来既没有学习计算机科学的学术水平，也没有学习计算机技术的那种韧劲。在我刚上大一时，我的计算机科学入门导师，淮北煤炭师范学院王爱平教授曾经对我说过这样一番话：“当你选择了计算机这一门科学，就意味着你踏上了一条不归路，就意味着你一生都要为之奋斗……你的身后是悬崖，只有向前走，不能往后退。” 
<P><BR>有些同学说按照这样学习学的东西太多，有的未见得有用，我想打个形象的比方：学校学出来的人都是一个球体，方方面面的知识都应具备。可是社会上需要球体的地方很少，反而需要的是砖和瓦，即精通某一行的人才。但是对于同等体积的物体，用球体来改造是最方便最省事的。学校的学生很多，为了能够使更多的学生来适应这个社会，学校也就不得以把所有的学生都打造成一个球体，然后让社会对这些学生进行再加工，成为真正能够有用的人才。即使你非常清楚自己的将来要干什么，并且非常下定决心要走自己的路，这一步你也必须走，世界是在不断变化的，你不能预料未来。想清楚，努力去干吧！ 
<P><BR>必须结束这篇“胡侃”了，再侃下去非我力所能及。其实计算机还有很多基础课都值得一侃。怎奈我造诣有限，不敢再让内行耻笑。最后声明：这些只针对本科阶段的学习。即使把这些全弄通了，前面的路还长，计算机科学需要我们为之奋斗......学习计算机科学需要韧性，更需要创新，需要激情。深刻学习理论知识，勇于接受新技术的挑战，这才是我们这一代人应具有的素质。最后送大家一句话“Wake up every day with a feeling of passion for the difference technology will make in people's life!”。 </P>]]></description>
</item><item>
<title><![CDATA[管理之路VS技术之路]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=201111&amp;id=3875</link>
<author>201111</author>
<pubDate>2005/3/18 14:21:29</pubDate>
<description><![CDATA[<P>
<TABLE cellSpacing=0 cellPadding=0 width="95%" border=0>
<TBODY>
<TR>
<TD align=middle width="100%">
<H2><B>转型：管理之路VS技术之路</B></H2></TD></TR>
<TR>
<TD width="100%">走技术之路，还是管理之路？一直是技术人员在转型中关心的问题。从技术到管理是一条很多人向往的道路，但是，并不是任何一名技术人员<BR>都适合走向管理岗位。向管理的转型失败了怎么办？是不是要成功就必须向管理转型？以下是专家的建议（内容摘自1月19日、1月20日 CSDN<BR>2005技术人才需求在线聊天活动，经编辑修改）： 
<P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 技术做得很好就当经理</P>
<P>主持人：技术人才和管理人才各自的职业发展道路是怎样的？</P>
<P>胡晓专（IBM中国软件实验室服务部大中华区总经理）：在IBM里有两种主要的职业生涯：一种是专业化的技术人才，还有一种是管理型人才。<BR>像IBM软件服务的技术公司，管理人才通常是由专业化技术人才转型过来的，这是非常常见的现象。技术做得很好就当经理了，这是非常正常的<BR>。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>当然，从技能要求来讲有很大不一样，我见到很多优秀的技术人才，在刚刚转为管理人才的时候就遇到很多困难，尤其是在他的第一年里有非<BR>常多的困难，刚才谈到人才技能，对这方面有很多新的要求，不是做得很好技术人才，就能做好管理人才。两种人才的区别在于：经理型人才<BR>会注重怎样带动别的技术人才，把别人培养起来，能够对他带领员工提供教练式的（Coaching）指导。</P>
<P>黄颖霞（百度在线高级招聘主管）：在百度，我们提倡“学习每一刻，进步每一天”。因为百度是一个新技术领先的公司，肯定是每天都在学习<BR>，每天都在进步。在职业生涯方面，一般做到高级软件工程师后，我们会他提供两条通道，一条是走技术专家这条路，另一条是如果员工有想<BR>往管理方面发展的意愿，我们也会为员工提供一条往管理方向发展的通道。</P>
<P>郑爽（BEA系统（中国）有限公司HR经理）：有一点是值得肯定的，在BEA，几乎所有的业务部门的现任经理在提拔以前都是技术人员。</P>
<P>你问我你能不能当经理，首先要先问自己能不能担起这份责任</P>
<P>主持人：对于希望走向管理岗位的技术人才，是否会对他进行管理方面的培训，从而提升他的管理技能和能力，帮助他们成功转型？</P>
<P>胡晓专：会对这些人有一些培训。当我们挑选出那些非常有潜力做技术管理和领导的人才后，会把他们放在一个大的管理人才库里。之后就有<BR>一些课程，必须上的HR课程和管理课程。如果做经理的话还要教他们怎样去面试、怎样给新员工做教练、怎样为别人做咨询。</P>
<P>郭眈（百度在线技术总监）：技术人员向管理转型，我觉得最主要是心态的问题。工程师做的时间长了的话，关注的细节会比较多一些，比如<BR>我们以前做程序，往往就一个小问题花很长时间把它攻克下来。做到经理和管理层的时候，往往要考虑的是全局的形势，管理的感觉更强一些<BR>，需要学会平衡。不管是任何问题，要找到怎样应用好现有的资源解决成长当中的最主要问题，这是技术人员向经理转化当中主要是心态上的<BR>变化。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>任何一名技术人员不是一来就可以做经理的。我碰到很多技术人员，一上来就说想做管理，不是说我们不给他机会，一来，客观来讲做管理的<BR>机会要相对少一些；二来，在百度，要想做合格的技术管理人员是并不是一件很轻松的事情，你要承担更大的责任。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>首先，作为管理者，你管理的人可能比你还要聪明，他是这方面的专家。你做经理，要和这些专家保持较好的沟通，必须要有开放的、沟通的<BR>心态和方式方法。其次，做管理者会承受更大的压力，在百度做技术管理的压力一点都不轻。百度所处的互联网行业，本身发展很快，大家都<BR>感觉到互联网的竞争已经从门户级的竞争转换为搜索引擎的竞争。在这样一个竞争很激烈、发展很迅速的公司里面，作为一名管理人员，你所<BR>承担的责任很大。你可能会因为自己的一次失职而导致团体几十号人无功而返，你要勇于承担这种责任。拿我自己做个例子吧，我也是从搞技<BR>术过来的人。有的人觉得我已经到经理了，就不用加班了。其实不是这样的，百度的经理，像我这样，晚上下班，并不意味着今天的工作已经<BR>完了，有时候还要在家里继续工作，这意味着你的责任更大。你问我你能不能当经理，首先要先问自己能不能担起这份责任。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 做不了管理，还可以做大师</P>
<P><BR>主持人：如果那些希望走向管理岗位的技术人才，在管理这条道路上失败了，怎么办呢？并不是所有的技术人才都有管理的天分，不适合做管<BR>理怎么办？</P>
<P>周子明（IBM中国研究中心战略合作部总监）：刚才说到两种人才，一种做技术人才，一种做管理人才。除了帮助技术人员向管理成功转型，IB<BR>M中国研究中心还强调让一些技术专家能够专注于某一技术领域，使他成为这个领域真正的大师。比如，在IBM有一种职位，叫做“IBM大师”。IB<BR>M公司一共有几十位“大师”，这也是技术人才的一条成长路线。如果发现不适合管理团队，那么就只专注于科学方向的研究，IBM同样可以支持<BR>你选择这一成长方向。</P>
<P>黄颖霞：对于转型的这些人，首先他自己要有往管理发展的意愿。其次，百度也会通过一系列管理课程的培训，通过传帮带来帮助指导他们往<BR>管理这条路上走。毕竟，谁都不是天生做管理的料，管理需要天分，同样也需要培育。<BR></P></TD></TR></TBODY></TABLE></P>]]></description>
</item><item>
<title><![CDATA[C之诡谲(转载自CSDN)]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=201111&amp;id=3825</link>
<author>201111</author>
<pubDate>2005/3/17 15:31:59</pubDate>
<description><![CDATA[<P>
<TABLE class=fixedTable cellSpacing=0 width="100%" border=0>
<TBODY>
<TR>
<TD class=ellipse><SPAN class=bvTitle id=subjcns!1pY8iC0rvjccWbaYn9eUeN1w!171><STRONG>C之诡谲(转载自CSDN)</STRONG></SPAN></TD></TR>
<TR>
<TD class=bvh8><STRONG></STRONG></TD></TR>
<TR>
<TD id=msgcns!1pY8iC0rvjccWbaYn9eUeN1w!171>
<P>从研究生二年纪开始学习计算机也差不多两年了，一路走来，有很多的收获，也有不少的遗憾，现在正好有一段闲暇，就想对走过的路留下一些足迹，回忆。每个人都有自己不同的人生，说到这里，就是程序人生了，歌德在《浮士德》中说过：“如果不曾在悲哀中咀嚼过面包，不曾在哭泣中等待过明天，这样的人就不知道你——天的力量。”所以我想记下一些带给我悲哀，带给我哭泣的程序人生。其实学习计算机的基础课程是非常重要的，&nbsp;离散数学，编译原理，操作系统，形式语言……，如果你认真走过了这些路，在以后的日子你会发现你的路会越走越宽，以前的努力和汗水会不断的给你灵感，给你支持，给你前进的武器和勇气。你会发现以后取得的很多成就，不过是朝花夕拾而已！&nbsp;<BR>对于程序语言我喜欢的是C++，它能带给你别的语言无法给予你的无上的智力快感，当然也会给你一门语言所能给你的魔鬼般的折磨。其实Java，C#，Python语言也非常的不错，我也极为喜欢。它们都是非常成功的语言，我从来就不愿意做某一种语言的盲目信仰者，每种语言都有它成功的地方，失败的地方，都有它适合的地方，不如意的地方。所以每一次看到评价语言的文章，我看看，但从来不会发言。&nbsp;<BR>C++的前世是C，而且C所留下的神秘以及精简在C++中是青出于蓝而胜于蓝！C所带给人的困惑以及灵活太多，即使一个有几年经验的高段C程序员仍然有可能在C语言的小水沟里翻船。不过其实C语言真的不难，下面我想指出C语言中最神秘而又诡谲多变的四个地方，它们也继续在C++语言中变幻莫测。&nbsp;</P>
<P><BR>指针，数组，类型的识别，参数可变的函数。&nbsp;</P>
<P><BR>一．指针。&nbsp;<BR>它的本质是地址的类型。在许多语言中根本就没有这个概念。但是它却正是C灵活，高效，&nbsp;<BR>在面向过程的时代所向披靡的原因所在。因为C的内存模型基本上对应了现在von&nbsp;Neumann&nbsp;<BR>（冯·诺伊曼）计算机的机器模型，很好的达到了对机器的映射。不过有些人似乎永远也&nbsp;<BR>不能理解指针【注1】。&nbsp;<BR>注1：Joel&nbsp;Spolsky就是这样认为的，他认为对指针的理解是一种aptitude，不是通过训练&nbsp;<BR>就可以达到的。http://www.joelonsoftware.com/printerFriendly/articles/fog000000<BR><BR>0073.html&nbsp;<BR>指针可以指向值、数组、函数，当然它也可以作为值使用。&nbsp;<BR>看下面的几个例子：&nbsp;<BR>int*&nbsp;p;//p是一个指针，指向一个整数&nbsp;<BR>int**&nbsp;p;//p是一个指针，它指向第二个指针，然后指向一个整数&nbsp;<BR>int&nbsp;(*pa)[3];//pa是一个指针，指向一个拥有3个整数的数组&nbsp;<BR>int&nbsp;(*pf)();//pf是一个指向函数的指针，这个函数返回一个整数&nbsp;<BR>后面第四节我会详细讲解标识符（identifier）类型的识别。&nbsp;<BR>1.指针本身的类型是什么？&nbsp;<BR>先看下面的例子：int&nbsp;a;//a的类型是什么？&nbsp;<BR>对，把a去掉就可以了。因此上面的4个声明语句中的指针本身的类型为：&nbsp;<BR>int*&nbsp;&nbsp;<BR>int**&nbsp;<BR>int&nbsp;(*)[3]&nbsp;<BR>int&nbsp;(*)()&nbsp;<BR>它们都是复合类型，也就是类型与类型结合而成的类型。意义分别如下：&nbsp;<BR>point&nbsp;to&nbsp;int（指向一个整数的指针）&nbsp;<BR>pointer&nbsp;to&nbsp;pointer&nbsp;to&nbsp;int（指向一个指向整数的指针的指针）&nbsp;<BR>pointer&nbsp;to&nbsp;array&nbsp;of&nbsp;3&nbsp;ints（指向一个拥有三个整数的数组的指针）&nbsp;<BR>pointer&nbsp;to&nbsp;function&nbsp;of&nbsp;parameter&nbsp;is&nbsp;void&nbsp;and&nbsp;return&nbsp;value&nbsp;is&nbsp;int&nbsp;（指向一个函数&nbsp;<BR>的指针，这个函数参数为空，返回值为整数）&nbsp;<BR>2.指针所指物的类型是什么？&nbsp;<BR>很简单，指针本身的类型去掉&nbsp;“*”号就可以了，分别如下：&nbsp;<BR>int&nbsp;<BR>int*&nbsp;<BR>int&nbsp;()[3]&nbsp;<BR>int&nbsp;()()&nbsp;<BR>3和4有点怪，不是吗？请擦亮你的眼睛，在那个用来把“*”号包住的“()”是多余的，所&nbsp;<BR>以：&nbsp;<BR>int&nbsp;()[3]就是int&nbsp;[3]（一个拥有三个整数的数组）&nbsp;<BR>int&nbsp;()()就是int&nbsp;()（一个函数，参数为空，返回值为整数）【注2】&nbsp;<BR>注2：一个小小的提醒，第二个“()”是一个运算符，名字叫函数调用运算符（function&nbsp;&nbsp;<BR>call&nbsp;operator）。&nbsp;<BR>3.指针的算术运算。&nbsp;<BR>请再次记住：指针不是一个简单的类型，它是一个和指针所指物的类型复合的类型。因此&nbsp;<BR>，它的算术运算与之（指针所指物的类型）密切相关。&nbsp;<BR>int&nbsp;a[8];&nbsp;<BR>int*&nbsp;p&nbsp;=&nbsp;a;&nbsp;<BR>int*&nbsp;q&nbsp;=&nbsp;p&nbsp;+&nbsp;3;&nbsp;<BR>p++;&nbsp;<BR>指针的加减并不是指针本身的二进制表示加减，要记住，指针是一个元素的地址，它每加&nbsp;<BR>一次，就指向下一个元素。所以：&nbsp;<BR>int*&nbsp;q&nbsp;=&nbsp;p&nbsp;+&nbsp;3;//q指向从p开始的第三个整数。&nbsp;<BR>p++;//p指向下一个整数。&nbsp;<BR>double*&nbsp;pd;&nbsp;<BR>……//某些计算之后&nbsp;<BR>double*&nbsp;pother&nbsp;=&nbsp;pd&nbsp;–&nbsp;2;//pother指向从pd倒数第二个double数。&nbsp;<BR>4.指针本身的大小。&nbsp;<BR>在一个现代典型的32位机器上【注3】，机器的内存模型大概是这样的，想象一下，内存空&nbsp;<BR>间就像一个连续的房间群。每一个房间的大小是一个字节（一般是二进制8位）。有些东西&nbsp;<BR>大小是一个字节（比如char），一个房间就把它给安置了；但有些东西大小是几个字节（&nbsp;<BR>比如double就是8个字节，int就是4个字节，我说的是典型的32位），所以它就需要几个房&nbsp;<BR>间才能安置。&nbsp;<BR>注3：什么叫32位？就是机器CPU一次处理的数据宽度是32位，机器的寄存器容量是32位，&nbsp;<BR>机器的数据，内存地址总线是32位。当然还有一些细节，但大致就是这样。16位，64位，&nbsp;<BR>128位可以以此类推。&nbsp;<BR>这些房间都应该有编号（也就是地址），32位的机器内存地址空间当然也是32位，所以房&nbsp;<BR>间的每一个编号都用32位的二进制数来编码【注4】。请记住指针也可以作为值使用，作为&nbsp;<BR>值的时候，它也必须被安置在房间中（存储在内存中），那么指向一个值的指针需要一个&nbsp;<BR>地址大小来存储，即32位，4个字节，4个房间来存储。&nbsp;<BR>注4：在我们平常用到的32位机器上，绝少有将32位真实内存地址空间全用完的（232&nbsp;＝&nbsp;&nbsp;<BR>4G），即使是服务器也不例外。现代的操作系统一般会实现32位的虚拟地址空间，这样可&nbsp;<BR>以方便运用程序的编制。关于虚拟地址（线性地址）和真实地址的区别以及实现，可以参&nbsp;<BR>考《Linux源代码情景分析》的第二章存储管理，在互联网上关于这个主题的文章汗牛充栋&nbsp;<BR>，你也可以google一下。&nbsp;<BR>但请注意，在C++中指向对象成员的指针（pointer&nbsp;to&nbsp;member&nbsp;data&nbsp;or&nbsp;member&nbsp;function&nbsp;<BR>）的大小不一定是4个字节。为此我专门编制了一些程序，发现在我的两个编译器（VC7.1&nbsp;<BR>.3088和Dev-C++4.9.7.0）上，指向对象成员的指针的大小没有定值，但都是4的倍数。不&nbsp;<BR>同的编译器还有不同的值。对于一般的普通类（class），指向对象成员的指针大小一般为&nbsp;<BR>4，但在引入多重虚拟继承以及虚拟函数的时候，指向对象成员的指针会增大，不论是指向&nbsp;<BR>成员数据，还是成员函数。【注5】。&nbsp;<BR>注5：在Andrei&nbsp;Alexandrescu的《Modern&nbsp;C++&nbsp;Design》的5.13节Page124中提到，成员函&nbsp;<BR>数指针实际上是带标记的（tagged）unions，它们可以对付多重虚拟继承以及虚拟函数，&nbsp;<BR>书上说成员函数指针大小是16，但我的实践告诉我这个结果不对，而且具体编译器实现也&nbsp;<BR>不同。一直很想看看GCC的源代码，但由于旁骛太多，而且心不静，本身难度也比较高（这&nbsp;<BR>个倒是不害怕^_^），只有留待以后了。&nbsp;<BR>还有一点，对一个类的static&nbsp;member来说，指向它的指针只是普通的函数指针，不是poi&nbsp;<BR>nter&nbsp;to&nbsp;class&nbsp;member，所以它的大小是4。&nbsp;<BR>5.指针运算符&amp;和*&nbsp;<BR>它们是一对相反的操作，&amp;取得一个东西的地址（也就是指针），*得到一个地址里放的东&nbsp;<BR>西。这个东西可以是值（对象）、函数、数组、类成员（class&nbsp;member）。&nbsp;<BR>其实很简单，房间里面居住着一个人，&amp;操作只能针对人，取得房间号码；&nbsp;<BR>*操作只能针对房间，取得房间里的人。&nbsp;<BR>参照指针本身的类型以及指针所指物的类型很好理解。&nbsp;<BR>小结：其实你只要真正理解了1，2，就相当于掌握了指针的牛鼻子。后面的就不难了，指&nbsp;<BR>针的各种变化和C语言中其它普通类型的变化都差不多(比如各种转型)。&nbsp;<BR>二．数组。&nbsp;<BR>在C语言中，对于数组你只需要理解三件事。&nbsp;<BR>1．C语言中有且只有一维数组。&nbsp;<BR>所谓的n维数组只是一个称呼，一种方便的记法，都是使用一维数组来仿真的。&nbsp;<BR>C语言中数组的元素可以是任何类型的东西，特别的是数组作为元素也可以。所以int&nbsp;a[3&nbsp;<BR>][4][5]就应该这样理解：a是一个拥有3个元素的数组，其中每个元素是一个拥有4个元素&nbsp;<BR>的数组，进一步其中每个元素是拥有5个整数元素的数组。&nbsp;<BR>是不是很简单！数组a的内存模型你应该很容易就想出来了，不是吗？：）&nbsp;<BR>2．数组的元素个数，必须作为整数常量在编译阶段就求出来。&nbsp;<BR>int&nbsp;i;&nbsp;<BR>int&nbsp;a[i];//不合法，编译不会通过。&nbsp;<BR>也许有人会奇怪char&nbsp;str[]&nbsp;=&nbsp;“test”;没有指定元素个数为什么也能通过，因为编译器&nbsp;<BR>可以根据后面的初始化字符串在编译阶段求出来，&nbsp;<BR>不信你试试这个：int&nbsp;a[];&nbsp;<BR>编译器无法推断，所以会判错说“array&nbsp;size&nbsp;missing&nbsp;in&nbsp;a”之类的信息。不过在最新的&nbsp;<BR>C99标准中实现了变长数组【注6】&nbsp;<BR>注6：如果你是一个好奇心很强烈的人，就像我一样，那么可以查看C99标准6.7.5.2。&nbsp;<BR>3．对于数组，可以获得数组第一个（即下标为0）元素的地址（也就是指针），从数组名&nbsp;<BR>获得。&nbsp;<BR>比如int&nbsp;a[5];&nbsp;int*&nbsp;p&nbsp;=&nbsp;a;这里p就得到了数组元素a[0]的地址。&nbsp;<BR>其余对于数组的各种操作，其实都是对于指针的相应操作。比如a[3]其实就是*(a+3)的简&nbsp;<BR>单写法，由于*(a+3)==*(3+a)，所以在某些程序的代码中你会看到类似3[a]的这种奇怪表&nbsp;<BR>达式，现在你知道了，它就是a[3]的别名。还有一种奇怪的表达式类似a[-1]，现在你也明&nbsp;<BR>白了，它就是*(a-1)【注7】。&nbsp;<BR>注7：你肯定是一个很负责任的人，而且也知道自己到底在干什么。你难道不是吗？：）所&nbsp;<BR>以你一定也知道，做一件事是要付出成本的，当然也应该获得多于成本的回报。&nbsp;<BR>我很喜欢经济学，经济学的一个基础就是做什么事情都是要花成本的，即使你什么事情也&nbsp;<BR>不做。时间成本，金钱成本，机会成本，健康成本……可以这样说，经济学的根本目的就&nbsp;<BR>是用最小的成本获得最大的回报。&nbsp;<BR>所以我们在自己的程序中最好避免这种邪恶的写法，不要让自己一时的智力过剩带来以后&nbsp;<BR>自己和他人长时间的痛苦。用韦小宝的一句话来说：“赔本的生意老子是不干的！”&nbsp;<BR>但是对邪恶的了解是非常必要的，这样当我们真正遇到邪恶的时候，可以免受它对心灵的&nbsp;<BR>困扰！&nbsp;<BR>对于指向同一个数组不同元素的指针，它们可以做减法，比如int*&nbsp;p&nbsp;=&nbsp;q+i;p-q的结果就&nbsp;<BR>是这两个指针之间的元素个数。i可以是负数。但是请记住：对指向不同的数组元素的指针&nbsp;<BR>，这样的做法是无用而且邪恶的！&nbsp;<BR>对于所谓的n维数组，比如int&nbsp;a[2][3];你可以得到数组第一个元素的地址a和它的大小。&nbsp;<BR>*(a+0)（也即a[0]或者*a）就是第一个元素，它又是一个数组int[3]，继续取得它的第一&nbsp;<BR>个元素，*(*(a+0)+0)（也即a[0][0]或者*(*a)），也即第一个整数（第一行第一列的第一&nbsp;<BR>个整数）。如果采用这种表达式，就非常的笨拙，所以a[0][0]记法上的简便就非常的有用&nbsp;<BR>了！简单明了！&nbsp;<BR>对于数组，你只能取用在数组有效范围内的元素和元素地址，不过最后一个元素的下一个&nbsp;<BR>元素的地址是个例外。它可以被用来方便数组的各种计算，特别是比较运算。但显然，它&nbsp;<BR>所指向的内容是不能拿来使用和改变的！&nbsp;<BR>关于数组本身大概就这么多，下面简要说一下数组和指针的关系。它们的关系非常暧昧，&nbsp;<BR>有时候可以交替使用。&nbsp;<BR>比如&nbsp;int&nbsp;main(int&nbsp;args,&nbsp;char*&nbsp;argv[])中，其实参数列表中的char*&nbsp;argv[]就是char*&nbsp;<BR>*&nbsp;argv的另一种写法。因为在C语言中，一个数组是不能作为函数引数（argument）【注8&nbsp;<BR>】直接传递的。因为那样非常的损失效率，而这点违背了C语言设计时的基本理念——作为&nbsp;<BR>一门高效的系统设计语言。&nbsp;<BR>注8：这里我没有使用函数实参这个大陆术语，而是运用了台湾术语，它们都是argument这&nbsp;<BR>个英文术语的翻译，但在很多地方中文的实参用的并不恰当，非常的勉强，而引数表示被&nbsp;<BR>引用的数，很形象，也很好理解。很快你就可以像我一样适应引数而不是实参。&nbsp;<BR>dereferance，也就是*运算符操作。我也用的是提领，而不是解引用。&nbsp;<BR>我认为你一定智勇双全：既有宽容的智慧，也有面对新事物的勇气！你不愿意承认吗？：&nbsp;<BR>）&nbsp;<BR>所以在函数参数列表（parameter&nbsp;list）中的数组形式的参数声明，只是为了方便程序员&nbsp;<BR>的阅读！比如上面的char*&nbsp;argv[]就可以很容易的想到是对一个char*字符串数组进行操作&nbsp;<BR>，其实质是传递的char*字符串数组的首元素的地址（指针）。其它的元素当然可以由这个&nbsp;<BR>指针的加法间接提领（dereferance）【参考注8】得到！从而也就间接得到了整个数组。&nbsp;<BR><BR>但是数组和指针还是有区别的，比如在一个文件中有下面的定义：&nbsp;<BR>char&nbsp;myname[]&nbsp;=&nbsp;“wuaihua”;&nbsp;<BR>而在另一个文件中有下列声明：&nbsp;<BR>extern&nbsp;char*&nbsp;myname;&nbsp;<BR>它们互相是并不认识的，尽管你的本义是这样希望的。&nbsp;<BR>它们对内存空间的使用方式不同【注9】。&nbsp;<BR>对于char&nbsp;myname[]&nbsp;=&nbsp;“wuaihua”如下&nbsp;<BR>myname&nbsp;<BR>w&nbsp;<BR>&nbsp;u&nbsp;<BR>&nbsp;a&nbsp;<BR>&nbsp;i&nbsp;<BR>&nbsp;h&nbsp;<BR>&nbsp;u&nbsp;<BR>&nbsp;a&nbsp;<BR>&nbsp;\0&nbsp;<BR>&nbsp;&nbsp;<BR>对于char*&nbsp;myname；如下表&nbsp;<BR>myname&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;<BR>\|/&nbsp;<BR>w&nbsp;<BR>&nbsp;u&nbsp;<BR>&nbsp;a&nbsp;<BR>&nbsp;i&nbsp;<BR>&nbsp;h&nbsp;<BR>&nbsp;u&nbsp;<BR>&nbsp;a&nbsp;<BR>&nbsp;\0&nbsp;<BR>&nbsp;&nbsp;<BR>注9：可以参考Andrew&nbsp;Konig的《C陷阱与缺陷》4.5节。&nbsp;<BR>改变的方法就是使它们一致就可以了。&nbsp;<BR>char&nbsp;myname[]&nbsp;=&nbsp;“wuaihua”;&nbsp;<BR>extern&nbsp;char&nbsp;myname[];&nbsp;<BR>或者&nbsp;<BR>char*&nbsp;myname&nbsp;=&nbsp;“wuaihua”;//C++中最好换成const&nbsp;char*&nbsp;myname&nbsp;=&nbsp;“wuaihua”。&nbsp;<BR>extern&nbsp;char*&nbsp;myname;&nbsp;<BR><BR>三．类型的识别。&nbsp;<BR>基本类型的识别非常简单：&nbsp;<BR>int&nbsp;a;//a的类型是a&nbsp;<BR>char*&nbsp;p;//p的类型是char*&nbsp;<BR>……&nbsp;<BR>那么请你看看下面几个：&nbsp;<BR>int*&nbsp;(*a[5])(int,&nbsp;char*);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//＃1&nbsp;<BR>void&nbsp;(*b[10])&nbsp;(void&nbsp;(*)());&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//＃2&nbsp;<BR>doube(*)()&nbsp;(*pa)[9];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//＃3&nbsp;<BR>如果你是第一次看到这种类型声明的时候，我想肯定跟我的感觉一样，就如晴天霹雳，五&nbsp;<BR>雷轰顶，头昏目眩，一头张牙舞爪的狰狞怪兽扑面而来。&nbsp;<BR>不要紧（Take&nbsp;it&nbsp;easy）！我们慢慢来收拾这几个面目可憎的纸老虎！&nbsp;<BR>1．C语言中函数声明和数组声明。&nbsp;<BR>函数声明一般是这样int&nbsp;fun(int,double);对应函数指针（pointer&nbsp;to&nbsp;function）的声明&nbsp;<BR>是这样：&nbsp;<BR>int&nbsp;(*pf)(int,double)，你必须习惯。可以这样使用：&nbsp;<BR>pf&nbsp;=&nbsp;&amp;fun;//赋值（assignment）操作&nbsp;<BR>(*pf)(5,&nbsp;8.9);//函数调用操作&nbsp;<BR>也请注意，C语言本身提供了一种简写方式如下：&nbsp;<BR>pf&nbsp;=&nbsp;fun;//&nbsp;赋值（assignment）操作&nbsp;<BR>pf(5,&nbsp;8.9);//&nbsp;函数调用操作&nbsp;<BR>不过我本人不是很喜欢这种简写，它对初学者带来了比较多的迷惑。&nbsp;<BR>数组声明一般是这样int&nbsp;a[5];对于数组指针（pointer&nbsp;to&nbsp;array）的声明是这样：&nbsp;<BR>int&nbsp;(*pa)[5];&nbsp;你也必须习惯。可以这样使用：&nbsp;<BR>pa&nbsp;=&nbsp;&amp;a;//&nbsp;赋值（assignment）操作&nbsp;<BR>int&nbsp;i&nbsp;=&nbsp;(*pa)[2]//将a[2]赋值给i；&nbsp;<BR>&nbsp;&nbsp;<BR>2.有了上面的基础，我们就可以对付开头的三只纸老虎了!：）&nbsp;<BR>这个时候你需要复习一下各种运算符的优先顺序和结合顺序了，顺便找本书看看就够了。&nbsp;<BR><BR>＃1：int*&nbsp;(*a[5])(int,&nbsp;char*);&nbsp;<BR>首先看到标识符名a，“[]”优先级大于“*”，a与“[5]”先结合。所以a是一个数组，这&nbsp;<BR>个数组有5个元素，每一个元素都是一个指针，指针指向“(int,&nbsp;char*)”，对，指向一个&nbsp;<BR>函数，函数参数是“int,&nbsp;char*”，返回值是“int*”。完毕，我们干掉了第一个纸老虎&nbsp;<BR>。：）&nbsp;<BR>＃2：void&nbsp;(*b[10])&nbsp;(void&nbsp;(*)());&nbsp;<BR>b是一个数组，这个数组有10个元素，每一个元素都是一个指针，指针指向一个函数，函数&nbsp;<BR>参数是“void&nbsp;(*)()”【注10】，返回值是“void”。完毕！&nbsp;<BR>注10：这个参数又是一个指针，指向一个函数，函数参数为空，返回值是“void”。&nbsp;<BR>＃3.&nbsp;doube(*)()&nbsp;(*pa)[9];&nbsp;&nbsp;&nbsp;<BR>pa是一个指针，指针指向一个数组，这个数组有9个元素，每一个元素都是“doube(*)()”&nbsp;<BR>【也即一个指针，指向一个函数，函数参数为空，返回值是“double”】。&nbsp;<BR>现在是不是觉得要认识它们是易如反掌，工欲善其事，必先利其器！我们对这种表达方式&nbsp;<BR>熟悉之后，就可以用“typedef”来简化这种类型声明。&nbsp;<BR>＃1：int*&nbsp;(*a[5])(int,&nbsp;char*);&nbsp;<BR>typedef&nbsp;int*&nbsp;(*PF)(int,&nbsp;char*);//PF是一个类型别名【注11】。&nbsp;<BR>PF&nbsp;a[5];//跟int*&nbsp;(*a[5])(int,&nbsp;char*);的效果一样！&nbsp;<BR>注11：很多初学者只知道typedef&nbsp;char*&nbsp;pchar；但是对于typedef的其它用法不太了解。&nbsp;<BR>Stephen&nbsp;Blaha对typedef用法做过一个总结：“建立一个类型别名的方法很简单，在传统&nbsp;<BR>的变量声明表达式里用类型名替代变量名，然后把关键字typedef加在该语句的开头”。可&nbsp;<BR>以参看《程序员》杂志2001.3期《C++高手技巧20招》。&nbsp;&nbsp;<BR>＃2：void&nbsp;(*b[10])&nbsp;(void&nbsp;(*)());&nbsp;<BR>typedef&nbsp;void&nbsp;(*pfv)();&nbsp;<BR>typedef&nbsp;void&nbsp;(*pf_taking_pfv)(pfv);&nbsp;<BR>pf_taking_pfv&nbsp;b[10];&nbsp;//跟void&nbsp;(*b[10])&nbsp;(void&nbsp;(*)());的效果一样！&nbsp;<BR>＃3.&nbsp;doube(*)()&nbsp;(*pa)[9];&nbsp;&nbsp;&nbsp;<BR>typedef&nbsp;double(*PF)();&nbsp;<BR>typedef&nbsp;PF&nbsp;(*PA)[9];&nbsp;<BR>PA&nbsp;pa;&nbsp;//跟doube(*)()&nbsp;(*pa)[9];的效果一样！&nbsp;<BR>&nbsp;&nbsp;<BR>3.const和volatile在类型声明中的位置&nbsp;<BR>在这里我只说const，volatile是一样的【注12】！&nbsp;<BR>注12：顾名思义，volatile修饰的量就是很容易变化，不稳定的量，它可能被其它线程，&nbsp;<BR>操作系统，硬件等等在未知的时间改变，所以它被存储在内存中，每次取用它的时候都只&nbsp;<BR>能在内存中去读取，它不能被编译器优化放在内部寄存器中。&nbsp;<BR>类型声明中const用来修饰一个常量，我们一般这样使用：const在前面&nbsp;<BR>const&nbsp;int；//int是const&nbsp;<BR>const&nbsp;char*;//char是const&nbsp;<BR>char*&nbsp;const;//*（指针）是const&nbsp;<BR>const&nbsp;char*&nbsp;const;//char和*都是const&nbsp;<BR>对初学者，const&nbsp;char*;和&nbsp;char*&nbsp;const;是容易混淆的。这需要时间的历练让你习惯它。&nbsp;<BR><BR>上面的声明有一个对等的写法：const在后面&nbsp;<BR>int&nbsp;const；//int是const&nbsp;<BR>char&nbsp;const*;//char是const&nbsp;<BR>char*&nbsp;const;//*（指针）是const&nbsp;<BR>char&nbsp;const*&nbsp;const;//char和*都是const&nbsp;<BR>第一次你可能不会习惯，但新事物如果是好的，我们为什么要拒绝它呢？：）const在后面&nbsp;<BR>有两个好处：&nbsp;<BR>A．&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const所修饰的类型是正好在它前面的那一个。如果这个好处还不能让&nbsp;<BR>你动心的话，那请看下一个！&nbsp;<BR>B．&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我们很多时候会用到typedef的类型别名定义。比如typedef&nbsp;char*&nbsp;p&nbsp;<BR>char，如果用const来修饰的话，当const在前面的时候，就是const&nbsp;pchar，你会以为它就&nbsp;<BR>是const&nbsp;char*&nbsp;，但是你错了，它的真实含义是char*&nbsp;const。是不是让你大吃一惊！但如&nbsp;<BR>果你采用const在后面的写法，意义就怎么也不会变，不信你试试！&nbsp;<BR>不过，在真实项目中的命名一致性更重要。你应该在两种情况下都能适应，并能自如的转&nbsp;<BR>换，公司习惯，商业利润不论在什么时候都应该优先考虑！不过在开始一个新项目的时候&nbsp;<BR>，你可以考虑优先使用const在后面的习惯用法。&nbsp;<BR>&nbsp;&nbsp;<BR>四．参数可变的函数&nbsp;<BR>C语言中有一种很奇怪的参数“…”，它主要用在引数（argument）个数不定的函数中，最&nbsp;<BR>常见的就是printf函数。&nbsp;<BR>printf(“Enjoy&nbsp;yourself&nbsp;everyday!\n”);&nbsp;<BR>printf(“The&nbsp;value&nbsp;is&nbsp;%d!\n”,&nbsp;value);&nbsp;<BR>……&nbsp;<BR>你想过它是怎么实现的吗？&nbsp;<BR>1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf为什么叫printf？&nbsp;<BR>不管是看什么，我总是一个喜欢刨根问底的人，对事物的源有一种特殊的癖好，一段典故&nbsp;<BR>，一个成语，一句行话，我最喜欢的就是找到它的来历，和当时的意境，一个外文翻译过&nbsp;<BR>来的术语，最低要求我会尽力去找到它原本的外文术语。特别是一个字的命名来历，我一&nbsp;<BR>向是非常在意的，中国有句古话：“名不正，则言不顺。”printf中的f就是format的意思&nbsp;<BR>，即按格式打印【注13】。&nbsp;<BR>注13：其实还有很多函数，很多变量，很多命名在各种语言中都是非常讲究的，你如果细&nbsp;<BR>心观察追溯，一定有很多乐趣和满足，比如哈希表为什么叫hashtable而不叫hashlist？在&nbsp;<BR>C++的SGI&nbsp;STL实现中有一个专门用于递增的函数iota（不是itoa），为什么叫这个奇怪的&nbsp;<BR>名字，你想过吗？看文章我不喜欢意犹未尽，己所不欲，勿施于人，所以我把这两个答案&nbsp;<BR>告诉你：&nbsp;<BR>（1）table与list做为表讲的区别：&nbsp;<BR>table:&nbsp;<BR>-------|--------------------|-------&nbsp;<BR>&nbsp;item1&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;kadkglasgaldfgl&nbsp;|&nbsp;jkdsfh&nbsp;<BR>-------|--------------------|-------&nbsp;<BR>&nbsp;item2&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;kjdszhahlka&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;xcvz&nbsp;<BR>-------|--------------------|-------&nbsp;<BR>list:&nbsp;<BR>****&nbsp;<BR>***&nbsp;<BR>*******&nbsp;<BR>*****&nbsp;<BR>That's&nbsp;the&nbsp;difference！&nbsp;<BR>如果你还是不明白，可以去看一下hash是如何实现的！&nbsp;<BR>（2）The&nbsp;name&nbsp;iota&nbsp;is&nbsp;taken&nbsp;from&nbsp;the&nbsp;programming&nbsp;language&nbsp;APL.&nbsp;<BR>而APL语言主要是做数学计算的，在数学中有很多公式会借用希腊字母，&nbsp;<BR>希腊字母表中有这样一个字母，大写为Ι，小写为ι，&nbsp;<BR>它的英文拼写正好是iota，这个字母在θ(theta)和κ(kappa)之间！&nbsp;<BR>你可以看看http://www.wikipedia.org/wiki/APL_programming_language&nbsp;<BR>下面有一段是这样的:&nbsp;<BR>APL&nbsp;is&nbsp;renowned&nbsp;for&nbsp;using&nbsp;a&nbsp;set&nbsp;of&nbsp;non-ASCII&nbsp;symbols&nbsp;that&nbsp;are&nbsp;an&nbsp;extension&nbsp;of&nbsp;&nbsp;<BR>traditional&nbsp;arithmetic&nbsp;and&nbsp;algebraic&nbsp;notation.&nbsp;These&nbsp;cryptic&nbsp;symbols,&nbsp;some&nbsp;hav&nbsp;<BR>e&nbsp;joked,&nbsp;make&nbsp;it&nbsp;possible&nbsp;to&nbsp;construct&nbsp;an&nbsp;entire&nbsp;air&nbsp;traffic&nbsp;control&nbsp;system&nbsp;in&nbsp;<BR>&nbsp;two&nbsp;lines&nbsp;of&nbsp;code.&nbsp;Because&nbsp;of&nbsp;its&nbsp;condensed&nbsp;nature&nbsp;and&nbsp;non-standard&nbsp;character&nbsp;<BR>s,&nbsp;APL&nbsp;has&nbsp;sometimes&nbsp;been&nbsp;termed&nbsp;a&nbsp;"write-only&nbsp;language",&nbsp;and&nbsp;reading&nbsp;an&nbsp;APL&nbsp;p&nbsp;<BR>rogram&nbsp;can&nbsp;feel&nbsp;like&nbsp;decoding&nbsp;an&nbsp;alien&nbsp;tongue.&nbsp;Because&nbsp;of&nbsp;the&nbsp;unusual&nbsp;characte&nbsp;<BR>r-set,&nbsp;many&nbsp;programmers&nbsp;used&nbsp;special&nbsp;APL&nbsp;keyboards&nbsp;in&nbsp;the&nbsp;production&nbsp;of&nbsp;APL&nbsp;co&nbsp;<BR>de.&nbsp;Nowadays&nbsp;there&nbsp;are&nbsp;various&nbsp;ways&nbsp;to&nbsp;write&nbsp;APL&nbsp;code&nbsp;using&nbsp;only&nbsp;ASCII&nbsp;charact&nbsp;<BR>ers.&nbsp;<BR>在C++中有函数重载（overload）可以用来区别不同函数参数的调用，但它还是不能表示任&nbsp;<BR>意数量的函数参数。&nbsp;<BR>在标准C语言中定义了一个头文件&lt;stdarg.h&gt;专门用来对付可变参数列表，它包含了一组宏&nbsp;<BR>，和一个va_list的typedef声明。一个典型实现如下【注14】：&nbsp;<BR>typedef&nbsp;char*&nbsp;va_list;&nbsp;<BR>#define&nbsp;va_start(list)&nbsp;list&nbsp;=&nbsp;(char*)&amp;va_alist&nbsp;<BR>#define&nbsp;va_end(list)&nbsp;<BR>#define&nbsp;va_arg(list,&nbsp;mode)\&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;((mode*)&nbsp;(list&nbsp;+=&nbsp;sizeof(mode)))[-1]&nbsp;<BR>注14：你可以查看C99标准7.15节获得详细而权威的说明。也可以参考Andrew&nbsp;Konig的《C&nbsp;<BR>陷阱与缺陷》的附录A。&nbsp;<BR>ANSI&nbsp;C还提供了vprintf函数，它和对应的printf函数行为方式上完全相同，只不过用va_&nbsp;<BR>list替换了格式字符串后的参数序列。至于它是如何实现的，你在认真读完《The&nbsp;C&nbsp;Prog&nbsp;<BR>ramming&nbsp;Language》后，我相信你一定可以do&nbsp;it&nbsp;yourself！&nbsp;<BR>使用这些工具，我们就可以实现自己的可变参数函数，比如实现一个系统化的错误处理函&nbsp;<BR>数error。它和printf函数的使用差不多。只不过将stream重新定向到stderr。在这里我借&nbsp;<BR>鉴了《C陷阱与缺陷》的附录A的例子。&nbsp;<BR>实现如下：&nbsp;<BR>#include&nbsp;&lt;stdio.h&gt;&nbsp;<BR>#include&nbsp;&lt;stdarg.h&gt;&nbsp;<BR>void&nbsp;error(char*&nbsp;format,&nbsp;…)&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;va_list&nbsp;ap;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;va_start(ap,&nbsp;format);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fprintf(stderr,&nbsp;“error:&nbsp;“);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vfprintf(stderr,&nbsp;format,&nbsp;ap);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;va_end(ap);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fprintf(stderr,&nbsp;“\n”);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(1);&nbsp;<BR>}&nbsp;<BR>你还可以自己实现printf：&nbsp;<BR>#include&nbsp;&lt;stdarg.h&gt;&nbsp;<BR>int&nbsp;printf(char*&nbsp;format,&nbsp;…)&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;va_list&nbsp;ap;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;va_start(ap,&nbsp;format);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;n&nbsp;=&nbsp;vprintf(format,&nbsp;ap);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;va_end(ap);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;n;&nbsp;<BR>}&nbsp;<BR>我还专门找到了VC7.1的头文件&lt;stdarg.h&gt;看了一下，发现各个宏的具体实现还是有区别的&nbsp;<BR>，跟很多预处理（preprocessor）相关。其中va_list就不一定是char*的别名。&nbsp;<BR>typedef&nbsp;struct&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;*a0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;pointer&nbsp;to&nbsp;first&nbsp;homed&nbsp;integer&nbsp;argument&nbsp;*/&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;offset;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;byte&nbsp;offset&nbsp;of&nbsp;next&nbsp;parameter&nbsp;*/&nbsp;<BR>}&nbsp;va_list;&nbsp;<BR>其它的定义类似。&nbsp;<BR>&nbsp;&nbsp;<BR>经常在Windows进行系统编程的人一定知道函数调用有好几种不同的形式，比如__stdcall&nbsp;<BR>，__pascal，__cdecl。在Windows下_stdcall，__pascal是一样的，所以我只说一下__st&nbsp;<BR>dcall和__cdecl的区别。&nbsp;<BR>（1）__stdcall表示调用端负责被调用函数引数的压栈和出栈。函数参数个数一定的函数&nbsp;<BR>都是这种调用形式。&nbsp;<BR>例如：int&nbsp;fun(char&nbsp;c,&nbsp;double&nbsp;d)，我们在main函数中调用它，这个函数就只管本身函数&nbsp;<BR>体的运行，参数怎么来的，怎么去的，它一概不管。自然有main负责。不过，不同的编译&nbsp;<BR>器的实现可能将参数从右向左压栈，也可能从左向右压栈，这个顺序我们是不能加于利用&nbsp;<BR>的【注15】。&nbsp;<BR>注15：你可以在Herb&nbsp;Sutter的《More&nbsp;Exceptional&nbsp;C++》中的条款20：An&nbsp;Unmanaged&nbsp;Po&nbsp;<BR>inter&nbsp;Problem,&nbsp;Part&nbsp;1:Parameter&nbsp;Evaluation找到相关的细节论述。&nbsp;<BR>（2）__cdecl表示被调用函数自身负责函数引数的压栈和出栈。参数参数可变的函数采用&nbsp;<BR>的是这种调用形式。&nbsp;<BR>为什么这种函数要采用不同于前面的调用形式呢？那是因为__stdcall调用形式对它没有作&nbsp;<BR>用，调用端根本就无法知道被调用函数的引数个数，它怎么可能正确工作？所以这种调用&nbsp;<BR>方式是必须的，不过由于参数参数可变的函数本身不多，所以用的地方比较少。&nbsp;<BR>对于这两种方式，你可以编制一些简单的程序，如何反汇编，在汇编代码下面你就可以看&nbsp;<BR>到实际的区别，很好理解的！&nbsp;<BR>重载函数有很多匹配（match）规则调用。参数为“…”的函数是匹配最低的，这一点在A&nbsp;<BR>ndrei&nbsp;Alexandrescu的惊才绝艳之作《Modern&nbsp;C++&nbsp;Design》中就有用到，参看Page34-35&nbsp;<BR>，2.7“编译期间侦测可转换性和继承性”。&nbsp;<BR>&nbsp;&nbsp;<BR>后记：&nbsp;<BR>C语言的细节肯定不会只有这么多，但是这几个出现的比较频繁，而且在C语言中也是很重&nbsp;<BR>要的几个语言特征。如果把这几个细节彻底弄清楚了，C语言本身的神秘就不会太多了。&nbsp;<BR>C语言本身就像一把异常锋利的剪刀，你可以用它做出非常精致优雅的艺术品，也可以剪出&nbsp;<BR>一些乱七八糟的废纸片。能够将一件武器用到出神入化那是需要时间的，需要多长时间？&nbsp;<BR>不多，请你拿出一万个小时来，英国Exter大学心理学教授麦克.侯威专门研究神童和天才&nbsp;<BR>，他的结论很有意思：“一般人以为天才是自然而生、流畅而不受阻的闪亮才华，其实，&nbsp;<BR>天才也必须耗费至少十年光阴来学习他们的特殊技能，绝无例外。要成为专家，需要拥有&nbsp;<BR>顽固的个性和坚持的能力……每一行的专业人士，都投注大量心血，培养自己的专业才能&nbsp;<BR>。”【注16】&nbsp;<BR>注16：台湾女作家、电视节目主持人吴淡如《拿出一万个小时来》。《读者》2003.1期。&nbsp;<BR>“不用太努力，只要持续下去。想拥有一辈子的专长或兴趣，就像一个人跑马拉松赛一样&nbsp;<BR>，最重要的是跑完，而不是前头跑得有多快。”&nbsp;<BR>推荐两本书：&nbsp;<BR>K&amp;R的《The&nbsp;C&nbsp;Programming&nbsp;language》，Second&nbsp;Edition。&nbsp;<BR>Andrew&nbsp;Konig的《C陷阱与缺陷》。本文从中引用了好几个例子，一本高段程序员的经验之&nbsp;<BR>谈。&nbsp;<BR>但是对纯粹的初学者不太合适，如果你有一点程序设计的基础知识，花一个月的时间好好&nbsp;<BR>看看这两本书，C语言本身就不用再花更多的精力了。</P></TD></TR></TBODY></TABLE></P>]]></description>
</item><item>
<title><![CDATA[[大话IT]谈谈我对攻读计算机研究生的看法]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=201111&amp;id=3644</link>
<author>201111</author>
<pubDate>2005/3/14 9:56:51</pubDate>
<description><![CDATA[<P>就我自己的理解，谈谈我对读研和软件学院的看法，不妥之处一笑了之即可。<BR>　　<BR>　　如果你有实际开发工作经验，感觉自己的水平和实力进入了一个高原期，迫切需要从理论上提高，那么计算机学院是唯一选择。因为计算机学院才能让你在理论上更上一层楼。软件学院从教学计划上就没有把你往这方面带。当然能不能更上一层楼最终还是完全取决于你自己。需要特别说明的是，工作经验并不一定等于开发经验，我见过很多工作2-3年的人，但是没有一点开发经验。<BR>　　<BR>　　你说：“他们都有很强的开发能力,只是不太喜欢读书,也只是希望混个学历对今后在岗位上晋升有好处”，我可以向你保证，你所说的人绝对不是开发能力很强的人。因为，1）高手不可能不喜欢读书；2）高手不可能想去混一个学历；3）高手不可能认为晋升是因为学历的原因。<BR>　　<BR>　　还需要说明的是，考计算机的人未必个个都是高手，严格来说，大部分都不会编程序。也就是说，庸庸碌碌之辈仍然占绝大多数。研究生毕业的师兄只拿2500元左右的比比皆是，所以不要寄希望于拿一张研究生文凭出去赚高薪。但是，对于有实际开发工作经验的人，要想自己在3年之中有一个真正的提高的话，计算机学院提供了广阔的平台。就我所知，每一个月拿2万以上的也有（上海育碧，图形特效算法设计）。所以，同为研究生毕业，能力的差距是极大的。所以，不要去问“研究生毕业能拿多少？”，要问“像我这种水平的人，研究生毕业能拿多少钱？”这样人家才能够准确地回答你。<BR>　　<BR>　　所谓“有实际开发工作经验”是指你目前已经具备下列能力：1）你已经认为C++和汇编语言都是很简单的语言，并能够自如地运用；2）你能够在30分钟之内想到正确的五子棋AI算法设计思路和方向；3）你完全理解STL为什么这么重要；4）你能够独立地解决所有的编译与链接问题，哪怕你从来没有遇到的问题，你也不需要询问任何人；5）英文网站是你的首要信息来源；6）能够读懂英语写成的国际标准，比如NTFS磁盘格式标准。7）你经常站在集合论的角度思考算法问题；8）能够理解一个简单的驱动程序，能够理解一个简单3D交互程序；9）你能够认识到线性代数和概率论在实际编程工作中的极端重要性；10）你完全理解COM的设计思想，尤其能够理解COM为什么要设计成这样；11）当我说到虚函数的重要作用时，你不会急着去找书来翻；12）你能够说出C++为什么比其他语言优秀的理由，记住这种理由应该来自于你的开发体会，而不是因为其他人都这么说。此外还有很多判断标准，但如果你同时具备5条以上，可以认为你已经具备相应的开发经验了。在这种状态下读研，你将取得读研效益的最大值。<BR>　　<BR>　　读研最重要的是要明白你自己要干什么，不能等导师来告诉你你应该干什么。研究生的优势在于理论功底深厚，思维具有穿透力，当然编程能力首先要过关，不要读完研究生还不知道MFC程序的WinMain函数在哪里。所以，研究生期间，你一定要做有理论深度的算法设计，比如大规模数据的搜索算法，性能是首要考虑因素，不要奢望SQL函数能够帮你解决问题，所有的问题你都必须自己解决，你必须解决内外存交换的性能瓶颈。再比如极品飞车的3D场景生成，图形变换，碰撞检测，物性模拟，纹理映射，灯光模型等等，这些都是可以保证你能拿到2万以上月薪的技术。如果你认为这些东西太难，不可能做得出来的话，那么你就不适合读研。真的，要是你认为读研之后还是要去搞一般的程序设计，如信息管理系统之类的软件，那么你读研的价值就完全不会得到体现，因为这些工作根本就不需要读研。<BR>　　<BR>　　软件学院宣称培养软件开发人才，恕我直言，我从来没有看见那个高手是培训成功的。成为软件开发高手的路只有一条：自学！软件开发中需要大量的编程实践和独立思考，只有在此过程中，你才能够逐步成长起来。软件学院宣称培养软件项目经理，这更是搞笑，在某种意义上这是欺骗行为。学院里面能够培养出软件开发经理更是十足的谎言，软件项目经理必须，或者说更强调从战争中学会战争。没有实践经验的项目经理就是绣花枕头一个。<BR>　　<BR>　　实话实说，软件学院就是一个蒙钱的机构，公关工作做得很好，善于打广告，而且都是打着高薪的幌子，就如同外面的什么北大青鸟培训班一样。两个字：蒙钱！四个字：还是蒙钱！<BR>　　<BR>　　总之一句话，如果你只想成为软件开发高手（比如认为会编驱动程序或杀毒软件就是高手的那种），建议工作，不要考研；完全没有工作经验的，也不建议考研，你进来了只有瞎混一通。如果你有上述工作经验且想成为高级软件工程师（能够独立理解并设计出快速傅立叶变换算法的那种软件工程师）的话，那么强烈建议考研。考研让你有3年放松思考的机会，也有3年让你思想和技术积累沉淀的机会。非常难得的机会。不考研的话，这种机会就是一种奢侈，可望而不可即的那么一种奢侈。<BR>　　<BR>　　所以，不管你是哪一种情况，都不建议考软件学院。除非你是女生，把能够成为一个研究生当着一生最大满足的那种女生。<BR>　　<BR>　　1）关于读书的机会成本问题。读研的机会成本的确是很高。任何人都可以简单地计算出来。所以，我也不赞成所有的人都去读研。读研只适合那些痛感数学在编程中的极端重要性的人。如果对理论工具和理论思维的极端重要性没有切肤的认识，那么读研的价值几乎为0；读研的好处在于：A，把你自己放在一个学术和工程的交叉点上；B，让你具备了进入微软等世界顶级软件研发机构的可能性；记住只是可能性。但是不读研这种可能性为0；C，如前所述，如果没有读研的机会，你也就没有静下心来好好钻研几年理论的机会；一边工作拿高薪，一边深入地学习各种理论，诸位认为这可能吗？我反正认为不可能，我觉得学习钻研理论最需要的就是一个长期安静独处的环境，一边工作一边读书是不可能有这样的环境的，你会觉得每天都在疲于奔命。而读研正好可以提供这样一个环境。我同时还反对整天跟着导师的屁股后面跑，这样会浪费很多时间。读计算机的研究生，主要依靠自己去查阅最新文献，自己去研读文献，和导师的口头交流一个月一次就足够了，前提还需要导师的水平足够牛。如果导师的水平不牛，这也没关系，不理他就是了，自己做好自己的事情即可。<BR>　　<BR>　　2）关于研究生教学质量问题。坦白地说，全国都是“洪桐县中无好人”，尤其在计算科学领域，大牛极少。那为什么还要去读研？大哉问！把读研的收获寄托在名校或名师的名我认为气上，是注定要失败的。读研全靠自学，研究生之间的差距全部体现在自学能力上面。又有人问，既然是自学，为什么非要读研？回答是：因为读研就是为你买一份保险，就是买一份你自学三年之后不会失业的保险。这份保险主要是一种心理上的后盾，让你在自学过程中经得起诱惑，能够从容镇定地去追寻计算机理论发展的坚实足迹，从欧拉，费马，高斯，康托，图灵等巨匠那里寻找方法论的珠宝。倘若没有这份保证，你在家里面自学3个月，保证你会被失业的压力压得喘不过气来，何谈安心学习？<BR>　　<BR>　　3）关于实战经验与理论学习的优劣问题。这没有定论，如前所述，管理信息系统，设备驱动开发，工具软件开发，软件病毒剖析等等这些工作不太需要创造性，需要的是耐心和经验，需要的是对既有规范的准确理解，这类开发工作最适合在实战中提高，理论学习没什么作用。但是在人工智能，模式识别，图像压缩，虚拟现实，巨量数据检索，自然语言理解，计算机图形学等等领域，理论学习就占据着绝对的统治地位！这些领域的突破对人类的生活的影响是极其巨大而深刻的。某些领域处于一个极其快速发展的态势之中，比如计算机图形学，相信诸君能够从众多3D游戏的灿烂辉煌中体认到我的这种说法。在这些领域，如果没有扎实的理论功底，一切都是那么遥远，不管你花了多少时间在编程上面。<BR>　　<BR>　　4）关于高级研发人员的知识结构问题。首先声明，我不是一个纯粹理论激进分子，即认为除了理论之外，一切都不重要。我认为，纯熟的编程技能是最基本但也是最必不可少的技能。没有这个基础，一切计算机理论就是空谈（研究图灵可计算性理论的研究者除外）。有了这个基础之后，下列理论学习方向必须重点突破：<BR>　　<BR>　　1，科学哲学。这是核心中的核心！可惜国内不开这门课。不但不开课，而且还作为批判对象来引用，实在是遗憾至极！这是一门教你如何“钓鱼”的学科，在一切科学研究中居于最核心的地位。它是古今科研方法和思维方法的集大成者，很难想象一个成熟的研究者没有一套自己的方法论体系。科学哲学最需要的是领会与总结，它的思想与启示会伴随我们的一生。<BR>　　<BR>　　2，康托集合论，矩阵方法，离散结构，图论方法，群论方法之间的紧密关系。最重要的认识这些理论对实践的重要启示和方法引导。我始终认为，如果你学了一门理论之后，却不知道这门理论有什么作用，那么你的理论就白学了，你什么东西都没有捞着。所以，学习任何理论之前，先问自己：它有什么用？在哪里用？如何用？带着这些问题去学习理论，你才会真正地学到东西。用这三个问题去问你的理论课老师，他的回答就是判断其实际水平的最佳标准。<BR>　　<BR>　　3，思维要有极强的穿透力，学会看透文献作者没有写出来的动机。绝大部分大师都有隐瞒自己最具有方法论启示意义的思考环节的习惯。牛顿和华罗庚先生都有这个坏习惯。这让大家认为他们是天才，因为很多问题他想到了，我们想不到。但是为什么他们能想到，我们想不到？他们是怎样想到的？没有人告诉我们牛顿发现万有引力定律时的思考过程，当然，牛顿可以慷慨地把他的思考结果告诉我们，但是，他那可以点石成金的“金手指”却没有教给我们。我们的任务就是要培养透过文章看穿作者背后意图和动机的能力，在这方面，台湾的侯捷和美国的Donbox是绝佳典范。这两只老狐狸（呵呵，是爱称）凭着其猎犬一般的嗅觉，抽丝剥茧，一个把COM背后的幕后设计动机揭开并暴露到了光天化日之下，另一个把MFC的宏观架构做了一次完美的外科手术。其非凡的思维穿透力令人惊叹。<BR>　　<BR>　　4，英语。英语本身不重要，但是用英语写成的文献就极其重要了。所以，专门把英语作为一个重头戏列出来。大家不要相信英语无用论的鬼话。对于搞计算机的而言，英语就是你的母语！<BR>　　<BR>　　5，其它的具体理论还有很多，但是都不如这三个方面重要，因为我觉得这三个方面是最具有根本性，全局性的能力培养环节。需要指出的是，很多高深理论对你的工作是无意义的，当心时间陷进去。一定要把效率最高的时间段用在最具有决定性意义的理论学习上。<BR>　　<BR>　　5）关于读研之后的出路是否光明的问题。我们应该承认，读研之后，你的工作机会不是变多了，而是变少了。而且越是高手，他的工作机会和工作范围就越少。这是因为，越是搞前沿研发的公司，其数量越少，在这个圈子的人也就越少。你找工作的范围就越小，试问：如果微软的OS设计专家出来找工作，能够让他选择的公司能有几家？但是，这种公司数量的减少是以工资待遇的急剧上升为补偿的，同时，你在工作中所受到的充分尊重也是在一般公司中体会不到的。所以不要担心学了高科技用不上，呵呵，你只会越来越感觉自己学的不够用。相信接到过猎头公司电话的人会体会得到。真正的高手从来就不会担心工作的问题，也从来不会到人才市场上去找工作。既然选择了理论深入，那么就应该把眼光放得更远。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=大花脚蚊子" target=_blank>大花脚蚊子</A>　回复日期：2004-12-19　19:14:49</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　有深度，受教了，意义深刻啊！！听君一席话胜读十年书。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=keke89" target=_blank>keke89</A>　回复日期：2004-12-19　19:16:44</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　顶！<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=poseidon03" target=_blank>poseidon03</A>　回复日期：2004-12-19　19:22:11</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　深刻,我现在就在某个名牌大学的软件学院了,<BR>　　感觉上每天都是虚掷青春..<BR>　　永远看不到前路的方向<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=花白菜" target=_blank>花白菜</A>　回复日期：2004-12-19　19:30:04</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　受益非浅<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=twzhappy" target=_blank>twzhappy</A>　回复日期：2004-12-19　19:31:44</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　写得好，呵呵，不知能有多少人能做到<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=狗狗肥了" target=_blank>狗狗肥了</A>　回复日期：2004-12-19　21:03:10</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　说得好啊<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=苗小宝" target=_blank>苗小宝</A>　回复日期：2004-12-19　22:56:02</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　受刺激了。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=f00" target=_blank>f00</A>　回复日期：2004-12-19　23:00:52</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　这篇文章应该出自一个搞软件理论方向的人<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=一个奋青" target=_blank>一个奋青</A>　回复日期：2004-12-19　23:36:51</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　震撼啊！<BR>　　狂顶！<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=bucuan" target=_blank>bucuan</A>　回复日期：2004-12-20　0:09:44</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　ti<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=farren" target=_blank>farren</A>　回复日期：2004-12-20　0:38:12</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　顶<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=LavaFlow" target=_blank>LavaFlow</A>　回复日期：2004-12-20　10:11:11</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　可能是出自于一个搞仿真与虚拟现实方向的人。 <BR>　　－－－－－－－－－－－－－－－－－－－－－－－－<BR>　　作者：f00　回复日期：2004-12-19　23:00:52　 <BR>　　　　这篇文章应该出自一个搞软件理论方向的人<BR>　　<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=bbsbbt" target=_blank>bbsbbt</A>　回复日期：2004-12-20　10:30:23</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　深刻，但不怎么顺耳。对大多数来说。<BR>　　<BR>　　很多的人，<BR>　　很多的中国人，<BR>　　很多的中国IT人，<BR>　　认为自己已经足够牛了，<BR>　　或是只差那么一点点经验了，<BR>　　反正书是不需要再怎么去读了。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=提壶灌顶" target=_blank>提壶灌顶</A>　回复日期：2004-12-20　10:52:07</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　大多数人看了会汗颜，能踏踏实实做理论研究的人太少了，太少了！<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-20　12:23:46</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　本人研究方向为3D交互图形学。重点在基于照片的3D建模与渲染和粒子系统。现就读于重庆大学。欢迎交流。再次声明，我不是什么高手，不是谦虚，而是实事求是地说。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=没有传奇" target=_blank>没有传奇</A>　回复日期：2004-12-20　12:35:05</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　基本赞同作者的观点.<BR>　　<BR>　　还是要强调一点，教学质量－－－－如果你的导师是一个要以你创汇为目的的导师，只能说那几年基本上你就要双重浪费了。<BR>　　<BR>　　还有别把那些研究院看的太重，应该说那里是人精扎堆的地方，但是应该说大部分(我有点主观)都仅仅是混口饭吃而已，呵呵。<BR>　　<BR>　　<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-20　12:40:11</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　曾经有人戏言：计算机科学的毕业生一无是处，论硬件，比不过电子系的毕业生；论软件，比不过数学系的毕业生；论应用，比不过各行各业的领域专家。那么，计算机专业的毕业生能干些什么？<BR>　　<BR>　　我认为，上述三点，不是计算机专业学生的劣势，而是优势。因为只有计算机专业的学生才能够做到在上述三个方面同时具备足够的知识，而解决现实问题恰恰需要同时具备这三方面的知识，不用太多，也不能太少。这也是计算机人才的相对待遇为什么最好的根本原因。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=SmartLee" target=_blank>SmartLee</A>　回复日期：2004-12-20　12:47:28</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　吓死人^_^<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=davycu" target=_blank>davycu</A>　回复日期：2004-12-20　13:14:30</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　曾经有人戏言：计算机科学的毕业生一无是处，论硬件，比不过电子系的毕业生；论软件，比不过数学系的毕业生；论应用，比不过各行各业的领域专家。那么，计算机专业的毕业生能干些什么？<BR>　　　　<BR>　　　　我认为，上述三点，不是计算机专业学生的劣势，而是优势。因为只有计算机专业的学生才能够做到在上述三个方面同时具备足够的知识，而解决现实问题恰恰需要同时具备这三方面的知识，不用太多，也不能太少。这也是计算机人才的相对待遇为什么最好的根本原因。<BR>　　<BR>　　------------------------------------------------------------<BR>　　大哥这话说错了,人家搞通信得待遇比你好多了<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-20　13:25:56</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　可能有错误吧，但我认为通信是属于IT的。通信和计算机根本就不可能分家。其实谁的待遇究竟好多少在这里并不是问题的焦点。当然各行各业都有比计算机专业好的多的岗位存在。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-20　13:29:35</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　关于导师的选择问题，我非常赞同“没有传奇”：千万不要选择自己开得有公司的导师！！！不然你一进去就死定了！<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-20　13:33:41</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　关于“这也是计算机人才的相对待遇为什么最好的根本原因。”希望大家不要误会我的本意。非计算机专业毕业的学长不要骂我。我的意思是说计算机专业和学纯理论或纯应用的同学相比较而言的，出于我自己的直观理解，可能不对，现在这里致歉。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=我很孤单" target=_blank>我很孤单</A>　回复日期：2004-12-20　13:41:49</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　软件学院和法律硕士一样，都是蒙钱的。<BR>　　君不见，每年到软件学院读的都是考计算机学院没考上的，<BR>　　考200多分，调剂过去的，每年的学费数万元。<BR>　　法硕也是，现在的法学硕士都难就业，更别提<BR>　　法律硕士了，连导师都没有，<BR>　　还不如法学的本科生。<BR>　　学费高的不得了。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=clearzero" target=_blank>clearzero</A>　回复日期：2004-12-20　17:27:59</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　楼主写得好，支持<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=光_芒" target=_blank>光_芒</A>　回复日期：2004-12-20　17:44:42</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　8错，很多地方值得学习<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=zhenzil" target=_blank>zhenzil</A>　回复日期：2004-12-20　18:38:34</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　感觉是浙江大学搞图形图象处理的。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=玉面麒麟" target=_blank>玉面麒麟</A>　回复日期：2004-12-20　19:01:59</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　YJS毕业看你是那类的啥<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=考米" target=_blank>考米</A>　回复日期：2004-12-20　19:08:57</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　对楼主说的话很有感触：现在的大多数人读研就是想混个文凭呵，更别踏踏实实做理论研究。不过中国的国情与社会机制一定程度上决定了现在的教育误导！！<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-20　19:35:27</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　&gt;<BR>　　感觉是浙江大学搞图形图象处理的。<BR>　　&gt;<BR>　　<BR>　　我是重庆大学的，浙江大学，行不能至，心向往之。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-20　19:37:33</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　浙江大学在计算机图形学领域是高校翘楚。鲍虎军，彭群生都是业内名家。尽管目前我在重庆大学读硕士，但博士很可能要到浙江大学去读。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=NicotineOne" target=_blank>NicotineOne</A>　回复日期：2004-12-20　19:53:15</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　3x<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=小说读者" target=_blank>小说读者</A>　回复日期：2004-12-20　19:58:18</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　个人都有一本经，我觉得我就永远不能领会c++的好处。<BR>　　c++，我以为是将被取代的语言。<BR>　　<BR>　　<BR>　　研究生教育，多数是骗人，我看里面竟然有教java编程的<BR>　　j2ee的。我觉得上研究生，起码在数学能力上有突破，这些<BR>　　编程语言算什么，可是普遍的情况是数学类课少，计算机科学<BR>　　从本质说是，数学的一个分支。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=haodixin" target=_blank>haodixin</A>　回复日期：2004-12-20　22:56:26</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　楼主是重庆大学的？我就在读重大的软件本科，看了楼主的话，心里一阵寒阿！<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=gunime" target=_blank>gunime</A>　回复日期：2004-12-20　23:20:57</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　楼主为什么总拿C++来说呢 我也觉得我肯定不会体会到C++多么的好 stl多么的重要 更不可能说出c++为什么比其他语言优秀 因为我喜欢java 我擅长java 呵呵 不过楼主大部分说的有理 赞一个先<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=浪天崖" target=_blank>浪天崖</A>　回复日期：2004-12-21　9:55:58</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　在国内读什么大学的研究生都是浪费，现在那个导师不是带上几十个硕士的？那个硕士不是乖乖的给老师干活（想毕业老实点吧），真正从老师那里能学到多少东西啊？<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=SkyWalkerJ" target=_blank>SkyWalkerJ</A>　回复日期：2004-12-21　10:17:47</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　做IBMR的？在国内找工作好像路比较窄啊。<BR>　　我觉得做这个方向毕业后最好还是在学术圈里混，别去工业界，在高校里做出来成果之后找公司搞技术转让赚钱，吼吼<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-21　10:24:33</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　本文只针对那些希望把计算机科学作为自己生命中最重要的部分的同志们，如果只是想把计算机作为谋生的工具，本文没有什么实用价值。要是你斤斤计较你每一年要损失多少万多少万，那么本文对你也没有价值。<BR>　　<BR>　　郑重声明：本文献给那些对计算机科学有着宗教一般狂热爱恋的人们。本文的观点并非适用于所有的程序员。<BR>　　<BR>　　另外关于C++是否比其他语言更优秀，不能说C++所有地方都优秀，而是说C++在哪些方面比其他语言更优秀，这没错吧？总有许多优秀的地方吧？<BR>　　<BR>　　我说过，我不是一个纯粹理论激进分子。这些都是作为一个优秀程序员所必须具备的素养（In my opinion）。这并不是一个计算机理论科学家的要求，而是一个实战程序员的要求。要做一个有创造力的程序员，你们说缺少这些知识行吗？不能老是Copy别人的代码来改一改就算编程吧？我列举的都是最有普遍性的东西，最有价值的东西，我并没有列举具体的知识分支，比如形式语言与自动机，机器视觉，模式识别等等具体学科，具体学科不一定每个人都去学，去研究，但是方法论的东西确实值得我们每一个人去重视，诸君认为我列举的三个方面不对任何一个程序员都有重要作用吗？<BR>　　<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=zbbert" target=_blank>zbbert</A>　回复日期：2004-12-21　10:33:36</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　受益了,THX<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=csdlrj56" target=_blank>csdlrj56</A>　回复日期：2004-12-21　13:04:40</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　大学中,迷茫中~<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=zhang_1377679" target=_blank>zhang_1377679</A>　回复日期：2004-12-21　13:13:39</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　叹!!!!!<BR>　　<BR>　　<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=业余学生" target=_blank>业余学生</A>　回复日期：2004-12-21　13:31:17</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　唉～<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=AngryMan" target=_blank>AngryMan</A>　回复日期：2004-12-21　14:32:50</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　呵呵。楼主是一家之言。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=wodyale" target=_blank>wodyale</A>　回复日期：2004-12-21　14:35:23</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　我觉得楼主得心态稍稍有点狂热稍稍有点偏执，但搞技术既然想搞到研究生的份上去，没有点偏执和对技术、理论的狂热是达不到研究生这个水平的。只是现在国内绝大多数高校（俺对中国科技大学、国防科技大学知之极少）在研究生的培养上其定位是不够或说不严格的。原因很多很复杂，有教育模式的原因，有扩招后导师无可奈何以及滥竽充数为导师的原因，还有报考者自身定位不明的原因（楼主这番言论有助于报考者事先考虑清楚自己的定位）。念研究生，靠的是自己一点不假！即便你的导师是院士也如此。报考者一定要做好充分的心理准备:))<BR>　　<BR>　　所以，我觉得楼主所言极是！一些小纰漏算是瑕不掩玉了。<BR>　　<BR>　　楼主还说：<BR>　　---------<BR>　　一边工作拿高薪，一边深入地学习各种理论，诸位认为这可能吗？我反正认为不可能，我觉得学习钻研理论最需要的就是一个长期安静独处的环境，一边工作一边读书是不可能有这样的环境的，你会觉得每天都在疲于奔命。<BR>　　-------------------------------------<BR>　　嘿嘿， 俺现在就是这样，确实是奔命:) 可是没办法，俺生活的压力太大，把握机会好好加油！<BR>　　<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=张光于" target=_blank>张光于</A>　回复日期：2004-12-21　15:28:53</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　收藏<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=mushuang" target=_blank>mushuang</A>　回复日期：2004-12-21　16:24:45</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　楼主是说读国外的研究生吧<BR>　　<BR>　　不然 就是你知道了<BR>　　<BR>　　，科学哲学。<BR>　　　　<BR>　　　　2，康托集合论，矩阵方法，离散结构，图论方法，群论方法之间的紧密关系。最重要的认识这些理论对实践的重要启示和方法引导。<BR>　　　　<BR>　　　　3，思维要有极强的穿透力，学会看透文献作者没有写出来的动机。<BR>　　<BR>　　但是在国内会有哪个公司请你<BR>　　<BR>　　另外软件里面的纯理论很少 应用软件基本上不用知道什么付立叶变换 <BR>　　也不用说一定要知道离散数学<BR>　　除非你是专门设计算法的 如h323等协议的算法<BR><BR><A href="http://www.loveunix.net/bbs/style_images/1/logo4.gif" target=_blank><IMG onmousewheel="return bbimg(this)" title=点击在新窗口查看原始图片 src="http://www.loveunix.net/bbs/style_images/1/logo4.gif" onload="java_script_:if(this.width>500)this.width=500" border=0></A> 
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=aimcy" target=_blank>aimcy</A>　回复日期：2004-12-21　17:26:30</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　的确很有深度<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=paladin2" target=_blank>paladin2</A>　回复日期：2004-12-21　17:43:23</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　又有人问，既然是自学，为什么非要读研？回答是：因为读研就是为你买一份保险，就是买一份你自学三年之后不会失业的保险。这份保险主要是一种心理上的后盾，让你在自学过程中经得起诱惑，能够从容镇定地去追寻计算机理论发展的坚实足迹，从欧拉，费马，高斯，康托，图灵等巨匠那里寻找方法论的珠宝。倘若没有这份保证，你在家里面自学3个月，保证你会被失业的压力压得喘不过气来，何谈安心学习？<BR>　　---------------------------------------------<BR>　　这个问题，我想了几年都没想通，想不到在这里找到答案了！<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-21　17:48:17</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　至于说国内没有公司用到FFT算法，我想你是错误的。我以前的公司就要用。呵呵，视频和音频解码不用DCT，FFT么?国内没有做视频编码解码的么？一大堆！你数一下有多少公司在做视频会议和超级解霸之类的东东吧！<BR>　　<BR>　　不过，不知者不为怪。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-21　17:53:01</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　我的观点的确是一家之言，不一定正确，但是可以讨论。离散数学没有用么？老实说，我天天都在用！关键是看你会不会用！当你使用STL的各种容器时，没有离散数学的观点，你能够用好么？说离散数学用不上，我想绝大部分程序员都不会同意。离散数学不是玄学，而是来源于实践，有直接反作用于实践。离散数学对算法的设计觉有最直接最根本的指导作用。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-21　17:56:42</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　欢迎就事论事地展开讨论，希望不要争执。感谢各位的捧场和抬爱。Thanks in advance!<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-21　18:00:54</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　本人在国内读研，我认为在国内读研一定要走自己的路，自己要有方向感，不然你会又穷又累。呵呵，又是一家之言。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=mushuang" target=_blank>mushuang</A>　回复日期：2004-12-21　18:15:35</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　国内做解码和视频会议的公司我也呆过<BR>　　<BR>　　不过是直接下载国外的源码 进行简化来的 <BR>　　<BR>　　要说完全从头开始研发的 在国内不会有几家 <BR>　　<BR>　　当你使用STL的各种容器时，没有离散数学的观点，你能够用好么？<BR>　　<BR>　　我使用的时候从来不考虑离散 以前离散的知识早就忘记了<BR>　　<BR><BR><A href="http://www.loveunix.net/bbs/style_images/1/logo4.gif" target=_blank><IMG onmousewheel="return bbimg(this)" title=点击在新窗口查看原始图片 src="http://www.loveunix.net/bbs/style_images/1/logo4.gif" onload="java_script_:if(this.width>500)this.width=500" border=0></A> 
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=mushuang" target=_blank>mushuang</A>　回复日期：2004-12-21　18:17:54</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　在国内做底层的话 更重视的是对协议的理解 <BR>　　<BR>　　而不在对某个算法进行编写<BR>　　<BR>　　到51或是其它人才网上找找看 对需要的人掌握什么样的能力 <BR>　　先用fft查找 然后再查找 协议 看有多少区别<BR>　　<BR>　　市场是最大的动力 <BR>　　<BR>　　个人看法 不做争论<BR>　　<BR>　　<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=天堂左岸" target=_blank>天堂左岸</A>　回复日期：2004-12-21　18:21:30</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　好<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-21　18:35:01</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　理解了，也就可以编写了。难道不是这样的吗？绝大多数领域是没有协议的，需要你自己去创造协议。举个例子，要做一个指纹识别软件，你会立马想到用小波，但是小波基如何构造？算法如何设计？连续小波如何离散化？这有协议么？没有。需要自己来创造，这样的东西才有市场竞争力。这些领域是不可能抄袭到别人的算法的。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-21　18:39:26</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　还有，如果没有足够的理论基础，要想看懂老外的视频编码解码算法是不可能的，更别说修改优化了。诸位以为呢？<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-21　18:48:18</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　另外，我不懂Java,所以只谈了C++,绝对没有看不起Java语言的意思。各位Java程序员不要误会。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=common_m" target=_blank>common_m</A>　回复日期：2004-12-21　20:50:34</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　你说的不是计算机高手，是计算机专家！<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=大河之门" target=_blank>大河之门</A>　回复日期：2004-12-22　13:49:46</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　兄弟我还有差距，也希望中国的软件行业能切实创造出些东西来~<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=德威特_" target=_blank>德威特_</A>　回复日期：2004-12-22　13:52:56</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　还是挺不错的！<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=ahKing" target=_blank>ahKing</A>　回复日期：2004-12-22　13:56:32</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　只说一句:软件学院就是垃圾<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=小猪僮" target=_blank>小猪僮</A>　回复日期：2004-12-22　14:29:12</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　研究与应用还是需要区分的。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=SkyWalkerJ" target=_blank>SkyWalkerJ</A>　回复日期：2004-12-22　14:39:18</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　楼主真的在国内软件公司做过吗？<BR>　　念研究生的时候我和楼主的看法一样，工作以后，才发现实际情况未必如此，用STL的时候考虑离散数学？呵呵，这个先不去说它，我是真见过一帮人没看过一篇OCR的论文就做出了商用OCR产品的，而且还卖出去了，这可不是哪个三五人的小公司做的事，是国内软件产值排名前十的公司！<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=zeus_zllz" target=_blank>zeus_zllz</A>　回复日期：2004-12-22　15:24:30</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　1）你已经认为C++和汇编语言都是很简单的语言，并能够自如地运用；2）你能够在30分钟之内想到正确的五子棋AI算法设计思路和方向；3）你完全理解 STL为什么这么重要；4）你能够独立地解决所有的编译与链接问题，哪怕你从来没有遇到的问题，你也不需要询问任何人；5）英文网站是你的首要信息来源； 6）能够读懂英语写成的国际标准，比如NTFS磁盘格式标准。7）你经常站在集合论的角度思考算法问题；8）能够理解一个简单的驱动程序，能够理解一个简单3D交互程序；9）你能够认识到线性代数和概率论在实际编程工作中的极端重要性；10）你完全理解COM的设计思想，尤其能够理解COM为什么要设计成这样；11）当我说到虚函数的重要作用时，你不会急着去找书来翻；12）你能够说出C++为什么比其他语言优秀的理由，记住这种理由应该来自于你的开发体会，而不是因为其他人都这么说。此外还有很多判断标准，但如果你同时具备5条以上，可以认为你已经具备相应的开发经验了。在这种状态下读研，你将取得读研效益的最大值。<BR>　　<BR>　　这些都是技能，能够保证你有口饭吃！ 楼主的眼光只是瞄准了整个IT里面计算机里面windows里面的一个很小的分支上，没有宏观的战略！<BR>　　其实研究生这些技能是靠自学，但是研究生培养的是一种思维是一种学习方法，是一种系统观，是一种从更高的层次看待问题、看待系统！<BR>　　里面有一些观点，我不是很赞同<BR>　　我不觉得c＋＋有哪儿优秀 或者说比哪种语言更优秀！<BR>　　其实我觉得语言就是工具，是用来交流的，你说一把锄头和枪那个好<BR>　　其实它们谁都不比谁好，锄头锄地好，枪嘛打猎好，它们各自有各自的应用背景，不要觉得这个世界上就有c＋＋了<BR>　　如果你只能汇编 精通汇编 10000$/月的钱等着你去拿<BR>　　<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=zeus_zllz" target=_blank>zeus_zllz</A>　回复日期：2004-12-22　15:27:54</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　你用锄头种地可以发财，你用枪也可以打猎发财<BR>　　但是你用锄头挖宝藏发财 难道你要用枪挖？！<BR>　　<BR>　　工具唯有熟练不熟练而已，在哪个地方“挖” 在哪个地方打猎 这些才是最重要的！<BR>　　<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=从此天涯__" target=_blank>从此天涯__</A>　回复日期：2004-12-22　16:54:52</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　没想到重庆大学还有这么NB的人。我还以为重大的研究生都不怎么样呢，不是看不起重大，只是偶本身就是重大出来的。重大的研究生，很多都不怎么样，呵呵。<BR>　　<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-22　17:17:04</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　&gt;<BR>　　这些都是技能，能够保证你有口饭吃！ 楼主的眼光只是瞄准了整个IT里面计算机里面windows里面的一个很小的分支上，没有宏观的战略！<BR>　　　　其实研究生这些技能是靠自学，但是研究生培养的是一种思维是一种学习方法，是一种系统观，是一种从更高的层次看待问题、看待系统！<BR>　　　　里面有一些观点，我不是很赞同<BR>　　　　我不觉得c＋＋有哪儿优秀 或者说比哪种语言更优秀！<BR>　　　　其实我觉得语言就是工具，是用来交流的，你说一把锄头和枪那个好<BR>　　　　其实它们谁都不比谁好，锄头锄地好，枪嘛打猎好，它们各自有各自的应用背景，不要觉得这个世界上就有c＋＋了<BR>　　　　如果你只能汇编 精通汇编 10000$/月的钱等着你去拿<BR>　　&gt;<BR>　　<BR>　　呵呵，我说的就是你要具备这些技能。我并没有说这些技能掌握了就很厉害，而是说这只是一个基础。文中应该阐述明白了地吧？<BR>　　<BR>　　呵呵，本人认为，不管是什么平台，你都必须选择一个平台。不能认为选择了Windows平台就没有系统大局观了吧？这个推断略显勉强。我认为Windows平台能够解决我的问题。我从来都不认为会用Unix的人一定比会用Windows的厉害。<BR>　　<BR>　　你不觉得C++优秀那是因为你不熟悉C++。C++的优秀不是那个人说出来的，而是千百万人在用它锻造具有工业应用强度的系统软件和应用软件。而且其设计思想是一切从实际出发，不唯书，不唯OOP，只唯有效地解决实际问题。建议阅读《C++的设计与演化》一书。你会对C++有新的认识。<BR>　　<BR>　　C++的确是工具。所以我要强调要首先会使用工具。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-22　17:20:47</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　&gt;<BR>　　如果你只能汇编 精通汇编 10000$/月的钱等着你去拿<BR>　　&gt;<BR>　　<BR>　　这句话有臆断的嫌疑。没有证据支持“10000$/月的钱等着你去拿”。<BR>　　<BR>　　我强调C++的重要作用的同时并没有否定其他语言的重要性。有自有各自的应用领域。关于这个问题网络上已经讨论得够充分了，所以没有必要再在语言本身的优劣问题上纠缠。OK?<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=未来的路自己走" target=_blank>未来的路自己走</A>　回复日期：2004-12-22　17:22:40</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　毕业前，me也想要考研，毕业工作后，我为没有考研而后悔～～<BR>　　虽然老师不一定能教你什么，但我觉得很多都是自己决定的<BR>　　<BR>　　现在我觉得工作之后的人继续考研的想法是那么的迫切～～<BR>　　我也会更加了解我以后努力的方向<BR>　　<BR>　　本科生还是知识缺乏，不成体系，甚至是为了在同样一份工作中不再受歧视～～（本科和研究的待遇差n多），我希望我可以考研<BR>　　<BR>　　但我现在没有时间了～～～辞职再考代价太高了。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-22　17:25:23</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　我在文章中究竟是在强调工具的重要性还是在强调思想方法的重要性，明眼人是不难看出来的。建议zeus_zllz回头重新看一下我的发言，这样讨论问题的时候才会有的放矢。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=柯小蓝" target=_blank>柯小蓝</A>　回复日期：2004-12-22　17:31:26</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　今天看见高手了<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-22　17:31:41</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　to SkyWalkerJ:<BR>　　<BR>　　本人在外资软件公司干了四年。可以说离散数学就是计算机算法设计领域里的哲学。没有正确的设计哲学，我认为是不能够有效地解决复杂问题的。STL的设计基础就是集合论，STL和离散数学的派生关系难道这还需要怀疑么？<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-22　17:38:33</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　如果C++在所有方面都不及其他语言的话，那么它早就消失了。市场的选择是最有说服力的。在网络领域C++不及Java，但在系统领域，在要求高性能的领域，C++绝对要比Java占优势。情况就是这样，要是说C++完全没有用，呵呵，我只能认为这是一种故意的偏见！<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-22　18:40:52</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　近世代数或者说离散数学最强调什么？显然是强调“抽象”。抽象是把复杂问题简单化的根本手段。会不会对问题进行形式化和抽象化是判断一个程序员成熟度的首要标准。一个程序员如果没有在抽象思维能力方面受到过严格的训练，那么他是不可能成长为一个优秀的软件工程师的。我认为，离散数学这门学科是培养一个人的抽象思维能力的最佳载体！请允许我说一句比较得罪人的话，那些认为离散数学在编程中起不了作用的人，不可能已经掌握了真正的的程序设计方法。如果读一读经典算法的源代码，可以说，处处都能看到抽象化思考问题的影子。（对事不对人，请勿对号入座）<BR>　　<BR>　　如果我们没有掌握“抽象”这个最强大的思维工具，那么，我们就不可能驾驭庞大的自然或人工系统！而哲学和离散数学（我一直认为数学其实应该属于哲学门类，至少应该是应用哲学）为我们提供了最普遍、最一般的抽象思维工具。比如：任何程序设计语言都可以看成是一台可以抽象执行的机器；STL的容器都是集合；STL容器中的元素都是集合中的元素，容器元素之间的序关系、映射关系、运算关系几乎完全和近世代数中的二元关系相对应；赋予了关系的集合就构成了空间，而抽象代数的重要分支泛函分析对各类空间的性质作了大量的研究，不仅很多赋范方法和结论直接可以用，更重要的是这些赋范方法和结论为我们的思考带来了更多的启发，而这种启发就是思维具有穿透力的关键。更不消说树结构和图结构与离散数学的关系具有直接的映射关系。所以认为离散数学和STL毫无关系的观点是站不住脚的。认为不懂离散数学也可以使用好STL更是不对的。掌握了并能够熟练地使用离散数学的观点来指导实践，你才不会在问题面前一筹莫展，你才会觉得思路特别多，不会在某一个问题上钻进牛角尖。这就是抽象化看问题的好处。当然，会用STL并不难，难就难在要把它用好，要让各种容器的副作用降低到最少，性能达到最佳，这就不容易了。建议读一读《Effective STL》这本书，对于有效地使用STL很有帮助。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=freedompursuer" target=_blank>freedompursuer</A>　回复日期：2004-12-22　18:50:16</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　我是软件学院出来的，我也不看好软件学院，因为太容易考上了，钱还交的哪么多。<BR>　　不过我仍然感激她，因为当年我以近390分被计算机学院录取，由于工作单位不放档案，所以就没上成，而软件学院不管这些，所以我就去了软件学院。<BR>　　找工作的时候，用人单位并不在意你是计算机还是软件<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=RTFSC" target=_blank>RTFSC</A>　回复日期：2004-12-22　21:01:38</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　收藏<BR>　　我很同意楼主的看法，我工作时间不长，在一个网站做后台开发，做了四个月下来感觉就是一个混饭的地方，决定辞职，现在感到基础和理论是重中之重，是“道”之所在。大多数人都可以在一个领域达到一定的高度，但是如果不能用数学的思想去支配自己编程，最多就是软件蓝领，并不是真正意义上的程序员。<BR>　　我很赞同“郑重声明：本文献给那些对计算机科学有着宗教一般狂热爱恋的人们。本文的观点并非适用于所有的程序员。”<BR>　　因为大部分编程人员都是为了生活而不是为了理想，这并没有错，金钱的社会搞得大家都很浮躁，什么技术来钱快就学什么技术，只是注重眼前的利益，对基础的研究可以说是少之又少。<BR>　　已经决定辞职沉一段时间，一是学习基础还有就是学习英语，这也是一个优秀程序员所必需具有的素质，我不会去考研，但我已经清楚地认识到该学什么。<BR>　　很希望能和楼主多交流，希望留下email，谢谢<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-22　21:12:52</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　"C＋＋的本质是解决大型软件中的问题，如果没编过大型软件是不能体会到C＋＋的真谛的"<BR>　　<BR>　　 ---谭浩强<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=eqingsheng" target=_blank>eqingsheng</A>　回复日期：2004-12-22　21:14:17</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　to RTFSC:<BR>　　<BR>　　Just do it!<BR>　　<BR>　　支持你的想法！<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=RTFSC" target=_blank>RTFSC</A>　回复日期：2004-12-22　21:28:12</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　哥们，回复还真快呀！<BR>　　留个Mail呀，以后还得多多请教呢！<BR>　　我的大学一塌糊涂，幸亏醒悟的还不晚，楼主这么强怎么没有考虑去美国上研究生呢，我觉得你的实力足够了 ~~~<BR>　　<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=RTFSC" target=_blank>RTFSC</A>　回复日期：2004-12-22　21:37:22</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　中国现在的计算机教育也有很多问题，前一段时间读过王垠的一篇Linux的文章，文章虽然有些偏激但我觉得不无道理，现节选一段：<BR>　　发达国家的计算机教育 <BR>　　我前段时间在 USENET 发文问有关 Scheme 语言的问题时，认识了一位丹麦人。他解决了我所有的问题，并且建议我阅读一些很“深奥”的有关程序语言语法，文法的书，他告诉我很多网站可以学习 LISP，Scheme，人工智能，算法。他叫我看 Jonathan Rees 的论文 "Syntactic Closures"。他还打包给我寄过来一份 MIT 的 "How to Design Programs"。他说他在自己的 PC 机上装的是 Linux，他用 Emacs 编辑，运行 Scheme 程序。他对 Emacs 的了解和爱好真是使人惊讶。他大学本科毕业时做的毕业设计是一个 Scheme 解释器。这对于我来说是望尘末及了。 <BR>　　<BR>　　他是那么的不厌其烦，我的每一个问题他都详细的回答。我有时都觉得过于详细了，怎么这么耐心啊？我觉得他似乎是我的高中老师。他是什么样的人呢？我好奇的打听了他的情况。原来，他是丹麦一所普通高中的计算机老师。 <BR>　　<BR>　　他说他在高中里讲授程序设计和算法，计算机语言文法。他说用 Scheme，他的学生不用再为内存泄漏等程序语言本身的问题而烦恼，而专注于问题和算法本身。有利于培养学生解决问题的能力，特别是用计算机解决数学问题的能力。 <BR>　　<BR>　　天哪！为什么欧洲出现那么多数学家，几何学家？你看看别人重视的是什么！我们的计算机教育如果继续这样下去，只会沿着弯路越走越远！ <BR>　　全文链接：http://www.linuxforum.net/forum/gshowflat.php?Cat=&amp;Board=linuxtalk&amp;Number=409993&amp;page=0&amp;view=collapsed&amp;sb=5&amp;o=all&amp;fpart=<BR>　　<BR>　　中国的教育其实存在很大问题，这样下去我们的计算机科学是没有办法发展的，只是简单的堆砌程序，而不是去创造程序。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=zeus_zllz" target=_blank>zeus_zllz</A>　回复日期：2004-12-22　21:49:08</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　呵呵，感觉有些跑题了<BR>　　说来说去就是C＋＋<BR>　　也许你的领域用的就是C＋＋ 当然C＋＋ 是非常优秀的！ 这只是在特定的背景下！<BR>　　我不是没有用过C＋＋，也了解知道一些C＋＋，看过一些STL 就是houjie那个家伙的书 还有一些e文 厚的比砖头还厚<BR>　　不过呐 还是那句话 在不同的背景下 用不同的语言，我不太相信内核可以用c＋＋写 bios可以用C＋＋写，RTOS可以用C＋＋写等等<BR>　　<BR>　　精通汇编可以拿10000$ 的地方就是bios～ 能够写出来bios的公司不是很多的 原来有三个 后来一个把另一个吞并了 剩下两个～<BR>　　一个侧重于台式机 一个侧重于笔记本<BR>　　<BR>　　数学是学好计算机最重要的基石！如果没有体会到数学，那可以从侧面说明你还不够水平吧～～～～～～我就没有体会到，呵呵<BR>　　我不是学计算机的，我本科、硕士都是学通信的，但是硕士期间对计算机看过有几十本，大部分都是e文，·····不是显示我看了多少书，就是说明我还可以对计算机发表一下个人的看法<BR>　　学东西有两种，第一种是振幅大带宽窄，另一种是带宽大幅度小<BR>　　能两者兼而有之的人才是牛人<BR>　　我们嘛都是些牛毛而已<BR>　　<BR>　　真正厉害得人是这样发展的 软件－》嵌入式RTOS－》硬件<BR>　　 或者 硬件－》嵌入式RTOS－》软件<BR>　　<BR>　　对于我们学生学习来说，unix、linux要比windows好些，因为它们的源代码可以看的到，对于编程来说，没有比读内核源代码更好的事情了，这些代码都是天才写的艺术品！<BR>　　windows也是优秀的，但是我们学习应该往“下”学习，不应该天天纠缠于应用层程序！ 应该向下学习！　　<BR>　　<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=天涯柚子" target=_blank>天涯柚子</A>　回复日期：2004-12-22　22:11:36</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　比较同意楼主的观点，理论基础很重要。<BR>　　不过，软件学院大概可以学习一些软件工程方法或者说项目管理方面的知识，这也是挺重要的一个方面。<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=hiluoqiang" target=_blank>hiluoqiang</A>　回复日期：2004-12-22　23:13:41</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　楼主视野较窄，经验较薄<BR>　　毕业以后，工作一段时间，会发现现在的目光盯的太短了<BR>　　不过我们当年也是这么讨论着过来的<BR>
<TABLE cellSpacing=0 width="100%" bgColor=#f5f9fa border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=right width=100></TD>
<TD><FONT color=green size=-1><BR>
<CENTER>作者：<A href="http://www.tianyaclub.com/browse/Listwriter.asp?vwriter=conan_wang" target=_blank>conan_wang</A>　回复日期：2004-12-23　9:32:18</FONT>　</CENTER></TD>
<TD vAlign=bottom align=right width=100>&nbsp;</TD></TR></TBODY></TABLE>　　楼主说的还是很有道理的，工作中的人比较现实，很难有时间坐下来看看书或者沉淀一下自己的思考，抽空去考几个什么证书的人倒是不少。<BR></P>]]></description>
</item><item>
<title><![CDATA[一个计算机高手的成长——推荐一读]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=201111&amp;id=3643</link>
<author>201111</author>
<pubDate>2005/3/14 9:53:01</pubDate>
<description><![CDATA[<P>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD>这些日子我一直在写一个实时操作系统内核，已有小成了，等写完我会全部公开，希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向<BR>，所以把我的经历写出来与大家共勉，希望能给刚如行的朋友们一点点帮助。&nbsp;&nbsp;<BR>一转眼我在IT行业学习工作已经七年多了，这期间我做过网页，写过MIS、数据库，应&nbsp;&nbsp;<BR>用程序，做过通信软件、硬件驱动、协议栈，到现在做操作系统内核和IC相关开发，这中&nbsp;&nbsp;<BR>间走了很多弯路，也吃了不少苦。&nbsp;&nbsp;<BR>我上的是一个三流的高校，就连同一个城市的人多数都不知道。因为学校不好也就没&nbsp;&nbsp;<BR>有指望能靠学校名气找一个好工作。所有的希望都寄托在自己的努力上了，大一开学前的&nbsp;&nbsp;<BR>假期我就开始了学习，记得我买的第一本书是《计算机基础DOS3.0》，大家别吓着了，其&nbsp;&nbsp;<BR>实当时已经普及了DOS6.22了，只是我在书店里看到了DOS4.0，5.0，6.0的书，以为像英语&nbsp;&nbsp;<BR>那样是第四、五、六册，记得当时到处找DOS1.0，现在想想也幸好我没有找到：）开学前&nbsp;&nbsp;<BR>我学完了PASCAL，那时既没有计算机也没有人可以请教，我连程序是什么的概念都没有，&nbsp;&nbsp;<BR>只好死记硬背代码，然后拿纸写，我一直到大三才有了一台486，在这之前用纸写了多少程&nbsp;&nbsp;<BR>序我也记不清楚了，只知道最长的一个我拿A4大小的草稿纸写了30多页，我的C语言、C++&nbsp;&nbsp;<BR>、VC都是在这样的条件下入门的。所以说条件是可以克服的，希望我的经历多少给条件艰&nbsp;&nbsp;<BR>苦的同学们一点信心。第一次上机是在我姐夫的机房，我的心情激动的无与伦比，但是一&nbsp;&nbsp;<BR>上机我立刻傻了眼，他们用的是英文版的Win3.1，我的那点DOS知识都见了鬼，上机提心吊&nbsp;&nbsp;<BR>胆的一阵瞎摸，一不小心把Word弄成了全屏，怎么都还不了原，当时真是心急如焚，我以&nbsp;&nbsp;<BR>为机器被我弄坏了。第一个C语言程序，就是那个经典的HelloWorld，我调了几个星期，上&nbsp;&nbsp;<BR>机机会非常少，也没有书告诉我开发环境（TC2.0）需要设置，而且&nbsp;&nbsp;<BR>开始我都不知道有编译器，我甚至自作聪明把写好的程序扩展名从.c改成.exe，结果可想&nbsp;&nbsp;<BR>而知。大一学完了C、X86的汇编、数据结构、C++。由于精力都花在自学上了，大一下四门&nbsp;&nbsp;<BR>课挂了彩，三类学校就是这点好，挂上一二十门也照样毕业。不过扯远点说，我那么刻苦&nbsp;&nbsp;<BR>都及不了格，可见我们国家的计算机教育有多死板。&nbsp;&nbsp;<BR>大二准备学VC和BC，当时难以取舍，后来选了VC，不为别的，只为书店里两本书，VC&nbsp;&nbsp;<BR>那本便宜6块钱。我的努力在班上无人能及，学的日夜不分，大三有了计算机后更是如此，&nbsp;&nbsp;<BR>很多次父亲半夜教训我说我不要命了，我一直觉得自己基础差，记忆又不行，条件也不好&nbsp;&nbsp;<BR>，所以觉得只有多花点时间才能赶上别人。居然后来有许多朋友说我有学计算机的天赋，&nbsp;&nbsp;<BR>让我哭笑不得。我用的是486，16M内存，1G硬盘，当时同学们的配置都是P166MMX，我安装&nbsp;&nbsp;<BR>一个Windows NT4.0需要一个通宵，编译一个BC5.0向导生成的程序需要近两个小时，我的&nbsp;&nbsp;<BR>显示器是个二手的，辐射非常大，开机屏幕冒火花，看起来很酷的：），有一次程序写的&nbsp;&nbsp;<BR>太久，觉得怎么白色的编辑器背景变成了紫色，以为显示器坏了，后来才发现眼睛不行了&nbsp;&nbsp;<BR>，不过说来也奇怪，到今天我的视力还能保持1.5，真是个奇迹。但是就是那台破机器陪伴&nbsp;&nbsp;<BR>了我两年，让我学会了VC、Delphi、SQLServer等。后来那台机器给我阿姨打字用，据她说&nbsp;&nbsp;<BR>一天她正打的开心，一股青烟夹着火苗从显示器钻出来，之后它才寿终正寝。&nbsp;&nbsp;<BR>大三假期找了个机会在一个计算机研究所实习，与其说实习不如说是做义工，工作了两个&nbsp;&nbsp;<BR>月一分钱没有拿。但是这两个月对我的发展帮助很大，让我早一步了解了社会，刚去的时&nbsp;&nbsp;<BR>候我当然是一窍不通，在那里我熟悉了网络，学会了Delphi和Oracle。由于工作很认真，&nbsp;&nbsp;<BR>得到了比较好的评价，在一位长者的引荐下，我开始和他们一起做项目，这使我在大三大&nbsp;&nbsp;<BR>四就有了自己的收入，大四又找了两家MIS公司兼职，虽然钱不多，但是在学生期间有100&nbsp;&nbsp;<BR>0多的收入我已经非常满足了，我终于用自己赚的钱把计算机换了。大四下开始找工作，这&nbsp;&nbsp;<BR>时我的工作经验已经比较多（当然现在想想非常幼稚），开始听父母的想去那个研究所，&nbsp;&nbsp;<BR>实习过那个部门也希望我能去，但是不知道为什么最后不了了之，这种单位就是比较官僚&nbsp;&nbsp;<BR>，我一气之下就到了我兼职的一个公司做MIS的TeamLeader。在大三到毕业一年的时间，做&nbsp;&nbsp;<BR>过了各种MIS，从煤气、烟厂、公安、铁路、饮食到高校，什么有钱做什么，工作也很辛苦&nbsp;&nbsp;<BR>，经常加班和熬通宵，从跟客户谈需求到设计、编码、测试、交付都要上。那时觉得很有&nbsp;&nbsp;<BR>成就感，觉得自己还不错，现在想想真是很肤浅。&nbsp;&nbsp;<BR>刚走上工作岗位的学生很容易被误导，各种开发工具让人眼花缭乱，同时也觉得很受&nbsp;&nbsp;<BR>公司器重，但这样工作永远是一个低层次的开发者。不要跟我说什么系统分析有多么多么&nbsp;&nbsp;<BR>重要，多么多么难。你以为自己跟用户谈需求做设计就是系统分析和设计了吗，国内又有&nbsp;&nbsp;<BR>几个公司能够做的很到位很规范？我是ISO9000内审员，也在Rational公司受过多次培训，&nbsp;&nbsp;<BR>拿了4个证书，还有一个公司让我去做CMM。这些我听过很多，但是很多事情到国内就变了&nbsp;&nbsp;<BR>性质，一个公司不是通过了ISO9000或者CMM就能规范了，我现在在一家有几十年历史的外&nbsp;&nbsp;<BR>企工作，里面的管理不是一般国内企业能及的。作为一个毕业不久以前没有步入过社会的&nbsp;&nbsp;<BR>学生，几乎不可能在很短的时间掌握系统分析和设计，面向对象、UML只是一个工具，关键&nbsp;&nbsp;<BR>是人本身的思想，不是说你熟悉了C++、Rose就能够做出好的设计，相反如果你具备了很高&nbsp;&nbsp;<BR>的素质，你可以用C写出比别人用C++更加模块化的程序。&nbsp;&nbsp;<BR>话说远一些，国内软件开发行业有一个怪圈，很多人觉得VC &gt; Delphi &gt; VB，真是很&nbsp;&nbsp;<BR>搞笑。这几个软件我都做过开发，说白了他们都是工具，应该根据应用的需要选择采用哪&nbsp;&nbsp;<BR>个，而不是觉得哪个上层次。如果你因为用某个开发工具很有面子而选择的话，只能说明&nbsp;&nbsp;<BR>你很浅薄。如果说层次，那么这些工具都不上层次，因为它们用来用去都是一些系统的AP&nbsp;&nbsp;<BR>I，微软的朋友不会因为你记住他们多少个API或者多少个类就会觉得你很了不起，你永远&nbsp;&nbsp;<BR>只是他们的客户，他们看重的是你口袋里的银子。我也做过系统内核，我也封装过很多AP&nbsp;&nbsp;<BR>I，同样我也不会看重那些使用这些API做二次开发的客户，除非他能够作出自己独到的设&nbsp;&nbsp;<BR>计。&nbsp;&nbsp;<BR>至于有人认为C++ &gt; C那更是让人笑掉大牙，不妨你去打听一下，现在有几个操作系统&nbsp;&nbsp;<BR>内核是用C++写的，又有几个实时系统用的是C++，当然我也不是说C++不好，但是目前的内&nbsp;&nbsp;<BR>核和实时系统中C++还无法与C匹敌，至于说C++适合做应用系统的开发那是另外一回事。所&nbsp;&nbsp;<BR>以我的观点是不在于你用什么工具和语言，而在于你干什么工作。你的设计体现了你的技&nbsp;&nbsp;<BR>术层次。&nbsp;&nbsp;<BR>这样干了一年我觉得非常苦闷，做的大多数都是熟练工种的活，个人技术上没有太多&nbsp;&nbsp;<BR>的提高也看不到方向。所以决定离开这个城市去上海，寻求更好的发展，并且打算放弃我&nbsp;&nbsp;<BR>以前的MIS转到通信行业。&nbsp;&nbsp;<BR><BR>写到这里不能不提到我女朋友，我们是在来上海前半年认识的，她大四在我公司实习，公&nbsp;&nbsp;<BR>司派她给我写文档，我们的感情发展的很快。她告诉我很多事情，她家原本是改革开放的&nbsp;&nbsp;<BR>第一批暴发户，她母亲爱打牌，输掉了几百万，还欠了很多债，她有男朋友，但是她对他&nbsp;&nbsp;<BR>没有感情，只因为他给了她母亲两万多块钱，后来还强迫她写了四万块的借条，她男朋友&nbsp;&nbsp;<BR>背叛过她并且不止一次打她，现在逼她结婚不然就要她还钱。这人居然还是一个高校的老&nbsp;&nbsp;<BR>师！她母亲把父亲给她的学费花了，因为拖欠学费她没有办法拿到毕业证。她母亲现在有&nbsp;&nbsp;<BR>病需要钱，我拿出了自己的一点积蓄并且跟朋友们接了一些，替她交了学费并给她母亲看&nbsp;&nbsp;<BR>病（后来才知道看病的钱又不知所终，就连她母亲是不是有病我都不知道，但她也是没有&nbsp;&nbsp;<BR>办法）。这个时候我家知道了一些事情，坚决反对我和她在一起，她原来的男朋友也极力&nbsp;&nbsp;<BR>破坏。无奈之下我们决定早一定离开这个伤心的城市，并且瞒着我们家。由于时间仓促，&nbsp;&nbsp;<BR>我只准备了4000块钱，她仅有的几百块钱也被她母亲要去了，我买了三张票，一张是中午&nbsp;&nbsp;<BR>的，两张是晚上的，中午我的家人把我送上船，他们一离开我就下了船，我和她乘坐晚上&nbsp;&nbsp;<BR>的船离开了这个我和她生活了很多年的城市，带走的只是一身债务。没有来过上海的我们两&nbsp;&nbsp;<BR>个性倔强，都不愿意去麻烦同学和朋友。来到上海是傍晚6点半，我们&nbsp;&nbsp;<BR>都不知道该去哪里，我们找了一个20块钱的旅馆，这个房间连窗户都没有，7月份的天气酷&nbsp;&nbsp;<BR>热难耐，房间里非常闷热。第二天我们开始租房子，因为身上的钱不多，我们基本都是步&nbsp;&nbsp;<BR>行，花了一个星期时间，不知道在浦东转了多少圈后找到了一个400块的房子，但是我们都&nbsp;&nbsp;<BR>不了解上海是付三压一，还要付半个月的中介费，买了一些锅碗瓢盆后，我们身上只有80&nbsp;&nbsp;<BR>0块钱了，工作都还没有着落，这800块钱要支持到我们拿到第一个月工资，为了省钱我们&nbsp;&nbsp;<BR>自己做饭，每天买菜只花两块钱，她非常喜欢吃（也可能她在大学经常挨饿的愿意），看&nbsp;&nbsp;<BR>到她现在这样省吃俭用我真的很不忍心。她以前的男朋友也没有放过她，经常打电话来骚&nbsp;&nbsp;<BR>扰，并且来上海看她，还说了不少恐吓她的话，她过于善良，说他以前毕竟帮助过她，叫&nbsp;&nbsp;<BR>我不要与他一般见识。以后的每天在家就是苦等面试通知，原本我想迅速找一家MIS公司解&nbsp;&nbsp;<BR>决眼前的困难，但是她坚持让我不要放弃自己的理想，终于功夫不负有心人，我找到了一&nbsp;&nbsp;<BR>家通信公司，4000块的工资虽然赶不上MIS公司给我开出的价位，但也够在上海生存。她也&nbsp;&nbsp;<BR>找到了工作，第一天上班她哭了，这是她来上海第一次流泪，我心里很难受也很感动。&nbsp;&nbsp;<BR>由于是全新的行业，我把自己降到了零点，我学的VC、Delphi、数据库派不上用场，&nbsp;&nbsp;<BR>摆在我面前的是嵌入式、协议、信令一些我从未接触过的知识。我知道我没有退路，于是&nbsp;&nbsp;<BR>拼命的学习，我把自己当做一个应届毕业生一样，一分努力一分收获，半年过去我终于熟&nbsp;&nbsp;<BR>悉了工作，并且得到了公司的表彰，薪水也加了一级。后面的日子里我们省吃俭用，把欠&nbsp;&nbsp;<BR>朋友的1万多块钱还了，日子终于上了正轨。这时女朋友告诉我她想考研究生，我也很支持&nbsp;&nbsp;<BR>，于是她辞职在家备考。&nbsp;&nbsp;<BR>另外，在这里我要感谢我的ProjectManager，他原来是一个大通信公司的产品经理，&nbsp;&nbsp;<BR>对人非常和善，我从他那里学到了很多知识，而且他也给了我许许多多无私的帮助。在工&nbsp;&nbsp;<BR>作上他给我充分的空间和信任。记得公司安排我维护一个接入服务器软件，由于代码量不&nbsp;&nbsp;<BR>算太小（5万行），资料和文档都不齐全，我维护起来非常吃力，所以想重新把它做一遍，&nbsp;&nbsp;<BR>公司领导不太支持，可能觉得工作量太大，但是他极力支持我，私下里他让我放手去做，&nbsp;&nbsp;<BR>我的维护工作他挤时间做。在他的支持下，我花了半年时间完成了接入服务器的软件，并&nbsp;&nbsp;<BR>且实现了一个相对完整的TCP/IP协议栈。在这里我学会了嵌入式系统设计、驱动开发、TC&nbsp;&nbsp;<BR>P/IP和很多通信的知识，我花了一年时间终于使自己从MIS开发转到了通信行业，并且站稳&nbsp;&nbsp;<BR>了脚跟。我的开发大量是对硬件的直接操作，不再受微软的操作系统，VC、Delhpi这些开&nbsp;&nbsp;<BR>发工具的约束，我终于看到了另外一片天空。&nbsp;&nbsp;<BR>我做事情喜欢追根问底，随着开发的深入，软件开发与硬件联系越来越紧密，硬件知&nbsp;&nbsp;<BR>识的匮乏又对我的发展产生了障碍，而且芯片技术基本上掌握在国外公司的手里，这对做&nbsp;&nbsp;<BR>系统级设计是一个非常大的制约，一个新产品出来，第一道利润（也往往是最丰厚的利润&nbsp;&nbsp;<BR>）常常都被IC公司如Intel、Motorola赚去了，国内的厂商只能喝点汤。所以我决心解决自&nbsp;&nbsp;<BR>己的硬件技术障碍，并打算离开通信行业，进入IC设计相关领域。&nbsp;&nbsp;<BR><BR>当然我明白如果我对硬件了解的非常少，没有哪家IC公司会仁慈到招我这样一个一窍不通&nbsp;&nbsp;<BR>的人来培训。所以我必须努力打好基础，学一些相关知识为以后做准备。就像我开始从MI&nbsp;&nbsp;<BR>S转到通信一样，我看过大量通信方面的书，并且给一个ISP做过RADIUS计费分拣台，在这&nbsp;&nbsp;<BR>样的背景下这家通信公司才给了我这个机会。我在的通信公司是做系统设计的，有不少PC&nbsp;&nbsp;<BR>B Layout硬件人员，平常我就注意向他们学习，由于我做的是软件，在公司看硬件资料不&nbsp;&nbsp;<BR>好意思，所以开始只好在家看，刚来上海工作我连续一年都在加班，后来不加了，因为我&nbsp;&nbsp;<BR>要挤出时间学习，通常我12点左右睡，第二天5点半起，我上班比较早，地铁上如果人不多&nbsp;&nbsp;<BR>我也用来看书。学习当然不会是一帆风顺的，有些实在不懂的问题就积累起来问硬件人员&nbsp;&nbsp;<BR>，他们的帮助使我学习进度快了很多，因为在没有人点拨的情况下自学，我的一半时间是&nbsp;&nbsp;<BR>花在解决疑难问题上，但这种问题经常是别人的一句话就可以让我豁然开朗，我非常庆幸&nbsp;&nbsp;<BR>我有这样的学习环境。在后面的一年里，我学会了看硬件原理图，学会了简单的硬件设计&nbsp;&nbsp;<BR>（模拟电路方面还有不小的差距），事情就是这样的，当你安安份份做软件，别人永远认&nbsp;&nbsp;<BR>为你是软件开发人员，在你开始学习硬件时别人未必会认同，有位中兴通讯的朋友还对我说&nbsp;&nbsp;<BR>过，一个人不可能把所有东西都学完。我也明白这一点，但我希望自&nbsp;&nbsp;<BR>己做的更好。但当你熟悉硬件后大家又会觉得你好像原本就是软硬件都懂的，同事们也都&nbsp;&nbsp;<BR>习以为常了。这个时候我可以把硬件资料堂堂正正的拿到公司看，没有人再大惊小怪了。&nbsp;&nbsp;<BR>让我比较自豪的是我通过自己的努力做了一个IAD（软交换的终端设备）系统方案，包含软&nbsp;&nbsp;<BR>硬件的选型、设计等内容，这个方案得到了公司和同事们的认同，让我感到非常欣慰。&nbsp;&nbsp;<BR><BR>技术是相辅相成的，当我的硬件有了一定的进步后，我的软件设计也有了很大的提高&nbsp;&nbsp;<BR>，我可以从更深层次理解问题，我做的接入服务器CPU是Motorola PowerPC860，熟悉的朋&nbsp;&nbsp;<BR>友都知道860 QMC与软件的批量数据传输通常采用BD表的方式，硬件人员做驱动的时候习惯&nbsp;&nbsp;<BR>采用固定BD表，每接收或发送数据都将数据从BD表拷贝到用户Buffer，或从用户Buffer拷&nbsp;&nbsp;<BR>贝到BD表，由于理解的比较深入，我自己重新实现了这个过程，采用动态BD表的方式，驱&nbsp;&nbsp;<BR>动从一个网口接收数据，提交给我的软件进行三层交换，直至从另外的接口发送出去，没&nbsp;&nbsp;<BR>有进行一次拷贝。这样的设计大大提高了性能，使系统的指标接近理论值。软硬件的结合&nbsp;&nbsp;<BR>使我的设计水平上了一个台阶。我现在写的这个操作系统，编译后我把程序反编译成汇编&nbsp;&nbsp;<BR>，找出其中不优化的代码，然后在C程序中进行调整。举个例子，很多CPU没有专门的乘法&nbsp;&nbsp;<BR>指令，这个大家应该都知道，在这种CPU上进行一个乘法操作常常会花费大量的指令周期，&nbsp;&nbsp;<BR>有的朋友会说这个我知道，我会尽量避免采用×号，但是事情往往不是那么简单，你知道&nbsp;&nbsp;<BR>C语言中数组的下标操作是怎么实现的吗？仔细看看反汇编的代码你就会明白，同样是通过&nbsp;&nbsp;<BR>下标的定位操作，C编译器会有时候会产生位移指令，但有时候会用乘法实现，两者效率往&nbsp;&nbsp;<BR>往是天壤之别，所以明白这些问题你才能将系统性能提升到极致。?&nbsp;&nbsp;<BR>些问题就不多说了，有兴趣的话以后可以共同探讨。&nbsp;&nbsp;<BR>话说远一点，我由衷的希望在软件上做的比较深入的朋友们有机会学学硬件以及其它&nbsp;&nbsp;<BR>相关知识，尤其是做底层开发和嵌入式设计的。这对软件技术的提高有非常大的帮助，否&nbsp;&nbsp;<BR>则很多事情你只知道该这样但不会明白为什么该这样。我这个观点在我现在的IC公司Proj&nbsp;&nbsp;<BR>ect Manager那里也得到了验证。他告诉我们公司现在的802.11芯片产品的软件经理原本是&nbsp;&nbsp;<BR>做该芯片硬件设计的，某某某原本是做软件的，现在在做IC，类似的例子还有很多，只是&nbsp;&nbsp;<BR>在国内这样的风气不是非常流行。&nbsp;&nbsp;<BR>我有一些心得体会与大家分享，只有当我干好本职工作后，我才会学习与工作关系不&nbsp;&nbsp;<BR>大的技术，这样公司的上司才不至于反感，在入门阶段的问题我通常不去问那些资深人士&nbsp;&nbsp;<BR>，而是问一些资历比较浅的朋友，比如刚毕业不久的学生，因为他们往往会跟你详细的讲&nbsp;&nbsp;<BR>解，而资深人士通常觉得你的问题太简单，所以回答的也很简单，我又不好意思多问。等&nbsp;&nbsp;<BR>技术上了一定的层次后我才会问他们，他们也能给你比较深入的回答。另外，有些朋友说&nbsp;&nbsp;<BR>我机会比较好，他们也希望能从事新的工作可惜没有机会，我听了只有苦笑，我的机会了&nbsp;&nbsp;<BR>解的人都应该知道，我没有出生在什么IT世家：）也没有谁一路提拔我，所有的路都是自&nbsp;&nbsp;<BR>己走出来的，我母亲去世比较早，我的后母（我叫她阿姨）看着我努力过来的，一次她看&nbsp;&nbsp;<BR>我大年30还在写程序，她说像我这样努力木头都能学出来。&nbsp;&nbsp;<BR>我的最终目的是IC而不是PCB，所以我下一步的准备开始学习IC设计的知识。公司的同&nbsp;&nbsp;<BR>事没有懂IC设计的，后面的路又要靠自己了，我买了不少相关的书，在网上也查了很多的&nbsp;&nbsp;<BR>资料，我花了大量的时间去学习VHDL，并且用软件进行了一些简单的设计和仿真（没有设&nbsp;&nbsp;<BR>计ASIC，只是针对FPGA），随着学习的深入，我渐渐明白了IC设计的基本流程，同时也明&nbsp;&nbsp;<BR>白了这条路的艰辛。这个时候我已经做好了跳槽的准备，我向一家业界又一定知名度的IC&nbsp;&nbsp;<BR>设计公司投了简历，并通过了漫长的面试（4个多小时）。其他的一切我都比较满意，唯独&nbsp;&nbsp;<BR>薪资差强人意，我也明白原因，因为我是这个行业的新人，我没有经验，我再一次将自己&nbsp;&nbsp;<BR>清零了。公司老板问我6000多一个月能不能接受，我知道他也是照章办事。想想我通信行&nbsp;&nbsp;<BR>业的朋友们，基本上都是年薪10万以上，月薪过万的也比比皆是，朋友们也帮我介绍了不&nbsp;&nbsp;<BR>少待遇不错的公司，我该怎么选择，当时我很犹豫，我热爱我的事业，我向往我的追求，&nbsp;&nbsp;<BR>但我也是一个普通的人，我也需要养家糊口，我也想早一点买房买车。生活给我出了一道&nbsp;&nbsp;<BR>难题。&nbsp;&nbsp;<BR>爱因斯坦在63岁时说过“一个人没有在30岁以前达成科学上的最大成就，那他永远都不会&nbsp;&nbsp;<BR>有。”这句话给了我很大的压力和震动，我马上就26岁了，离30只有四年时间，我必须抓&nbsp;&nbsp;<BR>紧这几年宝贵的时间，努力达到我技术上的最高峰。为了这个理想，为了能离自己的梦更&nbsp;&nbsp;<BR>近一些，我选择了这家IC公司，我明白自己的薪资和公司刚进来的硕士研究生相差无几，&nbsp;&nbsp;<BR>但为了今后的发展只能忍受，一切又得重新开始。换行业是一个非常痛苦的过程，尤其从&nbsp;&nbsp;<BR>一个春风得意的位置换到一个陌生的岗位，感觉象从温暖的被子里钻出来跳进冰水中，让&nbsp;&nbsp;<BR>人难以接受。在原来那家通信公司，我是唯一两年时间涨了五次工资的员工，公司和同事&nbsp;&nbsp;<BR>都给了我极大的认可，工作上也常常被委以重任。但现在这一切都成了过去，在新的公司&nbsp;&nbsp;<BR>我只是一个新人,没有人知道也没有人在意我过去的成绩。我决定重新开始，我把自己看作&nbsp;&nbsp;<BR>新毕业的学生，我要用自己的努力得到公司的认可。进入新的行业是非常痛苦的，我告诉&nbsp;&nbsp;<BR>自己必须忍受这一切，虽然外面有很多诱惑，但是既然作出了选择我就不允许自己轻易放&nbsp;&nbsp;<BR>弃。&nbsp;&nbsp;<BR><BR><BR>我现在已经在这家新公司上了一个多月的班，开始非常艰难，现在慢慢适应了。第一&nbsp;&nbsp;<BR>个月结束时，Team Leader找我谈话，说我是新进员工中最优秀的一个，我心里很欣慰，这&nbsp;&nbsp;<BR>也算对我努力的一个肯定吧。在这里还要感谢我的女朋友，她给了我很大的支持和鼓舞，&nbsp;&nbsp;<BR>每次在我动摇的时候她都在鼓励我，让我坚持自己的理想，刚来上海是她让我不要勉强去&nbsp;&nbsp;<BR>做MIS，这次也是她让我顶住了月薪过万的诱惑，没有她我可能不会有今天的成绩。&nbsp;&nbsp;<BR>现在的公司有自己的操作系统，自己的CPU、DSP和其它芯片，在这里我能学到世界上&nbsp;&nbsp;<BR>最先进的技术，我们的设计开发不再完全依赖别人的硬件和系统，这让我很开心。我打算&nbsp;&nbsp;<BR>等工作步入正轨后，全力学习新的知识，实现我的理想。&nbsp;&nbsp;<BR>在后面的两年里我给自己定下了几个目标：&nbsp;&nbsp;<BR>一.努力做好本职工作，在工作上得到公司和同事们的认同；&nbsp;&nbsp;<BR>二.努力学习IC硬件设计知识，多向同事请教，并利用一切机会多实践；&nbsp;&nbsp;<BR>三.实现我的实时操作系统的主要部分，完成TCP/IP协议栈模块，并免费发布源代码；&nbsp;&nbsp;<BR>四.和我女朋友结婚并买一套小房子，这是最重要的，因为我明白事业是可以重来的，但是&nbsp;&nbsp;<BR>珍贵的感情很难失而复得。&nbsp;&nbsp;<BR><BR>在这里提一下我现在开发的操作系统，它是一个实时嵌入式系统，目前支持以下特性：&nbsp;&nbsp;<BR><BR>a.支持时间片轮转调度和基于优先级调度，最多64个优先级；&nbsp;&nbsp;<BR>b.抢占式实时内核；&nbsp;&nbsp;<BR>c.为了便于移植，主体用标准C实现；&nbsp;&nbsp;<BR>d.汇编代码非常少，不到100行；&nbsp;&nbsp;<BR>e.支持任务管理，各任务有独立的堆栈；&nbsp;&nbsp;<BR>f.进程同步和通信目前完成了Semaphore，Message Queue正在调试；&nbsp;&nbsp;<BR>g.实现了定时系统调用；&nbsp;&nbsp;<BR>h.可以在windows上仿真调试&nbsp;&nbsp;<BR>我还打算下一步实现优先级反转保护，Event Flag，Data Pipe，内存管理（以前实现过）&nbsp;&nbsp;<BR>、驱动接口等。&nbsp;&nbsp;<BR>在这之后我还会努力完善它，比如加入文件系统，协议栈、调试接口等。希望朋友们提出&nbsp;&nbsp;<BR>自己的意见和建议，在此不胜感激！&nbsp;&nbsp;<BR>后记：&nbsp;&nbsp;<BR>就像有的朋友说的，我的经历或许会给一些朋友产生误导，在这里我必须说明一下。&nbsp;&nbsp;<BR>我来上海以前学习过于拼命，常常晚上只睡3个多小时，我身高1米71，那时只有108斤（我&nbsp;&nbsp;<BR>现在130多），家人也说我这样拼命活不过60岁，但是当时的我太固执，我对他们说只要能&nbsp;&nbsp;<BR>实现理想活50岁我就够了。那时的拼命使我的身体受到了影响，有一次早上突然腰肌剧痛&nbsp;&nbsp;<BR>难忍，痛的我倒在床上站不起来。虽然我现在已经比较注意，但有时候还会隐隐作痛。后&nbsp;&nbsp;<BR>来在女朋友说服了我，来上海以后我不再如此。我经常引用父亲的一句话“身体是革命的&nbsp;&nbsp;<BR>本钱”。&nbsp;&nbsp;<BR>而且我也发现拼命不是办法，我可以熬一两个通宵，最多的一次我连续工作了三天三夜，&nbsp;&nbsp;<BR>但是我半个月都没有恢复过来，这样是不是得不偿失？学习工作应该是一个长期的过程，&nbsp;&nbsp;<BR>像马拉松而不是百米冲刺。我现在非常注意调整学习和工作的强度，我要保证每天尽量有&nbsp;&nbsp;<BR>相对充沛的精力，一些年轻的朋友觉得自己也应该拼命努力，这让我多少有些担心，如果&nbsp;&nbsp;<BR>我的故事能让你在学习工作上多一点兴趣，我会感到很开心，但如果误导了某些朋友，让&nbsp;&nbsp;<BR>你做一些不值得的付出，我会感到很内疚。&nbsp;&nbsp;<BR>技术没有贵贱只分，我以前换行业是因为自己的兴趣所致，而不是对哪个行业有什么&nbsp;&nbsp;<BR>偏见。我希望我的经历不要给朋友一个错误的导向，觉得我始终向更高的技术发展。其实&nbsp;&nbsp;<BR>各行各业做到顶尖都是很困难的。话又说回来虽然技术没有贵贱，但是门槛是有高低的，&nbsp;&nbsp;<BR>无论如何，做IC的门槛要比做网页的高，这一点无可否认。国家各种人才都是需要的，但&nbsp;&nbsp;<BR>是作为个人奋发向上的想法还是应该有的，努力在自己喜欢的行业上做的更好，而不应该&nbsp;&nbsp;<BR>停留在比较肤浅的层次上。&nbsp;&nbsp;<BR>我是一个自己觉得比较有自知之明的人，或许我最大的优点就是知道自己有很多缺点&nbsp;&nbsp;<BR>：）。我的故事中很多的曲折和错误都是由我的缺点造成的，希望大家用审慎的眼光看待&nbsp;&nbsp;<BR>我的经历，不要被我的“花言巧语”所迷惑。我学习有些随心所欲，这给我带来了无尽的&nbsp;&nbsp;<BR>麻烦，也大大阻碍的我的发展。记得我小时候成绩比较出色，但是后来学习严重偏科，导&nbsp;&nbsp;<BR>致我中学成绩一再滑坡，也没有考上什么好的学校，小时候的一个朋友，当时的成绩和我&nbsp;&nbsp;<BR>相仿，但是没有我这个缺点，她上了清华，后来在去了美国深造，在一个著名导师手下研&nbsp;&nbsp;<BR>究理论科学，这未尝不是一条更好的出路。另外我的学习方法也是在不断改善中的，过去&nbsp;&nbsp;<BR>的学习过于讲究数量和时间，那样学习既苦而已效率不高，现在我非常注意学习的效率和&nbsp;&nbsp;<BR>技巧，这样才是学习的捷径（当然不是指投机取巧），比如说学一相对陌生的技术，如果&nbsp;&nbsp;<BR>有条件，不妨问一问有经验的人，不需要问很多，往往他不经意的几句话会给你非常大的&nbsp;&nbsp;<BR>帮助，甚至超过你看一个星期的书。带着这样的思想再去学习你会节省很多时间，这样何&nbsp;&nbsp;<BR>乐不为呢？这些年中我学了不少的东西，由于开始非常盲目，所以学的东西杂乱无章，现&nbsp;&nbsp;<BR>在回想起来让我啼笑皆非，我把大量的时间浪费在一些没有必要深入了解的知识上，毕竟一&nbsp;&nbsp;<BR>个人的精力是有限度的。很多朋友很我一样都背过五笔字形，的确它?&nbsp;&nbsp;<BR>且 个不错的输入法，但是对一个研发人员它绝对不值得你去背，你的时间应该花在有价?&nbsp;&nbsp;<BR>的地方。我这样的事情还做过很多，我背过CCED、WPS的命令和快捷键，在dBase基本退出&nbsp;&nbsp;<BR>历史舞台后我还花了很多时间去学习它的使用。所以我的学习在前期缺乏规划，没有明确&nbsp;&nbsp;<BR>的短期目的、中期目标，只有一个虚无飘渺的长期的理想。这就像做设计一样，好的设计&nbsp;&nbsp;<BR>是从需求抽象到代码有很多过程，而不能得到了需求就立刻开始开始编码。&nbsp;&nbsp;<BR>当然这么些年的学习和工作多多少少有些收获，下面我说说我的一些学习的心得，这&nbsp;&nbsp;<BR>些方法未必正确，我也在不断探索和改进中。我的学习和工作有相对明确的目标，我不会&nbsp;&nbsp;<BR>一时心动而去学习某一技术，在下决定之前我会考虑很多，包括长期的发展，个人路线的&nbsp;&nbsp;<BR>规划，需要付出的代价、可能遇到的困难及解决的办法等等，在决定后还会制定更加明确&nbsp;&nbsp;<BR>的计划，包括短期、中期和长期的，身边可以利用到的资源（包括好的书籍、资料、软硬&nbsp;&nbsp;<BR>件环境，也包括有经验的朋友或者师长），以及每一个阶段是怎么过渡到高一阶段的计划&nbsp;&nbsp;<BR>，往往在一个学习阶段一旦上路后会走的相对顺利，但是跨阶段通常比较麻烦，比如从学&nbsp;&nbsp;<BR>习基础知识转到实践。另外我买书也有自己的方法，现在世面上高质量的书远不如低质量&nbsp;&nbsp;<BR>书多，对于一个陌生的技术，往往在第一次买书会选择错误，即使买到一本好书但是它的&nbsp;&nbsp;<BR>方向也未必适合你，所以我通常会先在网上查找一些该技术的介绍，有了一点点概念后再&nbsp;&nbsp;<BR>去买一本比较薄、相对便宜并且内容相对泛泛而谈的书，这是国内作者最善于写的书：）&nbsp;&nbsp;<BR>，再把它浏览一遍后我就会基本明白这门技术的要点，后面买书和制定计划就会明确的多&nbsp;&nbsp;<BR>。否则一开始就想找本好书往往比较困难，而且买回来后努力学习，有时候学了一半才发现&nbsp;&nbsp;<BR>是本低质量的书或者是相对过时技术，让人非常懊恼。另外让有经验?&nbsp;&nbsp;<BR>人帮你介绍，通常也是一个不错的选择。&nbsp;&nbsp;<BR>有些朋友想学通信、嵌入式开发，但总觉得自己没有软硬件环境，我就按我的了解给&nbsp;&nbsp;<BR><BR>大家介绍一下怎么建立这样的环境，当然我了解的只是我学习和工作的方向。通信我做的&nbsp;&nbsp;<BR>是数据网方面的工作，包括TCP/IP、二三层交换、对接入网、H.323和软交换也有一点认识&nbsp;&nbsp;<BR>。这些软硬件环境都是可以在PC上构建的。你甚至可以在一个没有网卡的PC上建立一个包&nbsp;&nbsp;<BR>含多个路由器、接入服务器、VoIP网关、网守、主机等的仿真网络环境，而且与实际的网&nbsp;&nbsp;<BR>络相当接近，当然这需要你有清晰的网络概念和一定的网络知识，我一直在努力开发一套&nbsp;&nbsp;<BR>软件将这个过程简化，目前试验已经做完，我可能会将它融入我的操作系统外围扩展软件&nbsp;&nbsp;<BR>中。这样的方法我无法用简单的语句讲的很清楚，我可以说一下大概的思想，就是在PC上&nbsp;&nbsp;<BR>实现仿真网卡，（知道Windows怎么在没有网卡的机器实现虚拟网卡技术的朋友都应该会明&nbsp;&nbsp;<BR>白），然后每一个仿真网卡对应一个虚拟设备，如路由器或者主机。你也可以借助第三方&nbsp;&nbsp;<BR>工具完成部分工作，如VmWare等。我现在就是利用一个仿真网卡做自己的开发的。&nbsp;&nbsp;<BR>至于嵌入式开发环境更加容易实现，PC就是一个非常大的硬件平台，现有的嵌入式操&nbsp;&nbsp;<BR>作系统通常都支持X86，你可以在上面做开发，通过软盘Boot或者使用虚拟机装载，我用V&nbsp;&nbsp;<BR>xWorks做了试验，在一台PC上跑Windows和VxWorks两个系统。另外Windows上的兼容DOS的&nbsp;&nbsp;<BR>16位仿真X86环境也为很多操作系统提供了绝佳的试验环境，我的操作系统在Windows上就&nbsp;&nbsp;<BR>是这样实现的。Linux在嵌入式中应用也比较广泛，它在网上有大量的资料，而且也相对比&nbsp;&nbsp;<BR>较容易实践。同时很多完善的嵌入式开发环境支持软件仿真，如Tornado、WinCE等。</TD></TR></TBODY></TABLE></P>]]></description>
</item>
</channel>
</rss>