名称,只是一个代号。 ——古龙
关于名称,我很喜欢古龙的见解与说法。
桌子?地球?和编程有什么关系?听着很有意思,而事实却远非如此,因为它们之间几乎没有什么联系。但是它们间却确实存在着一定的联系,不然,本文就不会出现了。
请问,你平时上课用的四条腿的家伙为什么叫桌子? 那么,再请问,初中地理书上有地球也叫水球之说,那为什么当你听到水球时想不到我们可爱的地球母亲,而听到地球时却能立刻想到大地球呢?而同样为什么我们生存的这个大星球就叫地球? 这些都不难,因为我们在很年少的时候爸爸妈妈就告诉我们一些“常理”,如那个是板凳、这个是筷子、那个是理发店等等之类。
不知你们有没有上述类似的问题。常见的如“这个东西为什么叫这个名字?" 听着像在钻牛角尖,但这样看似无聊的问题也不无一定的道理的。若真是要问个为什么,恐怕比十万个为什么还要难以回答。 还是那一句,而这都是为什么呢?! 世上的事总是很奇怪也很美妙,以前的问题当时不一定能解决,但可能在多年之后你还会遇到它。缘分,命运?这都说不好。
说一个发生在我身上的小事。
我有高三之前一直很钻牛角尖于上面为什么这个东西叫这个名字的问题。但在高三却有个人把我从死胡同里拉了出来。 高三的英语老师叫王来民。有次他有给我们讲解某英语语法时忽然指着黑板说“为什么这个东西叫黑板?”,又指着饮水机说“为什么这个玩意儿叫饮水机?”还没等我们回答,他就已经替我们回答了——“没有为什么?!这个东西就叫黑板,那个东西就叫饮水机!没有原因,这是一种约定俗成的概念!你若问为什么相信很难有人能解决这个问题。” 听到没?约定俗成!对于我们大众来说,我们只需要知道“是什么名字”够了,“为什么是这个名字”则不是我们要考虑的内容。我们只要会用就足够了。
而在编程初期(注意是初期),这种“只要会用就够了”就显示异常重要。如C语言中的一条语句
int n = 0;
它表示定义一个整型变量n并初始化其值为0。
初学者经常会问“为什么要这样写?为什么我要写int,而不是其它的单词?(说来更奇怪,若定义一个变量用integer n = 0,没准儿还有人会问为什么不是int而偏偏用integer?!)
很多人会不平,这些不平的人就在钻牛角尖,不过钻这种牛角尖毫无意义。但我也理解这些人的想法——我为什么要听从别人设定的模式?!慢着,接下来我将告诉你可以让你发泄的方法[1]——让别人听从你设定的模式!好一批逆天者!
我们只好认命:就是这样规定的。越早接受这种“现实”对我们编程越有利。追溯那些为什么只会浪费我们的时间(若从事专业学科研究则例外)。相对而言,一行代码有什么作用、会产生什么效果才更应该是我们关心的。
[1]:在你的代码中用类似如下:
int option = 0;
printf("input your choice:");
scanf("%d", &option);
if(option == 5)
{
}
else
{
}
若用户输入的不是5,我们就可以各种发泄了是不是?但我们写程序是为了让程序变为软件,并让其他更多用用户使用我们的软件。而不是只图一时之快。
该博客写在2015年,当时写在了新浪博客,现在有了自己的网站,就摘过来了。原文地址:http://blog.sina.com.cn/s/blog_9e1c7dc50102vx0m.html