如此的讨论真是无奈

在大学时候就经常会碰到一些问题和同学讨论,工作之后更是如此。但是讨论这个活动非常需要一个共同的基础。特别是对于计算机技术讨论双方的基础概念必须一致,而且对于计算机系统有相近的认识。两个人在讨论C语言语法时候,A如果说到windows的C语言编译器,和linux里的GCC对标准的支持的程度,B如果只知道用VC按几个快捷键编译程序的程度,双方就无法交流下去了。

我最讨厌的一个词语就是后台,我不知道这个词语是怎么来的,很早就听说过某某人在搞网站的后台之类的话。在我日常的交流中我发现,后台有时候指的是网站中管理员进行管理配置的页面,但是有时候又指服务器端的程序。除了这些不知道还有没有其他意义。因此对于这种概念不清的东西,我一向是避免使用的。如果有别人问我的问题中有这类概念模糊的词汇,我一般会要他解释清楚,我才会帮他解答。我这种方式可能会惹恼一些人,对方会想:“我不就问你一个问题吗?怎么你的问题逼我还多。”对于这种情况我也很无奈。谁叫计算机专业的术语特别是中文的术语定义如此模糊,即使定义清楚了也会有人偷换概念,因为大家都懒,都懒得多看一些技术文章,多看一些书把基础概念理清。

有一次一位兄弟写了一段代码,里面有一个函数需要使用一个函数指针,这个指针指向一个回调函数。但是他传入的函数指针是C++类中的一个成员函数。正常人都知道C++编译器不仅仅会修改函数名,而且会修改函数参数列表,会在函数列表的最后增加个指向自己这个类的指针。因此这样写编译就通不过。我就帮他改了下,把这个函数从类中移到了类外,定义为一个全局函数,自然这样就行了,修改是简单的。成功之后,那位兄弟自然很兴奋,然后就问我这是什么原因。我就跟他讲原因,但是我看他一脸茫然的样子,又向他说明C编译器和C++编译器对函数做什么,又向他解释函数指针是什么,那一个叫累啊。解释半天他也不一定能完全理解。我就想不通,C++程序写了这么多了,为什么就不能深入一步呢?至少应该把基础概念理清啊,类是什么,对象是什么,为什么C++能实现函数重载。这些东西稍微了解一点并没有多难啊,又不要你实现个C++编译器。

我最近接受了一个用JSP写的网站,且不说这个网站代码结构写的是如何糟糕,连最基本的兼容浏览器都不能实现。这网站只能用IE正常浏览,在FF和Chrome下连登录页面下的输入框都看不到。还好这是一个非常小的网站,功能也简单,不然我已经吐血了。在他离职之前做交接的时候,他把这网站发我,由于我打开其中一个jsp文件的时候,在嵌入的java语句中不小心输入了一个字符。那时候也没有运行起来看看,后来他过来说要在我电脑上运行下试试看。我就按部就班的把网站目录放到tomcat的webapp目录下,运行服务器,打开浏览器,然后就毫无意外的出错了。页面上输出的是java的编译错误,我说编译出错了,可能我刚才打开文件的时候增加或者删除了什么东西。他一口否定说:“JSP文件不用编译的”。我一听狂晕啊,JSP文件怎么可能不需要编译,JSP最后肯定把输出的html,css,javascript转换成java中的输出语句啊,这点基本常识怎么一个工作了两年的人不懂呢。为什么会说出如此可笑的话来呢?然后我说那work目录下的那些文件是什么用的。。。他理都不理我狂在哪里找是不是数据库配置的原因,是不是缺少了什么文件。在他心中,根本没有编译这个概念,他不知道所有jsp网站都需要编译撑.class文件。他只知道,写成个jsp文件用浏览器访问就行了,而不知道也不关心tomcat在背后究竟做了什么事情,每天就这么混日子竟然也能在公司混两年。我看着真是无奈啊。

我一直认为一项技术当然要先学会使用,然后竟然弄懂背后的原理。虽然在实际使用中可能并不需要达到熟悉背后原理的程度,但是只有这样才能提高自己的水平。这年头,写了多年java程序而不知道java虚拟机的人到处都有。使用了多年MFC却不知道MFC是封装了Windows API的人也到处都是,以为CWnd类就是一个窗口。使用了多年的IDE却不知道IED只是个空壳,真正实现编译功能的是编译器,真正实现连接功能的连接器。其实更进一步没有那么困难,不需要每天看几本书,只需要平时在工作时候多留心一点,多上上技术论坛,我看看技术博客,知识自然就积累起来了。我一向不认为一项技术在需要的时候再学习,应该在平时就有涉猎,平时就应该不停的学习。平时不学习到用到的时候已经太晚了。

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页