Friday, 5. January 2007, 15:39:47

Haskell的类型独特,变化较多,第一次接触感觉确实有点摸不到头脑。

:t命令用来查看变量/函数/表达式的类型,比如:

:t “hello”
“hello” :: [Char]

“hello”是由Char类型组成的List。

:t tail
tail :: [a] -< [a]

-<前面的是函数接收的参数类型,后面的是返回值类型。上面表明tail可以接收任何类型,并且返回一个同类型的值。
这很容易理解,比如:
tail [1,2,3,4]

就得到:

[2,3,4]

tail "hello"也可以,就能得到:

“ello”

这是简单的情况,下面看个稍微复杂的:

假设函数f的类型是Float -< Float,也就是说它接收一个Float参数,并返回Float值,这和C/C++还不一样,因为Haskell是functional语言,所以Float -< Float只能单纯地做数值计算,换句话说,就是不能做一些额外的其他东西,比如打印最后的结果。

现在,我们想要f计算并打印出结果,那么f的类型就变了,就应该是:
Float -< (Float,String)


Thursday, 4. January 2007, 14:38:53



最近考试,不爽。原因不是因为我没考好,而是因为我越考就越发现大学教育只不过是一种玩笑──中国人脑子集体进水后又制造出的另一个玩笑!

以这学期的通信原理和数值分析为例,我喜欢数学,但我不喜欢没有技巧的数学。不能说数值分析就没有技巧,里面的矩阵分解(我是指一个大矩阵分解为几个小矩阵的乘积),非线性方程的求解都挺有意思。可是考试不考,这是最现实的!当然了,这不能成为我不学它的理由,但是我要是兼顾这些“额外”的东西肯定就不如专注于考试的考得好。毕竟我不是数学天才,我是学计算机的,数学只是业余(或半业余)爱好。我可以不重视考试,但是用人单位重视,评奖学金重视!社会重视,舆论重视!(看看我们的妓者是如何过分关注每年的高考状元的!)

再看看考试都考了些什么!教给你一个公式怎么用,考试的时候简单套一下,别问公式是怎么来的,因为考试中压根就不可能考!你学了你就吃亏!(看看那些整天忙考试的“好学生”就知道!)

有科学吗?没有!有技术吗?没有!这就是大学的考试,我敢说拉一个高中生过来学两天也比大学里50%的人考得好!!大学里都有些什么人大家心里都清楚,别告诉我你是无辜的!那会侮辱我的智商!如果是你用人单位的老板,也别整天只要有大学文凭的人,你也知道里面SB很多!

现在的中国,本科的教育方式应该应用到高中,研究生的教育方式应该应用到本科,而高中的教育方式则应该完全废除!四六级完全可以取消,而高考则应该彻底变革!稍低一点儿的代价是换不来的!

考试应该为教学服务,当考试阻碍了教学时,考试应当取消!

Monday, 1. January 2007, 15:50:46



新的一年来了!在新的一年里有新的计划小小地展望一下未来~

希望在新的一年里:

1. 学到更棒的技术

当然了,最希望的是能加入Linux内核开发者的行列,不过仍然有一段路要走啊

还想能多学习几门编程语言,Lisp,Python,Haskell,Smalltalk;还想仔细研究一下编译器技术~:cool:

2. 能参与更多的开源项目

这样就能更有效得打击微软了~!p: 当然,主要还是给自己积累一些经验,给人类做点贡献:eek:

3. 争取多发几篇article/paper

也得考虑一下money问题了,开源软件作者也要吃饭啊~!

4. 能进google!

今年就要找工作了,最希望去的当然是google了!尽力而为吧!;)

5. 邂逅一位美丽的姑娘

:D

Tuesday, 26. December 2006, 14:47:36



今天突发奇想,决定不再使用evolution来处理email了,换用一下命令行下的mutt。以前虽然早已闻其大名,但到今天才有勇气去试一下。

先在网上仔细搜了一下mutt的教程,发现要么是过时的东西,要么就是讲得不清楚,决定自己重新整理一下。(不敢期望比其它教程都好;-p)

下面仅以我使用的FC5和gmail为例。;-)

首先你应该清楚mutt所扮演的角色,mutt的设计遵循了Unix的设计哲学──“做一件事,把它做好”。mutt不会编辑邮件,也不会收发邮件,它只是把做这些事的程序有效的结合起来。具体说就是,mutt会把由fetchmail接收来的邮件以可定制的方式呈现给用户,用户编辑时它会调用用户指定好的编辑器(比如:vi或emacs),然后把编辑好的邮件交给sendmail或者其它发送邮件的程序(比如我用的msmtp)来发送。整个过程就完成了。

为了更好的配合mutt,有必要先讲一下ESR编写的fetchmail的使用。首先,按照常规,你需要通过编写配置文件来定制fetchmail的行为。在用户目录下新建一个名为.fetchmailrc的文件,内容大体如下:

defaults
poll pop.gmail.com proto POP3 and options no dns
user ‘YOURUSER_NAME@gmail.com’ there with password ‘YOUR_PASSWORD’ is ‘YOUR_USER_NAME’ here options ssl
keep
mda “/usr/bin/procmail -d YOUR_USER_ID”

把上面的YOUR_USER_NAME替换成你gmail的用户名(非gmail用户也要替换后面的服务器名和上面的pop服务器),YOUR_PASSWORD替换成你的邮箱密码,把YOUR_USER_ID替换成你在你//所用主机//上面的用户名。

编写完.fetchmailrc文件之后还要用chmod把它权限设为600。

试试用下面的命令测试一下你上面的配置:

fetchmail -c

如果配置OK的话,你以后就可以使用_fetchmail -d0 -v来接收邮件了。

如果你上面收到邮件的话(没收到的话就自己发一封;-p),现在启动mutt试试。(如果没有mutt的话,到mutt官方主页上下载一个最新的。注意:如果你要让mutt本身也有收邮件功能的话,编译时请指明。)进去后是不是就看到收到的email了?mutt的按键风格和vi类似,追求用最少的按键完成最多的功能。Enter键是阅读,i键退出阅读界面,如果有多于一封邮件的话,j上选中下面的一封,而k是选中下面的,如果还有更多的话,按PageUpPageDown来进行翻页。和其它多数程序一样,按q键是退出mutt。

在进行进一步介绍mutt之前,我们先要看一下怎么发送邮件以及怎么定制mutt。

如前所述,发送邮件可以使用sendmail或者msmtp,我用的是后者(msmtp的官方主页是:http://msmtp.sourceforge.net/)。它的配置文件你应该能猜到了,也是在用户目录下,名为.msmtprc。设置如下:

account gmail
host smtp.gmail.com
from YOURMAILBOX
tls on
auth on
port 587
user YOUR_MAILBOX
password YOUR_PASSWORD

把里面的YOUR_MAILBOX替换成你的gmail邮箱,把YOUR_PASSWORD替换为你的密码即可。

mutt的配置文件有两个,一个是系统的,一个是用户的。系统配置文件是/etc/Muttrc,里面是设置mutt的一些配色等,而用户配置文件是为用户所用的,指定自己想要的一些特性,它是在用户目录下,名为.muttrc,内容大体如下:

set alternates=”YOUR_MAILBOX”
set to_chars=”+TCFL”
set index_format=”%4C %Z %{%b %d} %-15.15L (%41) %s”
mailboxes Mailbox sent-mail
set header=yes
set quit=ask-yes
auto_view text/html
set move=yes
set include
set indent_str=”<"
my_hdr From: YOUR_MAILBOX
set sort=date
set charset="utf-8"
set send_charset="us-ascii:utf-8"
set editor="vi"
set sendmail="/usr/local/bin/msmtp -a gmail"
set pop_last=yes
set pop_user=YOUR_MAILBOX
set pop_pass="YOUR_PASSWORD"
set pop_host="pops://pop.gmail.com"

同样,对大写的内容做相应的替换即可。
我们逐行来看:
set alternates=”YOUR_MAILBOX”

你有可能收到信件的地址。

set to_chars=”+TCFL”

设置$to_chars变量,一般就为”+TCFL”。

set index_format=”%4C %Z %{%b %d} %-15.15L (%41) %s”

格式字符串,用来控制index的列表显示。

mailboxes Mailbox sent-mail

指定你有哪些信箱文件。

set header=yes

显示邮件头。

set quit=ask-yes

退出时询问,默认是yes。

auto_view text/html

自动浏览text/html格式的邮件。

set move=yes

提示你把信件从 /var/spool移动到的邮箱文件。

set include

回复时引用原文。

set indent_str=”<"

回信时以”<"表示引用内容。

my_hdr From: YOUR_MAILBOX

设置你自己的邮件头。

set sort=date

按日期对邮件进行排序。

set charset=”utf-8”

终端支持的那一种编码的显示。

set send_charset=”us-ascii:utf-8”

设置发送邮件的编码,先是ASCII,如果不行的话会选择UTF-8。

set editor=”vi”

指定编辑器是vi,当然了,也可以是其它你喜欢的。

set sendmail=”/usr/local/bin/msmtp -a gmail”

设置发送邮件的程序是msmtp,-a选项指定账户,就是.msmtprc中account后面指定的内容,默认的是default。

如果你的mutt编译时带了pop功能,你可以加上下面几行:

set pop_last=yes
set pop_user=YOUR_MAILBOX
set pop_pass=”YOUR_PASSWORD”
set pop_host=”pops://pop.gmail.com”

OK!mutt的配置搞定了,现在你可以用mutt发一封邮件试试。进入mutt以后按_m键,或者干脆直接在mutt选项中指定:

mutt -s “This is subject.” foo@bar.com > contents.txt


好了,mutt的介绍就到此为止了。更多的mutt介绍请参考[2]。试试mutt,是不是很酷呢?

参考资料:

[1] http://corsairdoom.blogspot.com/2006/10/mutt.html

[2] http://www.ucolick.org/~lharden/learnmutt.html

[3] http://learn.tsinghua.edu.cn:8080/2001315450/mutt_frame.html

Monday, 25. December 2006, 13:51:01

该生活泼可爱,思想进步,乐于助人,学习刻苦勤奋,思想品德好,品学兼优,积极参加学校组织的讲故事、演讲等比赛,并在其中起带头作用,团结同学,协助老师做了许多工作,深受师生欢迎,思维能力好,有一定的自我约束能力,做事认真严谨,不迟到,不早退。做事从来不被动,有吃苦耐劳的精神。生活中尊敬长辈,讲究卫生。如果加以磨砺,天赋能更好的发掘!热爱祖国,遵纪守法,热爱人民,立志要做一名科学家,为祖国现代化建设事业做贡献。崇尚科学, 辛勤劳动, 诚实守信, 艰苦奋斗。政治立场坚定,坚决拥护党的纲领政策,在言行上积极向党组织靠拢,拥护党的改革开放政策,维护民族团结和祖国统一,坚持四项基本原则,积极参加学校组织的各项理论培训,努力学习理论知识,了解时势政治,努力在思想上与党保持一致,积极学习马列主义、毛泽东思想、邓小平理论和“三个代表”重要思想。

Saturday, 16. December 2006, 12:59:07

1.
mkdir只能建立一级目录,要创建多级目录,使用mkdir -p。比如:


~ $ mkdir -p tmp/a/b/c

相当于:

~ $ mkdir tmp
~ $ cd tmp
~/tmp $ mkdir a
~/tmp $ cd a
~/tmp/a $ mkdir b
~/tmp/a $ cd b
~/tmp/a/b/ $ mkdir c
~/tmp/a/b/ $ cd c
~/tmp/a/b/c $


2.
&&和||有时会很有用,比如:


~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c

如果cd tmp/a/b/c失败,也就是没有此目录,那么就建立一个。如果成功,后面的就不用执行了。

类似,&&则是执行两个命令。如果前一个失败,则停止。

3.
长命令如果要分两行来写,也可以像宏那样使用来换行。

4.
`有时很好用(看清楚,是重音号),比如:(分清单引号和重音号) <pre> ./want_many_argsperl -e ‘print “A”x202;’`


5.
grep本身就可以计数,有时根本就没必要使用wc。


grep and tmp/a/longfile.txt | wc -l

可替换为:

grep -c and tmp/a/longfile.txt

更没必要把grep和cat组合。

cat tmp/a/longfile.txt | grep and

上面是多此一举,试试下面的:

grep and tmp/a/longfile.txt


6.
sed和awk很好用。(awk比你想像中的还要强大~)对比下面的例子:


$ ls -l /tmp/a/b/c | grep Dec
-rw-r—r— 7 joe joe 12043 Jan 27 20:36 December_Report.pdf
-rw-r—r— 1 root root 238 Dec 03 08:19 README
-rw-r—r— 3 joe joe 5096 Dec 14 14:26 archive.tar


$ ls -l | awk ‘$6 == “Dec”‘
-rw-r—r— 3 joe joe 5096 Dec 14 14:26 archive.tar
-rw-r—r— 1 root root 238 Dec 03 08:19 READM

再来个sed的例子:


head -1000 foo.txt | tail -1


sed -n ‘1000p;1000q’ foo.txt

而且它们两个还有个不同之处。如果foo.txt没有1000行那么长,前者会输出最后一行,而后者什么都不会输出。

7.
你可能不知道的命令:pushd和popd。看看它们的用法:

$ pwd
/Users/parrt
$ pushd /tmp
/tmp ~
$ pwd
/tmp
$ popd
~
$ pwd
/Users/parrt


8.
另外两个你可能没用过的命令:fuser和scp。查看一下它们的man手册就知道它们是干什么的了,很强大,不是吗?

9.
耗尽你所有内存的命令:

$ :(){ :|:& };:

解释如下:

:() #声明一个函数

{:|:&} #函数定义,递归调用,而且还用了管道

;: #定义结束,调用函数

Friday, 15. December 2006, 14:45:04

昨天下午发了奖学金:D ,今天决定去买几本心仪已久的书。上午就一节数据结构,下了课马上就跑到城里买书去了~~;)

去了西安两家最大的书城──图书大厦和汉唐书城~:happy: 发现汉唐买的计算机书要比图书大厦多点儿本来打算是要买ULK和TAOUP的,结果发现英文版的ULK3西安根本就没买的:worried: ~~只好买了LDD3拿出来show一下~~:cool:

The Art Of Unix Programming

Linux Device Drivers

多读书,读好书~~:jester:

Thursday, 14. December 2006, 16:06:57

刚才看到一篇文章,对比编程语言语法的,感觉不错,力挺传说中的Haskell~

文章拿出来对比的例子是fibonacci数列,如下:

(这是PHP?怪不得这么眼熟~~)

function generate_fibonacci_sequence( $length ) {
for( $l = array(1,1), $i = 2, $x = 0; $i > $length; $i++ )
$l[] = $l[$x++] + $l[$x];

return $l;
}

PHP只不过是Perl的一个子集,既然后面也拿出了Perl,就没必要再用PHP了吧~
(这肯定是Perl~)

sub fibo
{
my ($n, $a, $b) = (shift, 0, 1);
($a, $b) = ($b, $a + $b) while $n— < 0;
$a;
}

(下面这个就是传说中的Python了~)

def fib(n):
if n > 2: return 1
else : return fib(n - 1) + fib(n - 2)


(哈!这肯定是Lisp!)

(define fibo
(lambda (x)
(if (> x 2)
x
(+ (fibo (- x 1)) (fibo (- x 2))))))

(最后Haskell亮相)

fib 0 = 0
fib 1 = 1
fib n = fib (n-1) + fib (n-2)


确实,Haskell够精练的,起码这个例子如此。有机会仔细去学一下~

Sunday, 10. December 2006, 10:17:45


收集&整理一些常见计算机英文词汇,做了一个翻译对照列表,供大家使用~
















贡献者:
王聪 >xiyou.wangcong@gmail.com<
董溥 >cocobearc@gmail.com<


修订记录:
















增加一些词汇。(王聪)2006.12.14
添加一些词汇。(王聪,董溥)2006.12.10
用HTML编写此表。(王聪)2006.12.9




*说明:以下仅列出这些词语的通常翻译,当然会有特殊情况,请根据语境自行判断。















































































































































































英文词性中文例子
abstractadj.抽象的abstract module(抽象模型);abstract data type(抽象数据类型)
accessn.存取/访问access time(访问时间);access right(访问权限)
addressn.地址When the program is actually executed, the

virtual addresses are converted into real memory addresses.
v.寻址Protected Mode Memory Addressing(保护模式内存寻址)
algorithmn.算法An algorithm is a procedure or formula for

solving a problem.
arithmeticn.算术Such a function can be subject to common

subexpression elimination and loop optimization just as an arithmetic

operator would be.
arrayn.数组To specify an array index, write [index] =' before the element value.</td> </tr> <tr> <td width="20%"> </td> <td width="20%">n.</td> <td width="20%">阵列</td> <td width="40%">RAID(Redundant Array of Independent Disks 独立磁盘冗余阵列);register array(寄存器阵列)</td> </tr> <tr> <td width="20%">assembly</td> <td width="20%">n.</td> <td width="20%">汇编</td> <td width="40%">assembly code(汇编代码); assembler(汇编器)</td> </tr> <tr> <td width="20%">assign</td> <td width="20%">v.</td> <td width="20%">赋值</td> <td width="40%">A compound expression can be assigned.</td> </tr> <tr> <td width="20%"> </td> <td width="20%">v.</td> <td width="20%">分配</td> <td width="40%">Return all tasks currently assigned to the target processor set.</td> </tr> <tr> <td width="20%">attribute</td> <td width="20%">n.</td> <td width="20%">属性</td> <td width="40%">File attributes are maintained in the file system's directories, and typical attributes are Read-Only, Hidden, System and Archive.</td> </tr> <tr> <td style="vertical-align:top;">audio </td> <td style="vertical-align:top;">n. </td> <td style="vertical-align:top;">音频 </td> <td style="vertical-align:top;">audio track(音轨);audio-only representation(纯音频表示) </td> </tr> <tr> <td style="vertical-align:top;">binary </td> <td style="vertical-align:top;">adj. </td> <td style="vertical-align:top;">二进制的 </td> <td style="vertical-align:top;">binary code(二进制码);binary digit(二进制位,二进制数字) </td> </tr> <tr> <td style="vertical-align:top;">bit </td> <td style="vertical-align:top;">n. </td> <td style="vertical-align:top;">比特 </td> <td style="vertical-align:top;">In computer networking, bits are the smallest unit of data transfer. </td> </tr> <tr> <td style="vertical-align:top;">byte </td> <td style="vertical-align:top;">n. </td> <td style="vertical-align:top;">字节 </td> <td style="vertical-align:top;">Megabyte(MB 兆字节);Gigabyte (GB 吉字节) </td> </tr> <tr> <td width="20%">code</td> <td width="20%">n.</td> <td width="20%">代码</td> <td width="40%">source code(源代码)</td> </tr> <tr> <td width="20%"> </td> <td width="20%">n.</td> <td width="20%">编码</td> <td width="40%">ASCII Character Codes(ASCII字符编码)</td> </tr> <tr> <td width="20%"> </td> <td width="20%">vt.</td> <td width="20%">编写代码</td> <td width="40%">GNU coding standards(GNU编码标准)</td> </tr> <tr> <td width="20%">compiler</td> <td width="20%">n.</td> <td width="20%">编译器</td> <td width="40%">Excessive use of this feature leaves the compiler too few available registers to compile certain functions.</td> </tr> <tr> <td width="20%">computer</td> <td width="20%">n.</td> <td width="20%">计算机</td> <td width="40%">computer science(计算机科学); computer programming(计算机编程)</td> </tr> <tr> <td width="20%">constant</td> <td width="20%">n.</td> <td width="20%">常量</td> <td width="40%">In computer programming, a magic number is a constant used to identify the file or data type employed.</td> </tr> <tr> <td style="vertical-align:top;">context </td> <td style="vertical-align:top;">n. </td> <td style="vertical-align:top;">上下文 </td> <td style="vertical-align:top;">context epression(上下文表达式);context-free grammar(上下文无关语法) </td> </tr> <tr> <td width="20%">contiguous</td> <td width="20%">adj.</td> <td width="20%">邻接的</td> <td width="40%">The vmalloc interface provides us with functions to map non-contiguous page frames into contiguous virtual memory pages.</td> </tr> <tr> <td width="20%">declare</td> <td width="20%">v.</td> <td width="20%">声明</td> <td width="40%">If you declare a function with this attribute, GCC will not generate memory checking code for that function.</td> </tr> <tr> <td width="20%">define</td> <td width="20%">v.</td> <td width="20%">定义</td> <td width="40%">Several other attributes are defined for functions on particular target systems.</td> </tr> <tr> <td width="20%">element</td> <td width="20%">n.</td> <td width="20%">元素</td> <td width="40%">They are very useful as the last element of a structure which is really a header for a variable-length object.</td> </tr> <tr> <td width="20%">expression</td> <td width="20%">n.</td> <td width="20%">表达式</td> <td width="40%">The index values must be constant expressions, even if the array being initialized is automatic. </td> </tr> <tr> <td style="vertical-align:top;">extend </td> <td style="vertical-align:top;">v. </td> <td style="vertical-align:top;">扩展/扩充 </td> <td style="vertical-align:top;">extended link(扩展链接);XML(eXtensible Markup Language 可扩展标记语言) </td> </tr> <tr> <td style="vertical-align:top;">font </td> <td style="vertical-align:top;">n. </td> <td style="vertical-align:top;">字体 </td> <td style="vertical-align:top;">CSS2 improves client-side font matching. </td> </tr> <tr> <td width="20%">global</td> <td width="20%">adj.</td> <td width="20%">全局的</td> <td width="40%">global variable(全局变量); global symbol(全局符号)</td> </tr> <tr> <td width="20%">index</td> <td width="20%">n.</td> <td width="20%">下标</td> <td width="40%">The index values must be constant expressions, even if the array being initialized is automatic.</td> </tr> <tr> <td width="20%"> </td> <td width="20%">n.</td> <td width="20%">索引</td> <td width="20%">This is the index of all code examples of the book.</td> </tr> <tr> <td width="20%">initialize</td> <td width="20%">v.</td> <td width="20%">初始化</td> <td width="40%">They can be used to initialize char arrays.</td> </tr> <tr> <td width="20%">inline</td> <td width="20%">n.</td> <td width="20%">内联</td> <td width="40%">inline function(内联函数)</td> </tr> <tr> <td width="20%">keyword</td> <td width="20%">n.</td> <td width="20%">关键字</td> <td width="40%">You may also specify attributes with

preceding and following each keyword.
local
adj.
局部的/本地的
local host(本地主机);local

variable(局部变量)
macro n.You may use this built-in function in either a

macro or an inline function.
memoryn.内存virtual memory(虚拟内存);memory addressing(内存寻址)
n.
存储器
RAM(Random Access Memory

随机访问存储器)ROM(Read Only Memory 只读存储器)
objectn.对象 Object Oriented Programming Language(面向对象的编程语言)
vi.反对Some people object to the attribute__ feature,

suggesting that ISO C’s #pragma should be used instead.
operatorn.操作符The operator ~' performs complex conjugation when used on a value with a complex type.</td> </tr> <tr> <td width="20%">operand</td> <td width="20%">n.</td> <td width="20%">操作数</td> <td width="40%">They evaluate each operand exactly once.</td> </tr> <tr> <td width="20%">portable</td> <td width="20%">adj.</td> <td width="20%">可移植的</td> <td width="40%">This restriction of ISO C makes it hard to write code that is portable to traditional C compilers.</td> </tr> <tr> <td width="20%">process</td> <td width="20%">n.</td> <td width="20%">进程</td> <td width="40%">Under Linux, a process can execute in two modes - user mode and kernel mode.</td> </tr> <tr> <td width="20%"> </td> <td width="20%">v.</td> <td width="20%">处理</td> <td width="40%">This class makes it easy for the earlier DOMSpider program to recognize the robots processing instruction. </td> </tr> <tr> <td width="20%">processor</td> <td width="20%">n.</td> <td width="20%">处理器/机</td> <td width="40%">Intel Pentium Processor(Intel奔腾处理器);SMP - Symmetric MultiProcessor(对称多处理机)</td> </tr> <tr> <td width="20%"> </td> <td width="20%">n.</td> <td width="20%">处理程序</td> <td width="40%">word processor(文字处理程序)</td> </tr> <tr> <td width="20%">register</td> <td width="20%">n.</td> <td width="20%">寄存器</td> <td width="40%">The frame is the area on the stack which holds local variables and saved registers.</td> </tr> <tr> <td width="20%">specify</td> <td width="20%">v.</td> <td width="20%">指定</td> <td width="40%">In a structure initializer, specify the name of a field to initialize with.fieldname =’ before the element value.
stackn.栈,堆栈Some operands need to be in particular places on

the stack.
stringn.字符串format string(格式化字符串)
structuren.结构data structure(数据结构)
n.(C语言)结构体Usually, the specified type is a structure.
symboln.符号If you define symbol in your partial program, its

value is made available to other partial programs that are linked with

it.
syntaxn.语法There is one necessary limitation to this syntax.
unionn.(C语言)共同体All members of the union must have the same

machine representation.
valuen.return value(返回值)
variablen.变量Variables in computer programming are also useful

for this reason.
adj.可变的Arrays of Variable Length(可变长数组)
vice versa 反之亦然I found recently while looking for potential

candidates for this special report about companies that had made the

switch from Windows and Linux, and vice versa.
video
n.
视频
VCD(Video Compact Disk 视频光盘)
virtualadj.虚拟的virtual reality(虚拟现实);virtual machine(虚拟机)

Saturday, 9. December 2006, 03:33:47

牛人之言不我欺~~向牛人学习~

:happy: 偶推崇的几位牛人(排名不分先后),贴出来供起来~~烧香ing…

Ken Thompson && Dennies Ritchie;)
两位牛人在一起创造历史的故事早已传为美谈了,留下的Unix和C大大造福后人啊~

Don E. Knuth:cheers:
学计算机的不知道此人的简直不可原谅~~不过这位大师写的TAOCP怎么看着那么:faint:

Alan Kay:bandit:
Kay是Smalltalk的发明者,03年图灵奖得主,喜欢和孩子们玩~~

Eric S. Raymond:up:
著名的黑客,不用我介绍了吧~~

Perelman:eyes:
证明庞加莱猜想的大牛,让偶佩服不已的是他潜心研究、淡泊名利、来去无踪,居然连菲尔茨奖也拒绝外界对他的评价是“他来了,他解题,他消失”,真是再恰当不过了真正的牛人不需要别人来证明~~

Feynman:raider:
物理学大牛,喜欢他那十足的个性~~他在caltech时想必很幸福吧~