编程心得,计算机语言的种类总结
分类:面向对象

 我是学编程的,知道计算机高级编程语言,有很多种,比如c,java,c++,c#,defiv,各种各样的语言功能不同的。c是面向过程语言的语言,java和c#是面向对象的语言,c++是过程和对象的混合体。c语言使用于单机大型银行系统的语言,java适用于网页,单机,移动三方面。
  就网站编程语言中,有静态和动态两种。静态的是html,动态是aspx,jsp,asp。可以说一个网站有四个高手,每一个的作用都是举足轻重的。一个是数据库(可以看做古代打仗的粮仓),一个是动态程序(jsp,php,apx),一个是静态程序(html),一个是美工(photoshop,cdr,javascript,css4),四个高手相互依存,互相补益。
  技术做出来有效产品,才有实用价值。
  网站也是一样,合理的布局,自然的图片,3秒的访问速度,稳定的流量。是每个网站设计人员优先考虑的因素。我现在在优化一个网站,网站地址:www.hnguotong.com。网站优化是一个累人的工作。做网站优化的人肯定会打字,上网,不然,你没法做seoer。
  云计算,网站编程,单机游戏,网络编程可以说是未来发展趋势。在未来200年以后,世界是一个智能时代。

各种不同语言之间的区别,我整理了一篇文章,参考了这两篇:

     我是学习编程的,学过的编程语言有c,java,html,css,javascript。刚开始学习C语言的时候,不知道main()方法的功能,常用的库(比如stdio.h,math.h,conio.h),更严重的是不知道"%d"代表啥含义,最严重的是不知道怎样保存一个文件。

为了能在最快的时间里理解更多语言的相同点和不同点,我用大家最熟悉的Hello World来展示一下各个语言的奥妙

计算机语言的种类总结

   在老师、同学、和我自己帮助下,每天晚上看C程序,每天用心写一两个程序,让程序像诗歌一样呈现出来。尤其在调试C程序时,用的是Turb2.0。经历一年多的时间,渐渐懂得数据类型、函数、指针的定义和用法。

 

   学习java的时候,为了搞懂类和对象的区别,我们几个同学常常聊到晚上十一点左右。想想大学生活,叫人羡慕,没有工作压力。

请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址

动态语言、静态语言 比较

   到现在的网站编程,我学的是jsp,html,css,javascript。

注意:整个教程是基于linux系统的(为了方便讲解,我选择用vmware虚拟机装了CentOS 7来演示,其他linux均可),包括编译器、依赖库安装过程、命令行,如果是使用windows或mac系统稍有差别,CentOS 7安装方法百度一下你就知道

   程序开始由单机程序到浏览器上。

万物之源的C语言

简述:C语言是编译执行的语言,linux下常用的编译器是gcc,c语言源代码可以直接被编译成可执行程序(机器码),说它是万物之源是因为其他各种语言都是用C语言写的,如java、php、python……

源代码:hello_world.c

#include <stdio.h>
int main(int argc, char* argv[])
{
    printf("hello worldn");
    return 0;
}

编译执行:

[root@centos7vm code]# gcc -o hello_world hello_world.c
[root@centos7vm code]# ./hello_world
hello world

 

 

   只不过现在没有学习socket编程。

最流行的java语言

简述:java语言曾一度家喻户晓,有人可以昂起头说我会java,如今虽然潮流已过,但java跨平台的优势以及强大的类库着实不容小觑,其他语言很难超越,java衍生除了非常多周边产品(如jsp),非常多的开源系统都是基于java(hadoop、hive、hbase、lucene等),java和c一样也是编译执行的语言,区别在于java编译出的字节码文件运行在一层java虚拟机之上,而虚拟机可以架设在各种操作系统上,所以java也就有了跨平台的优势,一处编译多处执行

环境准备:

[root@centos7vm code]# yum install java*

 

源代码:hello_world.java

class HelloWorld {
    public static void main(String[] args) {
        System.out.println("hello world");
    }
}

编译执行:

[root@centos7vm code]# javac HelloWorld.java
[root@centos7vm code]# java HelloWorld
hello world

 

 

以下内容为前一篇:《计算机语言的种类总结》

互联网时代的html语言

简述:html是超文本标记语言,通俗来说就是展示网页的,是一种解释执行的语言(读一句展示一句,不需要编译成其他形式),html通过一个个标签来指示浏览器怎样展示网页

源代码:hello_world.html

<html>
    <head>
    </head>
    <body>
        <h1>Hello World!</h1>
    </body>
</html>

 

用浏览器打开展示效果:

图片 1

 

 

计算机语言的种类总结内容导读: 今天来总结一下语言的种类,语言的种类从不同的角度会有不同的划分,比如机器语言、汇编语言、高级语言、低级语言(机器语言及汇编语言)、编译语言、解释型语言、脚本语言、动态语言、静态语言、函数式语言(比如f#及scala)、命令式语言、面向对象语言(比如c++...

解释执行的脚本语言bash

简述:bash是shell脚本的一种(也叫bshell,类似还有csh和ksh),其实类似于dos里的bat批处理程序,把一堆顺序执行的命令写到一个文件里一起执行,同时扩展了一些分支、循环、函数等语言特性,在服务器端开发和运维中经常用到

源代码:hello_world.sh

#!/bin/bash
echo "hello world"

 

执行效果:

[root@centos7vm code]# sh hello_world.sh
hello world

 

  今天来总结一下语言的种类,语言的种类从不同的角度会有不同的划分,比如机器语言、汇编语言、高级语言、低级语言(机器语言及汇编语言)、编译语言、解释型语言、脚本语言、动态语言、静态语言、函数式语言(比如f#及scala)、命令式语言、面向对象语言(比如c++及java)、过程式语言、混合型语言(介于编译型语言与解释型语言之间,比如java与c#)等等,语言的种类繁多,五花八门什么都有,真正的全部总结全面不是一件容易的事情,这里我只是起个抛砖引玉的作用,希望对大家有所帮助。

即能编译执行又能解释执行的python语言

简述:python的强大在于它的不伦不类,说它是解释执行,它却会编译成文件,说它是脚本语言,它却具有面向对象的所有性质,如今python开源的类库已经非常强大了,什么功能都有,python也成了大数据方向必要的工具

源代码:hello_world.py

#!/usr/bin/python
print "hello world"

执行效果

[root@centos7vm code]# python hello_world.py
hello world

ps:python还可以交互式执行,也就是像在终端里执行python语句一样,如下:

[root@centos7vm code]# python
Python 2.7.5 (default, Nov 20 2015, 02:00:19)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "hello world"
hello world

请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址

 

  另外关于机器语言、汇编语言及高级语言的资料,我以前写过一篇文章,在这里就不说很详细了。

号称全世界最好的语言的php

简述:动态网页后端语言有很多,asp、asp.net、jsp、c#、python、php……,php可以说是最容易上手的语言

环境准备:

[root@centos7vm code]# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
[root@centos7vm code]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[root@centos7vm code]# yum install php55w.x86_64 php55w-cli.x86_64 php55w-common.x86_64 php55w-gd.x86_64 php55w-ldap.x86_64 php55w-mbstring.x86_64 php55w-mcrypt.x86_64 php55w-mysql.x86_64 php55w-pdo.x86_64

 

源代码:hello_world.php

<?php
print("hello worldn")
?>

执行效果:

[root@centos7vm code]# php hello_world.php
hello world

ps:实事上php程序不是这样用的,而是和http服务器一起通过接收http请求,并执行响应的php脚本,然后返回html标签给用户,实现动态网站,后面会详细讲解

 

 

  1.动态语言及静态语言

网页样式语言css

简述:css是html的一个辅助语言,用来描述网页样式,html没有css也可以工作(可以通过标签的各种属性以及style属性定制样式),但css可以把样式做抽象,和html剥离,这样html单纯用作布局

源代码:

hello_world.html

<html>
    <head>
        <link rel="stylesheet" type="text/css" href="style.css" />
    </head>
    <body>
        <h1>Hello World!</h1>
    </body>
</html>

 

style.css

h1 {
    color: red
}

 

用浏览器打开展示效果:

图片 2

 

 

  动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ecmascript(javascript)便是一个动态语言。除此之外如ruby、python等也都属于动态语言,而c、c++等语言则不属于动态语言。

网页前端脚本语言javascript

简述:javascript是可以运行在网页前端的脚本语言,可以基于html之上实现更丰富的交互、异步回调、多线程、定时器、动画等

源代码:hello_world.html

<html>
    <head>
    </head>
    <body>
        <script type="text/javascript">
            document.write("<h1>Hello World!</h1>")
        </script>
    </body>
</html>

用浏览器打开展示效果:

图片 3

 

  所谓的动态类型语言,意思就是类型的检查是在运行时做的,比如如下代码是不是合法的要到运行时才判断(注意是运行时的类型判断):

总结

综上,挑选了几种典型语言来说明运行过程,针对不同的业务场景选用不用的语言,每种编程语言可以边用变查,不建议一开始就系统学习,而应该运用一段时间后再系统学习,从而补充一些没用过的特性。

有关编程语言更高阶的内容可以看看《编译原理》、《lex & yacc》

  defsum(a,b):

  returna+b

  via:

  可以简单的理解为直接被解释执行的语言称为动态语言。而需要编译环境将程序转换为其它的编码再执行的语言称为静态语言。

  当前静态语言有:java、c/c++、c#、delphi、vb等。

  动态语言有:asp、php、cgi、lisp、perl、python,smalltalk、ruby等。

  via:

  2.函数式编程语言

  f#是微软.net平台上一门新兴的函数式编程(fp,functionalprogramming)语言,作为微软唯一的fp语言,其位置的特殊性引起了很多人的关注,而微软也致力于将f#打造成为.net平台的顶峰语言,我们也期待着f#能够给函数式编程语言带来一次重大革命。

  via:

  scala是一种基于java的通用编程语言,旨在推广函数式编程,它编译成java字节码,在java虚拟机(jvm)上运行。虽然scala本质上是一个函数式编程语言,但它也体现了面向对象语言的所有必要元素,这一点使函数式编程特性对编程社区的吸引力更大。

  f#是由微软主持开发的一个通用编程语言,它是.net通用运行时(clr)的一部分,它是以另一个正统的函数式编程语言ocaml为基础的,微软在.net平台中引入f#除了人们对函数编程的兴趣不断上升外,另一个重要的原因是函数编程非常适合高性能和并行计算。虽然它的语法清晰,但f#实际上混合了函数式编程语言,命令式语言和面向对象语言的语法特性,它的面向对象和命令式特性大部分都与.net平台兼容,f#的三重性质也很实用,它允许程序员使用任意结合这三个编程语言的特性使用。

  via:

  pyton及ruby也可以进行函数式编程

  python函数式编程到底有什么用呢?我想实际的好处就是可以将更好的描述问题本身,而不是描述解决问题的操作步骤。

  via:

  3.命令式程序设计语言

  命令式程序设计语言是基于动作的语言,以冯诺依曼计算机体系结构为背景。机器语言及汇编语言是最早的命令式语言。在这种语言中,计算机被看做是动作的序列,程序就是用语言提供的操作命令书写的一个操作序列。用命令式程序设计语言编写程序,就是描述解题过程中每一步的过程,程序的运行过程就是问题的求解过程,因此也称为过程式语言。fortran、algol、cobol、c、ada、pascal等都是命令式程序设计语言。

  via:

  4.面向对象语言

  面向对象语言(object-orientedlanguage)是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。语言中提供了类、继承等成分。

  面向对象语言借鉴了20世纪50年代的人工智能语言lisp,引入了动态绑定的概念和交互式开发环境的思想;始于20世纪60年代的离散事件模拟语言simula67,引入了类的要领和继承,成形于20世纪70年代的smalltalk。

  面向对象语言的发展有两个方向:一种是纯面向对象语言,如smalltalk、eiffel等;另一种是混合型面向对象语言,即在过程式语言及其它语言中加入类、继承等成分,如c++、objective-c等。

  面向对象语言刻画客观系统较为自然,便于软件扩充与复用。有四个主要特点:

  ⑴识认性,系统中的基本构件可识认为一组可识别的离散对象;

  (2)类别性,系统具有相同数据结构与行为的所有对象可组成一类;

  (3)多态性,对象具有惟一的静态类型和多个可能的动态类型;

  (4)继承性,在基本层次关系的不同类中共享数据和操作。

  其中,前三者为基础,继承是特色。四者(有时再加上动态绑定)结合使用,体现出面向对象语言的表达能力。

  一般认为,较典型的面向对象语言有:

  simula67,支持单继承和一定含义的多态和部分动态绑定;

  smalltalk支持单继承、多态和动态绑定;

  eiffel,支持多继承、多态和动态绑定;

  c++,支持多继承、多态和部分动态绑定。

  java,支持单继承、多态和部分动态绑定

  五种语言涉及概念的含义虽基本相同,但所用术语有别。

  基于类的面向对象语言是面向对象世界里的主流。它包括:

  simula,第一个面向对象语言

  smalltalk,第一个支持动态类型的语言

  c++,它的大部分基于类的特性继承自simula.等等等等。

  与基于类的语言相对应的是基于对象的面向对象语言。这里“基于对象”的概念和把visualbasic叫做基于对象的概念是不同的。这里的“基于对象”是指一个只以对象为中心,没有类的概念的语言,类似python之类的语言。

  via:

  5.过程式语言

  过程式语言与面向对象语言,到底有什么区别?可能是初学者常碰到的问题。简单来说,过程式语言整个是构建在动词上的语言。比如,最常见的经典过程式语言-c语言,打印一条语句的语法是printf(),这个方法的名字本身就是一个动词,这个动词强调了一个动作的过程,所谓过程式就是这个意思。

  同样的方法在面向对象的java中就是这样写:system.out.println();前面说过面向对象语言就是构建在名词基础上的系统,对象就是一个名词。大家都知道对象封装了操作和属性,所以system是一个对象,后面跟上分类在out目录下的方法println。这就是面向对象的写法。

  via:

  6.解释型语言

  计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。

  翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。

  解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。

  via:

  7.脚本语言

  1).脚本语言(javascript,vbscript等)介于html和c,c++,java,c#等编程语言之间。

  html通常用于格式化和链结文本。而编程语言通常用于向机器发出一系列复杂的指令。

  2).脚本语言与编程语言也有很多相似地方,其函数与编程语言比较相象一些,其也涉及到变量。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些.

  3).与程序代码的关系:脚本也是一种语言,其同样由程序代码组成。

  注:脚本语言一般都有相应的脚本引擎来解释执行。他们一般需要解释器才能运行。python、javascript,asp,php,perl,nuva都是脚本语言。c/c++编译、链接后,可形成独立执行的exe文件。

  4).脚本语言是一种解释性的语言,例如python、vbscript,javascript,installshieldscript,actionscript等等,它不象cc++等可以编译成二进制代码,以可执行文件的形式存在.

  脚本语言不需要编译,可以直接用,由解释器来负责解释。

  5).脚本语言一般都是以文本形式存在,类似于一种命令.

  举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件.

  你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言.

  via:

  8.编译型语言

  编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。

  这里提一下编译型语言和解释型语言的区别:解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。

  via:

  9.以另一个角度将程序语言分为5类

  1)、webpagescriptlanguages

  就是网页代码,比如html、javascript、css、asp、php、xml都应该属于此类(照蔡的意思,html不应该属于anguages的,可能他觉得太简单了吧,不过我觉得html也应该算的,大家爱听谁的就听谁的好了,这个不重要)

  2)、interpretedlanguages(解释型语言)

  包括perl、python、rebol、ruby等,也常被称作script语言,通常被用于和底下的操作系统沟通。照蔡的意思,每个人至少应该学会一套这类的语言。这类语言的缺点是效率差、源代码外露——所以不适合用来开发软件产品,一般用于网页服务器。

  3)、hybridlaguages(混合型语言)

  代表是java和c#。介于解释型和编译型之间。蔡认为c#是.net最重要的语言,值得期待其后续发展;至于java,蔡叫看他的《sleeplessinjava》——我倒!

  4)、compilinglanguages(编译型语言)

  c/c++,java都是编译型语言。蔡说c++很复杂,要成为高手没三五年是不行的(就凭这句话,我决定向java投降),虽然如此,但真正要成为高手的都应该懂c/c++。

  关于delphi,蔡说如果想要跨linux和windows平台的语言,则delphi似乎是最好的选择。

  5)、assemblylanguages(汇编语言)

  汇编语言是最接近于硬件的语言,不过现在几乎没多少人用了。

  程序语言学习顺序建议

  如果完全没有程序经验,可照这个顺序:javascript——解释型语言——混合型语言——编译型语言——汇编(如果需要的话)

  用业界流行一句话做结尾“真正的程序员用c++,聪明的程序员用delphi”,那么,什么样的程序员用java呢?

本文由10bet手机官网发布于面向对象,转载请注明出处:编程心得,计算机语言的种类总结

上一篇:特区七星论坛七星彩10bet手机官网 下一篇:Spring调用spymemcached客户端的例子,才可以在Action中使用依赖注入
猜你喜欢
热门排行
精彩图文