有的,而且绝大多数语言都是开源的。包括曾经和现在流行和火爆的语言,比如lisp,c,c ,perl,php,python,ruby,js,html,sql,r,golang等开源代码简史有一本书《开源代码简史》很有意思,论述了大多数开源语言的发展历程,值的阅读一遍。这本书系统的说明了二十年开源编程发展流行史,我们列举几个片段,其中很多笔者以前的回答中都提到过:1993年C语言,Emacs Lisp、Make列前三;2013年 Java名列榜首,C ,HTML排列其后。
目前语言已超百,各种语言互相影响借鉴,不断进化,比如C 直接影响了C , php, Javascript和Perl。perl和perl6,尤其是perl6启示录,直接给ruby借鉴引用。perl 6取何种语言的优点,成了一门功能最丰富的语言集大成者。微软的开源微软出的系列语言比如vf,vb,vc,c#都不是开源语言。
但是微软现在积极怀抱开源,比如最新他们提出的口碑不错用于代替js的Typescript语言就是免费开源的。TypeScript JavaScript 类型的超集,它可以编译成纯 JavaScript ,可以在任何浏览器、任何计算机和任何操作系统上运行。还有p语言,也是一门很有意思的开源语言,给c增加了并发功能,编译结果为c语言。
据说有很高的性能,可用于写系统和驱动层面的代码。java语言是不是开源语言?我们前面说开很多语言,但是没有提到最流行的java语言,最后就说说java。目前被Java Community Process (JCP)以开源社区的身份维护,Java的开发工作和执行路线有它主导。但是在对Java的规范相兼容的Oracle的技术兼容包(TCK)的认证方式上走商业许可模式。
很多修改或者兼容包,必须获得oracle专利许、专利费的授权者才可以开发和提供其它版本的Java解决方案。所以,普遍看法认为Java是不开源或者不是完全开源的,是受Oracle专利所有的。但是一般来说,这对Java开发者和使用者都不是个问题,不需要担心。需要担心的是谷歌等巨头公司。吃瓜群众继续撸自己的代码,然后不时出来看看热闹,喊个口号啥的。
不同的常见编程语言分别是用来做什么的?
对于很多外行人来说,想要转行IT,最让人头疼的事情,一定是:我该学什么?选择哪一门编程语言更好?(小编今天就帮大家解决一下这个小问题)JavaJava作为一种程序设计语言,它简单、面向对象、不依赖于机器的结构、具有可移植性、安全性、兼容性、并且提供了并发的机制、具有极高的性能。并且它最大限度地利用了网络,Java小应用程序 (applet)可在网络上传输而不受CPU和环境的限制。
另外,Java还提供了丰富的类库,使程序设计者可以很方便地建立自己的系统。Java主要分成三个部分JavaSE、JavaME、JavaEE。JavaSE是JavaME和JavaEE基础,Java除了在企业应用和大型网站中最被青睐外,很多游戏开发也喜欢使用Java语言。目前最主流的大数据框架Hadoop的应用主要就是用JAVA开发的。
总结:Java可用于网页、 企业级开发、 普通应用软件、 游戏后台。C和C C 是C发展来的。C 是面向对象的语言,而C是结构化的语言(面向过程)。C的大部分(不代表所有)代码在C 上都能应用,而C 的代码在C上不能应用。C语言是最早的第三代语言,它出现是为了代替运行效率高但开发效率低下的汇编语言,所以C语言是所有语言中效率最高的。
就目前来说, C语言主要用来开发底层模块(比如驱动,解码器,算法实现), 服务应用(比如web服务器)和嵌入式应用(比如日常生活中的电器里的程序)。C 也可以做这些,不过由于C 的复杂性和标准问题, 人们还是更愿意使用C来做。 C 更适合比较复杂但又特别需要高效率的设施,比如大型游戏,一些基础库,大型桌面应用等等。
C语言是一个结构化语言,它的重点在于算法与数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事物)控制)。C 首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事物)控制。
所以C语言和C 的最大区别在于它们解决问题的思想方法不一样。 总结:C主要用于系统底层, 驱动, 嵌入式开发。C 用于游戏开发, 大规模, 高性能, 分布式要求的程序开发。C#C#语言是由微软公司发布的一种面向对象且运行在.NET Framework和.NET Core上的高级程序设计语言,它是完全开源且跨平台的。
它专为公共语言基础结构CLI所设计,它由可执行代码以及运行时环境所组成,可允许在不同的计算机平台及体系结构上使用各种高级的编程语言。C#提供大量的功能支持与接入,让功能开发更加简单,并且它是基于C语言的旖旎可以将C#语言编写的框架转移到其他语言上去。总结:C#是windows开发环境下的主要语言,它主要是基于.NET框架做web应用,windows客户端应用,软件开发,各类游戏开发等。
JavaScript首先声明,Javascript与java没有任何关系,JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。总结:JavaScript是浏览器的脚本语言,主要做网站的前端开发,展现各种酷炫的画面。
PHPPHP(PHP: Hypertext Preprocessor的缩写,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和 Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。无数的网站后端都运行着php代码。总结:PHP主要是网络前端,用于生成网页。
Python语言非常简单易用。由于其丰富而强大的库,它也被称为glue language,可以很容易地连接其他语言制作的各种模块。所以除了安卓应用和操作系统,它什么都能做,非常强大,简单易学。总结:Python,动态解释,开发效率高,开源,灵活,入门门槛低。文末推荐几个好用的编程自学网站1 . code academy 2 . coursera 3 . ed x4 . udemy 5 . agupieware 6 . github