Chinaunix

标题: 你知道什么是面向过程编程吗? [打印本页]

作者: koolcoy    时间: 2010-06-12 20:22
标题: 你知道什么是面向过程编程吗?
到处都是面向对象的,咱们来个面向过程的吧{:3_187:}
作者: OwnWaterloo    时间: 2010-06-12 20:26
这……
作者: zhaohongjian000    时间: 2010-06-12 20:34
那....
作者: drangon    时间: 2010-06-12 20:55
很多人以为自己用的是面向过程,大骂面向对象,其实用的是面向对象的思想
很多人鼓吹面向对象,言必称design pattern,其实写的还是面向过程的面条代码
作者: koolcoy    时间: 2010-06-12 21:10
其实我觉得知道面向过程的人比知道面向对象的人更少~~{:3_202:}
作者: hellioncu    时间: 2010-06-13 09:51
心中无过程、对象,顺其自然
作者: 群雄逐鹿中原    时间: 2010-06-13 09:59
写状态机,面向什么好?
作者: mirnshi    时间: 2010-06-13 10:15
这这,无语呀
作者: bill15    时间: 2010-06-13 10:25
我是文盲,只会用,不知道所谓概念

作者: gigabyte    时间: 2010-06-13 10:28
不就是C语言么
作者: pandaiam    时间: 2010-06-13 10:33
求深入讲解。
作者: rain_fish    时间: 2010-06-13 10:46
.....路过
作者: 单眼皮大姐    时间: 2010-06-13 10:52
自从开始学习Linux 后就面向过程了~
作者: A.com    时间: 2010-06-13 14:57
我还真不知道怎么定义面向过程,c也能写出符合面向对象思想的代码来呀。严格地面向过程,恐怕只有机器码
作者: koolcoy    时间: 2010-06-13 15:02
我还真不知道怎么定义面向过程,c也能写出符合面向对象思想的代码来呀。严格地面向过程,恐怕只有机器码
A.com 发表于 2010-06-13 14:57


不是机器码,此楼中已经有人说出了面向过程的核心思想{:3_189:}
作者: A.com    时间: 2010-06-13 15:04
原来是面条代码么{:3_182:}
作者: pmerofc    时间: 2010-06-13 17:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: egmkang    时间: 2010-06-13 17:28
lz给我们布道
来嘛
作者: koolcoy    时间: 2010-06-13 19:34
此话怎讲?
pmerofc 发表于 2010-06-13 17:27


随便翻开一本软件工程的书,就能找到对于面向对象的讲解,专门讲面向对象的书也很多,但是讲面向过程的书却要少很多。
作者: koolcoy    时间: 2010-06-13 19:35
回复 18# egmkang

我既然发了这个帖,多少还是知道点啥...
作者: 没本    时间: 2010-06-13 20:12
回复 19# koolcoy

楼主的面向过程的程序设计方法是个新颖的提法,对应了面向对象的程序设计方法,只是我不怎么了解怎么面向过程,没法发言。

我学计算机那会儿,面向对象的程序设计才刚刚起步,UML还没发明出来,设计模式没有成书。

不过那时候也没有面向过程的程序设计方法,或者说那时候除了面向对象之外没听过面向什么别的。

当时比较成熟的是结构化程序设计方法(Structure Design),以及抽象数据类型(ADT)。或称为模块化的程序设计。

那是我们认为,高质量的程序块需要具有:适当的名称,正交性(强内聚性、弱耦合性),长度适中,语句防错,合理的模块规划。

更具体的可以参考Steve McConnell写的
Code Complete: A Practical Handbook of Software Construction. Redmond, Wa.: Microsoft Press, 880 pages, 1993. Retail price: $35. ISBN: 1-55615-484-4
中译本名字《代码大全》学苑出版社1993,此书是作者70到80年代程序设计的经验总结。

此书2004年出了第二版,中文版是2006年电子工业出版社出版,引入了面向对象的一些内容,对防御式编程有了完整论述。
作者: 没本    时间: 2010-06-13 20:26
写状态机,面向什么好?
群雄逐鹿中原 发表于 2010-06-13 09:59



    想用OO的可以用The Boost Statechart Library
http://www.boost.org/doc/libs/1_ ... hart/doc/index.html

    其实采用表驱动或者用if或switch/case块写的可读性也很好。
附上文档或完善的注释当然更好。
作者: pmerofc    时间: 2010-06-13 21:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: tpli    时间: 2010-06-14 17:17
我只喜欢c,
求楼主深入讲解啊。
作者: xiaonanln    时间: 2010-06-15 17:33
面向XX本质上都是数据的隐藏和封装,没什么区别
作者: superfight    时间: 2010-06-15 19:16
我觉得面向过程就是用一个函数不调用其它函数完成一个业务流程~ = =~

如果这个业务流程能得到复用~ 呢么也是一个小型的面相对象~

= 3=
作者: Esakyo    时间: 2010-06-15 22:23
这个问题看似简单,其实很有深度!
就像如下代码:
  1. #include <stdio.h>
  2. int main()
  3. {
  4.      printf("Hello,world\n");
  5.      return 0;
  6. }
复制代码
你知道它错在哪里吗?
作者: liexusong    时间: 2010-06-16 12:35
面向对象太臃肿了!
作者: daschina    时间: 2010-06-16 15:07
#include <stdio.h>
int main()
{
     printf("Hello,world\n");
     return 0;
}


不知道哪里错了。
作者: xiaonanln    时间: 2010-06-16 17:50
回复 27# Esakyo


    求告知
作者: aaaaa5aa    时间: 2010-06-16 18:10
还没用过面向对象
作者: freesky3555    时间: 2010-06-16 20:57
说实话,看到楼主的帖子很吃惊,一直以为面向对象不好理解呢。
作者: freesky3555    时间: 2010-06-16 21:12
  1. #include <stdio.h>
  2. int main()
  3. {
  4.      printf("Hello,world\n");
  5.      return 0;
  6. }
复制代码
这个应该没错误了吧?
作者: ahui886    时间: 2010-06-17 08:44
一直在做c的开发,面向过程用的多啊
作者: egmkang    时间: 2010-06-17 10:56
回复  egmkang

我既然发了这个帖,多少还是知道点啥...
koolcoy 发表于 2010-06-13 19:35


知道你就要说嘛,我们这些不知道好看看~~
作者: leoflash    时间: 2010-06-17 11:49

作者: huxk    时间: 2010-06-17 12:27
写个鸡巴小程序 哪来那么多鸟玩意
作者: mirnshi    时间: 2010-06-17 18:06
随便翻开一本软件工程的书,就能找到对于面向对象的讲解,专门讲面向对象的书也很多,但是讲面向过程的 ...
koolcoy 发表于 2010-06-13 19:34


只因现在都随着java而热炒oo。但即便是oo,也离不开过程化。好多算法、流程都是过程化的
作者: dai_m    时间: 2010-06-17 18:47
大家应该都画过流程图吧
作者: wolaiye05    时间: 2010-06-18 00:20
这个问题看似简单,其实很有深度!
就像如下代码:你知道它错在哪里吗?
Esakyo 发表于 2010-06-15 22:23



    感问下,有何错?
作者: youke    时间: 2010-06-18 13:34
这个问题看似简单,其实很有深度!
就像如下代码:你知道它错在哪里吗?
Esakyo 发表于 2010-06-15 22:23



有什么错?我试着编译了一下,运行也很正常。

是不是因为有return 0; 这句?

我记得我上学的时候,还没有面向对象的说法呢,那时候都是面向过程的吧。
作者: wmy0308    时间: 2010-06-19 17:20

作者: wmy0308    时间: 2010-06-19 17:39
没听过哦
作者: nhuczp    时间: 2010-06-20 10:48
概念上的东西!

就像毕加索曾经说过,我不懂得什么流派,我只懂得创造!
作者: 北斗星君    时间: 2010-06-20 17:43
面向过程和面向对象,其实只是一种设计理念,用于驱动设计的理念不同。
其实都是殊途同归罢了,因为实现的结果都是一样。
作者: fera    时间: 2010-06-21 11:30
模型抽象得合适就欧了,别管对象还是过程。
作者: xiaobing927    时间: 2010-06-23 01:39
又一个蛋疼的问题
作者: peijue    时间: 2010-06-24 16:03
说真的还真的不是很明确阿, 粗略的想法只是把程序分解成一个个小的功能模块 个个击破。
高手来详细讲解下。。
作者: suavelee    时间: 2010-06-25 08:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: guhan010    时间: 2010-06-25 11:25
对象是万物,过程是万物的转变.
作者: brynx    时间: 2010-06-25 11:35
{:3_199:}




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2