精华内容
下载资源
问答
  • Go语言Windows系统开发环境配置

    千次阅读 2017-02-16 17:46:10
    博客《为什么Go语言在中国格外的”火”》分析了为了中国的程序员对Go语言情有独钟。 博客《Go语言的前世今生》简单介绍了Go语言的发展历程。...第一步当然是开发环境的搭建,今天就介绍一下windows系统上如何

    博客《为什么Go语言在中国格外的”火”》分析了为了中国的程序员对Go语言情有独钟。
    博客《Go语言的前世今生》简单介绍了Go语言的发展历程。

    按照套路,本应该还有一篇博客写Go语言的优势。但目前不会这么做,我想大家更应该的是在学习使用Go语言的过程中,体会到他的威力。

    所以,今天我们就开始我们的Go语音学习之旅。

    工欲善其事,必先利其器。第一步当然是开发环境的搭建,今天就介绍一下windows系统上如何搭建Golang开发环境。

    go官方:
    https://golang.org/

    下载地址:
    https://golang.org/dl/

    安装文档:
    https://golang.org/doc/install

    1. 下载
    go是开源的,但是我们不打算一开始就研习他的源码。go的官网上,对于windows操作系统有两种安装方法,也就是提供了不同的文件:
    这里写图片描述

    我们可以看到一种是.msi,一种是.zip。
    对于windows操作系统不熟悉的人来说,这里有必要介绍一下什么是.msi:
    msi就是microsoft installer的简写,是微软格式的安装包。

    两种包有何区别呢?
    .zip下载后,我们解压,然后需要手动配置环境变量。
    .msi下载后,安装,会自动帮我们把环境变量配置好。

    下载就分别就两种格式的包进行说明。

    2. 安装
    2.1 zip格式安装
    解压到某一位置,比如c:\Go
    这里需要注意,如果你指定的位置不是c:\Go,你还必须设置GOROOT这个环境变量,指向你所解压的位置。
    PATH环境变量中加入路径:c:\Go\bin
    这里写图片描述

    设置完成后,进入cmd,输入 go version,如果成功,就会出现下图:
    这里写图片描述

    新建文件夹,比如叫go_workspace,然后在go_workspace中新建三个文件夹,分别叫bin pkg src

    然后这是环境变量GOPATH:
    这里写图片描述

    设置完成后,重启cmd,输入echo %GOPATH%,如果成功,就会出现刚刚设置的路径。

    2.2 msi格式安装
    下载完成后直接安装就可以了。
    安装成功后,cmd中输入go version,就会出现版本情况

    接下来也要配置GOPATH,跟上面的方法一样,这里不再赘述了。

    3. 应用
    在d:\go_workspace\src下新建一个hello.go,
    键入代码:

    package main
    
    import "fmt"
    
    func main() {
        fmt.Printf("hello, world\n")
    }

    然后运行:
    这里写图片描述

    4. 补充
    其实还有一些环境变量可以设置,这就因人而异了:
    GOROOT:Go的安装目录
    GOPATH:用于存放Go语言Package的目录,这个目录不能在Go的安装目录中
    GOBIN:Go二进制文件存放目录,写成%GOROOT%\bin就好
    GOOS:操作系统
    GOARCH:指定系统环境,i386表示x86,amd64表示x64
    PATH:需要将%GOBIN%加在PATH变量的最后,方便在命令行下运行Go

    然后可以在cmd中输入 go env查看环境变量的配置情况。

    展开全文
  • 主流操作系统开发语言

    万次阅读 2011-04-27 15:41:00
    windows ,linux 等操作系统开发语言以及各种编译器的开发语言及其发展脉络。

           WIN9x是纯粹的汇编写的,由于代码量太巨,所以漏洞很多,稳定性也很差。

           基于NT的windows(WIN2K,XP,2003,VISTA),主要是用C写的(少量与硬件交互的代码因为C无法实现所以用汇编写的);其中    WINDOWS 2000大概有20余万行代码,其中80%是用C编写;   部分汇编,底层接口都是用汇编编写的;    还有部分是使用c++编写的。

     

        Linux,Unix内核基本上是用C完成的,少量与硬件交互的代码因为C无法实现,所以用汇编写的,没有使用C++代码.但是,现在linux有些高级特性是也有采用用c++写的。 Linux,Unix平台上的很多GNU软件也全部是用C写出来的。

     

       综合上面的, 我们可以看出, 不管是windows还是Linux/Unix,其操作系统的核心都是使用大量的C语言和一些汇编语言写成的。

      其发展脉络是这样的:因为计算机值能识别二进制的机器码,所以, 最开始的程序都是使用机器码来写的(打孔机就是证明),难度很大。后来,使用机器码写了一个程序,该程序可以解释一些最简单字符指令,将这些字符指令转换成对应的机器码,然后在计算机上执行,这个就是汇编器的初始版本,利用这些简单的字符指令,大大简化了代码的编写,不用像以前那样必须写大量的机器码了,仅仅需要找到这些机器码对应的字符指令码就可以了,这些指令再被汇编器翻译成大量的机器码。利用这些简单的指令,可以做很多事情了,包括处理额外的一些字符指令,并将其转换成机器码这样的事情,这样一来, 我们就可以使用这些简单的字符指令写一个处理额外字符指令的程序,利用初始版本的汇编器翻译成机器码,就得到了一个扩展版本的汇编器,该版本的汇编器与初始版本的汇编器相比,能处理更多的额外字符指令,通过多次迭代,最终可以得到一个比较完备的汇编器(能处理所有的汇编指令)。 这就是汇编器的来历。 有了汇编器,我们就可以使用汇编指令来编写各种汇编程序了。 我们发现,汇编器本身的最初版本(只能处理简单的汇编指令)是使用二进制机器码编写的,剩下的大部分(能处理额外的大部分汇编指令)都是使用汇编语言本身编写的。 所以, 我们看到, 在所有的汇编程序的世界中, 除了汇编器本身是由机器码和汇编码写的以外,汇编代码还可以用来实现很多的其它功能,例如很多系统级别的工具软件,其中就包括各种和硬件打交道的驱动程序等等, 以及各种编译器,例如:C语言编译器 。类似的,C编译器的核心也是由汇编语言写成的,甚至还可以包括一些机器码,但是大部分还是通过迭代来使用C语言编写的,C编译器能处理的数据结构和语言规则比汇编语言更丰富,更高级了,更接近人的可读性了,这些数据结构和语言规则就是C语言标准了。这样一来,就有了更多的选择,既可以选择机器码,汇编,也可以选择C语言来写程序了。

          这样,使用C语言作为主要的语言,外加汇编语言作为各种底层驱动或者与硬件有关的部分的代码的编写,就可以写成很多系统管理的程序,慢慢地, 把这些程序集成起来, 就写成了各种操作系统的核心,包括windos, linux/unix 等。windos, linux/unix 等的核心都是由c语言,汇编语言来写成的。

     

         有了操作系统的核心以后,我们就可以使用已有的语言来开发各种操作系统管理软件了,将这些合起来,就形成了操作系统。

       有了操作系统以后,我们就可以使用已有的语言,写成更加高级的语言的编译器和各种sdk工具,这样,就得到了一种新的高级语言了, 我们以后写代码的时候就可以使用这种高级语言了,这样,从更高的层次来写代码,就会简化了很多底层的细节,大大提高了效率,当然,还是那句话,高级语言由于需要经过各个编译器的层层转换处理,性能会比较的低一些,而且离底层也越来越远,失去了对底层的控制,也就意味着如果想要进行更加细致的控制就不可能了,因为你能使用的智能是高级语言的编译器所能支持的语言规范了,所以,有时候, 在某些特殊情况下,还是有必要使用底层语言来实现一些特殊的功能的。 

     

        当然,这些选择各有优缺点,需要根据自己所需要实现的功能更强调哪一方面来选择不同的语言。    越是底层,实现同样的功能,能使用的数据结构和语言规则就越少, 所需的代码量就越大,就越难以写,但是,由于需要的转换和处理就更少,而且离底层硬件越近,所以性能也越快,所以,除非特别强调性能或者需要访问底层(例如直接访问硬件等),大部分情况下,是采用高层的语言来编写程序,经过各级编译处理以后最后转换成机器码来执行的。 

     

     

     

           这样一来,我们就可以使用已有的语言开发更加高级别的编译器,从而支持更加高级别的语言了。

           例如C++编译器的核心就是使用C语言开发的,其中可能包括一些汇编代码,但是其完备版本仍然是经过多次迭代的C++来写成的。也就是说,C++编译器主要是由C++语言编写的,其初始版本(也就是核心)是由C语言外加一些汇编语言写成的。 这样,有了C++编译器,我们就可以有更多的语言选择了。 对于C++运行时环境,可以选择c语言或者汇编写,但是大部分还是由c++写成的。   当然, 开发C++编译器就像开发所有的编译器一样,各个不同的公司都可以来做这件事情, 这样就产生了很多种C++的编译器(就像有很多种汇编器和C语言编译器一样),比较著名的就有微软的Microsoft C++ ,Borland 公司的Borland C++等等。  这些c++编译器可能实现不同的C++语言的数据类型和语法,所以,后来。一个国际的标准机构就站出来制定了一个C++语言的标准,所有的编译器都实现这些标准,当然实际上,这些编译器除了实现C++标准以外,往往还会增加一些自己特殊的辅助功能, 也就是说,各个编译器都是可以用来编译符合规范的语言的,此外,这些不同的编译器可能还有各种不同的一些特色辅助功能,在编译代码的优化,性能方面可能还有一点点小的区别。   有了这些语言,我们就可以用它们来写各种程序了,包括这些语言的ide等。

          

     

         类似的,我们现在有了汇编语言,C语言,C++语言, 就可以使用这些语言来开发各种其它的编译器了,例如Sun公司最开始就是完全使用C语言开发了java编译器javac,   后来, 改成以就是使用c++开发javac的核心,外加java语言本身来开发了javac的其它大部分。

    实际上也就是说,你可以使用任意的已有语言来开发新语言的编译器(一般是使用某种已有语言,至于选择哪种语言则根据需要可以随意选择,开发新编译器的核心部分,然后采用多层迭代的新语言来开发编译器的其它主要部分;当然,也可以完全使用已有语言来开发新的编译器),对于已有低级语言来说,新语言的编译器对低级语言的编译器来说,无非就是使用该低级语言写成的一个程序而已。所以, 我们不管看到什么高级语言,都会知道,该语言的编译器都是基于某种已有的低级语言加上该语言本身来写成的。然后,只要在操作系统上安装了该语言的编译器以及其所依赖的低级语言的编译器, 在该操作系统上就可以使用该新语言来开发各种程序,   包括更高级语言的编译器了。

        例如: delphi的编译器是用的   C++编写的。PASCAL语言的编译器用C写的等等。

     

         语言根据翻译的方式的不同,语言分为编译型语言和解释型语言,所有的脚本语言(例如:JAVASCRIPT,ASP,PHP,PERL等)都属于解释型语言,它由一个解释器(也叫解释引擎)来每次读入一句代码,翻译一句,执行一句,反复循环。而编译型语言则是将所有的代码一次性编译成可执行文件(exe),如何执行的。

     

      参考:

       计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能值型高级语言编写的程序。
     翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。
     解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。
     什么是脚本语言?
    1.脚本语言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等编程语言之间。
    HTML通常用于格式化和链结文本。而编程语言通常用于向机器发出一系列复杂的指令。
    2.脚本语言与编程语言也有很多相似地方,其函数与编程语言比较相象一些,其也涉及到变量。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些.
    3.与程序代码的关系:脚本也是一种语言,其同样由程序代码组成。
    注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。
    4.脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script等等,它不象c/c++等可以编译成二进制代码,以可执行文件的形式存在.
    脚本语言不需要编译,可以直接用,由解释器来负责解释。
    5.脚本语言一般都是以文本形式存在,类似于一种命令.
    举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件.
    你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言. 

     

      java很特殊,java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后用解释方式执行字节码。Java既可以被编译,也可以被解释。通过编译器,可以把Java程序翻译成一种中间代码 - 称为字节码 - 可以被Java解释器解释的独立于平台的代码。通过解释器,每条Java字节指令被分析,然后在计算机上运行。只需编译一次,程序运行时解释执行。下图说明了它是如何工作的:

    1flow.gif (3652 bytes)

    可以把Java字节码看作运行在Java虚拟机(Java VM)上的机器代码指令。每中Java解释器,不管是Java开发工具还是可以运行Java小应用程序的Web浏览器,都是一种Java VM的实例。JavaVM也可以由硬件实现。

     Java字节码使“写一次,到处运行”成为可能。可以在任何有Java编译器的平台上把Java程序编译成字节码。这个字节码可以运行在任何Java VM上。例如,同一个Java程序可以运行在WindowsNT、Solaris和Macintosh上。

    2comp.gif (6076 bytes)

    Java平台

     平台是程序运行的硬件或软件环境。Java平台与大多数其它平台不同之处在于它是运行于其它基于硬件平台的纯软件平台。大多数其它平台是硬件和操作系统的结合。

    Java平台由两部分组成:


    • Java虚拟机(Java VM)
    • Java应用程序界面(Java API)

    我们已经介绍了Java VM,它是Java平台的基础,可以移植到各种基于硬件的平台上。Java API是软件组件的集合,它们提供了很多有用的功能,如图
    形用户界面(GUI)。Java API被分组为相关组件的库(包)。

     下图描述了一个运行在Java平台上的Java程序,如应用程序(application)或小应用程序(applet)。如图中显示的,JavaAPI和VM把Java程序从硬件依赖中分离出来。

    3play.gif (1479 bytes)

    作为一种独立于平台的环境,Java比本地代码慢一些。然而,聪明的编译器、很好地调制过的解释器和即时字节码编译器可以在不牺牲可移植性的条件下使Java的表现接近本地代码。

     

     

     

      下面以java为例做详细说明。

     

     

     

     

        

     

     

       

     

     

     

          

     

     

     

     

     

     

     

     

        

     

     

     

    然后,在OS核心的基础之上,使用C语言开发一些操作系统的工具(例如Linux/Unix下的很多GUN工具和很多的编译器)。 以Linux/Unix OS为例, 其核心都是使用汇编语言和C语言编写的,然后,基于核心,使用C语言,开发出了C++编译器和C++的运行时环境,有了C++编译器,就可以在该操作系统上使用C++语言来编写一些比较高级的工具软件了,例如,系统管理工具等。  开发出的这些C++代码经过

    C++编译器编译以后, 在C++运行时环境中运行, 就可以提供系统管理工具给用户使用了。 同样, 用户自己也可以使用C++编写各种软件,然后类似的编译运行了。

     

    高级语言的编译器可以用低级语言编写。C语言的编译器一般由汇编语言编写,汇编的只能由机器语言写

    现代计算机系统内的编译器一般是这样写出来的,假定我们把这种语言成为L:
    1)用低一级的语言L1编写一个最初版本的编译器CL2,用于编译高一级的语言L2。(最低级的语言就是机器代码)
    2)用最初版本的编译器CL2所支持的部分L2语言编写一个扩展版本的L2的编译器CL2‘
    3)用CL2编译CL2’,得到优化版本的编译器。

    4)迭代多次,得到完备版本的L2的编译器。

    5)用最终版本的编译器编译所有的L2程序

     

    对上述过程的解释:计算机的CPU只能处理二进制的机器码,内存中存放的也只能是二进制的符号,在最开始的时候,人们是使用机器码来写代码的(例如最初的打卡机),后来,用机器码写了一个程序,该程序能够读入一些简单的字符,并且将这些简单的字符经过处理后转换成二进制的机器码,放到计算机中去执行,这个就是最初的汇编器,它所能处理(翻译)的那些字符命令的集合就成为汇编语言; 有了这些基本的汇编字符指令,就可以使用这些指令来简化代码的编写了,例如:以前做同样的一个处理,用机器码需要写很多机器码,现在如果用等效的汇编指令写的话,值需要较少的指令,而且这些指令经过二进制的汇编器处理以后,就生成了一模一样的二进制机器码。

       这样的话,     就可以利用这些仅有的指令,写一些汇编程序,实现一些功能了。利用这些汇编指令,我们可以写一些处理额外字符指令的汇编代码,这些代码结果二进制汇编器处理后,得到一个新的二进制程序,该程序将能够处理这些额外的字符指令,这就是一个扩展的汇编器,使用类似的迭代,就可以逐步完善汇编器的功能了。 所有的编译器都是如此的。

     

     

       

    编译器说白了就是语言翻译,对于高级语言,你要想让它运行,那么必须有这种语言的编译器或解释器。
    当汇编语言产生的时候,汇编器(用现在的观点来看,因为汇编器是一对一的,所以一般不称之为编译器了)是用机器语言写的。之后因为有了汇编器,那么就可以汇编语言来自举写更高一级语言的编译器了。
    之后的编译器同理。

       

     Linux Kernel的源代码有200多MB,编译以后大概有几十M,而整个的WindowsXP源代码有几个G呢,编译后大概有600M。

     

     

    基于操作系统的软件的编写所使用的语言,那就很多了,不同的软件可能用不同的语言。

       
     

     

    展开全文
  • 服务器系统对比、数据库对比、后台开发语言对比

    服务器系统对比:

    这里写图片描述

    服务器的高性能主要体现在cpu高速计算能力,强大的I/O外部数据吞吐能力等方面,主要为客户机提供WEB应用、数据库、流媒体服务。为确保服务器长时间的稳定运行,企业是否选择了一个适合自身需要的操作系统无疑是至关重要的。现在对几大主流的服务器操作系统进行对比分析,没有最好的系统,只有最适合的系统。

    Windows系统

    windows服务器操作系统我们都比较熟悉,它是Microsoft公司开发的,Microsoft是全球最大的操作系统开发商。Windows系统在局域网配置中是最常见的,但由于它对服务器的硬件要求较高,且稳定性不是很好,作为WEB服务器使用时,巨大的内核通讯量不是windows可以承受的,所以微软的服务器操作系统一般只是用在中、低档服务器中。当然Windows系统也有自己的优点,windows在PC时代已经家喻户晓,在易用性方面,没有人比Windows做的更好,相比其他服务器系统来说,极大的降低了使用者的学习成本,这也是Windows系统经久不衰的原因之一。常见的WindowsServer系统有windows server 2003、windows server 2008、windows server 2012等。

    Linux系统

    Linux服务器操作系统是在Posix和Unix的基础上开发出来的,支持多用户、多任务、多线程、多CPU。最大的特点就是开源,开源就是所有人,包括相关企业,政什么的,开发人员共同监督,在这样的监督之下,一套成熟的方案几乎很少出现漏洞。基于这种平台的开发和使用不需要用户支付任何版权费用,是很多创业者的基石,也是一些保密机构对服务器操作系统采购的首选。另外,Linux还有一套完整的权限机制,没有相关权限,想要对系统造成破坏根本无从下手,安全性和稳定性相对较高,受到中、高级开发人员的青睐。也正是因为Linux的安全性和稳定性,国内外很多保密机构服务器操作系统采购的首选,这类操作系统主要应用于中、高档服务器中。

    Unix系统

    Unix服务器操作系统由AT&T公司和SCO公司共同推出,主要支持大型的文件系统服务、数据服务等应用。功能强大。这种网络操作系统稳定和安全性能非常好,但由于它多数是以命令方式来进行操作的,不容易掌握,特别是初级用户。正因如此,小型局域网基本不使用Unix作为网络操作系统,UNIX一般用于大型的网站或大型的企、事业局域网中。因其体系结构不够合理,UNIX的市场占有率呈下降趋势。Unix在一些人眼中属于高端操作系统,因为很多的服务器商生产的高端产品只支持Unix操作系统。

    NetWare系统

    NetWare服务器操作系统相对来说使用的不是很多,多数人不是特别的熟悉,因为它在市场中的份额是比较局限的,在一些特定行业和事业单位中,NetWare优秀的批处理功能和安全、稳定的系统性能也有很大的生存空间。NetWare操作系统兼容DOS命令,其应用环境与DOS相似,具有相当丰富的应用软件支持,技术完善、可靠,以对网络硬件的要求较低而受到一些设备比较落后的中、小型企业,特别是学校的青睐。而且NetWare服务器对无盘站和游戏的支持较好,常用于教学网和游戏厅。这种操作系统有市场占有率呈下降趋势。

    数据库对比

    这里写图片描述

    现在的数据库以关系数据库为主流,各大数据库也在开发面向对象的关系型数据库,把高级程序设计语言和数据库实现无缝连接,以发挥各自的优缺点。高级程序设计语言善于描述复杂的过程,而数据库有着强大的管理功能和可操作性,我们现在的数据库是以表为基本的存储单元(描述一个对象),但现在的发展越来越快,对数据的复杂性也越来越大。

    Oracle

    Oracle是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。 Oracle数据库是一种大型数据库系统,一般应用于商业,政府部门,它的功能很强大,能够处理大批量的数据,在网络方面也用的非常多。不过,一般的中小型企业都比较喜欢用mysql, SQLserver等数据库系统,它的操作很简单,功能也非常齐全。只是比较Oracle数据库而言,在处理大量数据方面有些不如。

    MySQL

    MySQL是一个小型关系型数据库管理系统,是开源的,MySQL服务器是一个快速的、可靠的和易于使用的数据库服务器。MySQL服务器工作在客户/服务器或嵌入系统中。有大量的MySQL软件可以使用。MySQL是多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年, Sun又被Oracle收购。对于MySQL的前途,没有任何人抱乐观的态度。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

    SQL Server

    SQL Server是由微软开发的数据库管理系统,是Web上最流行的用于存储数据的数据库,它已广泛用于电子商务、银行、保险、电力等与数据库有关的行业。只能在windows上运行,C/S结构,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据库。并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。SQL Server 提供了众多的Web和电子商务功能,如对XML和Internet标准的丰富支持,通过Web对数据进行轻松安全的访问,具有强大的、灵活的、基于Web的和安全的应用程序管理等。而且,由于其易操作性及其友好的操作界面,深受广大用户的喜爱。

    DB2

    能在所有主流平台上运行(包括windows)。DB2就是IBM开发的一种大型关系型数据库平台。它支持多用户或应用程序在同一条SQL 语句中查询不同database甚至不同DBMS中的数据,最适于海量数据。DB2在企业级的应用最为广泛,在全球大型企业中,有很高的时长份额。具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境。数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据库节点性能最高, 保持开放平台下的TPC-D和TPC-C的世界记录。性能较高适用于数据仓库和在线事物处理。跨平台,多层结构,支持ODBC,JDBC等客户。操作简单,同时提供GUI和命令行,在windowsNT和unix下操作相同。在巨型企业得到广泛的应用,向下兼容性好。风险小。

    Sybase

    美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。 Sybase提供了一套应用程序编程接口和库,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。系统具有完备的触发器、存储过程、规则以及完整性定义,支持优化查询,具有较好的数据安全性。性能较高,支持Sun、IBM、HP、Compaq和Veritas的集群设备的特性,实现高可用性。性能接近于SQL Server,但在UNIX平台下的并发性要优与 SQL Server。适应于安全性要求极高的系统。具有较好的并行性,速度快,对巨量数据无明显影响,但是技术实现复杂,需要程序支持,伸缩性有限。使用命令行操作,对数据库管理人员要求较高。同时提供GUI和命令行。但GUI较差,常常无法及时状态。

    除以上介绍之外,还有一些不常用的数据库,比如:Informix、PostgreSQL、Access、FoxPro等。

    后台开发语言

    这里写图片描述

    目前一般公司的后台用的开发语言大概有以下几种:java,python,php,asp.net,c++,rubyon rails 等。国内的大公司偏业务的一般都用 Java 做后台开发比如淘宝,网易,美团等. Python国内一般是一些体量不是这么大的公司使用,例如豆瓣,知乎等。其实,各种语言都有优缺点,没有哪一种是绝对好的。各公司也不是单单只使用一种后台语言,都是结合起来开发的。同公司用不同后台开发语言也有各自的原因。比如,要看需求是重展现还是重业务逻辑,重展现就用php等,重业务逻辑就用Python等,也有原因是由于技术积累,比如腾讯一直主要用C++。

    Java

    Java比较成熟:1995年就已出现。对于商业网站而言,Java是使用最广泛的语言,性能好,适合大中项目,跨平台,安全性高,稳定可靠,运行效率高(尤其是JIT的出现之后差距更大了),不容易犯错(强类型、预编译、必须拦截异常等等),能有效的提高复用度,提升性能和吞吐能力,能规避安全问题。但是开发复杂,开发和发布的效率相对较低,维护成本高,开发人员费用高。Java的生态系统非常成熟(IDE、框架等)。

    PHP

    灵活,上手快,易修改,发布快捷,环境好部署。容易犯错,行效率不高,缺乏全局缓存。由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS、Mac OS、Android等平台。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多。PHP最大的优势是学习门槛低。它基本可以在任何地方被执行,托管和非常简单。

    ASP.NET

    微软公司推出的新一代脚本语言。ASP.NET基于.NET Framework的Web开发平台,不但吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的。跨语言, 中小型项目上性能好,开发快,适合windows平台,维护成本低。代码逻辑混乱,难于管理,代码的可重用性差。ASP.NET具备开发网站应用程序的一切解决方案,包括验证、缓存、状态管理、调试和部署等全部功能。在代码撰写方面特色是将页面逻辑和业务逻辑分开,它分离程序代码与显示的内容,让丰富多彩的网页更容易撰写。同时使程序代码看起来更洁净、更简单。

    Python

    简单易学,开发快,语言简洁,易于维护,开源,可移植,可扩展。速度慢,格式强制,容易犯错。用Python可以做日常任务,比如自动备份你的MP3;可以做网站,很多著名的网站包括YouTube就是Python写的;可以做网络游戏的后台,很多在线游戏的后台都是Python开发的。

    Node.js

    Node.js自从2009年发布一下,使用十分广泛。Node.js具有异步,事件驱动以及可扩展的特性。Node.js应用是由JavaScript开发的,因此它具有JavaScript的所有优点:享受到了JavaScript V8引擎的好处,灵活而轻量级的语法,跟Java一样,JavaScript出现在1995年。所以语言本身发展历史很长,相对稳定。 Node.JS逐渐发展成一个成熟的开发平台,吸引了许多开发者。有许多大型高流量网站都采用Node.JS进行开发,此外,开发人员还可以使用它来开发一些快速移动Web框架。

    除以上介绍之外,还有其他一些后台开发语言,比如:C++、C#、C、Go、Ruby等。

    展开全文
  • Rust语言开发环境搭建 Rust运行在Linux, OS X, Windows, FreeBSD, Android, iOS操作系统上。 Rust是一门系统编程语言,专注于安全,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。 和Ruby...

    Rust语言开发环境搭建

    Rust运行在Linux, OS X, Windows, FreeBSD, Android, iOS操作系统上。

    Rust是一门系统编程语言,专注于安全,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。

    和Ruby,Python等脚本语言程序不同,Rust 是一种静态类型的编译语言, Rust 程序代码编译好后,把它给任何人,他们都不需要安装 Rust 就可运行。

     

    本文详细介绍在windows10系统中搭建Rust语言开发环境。

     

    Rust语言官网

    https://www.rust-lang.org/

    单击网页上的Install,网页切换到:

     

    rustup-init.exe

     

    【%USERPROFILE%.cargo\bin,代表默认的用户环境变量。%USERPROFILE%指的是你的用户配置文件目录,一般是指“C:\你的用户名”这个目录】

     

    输入rustc -V   和     cargo -V

    以检查是否安装成功:

    如果以上两个命令能够输出你安装的版本号,就是安装成功了。

     

    rustc和Cargo简要说明

    rustc 是绍Rust编译器。使用它的方法很简单:

    rustc [OPTIONS] INPUT

    其中,[OPTIONS]表示编译参数,--out-dir DIR 指定输出的文件夹,默认是当前文件夹。

    而INPUT则表示输入文件。详细使用方法参见rustc --help 命令。

    编译器参数详细情况(中文)可参考:

    https://wiki.jikexueyuan.com/project/rust-primer/attr-and-compiler-arg/rustc-option.html

     

     

    Cargo 是 Rust 的构建系统和包管理器。Rust 开发者常用 Cargo 来管理 Rust 工程和获取工程所依赖的库。 Cargo 除了创建工程以外还具备构建(build)工程、运行(run)工程等一系列功能,构建和运行分别对应以下命令:

    cargo build

    cargo run

    Cargo 还具有获取包、打包、高级构建等功能,详细使用方法参见 cargo --help 命令。

     

     

    编写并运行 Rust 程序

    Rust 代码文件总是使用 .rs 后缀(文件扩展名)。

    现在,打开“记事本”并输入如下代码:

    fn main() {

        println!("Hello, world!");

    }

     

    保存到D:\RustTest中,文件名为Hello.rs的代码文件,参见下图:

    对这几个简单的程序说明:

    fn main() {

    }

    这几行定义了一个 Rust 函数。main 函数是特殊的:这是所有 Rust 程序的开始。第一行表示“定义一个叫 main 的函数,没有参数也没有返回值。”如果有参数的话,它们应该出现在括号((和))中。因为并没有返回值,所以我们可以省略整个返回值类型。

    函数体被包裹在大括号({和})中。将前一个大括号与函数声明置于一行,并留有一个空格被认为是一个好的代码风格。

    main()函数中:

        println!("Hello, world!");

    这行代码做了这个小程序的所有工作:它在屏幕上打印文本。细心的读者可能已留意到为什么 println!( "Hello World") 中的 println 后面还有一个 ! 符号,println它是Rust标准库中定义的宏的名称,Rust 输出文字的方式主要有两种宏:println 和 print,两者都是向标准输出(stdout)输出文本到控制台(Console),前者输出后换行(行终止)符。

     

    编译运行Hello.rs代码文件

    编译和运行是两个步骤

    在运行一个 Rust 程序之前,你必须编译它。你可以输入rustc命令来使用 Rust 编译器并像这样传递你源文件的名字:

     

    【编译时如果报错:

    Error: linker `link.exe` not found。参见下图:

    原因是在windows上没有安装visual studio 或C++  build tools

    建议安装Microsoft Visual C++ Build Tools (2015)

    http://go.microsoft.com/fwlink/?LinkId=691126

     

     

    编译rustc --out-dir D:\RustTest D:\RustTest\Hello.rs,其中--out-dir D:\RustTest指定输出的文件夹D:\RustTest中,如下图所示:

     

     

    Rust 程序代码编译好后,把它给任何人,他们都不需要安装 Rust 就可运行。

    运行 Hello.exe文件,像这样:

    D:\RustTest\Hello.exe

     

    下面再给出一个例子:

    Rust 语言使用关键字 let 来声明变量,若没有特别 mut 关键字来修饰,那么 let 所声明的变量默认是不可改变值,例如:

    fn main() {

        let x = 5;

        println!("The value of x is: {}", x);

        x = 6;

        println!("The value of x is: {}", x);

    }

    将此代码,D:\RustTest中,文件名为testA.rs

    使用rustc --out-dir D:\RustTest D:\RustTest\testA.rs编译,报错如下:

     

    要真正声明为一个在声明之后可以更改其值得变量的声明方式,应当是:lei mut 变量名 = 值 ;将testA.rs代码修改为:

    fn main() {

        let mut x = 5;

        println!("The value of x is: {}", x);

        x = 6;

        println!("The value of x is: {}", x);

    }

     

    再次使用rustc --out-dir D:\RustTest D:\RustTest\testA.rs编译通过,可以D:\RustTest\testA.exe运行,参见下图:

     

    Rust语言注释
    Rust语言使用双斜杆 “//” 和 “/* */” 作为注释符,双斜杆是行注释符,”/* */“ 是块注释符。

    关于Rust 语言基础参见

    https://blog.csdn.net/qq_42896653/category_9161457.html

     

    Rust 中文文档

    https://prev.rust-lang.org/zh-CN/index.html

    https://wiki.jikexueyuan.com/project/rust-primer/1st-glance/README.html

     

    展开全文
  • windows操作系统,只用一行脚本。实现炫酷的滑动关机效果
  • windows下Go语言开发环境安装

    千次阅读 2018-05-24 17:37:00
    话不多说,首先第一步,安装Go语言开发包,下载地址:http://www.golangtc.com/download选择合适的安装包,我的系统是64位的win7,因此选择了windows-amd64.msi下载完后双击安装程序,我是默认安装到C:\Go下。...
  • 网友这么回复:“windows平台的最方便快捷应该是c#, 用visual studio”。 我的疑问是果真如此吗?我目前想做个界面,界面或调些ftp的功能,用VS+C#可行吗?
  • android操作系统开发语言组成

    千次阅读 2014-08-13 10:56:58
    Android系统开源是人尽可知的
  • windows7系统安装中文语言包汉化问题

    千次阅读 2018-09-10 19:40:04
    今天稍不注意就把电脑安装成纯英文的操作系统界面,这就不利于在中文环境下进行开发和添加中文注释,并遇到一个比较奇怪的事情,通过控制面板没有找到安装或者卸载的按钮,接下来讲解一下如何解决win7汉化这个问题。...
  • 系统开发使用工具 开发语言:C# 开发工具:Microsoft Visual Studio 2017 数 据 库:VS2017 自带的SQL数据库 图书管理系统简介 使用Visual Studio 2017 开发,采用可视化控件DataGridView、GroupBox、...
  • 大家可以在Go语言官网(https://golang.google.cn/dl/)下载 Windows 系统下的Go语言开发包,如下图所示。 这里我们下载的是 64 位的开发包,如果电脑是 32 位系统的话,则需要下载 32 位的开发包,在上图所示页面...
  • 我在博客的个人简介里说过我目前在从事基于Windows CE的BSP开发,这方面的文章到现在连一篇都没写过,似乎有些说不过去。老板肯定在犯嘀咕了,这小子不干正事儿,整天玩什么外啊挂啊的。接下来,我得整 两篇。以前我...
  • Windows App开发开发准备

    千次阅读 2015-07-17 07:26:28
    操作系统及SDK操作系统显而易见,想要开发Windows App就得在Windows 8/8.1/10上进行,老旧的Windows XP/Vista/7已经不能满足时代的需要了。当然,在Windows App的发展过程中,其本身也有着较大的变动,为了使用新的...
  • Windows驱动开发如何入门

    万次阅读 多人点赞 2016-03-16 14:55:36
    有的人觉得Windows驱动开发就是把开发包WDK下载下来,然后只要掌握了C/C++语言,接下来无非就是类库调来调去,像调用MFC、QT之类的库那样,看着书和MSDN上的文档来就行了。等真正接触以后才发现根本不是那么一回事,...
  • Lua for WindowsWindows 系统下提供了 Lua 脚本语言开发和运行环境。 Lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。  ...
  • 我持续推动Rust语言支持Windows XP系统

    千次阅读 2015-07-02 19:46:16
    前言Rust好像长期以来不支持Windows XP系统。有不少用户发帖提议官方支持XP,基本上都被Rust官方开发者明确的拒绝了。他们的对话大致上是以这样的形式开始和结束的(其中乙方代表官方及其拥趸)……
  • 前言 基于YOLO3进行物体检测、对象识别,先和大家分享如何搭建开发环境,会分为CPU版本、GPU版本的两种开发环境,...系统Windows 编程语言:Python 3.8 深度学习框架:TensorFlow 2.3 整合开发环境:Anaconda ...
  • Windows系统 为 Visual Studio软件 搭建 OpenCV2 开发环境我们的电脑系统:Windows 10 64位 Visual Studio 软件:Visual Studio 2010 OpenCV2 版本:OpenCV2.4.101. 下载并安装Visual Studio 2010请见博客:...
  • 提起Java的字符编码及国际化问题,确实让人很头疼,几乎任何用到java的地方都会遇到他,而且... 这个具体问题倒是不难理解,Eclipse中的输出结果是模拟了操作系统的控制台,而这个模拟的控制台采取什么编码显示字符
  • 本文主要介绍如果在windows下搭建go语言开发环境 以及 配置开发IDE,另外 提供下载链接。
  • Unity3D开发环境搭建(Windows系统

    千次阅读 2018-05-25 15:51:00
    一、Unity3D开发环境 ...二、Unity3D开发语言  支持C#和JavaScript。  C#适合大型项目,调用方便,系统性好。  JavaScript小型项目使用,写代码效率高。 三、下载安装Unity3D  一、下载Unity4...
  • 目前常见的三大操作系统:Windows系统、Linux系统 和 Mac OS操作系统。 首先,不管是Windows操作系统、Linux系统还是苹果的Mac OS操作系统,甚至包括操作系统的鼻祖UNIX操作系统,最早都是用C语言编写的。 UNIX ...
  • [序言] ...1> Windows系统下 2> VS2003版本以上的开发工具 [本内容适用群体] 1> 已学完C/C++语言的初学者 2> 具备高中以上文化水平的逻辑思维 [内容贡献者] 无 [具备基础书籍] 1> W
  • Windows8开发指南(3)Windows8开发工具

    千次阅读 2012-01-15 05:05:10
    Windows 8基于Windows7,同时微软对其进行了性能、安全、隐私、系统可靠性等方面的改进。在硬件需求方面,Windows8与Windows7完全一样。之前也提到,除了x86和x64架构,Windows 8增加了ARM片上系统的支持。连接性与...
  • 如何正确入门Windows系统下驱动开发领域?

    万次阅读 热门讨论 2010-10-30 12:02:00
    很多人都对驱动开发有兴趣,但往往找不到正确的学习方式.当然这跟驱动开发的本土化资料少有关系.大多学的驱动开发资料都以英文为主,这样让很多驱动初学者很头疼.本人从事驱动开发时间不长也不短,大概也就3~4年时间....
  • 30年间Windows系统有哪些版本?还记得你第一次了解到Windows操作系统存在的时候是哪一年吗?这些操作系统又有哪些特点呢?隐约知道计算机变得越来越小了吗……现在笔者将通过收集的资料,为各位细细解说曾经的操作...
  • Windows8开发指南(1)Windows8新特性

    千次阅读 2012-01-15 04:40:34
    Windows 8 是由微软公司开发的,具有革命...微软表示,这一决策意味着Windows系统开始向更多平台迈进,包括平板电脑和PC。2011年9月14日,Windows 8开发者预览版发布,宣布兼容移动终端,微软将苹果的IOS、谷歌的Andro
  • windows系统下安装linux(ubuntu)双系统

    万次阅读 多人点赞 2018-03-09 13:41:13
    最近在找工作,很多面试要求上都写着熟悉linux系统,擅长shell编程,虽然在学校学过操作系统的课程,但是到现在出来工作,学的课程忘得也差不多了,并且那些linux命令不经常使用的话,还是很容易忘记的,以前也有一...
  • Windows系统中,搭建基于Python语言的神经网络开发环境,通常使用Anaconda 来安装好TensorFlow2、sklearn、和科学计算包(安装好深度学习等要用到的库、或依赖包);使用PyCharm IDE来编写代码,编译调试,执行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 361,794
精华内容 144,717
关键字:

windows系统开发语言