找回密码
 注册帐号
查看: 2068|回复: 5

[编程教程] 长时间学不好易语言的分析

[复制链接]
发表于 2010-2-27 00:00:52 | 显示全部楼层 |阅读模式
熟悉C语言的人可以在一个小时内熟悉易语言,
熟悉易语言的人去看C代码,没学过的话几乎看不懂.
为什么?答案四个字: 编程思想!

       (一)对编程思想的概括
       所谓编程思想,和拖几个控件建几个窗口或调用几个命令完全无关,它是一种程序设计思想,包括流程设计,逻辑推理,算法设计等.答案可能很会复杂,但也可以很简单。一句话来讲就是,用计算机来解决人们实际问题的思维方式,即编程思想。
       (二)具体的编程思想及其发展过程
       1.认识计算机的运行方式.
       电脑只要有个CPU,主板,内存就可以点亮了。加个软驱,就可以运行DOS超作系统。再加个光驱,硬盘,就可以把WINDOWS系统放到硬盘上运行起来。另外,CPU是如何工作,CPU做了哪些事情,CPU为什么只能认识0和1,CPU的寻址方式? 对CPU本人了解得不深,不敢随意卖弄。但有一个还是是需要知道一下的,CPU基础计算只有3个:与,或,非。这3个逻辑门实现了我们现在所有的计算机程序计算。如果易语言写的程序要靠CPU运行的话,那么易语言也必须遵循CPU基础计算规则!

        2.你了解操作系统上运行程序的机制吗?
        易语言写的程序,需要在操作系统上执行,目前我们用的最多的系统就是Windows系列了.在Windows系统中,程序的运行是由一层一层的服务支撑起来的。在这里面,操作系统担当了非常重要的角色。它提供了程序员可以直接使用的例程,也可以称为Application Programming Interface (应用程序编程界面,API) 。Dos中一般没有API的说法,Dos的编程界面是由中断服务程序充当。在Windows中编程就要常常和API打交道。32位Windows的API有2000多个,一方面它提供了功能强大的编程界面,另一方面它使初学者望而却步。当然你不必掌握全部API函数的知识,但是当给你一个API函数的参考时,你必须要知道怎么去用!另外我举一下Windows操作系统基本常识:Windows是一个单用户多任务图形化操作系统。所谓单用户,指同时只能由一个用户(一个人)通过Windows系统操作电脑;所谓多任务,指同时可以有多个进程并发执行。既然Windows系统有这些特点,那么Windows编程就会体现这些特点。为了做到多任务,Windows程序使用消息机制,有我的消息我才干活,没我的消息就把CPU让给别人;为了做到图形化,Windows程序必须显示窗口并自己绘制客户区,就连显示字符串也必须画到客户区上。还有一点,Windows 广泛使用动态链接。Windows的API就放在动态链接库中,以供程序运行时调用。在Windows 中有32位的kernel32.dll,gdi32.dll,user32.dll,和16位的gdi.exe, user.exe,krnl386.exe,API就存在于这些动态链接库中。

3.过程性的编程思想
        这种思想的代表性语言有汇编语.驱动方面的编程大多会用到这方面的东西.虽然过程性的编程思想已不是当前时代主流的编程思想,当是你不得不面对这样的现实:目前的CPU只能执行过程性的程序,任何高级语言都必须转换成过程性的编程语言后再交给CPU执行。

4.结构性的编程思想
        随着人们解决的问题越来越复杂,汇编程序当然束缚了计算机软件的发展。因此编程思想发生了一场革命性的变化,结构性的编程方法出现了。在结构性编程思想的编程语言里面,C语言首当其冲。C语言里面有几个能表现出结构化思想的地方:分支(if), 循环(while,for),结构体(struct). 只要你会用这三个,那么你就可以写出结构化的程序,但不一定你就了解什么是结构化的编程方法。什么叫做结构化?为什么说goto会破坏程序的结构化?结构体有什么作用,你能说出结构体的哪些好处? 这些都是值得认真体会的地方。别人给的定义不见得都全面。还是自己理解比较靠得住。所以我要说明的是:你能写出一个程序,并不代表你掌握编程的方法或思想.如果你要问怎样去掌握编程的方法和思想,如果你是新手,那么我推荐你去看谭浩强的<<C语言程序设计>>,如果你只想跟在别人屁股后面抄几份代码就非常满足,那么本文就不适合你阅读了!一但你掌握了这种编程方法和思想,你会发现,易语言是如何此的简单,不过你可以千万不要鄙视易视易语言!

        5.面向对象的编程思想
        看看自己写的程序,如果代码在百行左右,那么写起来非常轻松,千行代码级别的程序,也很普遍,如果你的程序代码超过万行,十几万行甚至上百万行,那就不是一件轻松的事情了,你如何去检查,管理和维护这么多代码?对新手来说,这几乎是天方夜谭!对那些老手来讲,也经常是力不从心.那么你必须要去了解面向对象的编程思想!所谓面向对象的编程,就是将一个大的工程模块化,分成N个子模块,这些模块间既是相互独立,又是相互联系,如果其中的一个模块出了问题,不会影响到整个程序.这种思想掌握起来相当复杂,也需要相当的经验.举个例子:你是一个高层住宅的总设计师,那么你设计这栋楼时,难道仅仅是画一个楼房的外观吗?NO!你必须要设计楼层内的各个管道,包括**通道,排水通道,线路通道等等等等,你想想,三楼的水管堵住了,会影响到二楼吗?二楼的电匝烧坏了,会影响三楼吗?程序设计也是这样的,程序内部的结构其实比一栋楼还复杂.

        (三)对编程思想的总结
        所以编程,绝对不是一件简单的事,绝对不是你调用几个命令那么简单!为什么易语言程序员找工作和待遇都比其他平台的程序员难出很多?因为很多人认为学易的人没有编程思想,也就是说,只能使用已存在的命令去写程序,如果没有现成的命令,那么就无法写下去了!说明确一点就是没有想象力和创造力,没有设计思想或者不懂设计思路,逻辑思维能力差......我大致浏览了一些易语言编程的教程,多是教你怎么使用命令,这些教程的好处是,让新手在一个小时或者一天之内写出一个实用的程序,对于提高自己信心和编程兴趣有很大的帮助,但它们都有一个致命的缺点,就是让你离专业的编程之路越来越远.离编程思想越来越远.到最后,你可以有一千多个模块,一万多个支持库,可是你连一点编程思想也没有,只能整天对着这些模块或支持库发呆.....很多学易学了很久的人,最后都放弃了易,不是易语言本身的问题,而是学易的人迷失了自己的方向!
        
        (四)结束语:
     如果你只想玩玩或者体验一下编程的乐趣,那么编程思想对你是多余的!如果你想成为真正专业的高手,那么没有编程思想是不行的!

评分

参与人数 1魅力 +9 收起 理由
累了 + 9 继续努力

查看全部评分

发表于 2010-2-27 13:02:54 | 显示全部楼层
收藏了楼主
发表于 2010-3-3 20:14:53 | 显示全部楼层
楼主说得太深奥了,理解不透啊?
发表于 2010-3-4 23:50:38 | 显示全部楼层
有道理啊~~~~~~~~~~~
头像被屏蔽
发表于 2010-3-5 00:10:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2010-3-11 01:42:19 | 显示全部楼层
编程确实是思想与实例为主哦
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

QQ|Archiver|手机版|小黑屋|依人网络官方网站 ( 陕ICP备19025998号-1 )

GMT+8, 2024-5-5 21:35 , Processed in 0.055619 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表