计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。
计算机语言主要分为三类:
- 低级语言
- 高级语言
- 专用语言
1、低级语言
- 机器语言、汇编语言和符号语言。
- 汇编语言源程序必须经过汇编,生成目标文件,然后执行。
2、高级语言
- BASIC(True basic、Qbasic、Virtual Basic)、C、PASCAL、FORTRAN、智能化语言(LISP、Prolog)等等。
- 高级语言源程序可以用解释、编译两种方式执行。通常用后一种。
我们使用的C语言就是使用的后者。
3、专用语言
CAD系统中的绘图语言和DBMS的数据库查询语言。
11机器语言
电子计算机所使用的是由0和1组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由0和1组成的指令序列交由计算机执行,这种计算机能够认识的语言,就是机器语言。使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。
因此程序就是一个个的二进制文件。一条机器语言成为一条指令。指令是不可分割的最小功能单元。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。
12汇编语言
为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用ADD代表加法,MOV代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。
汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。
13高级语言
131高级语言的发展
从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言--FORTRAN问世了,40 多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、Delphi、JAVA等。
特别要提到的:在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接 *** 作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性>>
问题二:计算机语言都包括什么语言?及其各个应用领域? 1、web page script languages
就是网页代码,比如Html、javascript、Css、Asp、Php、Xml都应该属于此类(照蔡的意思,Html不应该属于anguages的,可能他觉得太简单了吧,不过我觉得Html也应该算的,大家爱听谁的就听谁的好了,这个不重要)
2、Interpreted Languages(解释型语言)
包括Perl、Python、REBOL、Ruby等(后面三个听豆没听过),也常被称作Script语言,通常被用于和底下的 *** 作系统沟通。照蔡的意思,每个人至少应该学会一套这类的语言。这类语言的缺点是效率差、源代码外露――所以不适合用来开发软件产品,一般用于网页服务器。
3、Hybrid Laguages(混合型语言)
代表是JAVA和C#。介于解释型和编译型之间。蔡认为C#是NET最重要的语言,值得期待其后续发展;至于JAVA,蔡叫看他的《Sleepless in Java》――我倒!
4、COMPILING Languages(编译型语言)
C/C++,JAVA都是编译型语言。蔡说C++很复杂,要成为高手没三五年是不行的(就凭这句话,我决定向JAVA投降),虽然如此,但真正要成为高手的都应该懂C/C++。
关于Delphi,蔡说如果想要跨Linux和Windows平台的语言,则Delphi似乎是最好的选择。
5、Assembly Languages(汇编语言)
汇编语言是最接近于硬件的语言,不过现在几乎没多少人用了。
程序语言学习顺序建议
如果完全没有程序经验,可照这个顺序:javascript――解释型语言――混合型语言――编译型语言――汇编(如果需要的话)
用业界流行一句话做结尾“真正的程序员用C++,聪明的程序员用Delphi”,那么,什么样的程序员用JAVA呢?
虚怀若谷题外话
看在我这么晚了还这么辛苦的敲字的面子上,看到这篇帖子的朋友给点掌声吧,虽然没什么自己的思想。
另外,本文完全据蔡学镛先生同名文章精简,所以如果这篇文章给你的程序员生涯有什么不好的作用,那我不介意你去扁他。当然如果这篇文章对你有什么积极影响,我很高兴你能请我吃大餐。
如果您想学习编程,却又不知从何入手,那么您不妨看看下面的几种学习方案,可能会给您一些启示吧!
方案一 Basic语言 & Visual Basic
优点
(1)Basic 简单易学,很容易上手。
(2)Visual Basic 提供了强大的可视化编程能力,可以让你轻松地做出漂亮的程序。
(3)众多的控件让编程变得象垒积木一样简单。
(4)Visual Basic 的全部汉化让我们这些见了English就头大的人喜不自禁。
缺点
(1)Visual Basic 不是真正的面向对象的开发文具。
(2)Visual Basic 的数据类型太少,而且不支持指针,这使得它的表达能力很有限。
(3)Visual Basic 不是真正的编译型语言,它产生的最终代码不是可执行的,是一种伪代码。它需要一个动态链接库去解释执行,这使得Visual Basic 的编译速度大大变慢。
综述:方案一适合初涉编程的朋友,它对学习者的要求不高,几乎每个人都可以在一个比较短的时间里学会vB编程,并用VB>>
问题三:常用的计算机编程语言有那些 种类很多,要学的话,主要看你要从事哪个方面,编程都是大同小异,如果你学会一门,其他的学起来也就轻松许多。 如果你想当个普通的公司职员,建议C\C++这类的。 如果你想当个破解人员,建议汇编(我觉得是相当的难)。 如果你想当个黑客,拥有一定的软件知识(很低层的那种)和硬件知识(使用软件掌控硬件)和网络知识(入侵这类的)。 如果你想当个红客,主要是网络安全知识。
这需要看将来想从事什么类型软件的开发吧。如果在国内开发windows类型应用程序,据说vb比较流行,但如果开发和硬件关系较大的嵌入式程序,则使用较多的还是C语言,而网络这个方面,无论是有线还是无线,大多数都选择了JAVA。以上是从应用角度来讲的,如果从性能和投入方面分析,C语言无疑性能上最好的,但它的复杂度太高,开发和维护费用较大,一般比较好的游戏程序或者速度要求较高的程序会选择C++来开发,而VB等由于它的简易性,可以极大缩短开发周期,也是程序员的宠儿之一。另外有一种语言python在国内逐渐出现,国外好像已经流行了十几年吧,linux的引导程序和BT的一些组件都是用它开发的,具有开发周期短,易维护等特点,运行速度也比JAVA要快,并且面向对象,无平台限制,据说还开放了源码,不过由于在国内流行时间不长,各大公司出于对以前开发代码的兼容性的需要,可能一时间接受不这个语言,但可以明显看出,它的发展潜力相当大。 总而言之,C为基础,掌握JAVA,会用VB,了解python,应该看得出这几个词汇之间的轻重差别吧。:)单机编程语言主要有qb,vb,c++,vc++,c语言,我觉得最常用的是c语言,因为现在我们常用的windows *** 作系统就是用c 语言编写的.非常常用. 网络编程语言现在用的是html 语言,还有javaada
asp(含aspNET)
basic(含VB)
b(C语言的前身)
css
c(含VC)
c#(含VC#NET)
c++(含VC++NET)
fortran
foxbase
html(含xhtml和shtml)
jacc(不确定是不是这个名字了,一种开发语言的语言)
java
java script
jsp
latex
lua
pascal
perl
php
prolog
python
ruby
sgml(html和xml用得很多,单独列出,其实也是一种sgml)
shell
sql
tcl/tk
vb script
xml 最常用的是 JAVA C C++java VB 是比较好学的 最牛的要属C#了
世界上编程语言太多了,就像每个国家都有自己的语言一样的但是从编程语言发展的角度说:
大概经历 这样 四个阶段: ############################################################
第一个阶段是 机器码编程 (你肯定知道计算机只能识别0和1,以前就是这样编程的)现在的PC计算机依然是这样,冯诺依曼结构的计算机你可以去网上搜索 冯诺依曼 是干什么的你会想,为什么现在编程不是0,1,计算机怎么识别呢当你开始编程的时候,你用的编译器就在做这些事情
########################################################### ##########################################################
第二个阶段是 低级语言,比如汇编语言,台湾叫做组合语言其实组合>>
问题四:最简单的计算机语言有哪些 网页上的html是最简单的语言,但是功能实在少得可怜,除了描述网页就没有别的用途了(不过话说回来,直接描述网页也只有它才能做到,其他语言做不到)
Script(脚本)系列 也很简单
这里有很多种,常见的有Javascript(引进了Java的一些思想,不过实际内容简单得多了),VBScript (Visual Basic的一部分), C#Script(C#的一部分), 这三种主要用于网页网站设计,辅助html间接描述网页,让网页变得丰富多彩绚丽,而单机上也可以运行以执行一些可自动化的 *** 作,实现一些简单的小程序和一些手动 *** 作非常麻烦甚至是不可能的 *** 作,但还是难以编完整的独立的程序,还有批处理bat,这也是一种脚本,也很简单,专门单机使用,擅长代替大量的手工 *** 作和系统维护,但要做出我们常用的这种漂亮的程序,是不可能的。
想要做我们常用的程序要用以下几种语言,不过相比之上面的语言都复杂许多:
Basic系列是最简单的,不过因为版本多样不统一还有一些效率的问题,所以用的人不是非常多
不过其中有一个例外:Visual Basic 有微软的支持,可视化的,可以很快有成就感编出像样的程序,而且很多文档中的宏 VBA(Visual Basic for Application)还有以上说的VBScript都是它的一部分,所以还是很受欢迎的。
C语言,入门还比较简单,但挺枯燥,初学没什么成就感,要想编大程序要学得挺深,有点难,编出来的程序在高级语言中效率最高,所以是第二广泛使用的语言仅次于Java。
C++,C#,会更难一点,但是程序要编大的会相比之下简单点,这些都是C语言的扩展,其中C++擅长本机大程序,C#适合网络编程(刚才说的C#Script是它的一部分)
Java,语法上类似C++,在跨平台的时候会省你很多麻烦,所以由于手机的普及近一两年它才超过C/C++成了应用最广泛的语言。不过开发出来的程序效率比较不怎么样,但有些人挺喜欢它的思想,所以不跨平台的话,见仁见智
其余的还有Delphi,Pascal,等等不过那些都不怎么常用而且比较复杂,要图简单,强烈推荐Visual Basic,要深究程序内部的东西那还是从C开始比较好
问题五:计算机有哪些语言 工业编程语言: A+ | Ada | 汇编语言| B | Brain | C | C++ | C++/CLI| Cg | COBOL | Eiffel | Erlang | FORTRAN | IronPython | Java | JRuby | Jython | LISP | Oberon | Objective-C| Ocaml | Pascal | Perl | Powerbuilder | Python | QBASIC | R | REXX | Ruby | Self | Smalltalk | SQL | Tcl/Tk | Visual Basic | PHP | C# | F# | J# | Visual Basic NET
脚本编程语言: ActionScript | JavaScript | JScript | Nuva | PostScript | VBScript | lua
学术编程语言: APL/J | Haskell | Logo | ML | pascal|Prolog | Scheme | SAC
其他编程语言: ALGOL | BASIC| Clipper | Forth | Modula-2/Modula-3 | MUMPS | PL/I | Simula
问题六:计算机所有的编程语言都有哪些? ALGOL (also under FORTRAN)
Atlas Autocode
ALGOL 60
Simula (see also Simula based languages)
ALGOL 68
Burroughs Extended ALGOL
ALGOL W
Pascal
Ada
SPARK
Turbo Pascal
Object Pascal (Delphi)
Free Pascal (FPC)
Kylix (same as Delphi, but for Linux)
Euclid
Concurrent Euclid
Turing
Turing Plus
Object Oriented Turing
Modula-2
Modula-3
Oberon (Oberon-1)
Oberon-2
Component Pascal
Objective Modula-2 (also under Objective-C and Smalltalk)
CPL
BCPL
B
C
tcsh (also under sh)
Alef
Limbo
Coyote
C++
Java
Groovy
Join Java
J#
Processing
X10
C#
Windows PowerShell (also under DCL, ksh and Perl)
C--
D
ColdFusion
eC (Ecere C)
LPC
Pike
Objective-C (also under Smalltalk)
Objective Modula-2 (also under Modula-2 and Smalltalk)
PCASTL (also under Lisp)
Perl
Windows PowerShell (also under C#, DCL and ksh)
S2
PHP
PDL (also under APL)
QuakeC
MCPL
APL
A+
Glee
J (also under FL)
K (also under LISP)
NESL
PDL (also under Perl)
BASIC (also under FORTRAN II)
Amiga Basic
AMOS BASIC
BASIC Stamp
BASIC09
Basic4GL
BlitzBasic
Blitz3D
BlitzMax
BlitzPlus
Business Basic
Caché Basic
COMAL
DarkBASIC
Euphoria
PlayBASIC
PowerBASIC
Quickbasic
QBasic
Liberty BASIC
Just BASIC
Run BASIC RealBasic
thinBasic
TI-BASIC
TrueBASIC
Visual Basic
VBScript
Visual Basic for Applications (VBA)
Visual Basic NET
YaBasic
COBOL
DIBOL
WATBOL
MS-DOS Batch files
Winbatch
CLIST
IBM Job Control Language (JCL)
COMIT
SNOBOL
Icon
Unico>>
问题七:计算机语言中常用的有哪些? 1 计算机常用语言除了C ,C++ ,VB ,JAVA 外还有什么? 他们的优点和区别?
还有很多了,不过一般都不怎么常用
优点嘛,C,C++运行比VB要快
VB是解释型语言,运行的话需要对应的运行库的支持。不过上手容易。
JAVA的话最大的优点是跨平台。
2 学习做网页HTML PHP ASP JSP 和(问题1)中的哪些语言挂钩 ? 是否均需要HTML做基础?
一般HTML中的脚本和VB与JAVA都有点联系。
不过语言都是通的,就是关键字,系统保留字不一样而已。
学习的话最好是要有HTML的基础。
3 PHP ASP JSP 和SQL MYSQL 等其他数据库怎样搭配?
随意的,看具体的用途。
有些数据库不能用于大型的站点,好象有限制的。
具体可以查一下数据库的说明。
问题八:电脑编程语言都有哪些啊? 工业编程语言: A+ | Ada | 汇编语言| B | Brain | C | C++ | C++/CLI| Cg | COBOL | Eiffel | Erlang | FORTRAN | IronPython | Java | JRuby | Jython | LISP | Oberon | Objective-C| Ocaml | Pascal | Perl | Powerbuilder | Python | QBASIC | R | REXX | Ruby | Self | Smalltalk | SQL | Tcl/Tk | Visual Basic | PHP | C# | F# | J# | Visual Basic NET
脚本编程语言: ActionScript | JavaScript | JScript | Nuva | PostScript | VBScript | lua
学术编程语言: APL/J | Haskell | Logo | ML | pascal|Prolog | Scheme | SAC
其他编程语言: ALGOL | BASIC| Clipper | Forth | Modula-2/Modula-3 | MUMPS | PL/I | Simula
问题九:计算机语言有多少种?分别是哪些?最早的是? 太多了 主要分为三类:高级、低级、专用语言。
高级有:FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、JAVA等
低级有:机器语言、汇编语言和符号语言等
专用语言:CAD系统中的绘图语言和DBMS的数据库查询语言等
最早的应该是汇编语言
问题十:计算机语言有哪些?怎么分类? 计算机语言(Computer Lnguage)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。
计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。
计算机语言主要分为三类:
- 低级语言
- 高级语言
- 专用语言
1、低级语言
- 机器语言、汇编语言和符号语言。
- 汇编语言源程序必须经过汇编,生成目标文件,然后执行。
2、高级语言
- BASIC(True basic、Qbasic、Virtual Basic)、C、PASCAL、FORTRAN、智能化语言(LISP、Prolog)等等。
- 高级语言源程序可以用解释、编译两种方式执行。通常用后一种。
我们使用的C语言就是使用的后者。
3、专用语言
CAD系统中的绘图语言和DBMS的数据库查询语言。
11机器语言
电子计算机所使用的是由0和1组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由0和1组成的指令序列交由计算机执行,这种计算机能够认识的语言,就是机器语言。使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。
因此程序就是一个个的二进制文件。一条机器语言成为一条指令。指令是不可分割的最小功能单元。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。
12汇编语言
为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用ADD代表加法,MOV代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。
汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。
13高级语言
131高级语言的发展
从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言--FORTRAN问世了,40 多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、Delphi、JAVA等。
特别要提到的:在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接 *** 作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性>> Ruby 和rail 回归框架
Ruby和 rail是非常简洁的 很容易 很丰富 我无法避免的连续看到以及听到以上这样的说法 比如说 Bill Walton 写的Rail回顾上关于Ruby的文章提到 如果我告诉你当你使用Rail开发一个Web应用程序可以比你使用一种特定的Java框架开发要快至少十倍的时候 你会怎么想
在尝试了RnR之后 我发现这就是一个伴随旧技术的非常经典的框架
· Ruby是一种非常有力量的语言 就像Smalltalk 我选择静态语言
· 搭建的材料是被动代码生成 就像是IDE wizards或者AppFuse 我选择动态代码生成 或者是更好的——根本就不需要代码生成
· 关系数据库中心 编码发生器和ActiveRecord在表中会被首先想到 然后是在类别中被想到 我选择一种仅仅面向对象的 就像是Hibernate JPA 甚至是ODBMS
· MVC 我正在寻找比旧式MVC框架更新很好的工具
Java的问题 Java开发者
在Java的世界中 生产力是文化问题 而不是技术问题 这就是所谓的这不是Java的错 而是我们的错 我们作为Java开发者需要设计出非常漂亮的体系 以适用于任何地方的GoF模式 使得任何工具都是可再度使用的 把三层架构放到我们所有的系统中以及使用web服务器 我们不是在寻找最直接的方法 所以我们就没办法发现最直接的方法 但是Java 是一种非常简单的语言 使得我们很轻易就可以接近软件开发
Java生产力 其它的方法
解决生产力的一个方法是使用驱动模型 这就是模型环节的开发 仅仅是我们应用程序中的模型环节 就可以使用框架来生产所有的应用程序 MDA OpenXava Trails NakedObjects Roma框架和JMatter都是采用的这种方式
目标
这是所需要应用程序的主要界面
图一
基本上 应用程序推测需要做三件事情
· 列出所有准则的清单
· 创造新准则和编辑现有的准则
· 为某个类别指定合适的准则
Ruby on Rails第一次冲刺
使用RnR的第一步是创建一个新的项目 在命令行你需要输入
$ rails cookbook
现在你必须创建以及配置你的数据库
现在是时间输入你的第一行代码了 在这个例子中使用SQL代码
drop table if exists recipes;
drop table if exists categories;
create table categories (
id int not null auto_increment
name varchar( ) not null default
primary key(id)
) engine=InnoDB;
create table recipes (
id int not null auto_increment
category_id int not null
title varchar( ) not null default
description varchar( ) null
date date null
instructions text null
constraint fk_recipes_categories foreign key
(category_id) references categories(id)
primary key(id)
) engine=InnoDB;
显然你需要在数据库上面执行这些语句
最后的步骤是生成Ruby代码 你只需要执行O S框架的下一个命令
$ ruby script\generate scaffold recipe recipe
$ ruby script\generate scaffold category category
现在 你已经拥有RnR应用程序的第一个版本 并且准备运行
很少量的工作 一个简单的 创建表格 然后执行向导 让我们看看结果
Rails结果
这是应用程序的结果
图二
图三
图四
少量的工作 少量的结果
JPA on OX的第一次冲刺
继续使用OpenXava 使用OpenXava的第一步是创建新的项目
$ ant CreateNewProject xml Dproject=CookBook
现在你必须创建以及配置你的数据库
现在是时间输入你的第一步代码了 在这个例子中使用Java代码
Recipe java:
package okbook model;
import java util ;
import javax persistence ;
import openxava annotations ;
@Entity
@View(members= title; description; date; instructions )
public class Recipe {
@Id @GeneratedValue @Hidden
private Integer id;
@Required @Column(length= )
private String title;
@Column(length= )
private String description;
private Date date;
@Stereotype( HTML_TEXT )
private String instructions;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this title = title;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this description = description;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this date = date;
}
public String getInstructions() {
return instructions;
}
public void setInstructions(String instructions) {
this instructions = instructions;
}
}
Category java:
package okbook model;
import java util ;
import javax persistence ;
import openxava annotations ;
@Entity
public class Category {
@Id @GeneratedValue @Hidden
private Integer id;
@Required @Column(length= )
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this name = name;
}
}
最后一个步骤是生成数据库图表 你只需要执行项目中的一个小目标
$ ant updateSchema
现在 你已经拥有OpenXava应用程序的第一个版本 并且准备运行
少量的工作 简单的POJO 以及执行 更新图表 让我们看看结果
OpenXava结果
这是应用程序的结果
图五
图六
注意 用户可以创建更新 删除 从列表生成PDF 将列表输入到excel 每一列的命令 大型结果和过滤数据的支持分页 而且你可以直接部署 不需要代码 仅仅是执行一个小目标 JSR 入口上的应用程序 以及OpenXava的look & feel能够适用于入口的look & feel 这就是一个应用程序准备产出的第一步
少量的工作 完美的结果
观察这里RnR 与 OX之间的差别 一个冷静的观点是在RnR中 你先输入表 而在OpenXava中先输入类别
控制器
Rails引起basic CRUD的控制逻辑 你在下面可以看到
图七
另一方面 OX不会为CRUD生成任何代码 OpenXava仅有一个属性代码 可以执行CRUD和打印 将自动化配置给所有的实体 你可以书写你自己的属性CRUD逻辑 或者你可以为一个特有的实体书写详细逻辑 但是你不会为每一个实体设置控制代码 使用这种方法 你需要维护少量的代码 并且你可以改变CRUD独立单元的逻辑
Rails使用合成码 OX使用属性代码
你可以在OpenXava wiki上面学到更多的OX控制器知识
增加关联
为了规范在Ruby中从类别增加关联 你需要在category rb中书写如下代码
图八
以及在recipe rb中
图九
相当简单 但是 你要做更多的工作 你必须编译
cookbook \app\views\recipe\_form r
增加如下代码
<p><labelfor= recipe_category_id >Category</label><br/>
<%= select( recipe category_id Category find(:llect{|c| [c name c id] }) %></p>:
结果是
图十
在这个环节 OpenXava中 你不得不在Category java中使用JPA规定关联
@ManyToOne(optional=false) @DescriptionsList
private Category category;
and in Recipe java:
@OneToMany(mappedBy= category )
private Collection recipes;
而且你不需要接触任何类似HTML代码 应用程序将会显示如下
图十一
你有一个为修改产生的链接或者从这里创建新类别
不增加任何辅助编码 如果使用者使用类别单元 他将获得每一个类别中准则的收集 如下所示
图十二
在这里 RnR应用程序还是不具备这种特性 你需要书写一些Ruby 和HTML代码来实现一样的结果
在这一块 RnR 和 OX的主要差别是 在OX中你不需要书写任何HTML类似的代码 事实上你连用户界面代码都根本不需要书写
精确的基础资料
Ruby on Rails指导的下一个步骤是为一种特性生成基础资料 在RnR中你不得不编译控制编码从而达到这个目的 让我们开看看
修改以及更新的方法是增加如下代码行
@recipe date = Time now
The equivalent in OX is adding the @DefaultValueCalculator annotation in model:
@DefaultValueCalculator(CurrentDateCalculator class)
private Date date;
用一种更为公开的方法获得一样的结果
在这里 尽管RnR中在控制器上放置的代码 OX中统计基础资料的代码 为了确认以及业务逻辑 一般来说是放在模型上 OX促进从控制器转移业务逻辑到模型上
RnR的相关文章中提到 我改良模型文件 所以我需要重新启动我们的web服务器 尽管使用Eclipse WTP 我只需要按一下Ctrl 加上B 在浏览器上点击刷新以便于看见OpenXava应用程序上面模型的变化
结论
Ruby on Rails 和 OpenXava之间最主要的差别是RnR是 MVC框架 你不得不书写模型和控制器 OX是模型驱动框架 你只需要书写模型 结果就是更少的代码 更好的程序
lishixinzhi/Article/program/Java/JSP/201311/19267Ruby作为一种通用的程序设计语言,和其它常用的编程语言一样,可以编写大部分我们日常遇到的任务,而且完成得更简单优雅。已经有人用她编写了Web服务器程序、科学计算程序、视频游戏软件和其他有趣的应用。更多的人用她来做程序原形实验和处理每天遇到的各种琐碎的编程任务,基本上就能做这些事情希望能帮到你,当然它的功能还有很多1、检测服务器环境是否充分,有没有所需的ruby版本,有没有数据库(如mysql)等
2、将代码放到服务器上,安装对应的gem,或通过bundle install安装依赖的gem。
3、在服务器上建立数据库,并配置好代码中的 config/databaseyml
4、采用某种方式来运行应用,相对较为容易的为 passenger + apache 或 passenger + nginx
5、初始化数据,测试并试运行
首先我告诉你,你所描述的全都是后端开发语言,并不是前端
GO、PHP、Ruby、Python全都是后端、且注重的领域不一样
GO专注于大型高并发、高性能项目,R、PY都是面向对象的动态语言
接下来可以谈一谈目前还可以的PHP语言,开发网站首选,且过去几年PHP中的异步框架也开始兴起,比如Swoole、Swoft和ReactPHP等等,都是用PHP或其他语言编写的框架和服务器
可以让PHP程序员不需要学习另外一门语言、也可以用PHP实现高并发、高可用、微服务架构,即时通信等,关键还省钱解约成本,能够让用户运行真正的协程异步。
PHP7+Swoole性能仅次于C、Java和GO、让PHP程序员既可以动态开发又可以实现高并发!Swoole协程编程、并发编程、Swoft微服务、等技术都是成为一个中高级PHPer,架构师的必经之路,为了帮助大家进阶中高级涨薪、
我为大家准备了一套精品福利!还可加入大牛学习圈子,分享tp,laravel,Swoole,Swoft微服务等教程,各种大牛都是3-8年PHP开发者,每天还有12年的架构师做讲解,助你进阶中高级PHP程序员,增值涨薪!需要可关注本头条号,并且发送私信:PHPPHPer想掌握Swoole协程编程、并发编程、进阶PHP中高级,架构师的可以来学习
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)