【杂谈】新人的一点随感,编程以及其它
雾雨魔理沙2012/08/13软件综合 IP:北京
来到这个坛子已逾一个星期的时间,期间偶尔也会参与一点讨论,更多的时候是默默浏览一些帖子。思前想后,觉得还是写一篇文,算是报道也好,发表一点看法也好…有时候我觉得,这就好比是一个变量的声明,从此算是让自己存在于这里 XD
不谈我之前领域内的积累和经历,来到这里,我是一个纯粹的新人,绝对没有来两天便指点江山激扬文字的意思,我能做的就是将自己的一点积累,转化成文字之后平淡的娓娓道来,浅显而轻松。
作为一名普通的开发人员,关注编程版更多一些,在这边除了看热闹,偶尔也许还能凑个热闹。
推算起来似乎上次写文还得是上个夏天或者更早以前,技术本身就是一个抽象类,在没有切入点的时候,很难将其形象化的定位。
于是我在写这篇文字的时候思绪也并不那么连贯,随性更多一些。

那么就从坛子里现在的一些比较主流的内容讲起吧。
首先就说说研究心态。关于边缘领域知识的深入,这个并不能算误区,激发一点兴趣也是颇有好处。
但我自身认为,编程是一件以实用为基础的学科,钻研是技术人员应有的基本素质,但猎奇却并不可取,
尤其是对中初级的编程人员,认为自己涉猎的东西让别人越难以理解越能体现自己的深邃,那还不如去读易经。
分享知识或者寻找答案,本身就需要带着一个虔诚的态度,例如分享源码,注释的意义相信更不需要我来多说。。

其次是关于基础知识,
坛子水多深,我不敢妄断,姑且贸然谈一谈技术层面的东西。
基于我自身的所学有限,就用我相对熟悉的领域简单举两个例子,
如一个C语言工程,从编写代码到最后生成exe文件需要经历哪些个过程,
常规的来讲,应该是6个过程,
分别为编辑coding、预编译precompiling、编译compiling、链接linking、加载loading、运行running
这六个过程分别是做什么呢?
编辑就是coding的过程,人为编写代码
预编译实际上就进入了编译阶段,只不过在此阶段处理宏定义
编译是代码转化阶段,将代码从可读码转化成为机器码,也就是我们所说的二进制码
链接阶段,编译器通过链接器将工程中的.c文件链接同时生成.obj文件,linux系统为.o文件
加载阶段,将转化链接好的工程载入计算机内存
最后的运行阶段,cpu读取机器码执行程序。
这便是十分基础的一部分知识,也许很多朋友也都知道。
但是,有些新人会费解,了解它们又有什么用呢?它们不可能让自己瞬间跃居高手行列。
而且这些知识全然不能吸引眼球,不能生成华丽的界面,也没有深邃的逻辑…
这便是传说中“基础知识”的真实形态,枯燥、乏味。
但是将他们铭记于心,如果未来走上编程路,总有一天会有奇效,救你于茫然无措之间^^

甚至连一个makefile都写不好,就大谈特谈linux,geek,安全,之后抱着黑客秘籍入眠。。这样的就不评论了。。。
有这样的时间不如默默的研究研究基础数据结构,就比如链表和数组的具体区别,我们无法拆开我们的内存,
但是我们至少可以通过编译器,看一看数组成员和链表节点在内存中的存储形式……肯定会带来很多的启发。

赘述这么多,可能有一点说教口吻,但无非就是希望大家来到这里,不要带着太强的目的性和追逐炫耀的心态,
心止如水。。自然得道
+99  科创币    wesker    2012/08/13 ...赞成
+100  科创币    phpskycn    2012/08/13 学习了……
+101  科创币    十九    2012/08/13 ....很有禅意....
+38  科创币    acmilan    2012/08/13 但是GCC编译完还有汇编这一步骤,因为编译输出的是汇编文件*.s
来自:计算机科学 / 软件综合
18
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
phpskycn
12年5个月前 IP:未同步
438487
基础很枯燥,但是很重要……
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
krfantasy
12年5个月前 IP:未同步
438497
写什么makefile,什么代码统统一个文件,文档注释什么的从来不写,深藏功与名
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
12年5个月前 IP:未同步
438511
回 2楼(kr~fantasy) 的帖子
[s:275] 除非你在写lisp,或者python(这是您的语言吧),否则不写注释很吃亏的。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
12年5个月前 IP:未同步
438515
回 楼主(雾雨魔理沙) 的帖子
GCC编译(Compile)实际是变成汇编代码.s,然后要进行汇编(Assemble),才能变为.o
多出这一步的原因是能具有更好的灵活性、透明性。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
krfantasy
12年5个月前 IP:未同步
438534
回 3楼(acmilan) 的帖子
被你猜中了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
S.D.P
12年5个月前 IP:未同步
438705
注释写完了东西做完了,放在那里,过个好久再去看,果断发现不知道自己的注释是什么意思。哈哈哈哈
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
pl_014
12年5个月前 IP:未同步
438811
恩,感觉注释确实很重要,也很有用,不过我觉得我的程序上的注释还是不够多。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
pl_014
12年5个月前 IP:未同步
438813
回 3楼(acmilan) 的帖子
只要代码大到一定规模就需要注释吧。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
eifheowvd
12年5个月前 IP:未同步
438841
链接过程是把obj文件链接成可执行文件吧?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
雾雨魔理沙作者
12年5个月前 IP:未同步
438898
回 4楼(acmilan) 的帖子
阁下说得很对。 是这样的。
同时回复9楼朋友所说的,

的确,我在编译和链接这两个步骤中的描述有一些不清晰,[s:275]
准确的说编译环节win和linux都是有将C/C++代码转化为汇编码的步骤的,vc中也是可以看到的。
而链接环节则是对编译好的源代码,.obj或者.o文件执行链接命令,我们在链接阶段看到的.obj/.o文件严格的说产生于编译阶段的结尾。

.obj/.o的内容主要为机器码,太过细节的部分我了解的也不堪详细,不敢在没有把握的前提下再往下一个深度去讲了。呵呵。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
雾雨魔理沙作者
12年5个月前 IP:未同步
438899
回 1楼(phpskycn) 的帖子
感谢阁下支持~
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
雾雨魔理沙作者
12年5个月前 IP:未同步
438900
今天骤然忙叨起来了才算透口气 。。
上边要求本周五出一本程序,处理优先级为高,评定级别居然还是hard level的
心碎。。

不过看到大家的回帖感到很高兴~~
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
12年5个月前 IP:未同步
439022
回 8楼(pl_014) 的帖子
有一种东西叫设计文档
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
12年5个月前 IP:未同步
439025
回 10楼(雾雨魔理沙) 的帖子
编译后面还有一些麻烦的工作。
Win平台下生成PE File还要处理很多地方,代码和数据分成不同的节,能合并的节要合并,还有导入表。重定位表……
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
dome
9年2个月前 IP:广东
794942
引用 acmilan:
除非你在写lisp,或者python(这是您的语言吧),否则不写注释很吃亏的。
lisp更需要注释,否则根本看不懂。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
9年2个月前 IP:四川
794947
引用 t502187408:
lisp更需要注释,否则根本看不懂。
实际上→_→编程本质上是将人类语言转换成可机械处理的机器文本,这里边肯定会有一定的信息丢失,写注释主要就是补全这些信息,不然再次阅读程序时肯定要靠猜。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
金星凌日
9年2个月前 IP:陕西
794961
引用 acmilan:
实际上→_→编程本质上是将人类语言转换成可机械处理的机器文本,这里边肯定会有一定的信息丢失,写注释主要就是补全这些信息,不然再次阅读程序时肯定要靠猜。
不仅如此。人类语言也不是人类能完全确定含义的,注释也有提供上下文的作用。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}