免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: richardhesidu
打印 上一主题 下一主题

如何才算是精通c语言 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
21 [报告]
发表于 2006-02-26 09:04 |只看该作者
原帖由 gnap 于 2006-2-25 15:36 发表
偶觉得C语言的一大优点就是给使用者节省更多的是件去关心具体的技术。

呵呵,兄弟要评论语言,应该多了解几种之后才下结论。
窃以为,如果从“给使用者节省更多的时间去关心具体的技术”这个层面来给语言排个序的话,
C 是排名最末的

当然了,如果 C 不是最末的,那它一定是倒数第二的,并且倒数第一一定是 ASM。

也许大家都还记得,刚开始学 C 的时候,教科书上一定提到过,C 是一种“中级语言”
这也是 C 的优势,也是 C 程序员被人尊称为“系统程序员”的原因。

C 有太多太多的为了自身服务的 code。
换句话说,如果你写了 1000 行代码,那么可能只有不到 300 行是来描述问题的,而其它的超过 700 行都是在为那 300 行服务。

基本上来说,精通 C 就意味着变成了半个机器。
因为,C 从语法上来讲,要求你必须有机器般的思维。
只有你变成半个机器了,那么才能用剩下的半个你来思考问题。

所以说,精通 C 的人,在编程序的时候,实际上不是人类,而是“计算机生物”。

[ 本帖最后由 flw 于 2006-2-26 09:23 编辑 ]

论坛徽章:
0
22 [报告]
发表于 2006-02-26 09:07 |只看该作者
原帖由 flw 于 2006-2-26 09:04 发表

呵呵,兄弟要评论语言,应该多了解几种之后才下结论。
窃以为,如果从“给使用者节省更多的时间去关心具体的技术”这个层面来给语言排个序的话,
C 是排名最末的
当然了,如果 C 不是最 ...

版大的头像好漂亮啊~~~

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
23 [报告]
发表于 2006-02-26 09:19 |只看该作者
其实,C 程序员有相当一部分,是从一开始学语言就接触 C 的,
因此初级 C 程序员中,有相当一部分只学过 C。
我建议,当有了 2、3 年的经验之后,不妨去了解一下其它的语言。
因为当时间久了,你就会觉得有些事“本来就应该那样”,从而很少去考虑“为什么要这样”?
就好像人吃饭吃的久了,就很少考虑“为什么要吃饭”这个问题。

举个例子,不妨回答一下以下几个问题:
1,为什么变量要先定义再使用?
答曰:这是为了明确作用域,那么
2,为什么“作用域”不能隐含确定?(参见 Python/Perl )
答曰:撇开作用域不说,还有一个原因就是为了防止书写错误呀,那么,
3,为什么要书写变量?没有变量不就不用书写了吗?
答曰:没有变量我拿什么赋值啊!
4,为什么要有赋值?(参见 Haskell)

等等……
还有
5,为什么要 malloc?
6,为什么 malloc 了还要 free?
7,为什么为什么内存管理不能由语言自己去完成?(你可能会认为我是在抬杠,那么请考虑一下这个问题:ASM 中是需要程序员来操作寄存器的,为什么 C 中则不需要?)


[ 本帖最后由 flw 于 2006-2-26 09:27 编辑 ]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
24 [报告]
发表于 2006-02-26 16:39 |只看该作者
呵呵,难道软件从业者们不知道今后的趋势是“节省更多关心技术的时间去钻研业务”??

论坛徽章:
0
25 [报告]
发表于 2006-02-26 17:05 |只看该作者
原帖由 flw 于 2006-2-26 09:19 发表
5,为什么要 malloc?
6,为什么 malloc 了还要 free?
7,为什么为什么内存管理不能由语言自己去完成?(你可能会认为我是在抬杠,那么请考虑一下这个问题:ASM 中是需要程序员来操作寄存器的,为什么 C 中则不需要?)


这种“为什么”其实是一种诡辩。我也可以问:
为什么要亲自写程序?(写代码的事还是让Microsoft, Intel给搞定吧!) 直接使用现成的软件,就不需要操作寄存器, 不需要malloc, 也不需要C语言了!

论坛徽章:
0
26 [报告]
发表于 2006-02-26 17:22 |只看该作者
原帖由 steveyee 于 2006-2-26 17:05 发表


这种“为什么”其实是一种诡辩。我也可以问:
为什么要亲自写程序?(写代码的事还是让Microsoft, Intel给搞定吧!) 直接使用现成的软件,就不需要操作寄存器, 不需要malloc, 也不需要C语言了!


晕!南辕北辙了这个...

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
27 [报告]
发表于 2006-02-26 18:01 |只看该作者
原帖由 steveyee 于 2006-2-26 17:05 发表


这种“为什么”其实是一种诡辩。我也可以问:
为什么要亲自写程序?(写代码的事还是让Microsoft, Intel给搞定吧!) 直接使用现成的软件,就不需要操作寄存器, 不需要malloc, 也不需要C语言了!

唉!……
不可救药如斯夫?乃至于此!

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
28 [报告]
发表于 2006-02-26 18:04 |只看该作者
原帖由 系统工程师 于 2006-2-26 16:39 发表
呵呵,难道软件从业者们不知道今后的趋势是“节省更多关心技术的时间去钻研业务”??

呵呵,技术还是要关心的嘛!
而且,可以说,在相当长的阶段,
搞技术还是混饭吃的一个很好的途径嘛!
即使将来的解决方案越来越多,可技术始终还是要有人来关心的嘛!

[ 本帖最后由 flw 于 2006-2-26 18:13 编辑 ]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
29 [报告]
发表于 2006-02-26 18:10 |只看该作者
原帖由 flw 于 2006-2-26 18:04 发表

呵呵,技术还是要关心的嘛!
而且,可以说,在相当长的阶段,
搞技术还是混饭吃的一个很好的途径。


我当然是指的技术工作岗位,以后的开发方式和工具会越来越简单,客户和企业需要的是用最短的时间,最快的效率,最傻瓜的开发工具作出客户最需要的业务软件。一个鼠标拖拉,一个控件配置。。。什么代码都自动生成了,不用去关心什么系统底层的问题了,主要关心如果了解客户的业务需求,把那些人力资源管理,采购管理,商业运营管理系统搞出来。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
30 [报告]
发表于 2006-02-26 18:23 |只看该作者
原帖由 系统工程师 于 2006-2-26 18:10 发表

我当然是指的技术工作岗位,以后的开发方式和工具会越来越简单,客户和企业需要的是用最短的时间,最快的效率,最傻瓜的开发工具作出客户最需要的业务软件。一个鼠标拖拉,一个控件配置。。。什么代码都自动生 ...

嗯,你说的非常对,做 GUI 的确是这样,可是毕竟这只是 IT 的一个方面,
可是程序员并不全是做 GUI 的呀!哦,如果你说的是非程序员,那我闭嘴。

[ 本帖最后由 flw 于 2006-2-26 18:24 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP