标题: 编程从来都不是个容易的事儿
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2010-9-17 21:32 资料 文集 短消息 只看该作者
编程从来都不是个容易的事儿

http://www.aqee.net/2010/09/13/programming-will-never-be-easy/

网上似乎流行着这样一种说法,认为有些人之所以做不了编程,是因为编程语言不够好。我还看到有一部分人更甚,拐弯抹角的暗示说,编程之所以对大多数人而言很困难,是因为我们把编程语言设计的太难,让人们敬而远之,让我们这部分的人的饭碗更安全。事实上,程序员可并不想让自己的工作变的更困难,他们一直在想办法让工作更简单。事情的真正原因是,编程本来就是很难。

有些人议论说现在的编程语言太晦涩难懂,另外一些人说我们应该完全抛弃文本形式的语言,而采用GUI语言(可视化编程语言)。可是人们需要明白,如果GUI语言真的这么简单易懂,那是否人们都懂得GUI的电子工程技术呢?大多数人都不懂电子工程技术,这并不是因为他们不懂得如何去接线,而是因为他们不懂得逻辑,数学,和其中的基本工程技术。

至于有人说编程语言过于晦涩难懂,这是因为我们误解了他们真正想要的东西,他们真正想要的其实是:变戏法。那么,一种简单的语言是不可能存在吗?不。我们的编程语言还有很大的改进空间,需要去进化,然而不论编程语言自身如何改进,编程永远不会是一个简单工作,除非你只做一些最基础的任务。

让我们来增加一点娱乐效果,最简单的编程语言应该是什么样的?打个比喻,我们需要创建一个windows窗口,里面有张表单,当有人点击按钮时,表单里就会增加一条记录。人们想要的就是一种能够理解像这种信息的语言:

QUOTE:
创建一个带有表单的窗口,当有人点击按钮时,往表单里增加一个条目

虽然理论上完全存在对人类语言进行完整分析的可能,而且以此能立即产生相应的编码,但现实中,我们还没有这种技术,而且,我们也没有获得足够的信息支持。什么样的窗口?初始位置在哪?颜色?什么样的表单?里面保存什么样的数据?用户如何跟这个表单直接交互?菜单条目有哪些?

同样,如果创建了两个这样的窗口又该怎样?如何去定位第一个,如何去定位第二个?而且,我们需要有某种的变量命名规范,例如“创建一个叫窗口1的窗口”,等一下,这会让语法解析器产生困惑,究竟是要创建一个标题为窗口1的窗口呢,还是要命名窗口变量为窗口1呢?让我们来重新定义一下我们的变量定义句法。“创建一个标题为‘窗口1’的窗口,并把变量名定义为“窗1”。很咬文嚼字吧,事情已经开始变的复杂了。

如果我们需要去做一个工程上更复杂的,例如创建一个作业调度程序,情况又会怎样?我们不能只是简单的说“创建一个作业调度器”,我们需要指出它是如何跟系统结合起来的,完全掌握程序的输出结果,包括内部代码。我们必须描述每个变量、每个行为如何产生,深入细节。说实话,用现在的标准编程语言更容易实现这些,

所有的这些并不是用来说明不需要提升我们的编程语言,我只是想试图说明,无论编程语言如何的简化,如果你不懂得代码背后的逻辑,用任何语言都不可能编出程序。

[英文出处]:Programming will never be “easy”


顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6036
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2010-9-17 21:42 资料 个人空间 短消息 只看该作者 QQ
传说中的LabVIEW属于GUI语言吗?


顶部
性别:未知-离线 northwind_x


Rank: 4
组别 校尉
级别 破贼校尉
功绩 11
帖子 59
编号 362090
注册 2010-2-22


发表于 2010-9-17 23:18 资料 文集 短消息 只看该作者
语言本身其实很简单,如果真有心学,相信谁都可以学会,只不过是否熟练,但是想真正写出好的程序就需要严谨的逻辑思维能力了。

诚然如楼主所举的看似简单的例子,如果要想细化到机器能看得懂,又不犯傻,就需要程序员把各个情况都告诉电脑,同时又能高效、有效的运作起来。
顶部
性别:未知-离线 tonyget
(精神病院院長)

Rank: 8Rank: 8
组别 校尉
级别 平南将军
功绩 21
帖子 2088
编号 14850
注册 2004-8-6
来自 時空幻境


发表于 2010-9-18 05:46 资料 文集 短消息 只看该作者
我用过的图形编程,有给PLC编程时用的LD语言
顶部
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2010-9-18 21:45 资料 文集 短消息 只看该作者


QUOTE:
原帖由 tonyget 于 2010-9-18 05:46 发表
我用过的图形编程,有给PLC编程时用的LD语言

PLC编程更不是个容易的事,从不会编程从头学PLC的,对程序设计的概念更是模糊的很。我见过的最缺少逻辑的代码就是一些做硬件的人写的。
顶部
性别:未知-离线 陈 珺

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 6
编号 16327
注册 2004-8-25


发表于 2010-9-18 21:49 资料 短消息 只看该作者


QUOTE:
大多数人都不懂电子工程技术,这并不是因为他们不懂得如何去接线,而是因为他们不懂得逻辑,数学,和其中的基本工程技术。

我一直有这么个观点,其实编程的核心是哲学,再加上些对计算机的了解,至于数学,其实是问题复杂到一定程度才会用到

[ 本帖最后由 陈 珺 于 2010-9-18 21:51 编辑 ]
顶部
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2010-9-18 23:11 资料 文集 短消息 只看该作者


QUOTE:
原帖由 陈 珺 于 2010-9-18 21:49 发表

我一直有这么个观点,其实编程的核心是哲学,再加上些对计算机的了解,至于数学,其实是问题复杂到一定程度才会用到

支持你踊跃提出自己的观点。
顶部
性别:未知-离线 tonyget
(精神病院院長)

Rank: 8Rank: 8
组别 校尉
级别 平南将军
功绩 21
帖子 2088
编号 14850
注册 2004-8-6
来自 時空幻境


发表于 2010-9-19 04:44 资料 文集 短消息 只看该作者
其实 MatLab 算不算编程? 电子工程系最常用的软件
顶部
性别:未知-离线 lufy


Rank: 5Rank: 5
组别 校尉
级别 裨将军
功绩 13
帖子 310
编号 347822
注册 2009-11-21


说编程复杂,确实它也不能说简单
但是说这些话的人关键还是因为惰性,或者是刚开始学,就想要做个什么大项目的人
什么事情都要求简单
word,excel简单吧?但是想把word,excel用好,恐怕也不容易
我觉得,编程无所谓复杂简单
可能现在的编程确实并不是很好,以后可能会简化再简化,让开发者开发变得越来越方便,入门越来越简单,但是到时候,一定还是会有人牢骚
所以,关键是从0开始学,学到1再学2,入了门,后面的如果说复杂,恐怕也只是时间问题了,数学什么的用不用的到,关键看编什么东西了

[ 本帖最后由 lufy 于 2010-9-19 08:31 编辑 ]
顶部
性别:未知-离线 tonyget
(精神病院院長)

Rank: 8Rank: 8
组别 校尉
级别 平南将军
功绩 21
帖子 2088
编号 14850
注册 2004-8-6
来自 時空幻境


发表于 2010-9-19 10:10 资料 文集 短消息 只看该作者


QUOTE:
原帖由 陈 珺 于 2010-9-18 21:49 发表

我一直有这么个观点,其实编程的核心是哲学,再加上些对计算机的了解,至于数学,其实是问题复杂到一定程度才会用到

这个是真的

我认识的电子工程系的人,有很多人觉得数学很难学,C++一类的编程很容易学;也有人觉得数学很好学,编程很难学



有很多年纪很小的电脑高手,对电脑程序玩得滚瓜烂熟,而数学不见得有多深的造诣
顶部
性别:未知-离线 凡尔派狼

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 27
编号 430155
注册 2011-6-27


发表于 2011-6-27 20:36 资料 短消息 只看该作者
编程是一项多方面都高要求的技术活。
只数学好,逻辑好还不行。至少你要知道自己做到的是什么。

学编程的人那么多,如果是出题的话,很多看上去很难的题都是大部分人都能解出来,但是如果不给他们题目,让他们自由的编些自己想编的东西来,他们很多人就会不知做什么好。

又比如编一个游戏,一个游戏要怎样编才会吸引人?这明显与编程无关但又的的确确影响了大家对作品评价。然后开始真正动手编游戏了,画工,音乐,这些谁都会啊,还不都是上网素材。编完后,测试,去BUG,这个损耗的时间可是天文数字,而且自己编的东西,自己对它太了解了,哪个按键躲在哪里都知道得一清二楚,但其它人则可能因为找不到完成某个操作的铵键而否定了你的作品。
顶部
性别:男-离线 ouyangnitian
(欧阳)

★★

Rank: 13Rank: 13Rank: 13Rank: 13
组别 羽林都尉
级别 卫将军
功绩 85
帖子 6486
编号 281681
注册 2008-6-10


发表于 2011-6-27 22:00 资料 个人空间 短消息 只看该作者 QQ
编程从来是可以很简单的,你看,连那北大青鸟都可以开课随便教,能有多难!

我见过那些数学不及格的,照样高级程序员
顶部
性别:未知-离线 战略

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 30
编号 377175
注册 2010-5-22


发表于 2011-7-14 23:56 资料 短消息 只看该作者


QUOTE:
原帖由 凡尔派狼 于 2011-6-27 20:36 发表
编程是一项多方面都高要求的技术活。
只数学好,逻辑好还不行。至少你要知道自己做到的是什么。

学编程的人那么多,如果是出题的话,很多看上去很难的题都是大部分人都能解出来,但是如果不给他们题目,让他 ...

编程和游戏设计是完全不同的两个领域,用游戏设计来评价编程是不妥的
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2024-12-31 01:00
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.011994 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP