ec全新语言,全新技术,新世纪新语言。不可阻挡的强势引领世界编程先驱

sunnysin 2008-07-26 10:24:54
ec下载:http://www.ecere.com/Vanilla/comments.php?DiscussionID=3&page=1#Item_1
ec首页:
http://www.ecere.com
中文技术:
www.ecere.org.cn

eC,是一位加拿大人jerome历时十二年开发的一门编译型编程语言,拥有C++项目的性能和Java的跨平台性以及Python的方便性。
目前eC拥有自己的IDE,专用的面向对象数据库。



eC的理念是:开发一次,部署在所有平台,包括Windows,linux,Mac os,仅仅依赖一个轻量级的运行库!

它拥有与C++一样的性能,拥有和Java一样的跨平台性。这来自与eC语言自行开发的GUI库,3D图形库,Socket库…… 这些使得你能够迅速的开发你的软件(没错,就像python一样快捷),然而却拥有像C++开发的软件一样的性能!

eC拥有自己的IDE,当然IDE也是用eC写成。

简介

电脑编程其实就是一门艺术,这是一种无穷的创造力,并且它也是一种可以探究这个多样世界的好工具。因而你可能有许多种可能的原因使得你决定去学习编程,其中每一种理由都像其他的理由一样的好。不管你决定学习它是出于业余爱好或者是专业目的,这都是一种被证明是一种很好的技能当你生活在这个高科技时代。当然,你很可能会发觉这其实是一件非常有趣的事情。

我们将学习的是一种经典的编程。有许多人回答HTML(Hyper Text Markup Language)当别人问他用哪种语言编程的时候。超文本标记语言——网页语言的核心,被用来排版网页上的内容。是的,虽然许多的网页上包含了JavaScript 用以增强与用户的交互,并且其实它是由隐藏在背后的服务器端的PHP代码产生的,但是HTML或者XML真的很难算到“编程语言”的范畴(‘M’代表这是一种“标记(Markup)”语言)。我们关注的焦点是建立可以自行运行的软件。

在这本书里,我们用练习,目标激励等方法去学习编程。在每一章里,我们讲解一个清晰的主题,在章节的最后,你应该动手去练习来确保你已经掌握了所学的课程。

我们会把焦点放在使用Ecere软件开发套件(Ecere SDK)来进行的软件开发。我们写代码也将只使用一种语言:eC。如果学习方法正确的话,你将学习到新的观念、知识以及一种解决问题的思想,这样,即使你以后转而使用其他的编程语言或者开发环境,你可以很轻松的进行转换到新的环境。

Ecere SDK提供一个成熟的套件,这其中包括IDE(Integrated Development Environment),一套eC编译器,跨平台运行库,GUI工具,一个网络函数库,和一个3D引擎。编译器是基于GNU GCC编译器,所以它也可以用来编译用C或者C++语言写的程序。

包括本书的这个版本的Ecere SDK是一个跨平台的工具,它可以运行在Windows,linux,Mac OS X上,你可以参考接下来的说明把Ecere SDK安装在你喜欢的平台上来进行软件开发。

Ecere SDK的安装

第一部分:
用eC进行编程
 第一个程序
 变量和数据类型
 算术、关系、逻辑和位运算符
 流程控制
 结构体
 枚举
 数组,指针和内存

第一个程序
千里之行,始于足下
——《道德经》

按照自从Brian W. Kernighan(《C程序设计语言》的作者)以来的惯例,并且因为小的目标是快速进步的关键,所以我们的第一个企图控制电脑的尝试是在控制台显示下面的一串文字:

hello, world

尽管者看起来简单并且没用,但是我们可以从这个过程中熟悉软件开发环境。

虽然纷乱的可能性掩盖真相,但其实电脑本质上只是一台执行特殊指令的机器。实际的可以执行的指令集依赖于电脑中运行的CPU(Central Processing Unit)类型,目前在个人电脑领域内最常见的CPU处理器构架是Intel x86系列。在CPU的内部,指令就像其他任何数据一样都是用二进制的(0 - off 或者 1 - on)。

电脑程序就是这些指令的一个集合,它按照一个安排好的方式执行用以完成一些特殊的任务。为了使程序的组织和管理更加的容易,文本的表述被普遍的用于编程语言。汇编语言的每一句都和和CPU的指令一一对应。汇编器被用来转换汇编语言程序成为可执行代码。

但是究竟什么是指令?我们又怎么通过它构建像3D视频游戏之类的复杂的程序?虽然每一条指令完成极其特殊的任务。但是因为可以非常自由组合这些指令,所以我们可以非常灵活的创建复杂的软件。

有些指令执行的算术的运算,还有一下仅仅提供CPU寄存器和内存之间数据传递的功能,把它们的一些组合起来使用,我们就可以在像显示器之类的设备上制造输出,打印或者从键盘或者鼠标获取输入。我们可以通过网络传递信息,或者通过声音系统制造声音。

虽然汇编语言编程给与了程序员指令执行的绝对控制,并且理论上可以得到最好的性能,但是它有许多不便之处是高级语言所没有的。一个例子就是汇编语言内在的本质决定它被固定搭配给特定的计算机构架:汇编是不可移植的。虽然有些人非常的精通汇编,并且非常高效率的使用汇编语言编写整个应用程序,但是大多数的程序员还是发现使用高级语言进行编程是更加舒适并且工作效率高的。

在数百种已有的编程语言中,最有影响力并且长久不衰的是C语言,它是Dennis Ritchie在1972年为UNIX操作系统开发的。C是一种纯面向过程的编程语言,没有任何变相对象的思想在里面。但是C给许多其他的面向对象的编程语言以灵感,比如说Objective C,C++,Java,C#,eC(e代表Ecere)当然也不例外。

C语言的伟大之处在于它是可移植的,并且可以很方便的直接进入内存,这使得C语言程序在大小、内存使用、和运行时性能都有不错的表现。从这方面讲,C语言被认为是除了汇编以外最好的编程语言。C语言被设计为系统编程语言,现在许多的操作系统核心依然是用C语言和汇编语言混合进行编程的。C的标准库是一组覆盖了许多方面的函数库。包括硬件操作,文件的读写,内存的管理,输入/输出和数学运算。

Ecere的编程哲学充分的拥抱了C的巨大能量。eC语言是从C发展而来的并且高度兼容C语言,与其他的C语言派生物不同的是,eC比C多的东西非常明显的增加了它的优雅程度同时使得面向对象的编程变得更简单。eC努力的使它保持着派生自C语言的优秀特性。

构建一个eC程序其实和构建一个C或者C++程序非常的相似。首先,在文本编辑器里编辑程序然后保存为ASCII文本文件。每一种特殊的扩展名对于特定的语言(eC的扩展名是.eC,C的扩展名是.c,而.cpp、.cxx、.cc则是C++的扩展名)。然后,用编译器把源代码编译成目标代码。最后,用连接器把所有需要的目标文件链接成可执行文件。为了使这个过程更简单,人们通常用一个“makefile”文件对这个过程进行管理,一个叫做make的程序会分析“makefile”中写明的对这个过程处理的特殊规则并进行处理。现在,这整个过程都可以借助一个集成环境(IDE)来解决。在IDE中,我们可以通过非常直接的方式进行编辑、编译和调试程序。然而,通常UNIX程序员仍然坚持用最基本的文本编辑器比如VI或者emacs,用makefile进行项目管理。

在图形用户接口(graphical user interfaces 简称GUI)被广泛使用之前,控制台接受键盘传输而来的字符并且在显示器上进行文本输出是用户和计算机进行交互的主要方法。许多的终端连接到一个中央的电脑(这台电脑很容易就需要很多的空间)。虽然这种方式有减少的趋势,但是命令行接口今天仍然可以在许多的操作系统上面找到,它被乘坐shell用来进行系统管理,文件管理或者运行应用程序,这些都是通过输入命令或者地址来完成的。

对于命令行的编程比如说“hello,world”这个例子,一般来说都比GUI编程来的更简单(尽管你将认识到在Ecere SDK平台上进行GUI编程比起用C++来说实际上是非常简单的)。所以我们的第一个程序是基于命令行的。别担心,要不了多久,我们就可以编出更具吸引了的程序来了。

让我们开始吧!首先,我们打开Ecere IDE。建立一个程序的前提条件是我们要有一个工程。现在让我们来建立一个新工程:使用菜单中的工程->新建,我们将看到下面的对话框:



我们需要填写工程名和工程存放的位置。最好不要使用空格等特殊ASCII字符,而应该使用数字和字母作为工程名。为这个工程建立一个新的文件夹,请确保你有权限进入父文件夹进行创建工作。IDE将创建该文件夹如果你制定的文件夹不存在的话。我们将建立一个命令行的程序,所以我们不需要一个窗体,所以我们取消“建立窗体”选项,“输出类型”决定我们将建立的是应用程序还是作为一个部分供其他程序使用的库文件。我们这里选择可执行文件。单击确定之后,我们的工程就可以使用了。

现在我们可以往工程里添加源文件。我们添加我们唯一的文件“hello.ec”。我们首先把工作目标(hello.epj)前置(快捷键:Alt+0),然后在上面单击右键选择“添加文件到工程”,或者更简单的方法只需要按下回车键当该窗口被选定的时候。现在把要添加的文件名输入(并不要求它已经存在,如果它还不存在,它将被自动创建)。

注意新文件是怎么添加进去的。双击文件或者在它被选定的时候按下回车键,你就可以编辑它了。让我们输入我们的第一个eC程序吧 :

class HelloApp : Application
{
void Main()
{
printf("hello, world");
}
}
看到了其中用蓝色标记的单词吗,那是eC的关键字;它们有特殊的的意义作为eC语法的一部分。eC继承了C语言的所有关键字,并且添加了一些它特有的关键字(我们将在稍后的关于兼容性讨论中学习到)。这里void也是C关键字,但是class是eC特有的(虽然它也是其他许多面向对象编程语言的关键字)。我们将在这本书中使用和IDE一样的语法高亮方案。

请注意在代码块中的缩进。eC,就像C一样,是一种块结构编程语言。块是用一对大括号进行分割的:{ 和 } ,它可以用来分割特殊的结构比如说类和函数。我们强烈建议你使用在第一章列出的那些代码一样的编程风格当你写你自己的eC代码的时候,虽然这不是eC或者C语法里面强制性的要求(不像Python块是靠缩进来进行分割的),所有的块需要缩进三个空格符在每个缩进级别。这里“void Main()”缩进了3个空格,“printf”函数调用缩进了6个空格。

简单的几行代码给我们展示了最基本的编程观念,这些我们都将一一分析。就语法来说,eC和C都是由“定义”组成的。定义是最组成程序的最基本部分。它们的定义都可以分成类型,变量和函数。在eC中,类型比在C中更重要,加上了其它一些面向对象组成了这门语言。

实际上,“类”是一种数据类型可以执行方法。在下一章的面向对象编程里面,我们将更加深入的讨论这个问题。现在,我们只需要知道我们定义了一个应用程序的类:HelloApp,和它的Main方法。这个应用程序类是非常特别的,因为它的Main方法是整个eC程序的入口。

Main方法的作用范围是由花括号包围的范围所决定的。类似的,HelloApp类的作用范围也是由对应的花括号包围的范围所决定的。

但是确切的来说究竟什么方法呢?在面向过程的编程中,我们关心函数。方法是一种特殊的函数,我们将在接下来的面向对象编程中探讨他们之间的关系。现在,我们简单的把Main方法看成是一个普通的函数好了,或者说过程。

一个函数在编程中相当于在一小片限定的范围内程序,所以函数都有入口和出口点,计算机会执行这其中的指令。实际上,我们的程序可以看成是一个Main函数,它是整个程序的入口。当我们的Main函数停止执行之后,整个程序的执行也将停止(应用程序中止)。在eC和C中,一个函数是由一块语句通常是多条声明(我们将深入的探讨这些在下一章)和语句组成的。语句的一个功能是调用函数。

在高级语言中,我们面对的不是单条的指令而是更大的一整块的指令,比如说“语句”,一条语句可能会被编译成多条指令。因为在C和eC中,空格和分行的用途仅仅是分割关键字和标志符,一个特殊的字符被用来分开多条语句,这个字符是分号。在每条语句的最后面,我们都必须加上它。

在我们这个例子中,Main函数仅仅由一条语句组成。这条语句调用了printf函数,printf函数是标准C库中的一个函数。“printf”被称作标志符。在eC和C中,一个标志符可以由英文字母阿拉伯数字或者是下划线(_)组成,但是注意不能由数字开始。需要注意的是eC和C都是大小写敏感的。语言的关键字不能用于标志符。标志符被用来清晰的标志一个变量或者函数。当一个标志符被用来当着一个数据类型的名字的时候,这个标志符便成了一个类型,并且不能被用来当标志符了。(更多的关于数据类型可以参见下面的一章)

虽然不是强制的,但是我们强烈建议你可以依照eC的标志符命名规则:所有的函数和数据类型以大写字母开头,所有的变量以小写字母开头。相对于旧式的以下划线分割单词的命名方法而言,以单词的首字母大写的方法来分割它们更受欢迎。标准的C库函数中的函数都是以小写字母开头的。

让我们来详细解读那条printf函数调用语句:

printf("hello, world");

在双引号字符之间的字符组成了字符串文字或者简单点说是字符串。一个字符串被认为是一个整体并组成了一个语句。像printf这样的函数在调用的时候要加上遵循特殊规则的参数,这些参数是它运行时所需要的。printf的作用是输出文字到命令行窗口中去显示。它期待一个用于输出的参数。 当调用一个函数的时候,必须赋值给圆括号中的一串的参数,它们都是用逗号分开的。一个函数调用必须传递函数所期待的参数。
...全文
397 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
a10002 2010-05-01
  • 打赏
  • 举报
回复
就是一个C语言的脚本,不过是编译型的脚本。
HOOLOO 2010-02-24
  • 打赏
  • 举报
回复
还有E语言呢

呵呵
laorer 2009-08-19
  • 打赏
  • 举报
回复
听说有一个D语言,两者有什么优劣?
fish4117 2009-06-15
  • 打赏
  • 举报
回复
貌似是很好的东西呀!!!!
wxl543 2009-03-25
  • 打赏
  • 举报
回复
不错,就看它的市场推广了.


很看好它.

2,408

社区成员

发帖
与我相关
我的任务
社区描述
高性能计算
社区管理员
  • 高性能计算社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧