来到这个坛子已逾一个星期的时间,期间偶尔也会参与一点讨论,更多的时候是默默浏览一些帖子。思前想后,觉得还是写一篇文,算是报道也好,发表一点看法也好…有时候我觉得,这就好比是一个变量的声明,从此算是让自己存在于这里 XD
不谈我之前领域内的积累和经历,来到这里,我是一个纯粹的新人,绝对没有来两天便指点江山激扬文字的意思,我能做的就是将自己的一点积累,转化成文字之后平淡的娓娓道来,浅显而轻松。
作为一名普通的开发人员,关注编程版更多一些,在这边除了看热闹,偶尔也许还能凑个热闹。
推算起来似乎上次写文还得是上个夏天或者更早以前,技术本身就是一个抽象类,在没有切入点的时候,很难将其形象化的定位。
于是我在写这篇文字的时候思绪也并不那么连贯,随性更多一些。
那么就从坛子里现在的一些比较主流的内容讲起吧。
首先就说说研究心态。关于边缘领域知识的深入,这个并不能算误区,激发一点兴趣也是颇有好处。
但我自身认为,编程是一件以实用为基础的学科,钻研是技术人员应有的基本素质,但猎奇却并不可取,
尤其是对中初级的编程人员,认为自己涉猎的东西让别人越难以理解越能体现自己的深邃,那还不如去读易经。
分享知识或者寻找答案,本身就需要带着一个虔诚的态度,例如分享源码,注释的意义相信更不需要我来多说。。
其次是关于基础知识,
坛子水多深,我不敢妄断,姑且贸然谈一谈技术层面的东西。
基于我自身的所学有限,就用我相对熟悉的领域简单举两个例子,
如一个C语言工程,从编写代码到最后生成exe文件需要经历哪些个过程,
常规的来讲,应该是6个过程,
分别为编辑coding、预编译precompiling、编译compiling、链接linking、加载loading、运行running
这六个过程分别是做什么呢?
编辑就是coding的过程,人为编写代码
预编译实际上就进入了编译阶段,只不过在此阶段处理宏定义
编译是代码转化阶段,将代码从可读码转化成为机器码,也就是我们所说的二进制码
链接阶段,编译器通过链接器将工程中的.c文件链接同时生成.obj文件,linux系统为.o文件
加载阶段,将转化链接好的工程载入计算机内存
最后的运行阶段,cpu读取机器码执行程序。
这便是十分基础的一部分知识,也许很多朋友也都知道。
但是,有些新人会费解,了解它们又有什么用呢?它们不可能让自己瞬间跃居高手行列。
而且这些知识全然不能吸引眼球,不能生成华丽的界面,也没有深邃的逻辑…
这便是传说中“基础知识”的真实形态,枯燥、乏味。
但是将他们铭记于心,如果未来走上编程路,总有一天会有奇效,救你于茫然无措之间^^
甚至连一个makefile都写不好,就大谈特谈linux,geek,安全,之后抱着黑客秘籍入眠。。这样的就不评论了。。。
有这样的时间不如默默的研究研究基础数据结构,就比如链表和数组的具体区别,我们无法拆开我们的内存,
但是我们至少可以通过编译器,看一看数组成员和链表节点在内存中的存储形式……肯定会带来很多的启发。
赘述这么多,可能有一点说教口吻,但无非就是希望大家来到这里,不要带着太强的目的性和追逐炫耀的心态,
心止如水。。自然得道
200字以内,仅用于支线交流,主线讨论请采用回复功能。