标准(standard),实现(implementation)

来源:互联网 发布:2017淘宝做什么比较好 编辑:程序博客网 时间:2024/06/05 08:22
标准一般是由某个组织发布的一组规范。这个组织一般是标准化组织或某个大公司,或是一些大公司的联合。比如C++就是一个标准。C++一般指1998年由 ISO(国际标准化组织)发布的ISO/IEC 14882:1998。这个文件规定了C++语言应该遵循那些规范。比如函数必须有返回类型(与之对应C语言可以省略返回值),规定了vector的用法 等等。写程序的人最好按照标准写程序,写编译程序的人也最好按照标准写编译程序,以便使得按照标准写的程序能编译通过。
    各种标准的作用就是给大家一个规范,符合这个规范生产的产品可以集成在一起。比如,GB(国家标准)规定了插座提供220V,50HZ的交流电,于是供电 公司,和各种电器生产厂商都遵循标准。这样你才可以在任意一个商店买任意一种电器都能插到任意一个插座中,两者还能配合的很好。同理,大家都遵循C++标 准时,任意一个人写的遵循C++标准的C++程序就可以和任意遵循C++标准的程序库连接在一起,才能拿到任意一个编译器上都能通过编译,并且编译得到的 程序有一致的运行结果。
    实现就是遵循标准生产出的实际的产品。比如微软VS2005带的C++编译器cl.exe,就是一个C++标准的编译器实现。同样GNU组织的g++也是。
   
    实际上好多名词都是标准:
  1.     MPI, Message Passing Interface,这个标准是为了使按标准编写的消息传递的并行程序有广泛的移植性。 官方网站是http://www.mpi-forum.org/。 它有非常多的实现,各种大型并行机器都有商业的MPI库,Intel也有自己的MPI库,还有诸多开源版本。(列这个在这,是因为刚刚上了并行计算课)
  2. C++, 最近的标准是ISO 1998年发布的,简称C++98。这个标准直到最近才有完全符合标准的编译器。下一个版本的标准可能是2007
  3. C,最早的标准是C89,是1989年ANSI标准化的,后来被ISO采纳。最近的标准是C99,1999年ISO发布。C99标准给C语言添加了许多新特性,比如const。
  4. JavaScript, EMCAScript。原来由Netscape公司开发的脚本语言,后来标准化。
    这里说一下这两个概念的原因是,好多人对这两个概念搞不清楚。经常以为某个实现就是全部,比如++就是VC, Java就是JBuilder,数据库就是 SQLServer。
    不拘泥某个具体实现,才能看的更远。 
原创粉丝点击