您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 编程语言的分类与选择
编程语言的分类和选择JackyChen编程语言的分类•机器语言vs高级语言•动态语言vs静态语言•命令式vs函数式vs逻辑式语言•强类型定义语言vs弱类型语言•面向对象vs面向过程•按代划分作为程序员必须知道:不同语言的编程能力是不一样的,学习多门语言是必要的机器语言vs高级语言•选择机器(汇编)语言的项目一定有原因的,譬如效率等•其他的语言都属于高级语言•编程语言之间有本质区别,“使用什么语言并不重要,重要的是你对问题是否有正确的理解”这种观点是错误的,各种语言的编程能力有天壤之别,用了不合适的语言导致项目的失败动态vs静态语言•动态语言:运行期间才去做数据类型检查的语言–PERL,Python,Ruby...可视为超级脚本语言–脚本语言:Tcl,JavaScript,VBscript,ASP,PHP,bat,shell...–脚本语言需要解释器来运行–宏语言则可视为脚本语言的分支,两者也有实质上的相同之处–HTML,内嵌网页的脚本语言,解释器就是浏览器•静态语言:数据类型是在编译其间检查的–C/C++,JAVA...命令式函数式逻辑式•命令式:大多数流行语言包括脚本语言–Fortran、Pascal、Cobol、C、C++、Basic、Ada、Java、C#...•函数式:基于数学函数概念–Lisp、Haskell、ML、Scheme...•逻辑式:基于一组已知规则的形式逻辑系统–Prolog强类型vs弱类型•强类型(类型安全):强制数据类型定义的语言•弱类型:数据类型可以被忽略的语言–其实强弱是相对的,譬如C相对于C++来说就是弱类型的•语言的类型安全与其动态性无关联:Python动态语言强类型VBscript动态语言弱类型JAVA静态语言强类型VB/C静态语言弱类型面向过程vs面向对象•纯面向过程的语言–C/FORTRAN/COBOL/ALGOL/PASCAL/BASIC•纯面向对象的语言–JAVA/RUBY/Smalltalk/Eiffel/Actors/POOL•两者兼有–C++/Python按代划分•第一代机器语言第二代汇编语言•第三代–Fortan/Cobol/Lisp/C/C++/C#/Java等•第四代–为特定应用设计的语言,比如用于报告生成的NOMAD,用于数据库查询的SQL和文本排版的Postscript•第五代–基于逻辑和约束的语言,比如Prolog和OPS5编程语言的选择•如果编写对性能要求苛刻,或和操作系统结合紧密的程序,必然选择c。•如果编写到处可用的程序,选java。•如果编写大程序,可能的化尽量用python,不行了再用java和c;因为python带来了生产力•编写文本的处理程序用perl。•编写知识的处理程序用prolog。•编写最灵活,最模糊的程序用lisp。•编写office程序用vba。•编写服务器端程序,php、perl、python、asp都是选择。•编写数据库程序用vb或delphi。
本文标题:编程语言的分类与选择
链接地址:https://www.777doc.com/doc-3274340 .html