还记得高中的时候,有一次我们计算机老师问我们班要不要去参加市里面的C语言比赛,当时还小的我对编程世界压根就一片空白。那时候我就想啊,为什么是C语言,那么A语言,B语言或者是D语言又是什么呢?

后来就到了大学,学习了计算机知识后才知道C语言是什么东西。但是,你有没有过一瞬间感到奇怪,为什么它就叫做C语言,Java就叫java而不是叫J语言?今天我就带大家了解一下编程语言名字背后的故事吧~

Java

今天Java技术栈运用已经如此广泛,Web,Android,大数据等等。但你可能不知道,Java最初是为交互式电视而设计的,而且最开始它的名字也不是叫Java,而是叫Oak。

但是后面发现,不能使用Oak这个名字,因为它已经被注册了。为了这个事,Sun公司特地组织了一次头脑风暴。我们都知道,起名字这种事情,一个人来起最容易,但每增加一个人,起名难度呈指数上升。而当时参与起名的人得有十来个。大家广泛讨论,胡思乱想,最终产生了几十个名字,而经过一番评选讨论,名字个数缩小到十几个,名单上的名字除了Java外,还有Silk,Lyric,Pepper,NetProse,Neon...等等。

当时会议的人决定从这十几个名字中选出最终的名字,排名第一的名字叫“Silk”,很多人都表示同意(好险啊,Java差点就变成Silk了),但 James Gosling(Java之父)墙裂表示反对,大伙只好作罢,而排第二第三的都让律师否掉了,最终,排第四的Java被所有人接受(鼓掌),这也就有了现在我们熟知Java语言。

再说点关于Java这个名字的知识,Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。国外的许多咖啡店用Java来命名或宣传,以彰显其咖啡的品质。Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans(对象豆)等等。

Python

Python最近几年可谓是炙手可热(这个词不能这样用,但大家好像都喜欢这样用,所以我就这样用了)。它的名字也挺有意思的,意思是蟒蛇。这缘于Python的创造者Guido van Rossum当时喜欢看一款BBC的节目“Monty Python’s Flying Circus”。而正好 Guido van Rossum需要一个简短,独特且略显神秘的名字,因此他决定将语言称为Python(大神就是任性啊)。

江湖有传说Guido van Rossum去Google面试的时候在简历上写了句“I write Python”。Hr以为是个写Python的,没想到是个写了Python的。2333

C

C可以说是大多数人的启蒙语言(起码对我而言是),那你有没有想过C语言为什么叫做C语言,它前面的A B哪去了,它后面的D语言又是谁?其实啊,B语言确实存在,C语言叫做C语言也是因为它是在B语言之后被创造的,甚至它和B语言也有不小的渊源。

C语言是由着名的美国程序员Dennis Ritchie(C语言之父)创建的,此时他就职于贝尔实验室。而在这之前,贝尔实验室就已经有了一门语言叫做B语言。而B语言是由Thompson创建的高级语言,它本身是由编程语言BCPL(又是一个古老的名字)的实现。

C语言与Unix系统息息相关,不过最初Unix系统是打算用B语言写的,只是因为B语言存在某些缺陷,于是C语言之父就打算弄出一种新的高级编程语言来完善它,于是就搞出了C,而这个过程是借鉴了B语言的。

C对Unix操作系统有很大影响。事实上,大多数Unix系统包括其内核的很大一部分现在都可以用C语言提供。而后C语言不断改进,一度成为最流行的语言,哪怕到了后面,也一直不断被其他语言借鉴。

一直被模仿,某些方面也从未被超越,说的就是C语言了吧。

PHP

PHP虽然有鼎鼎大名,但它的全称很多人可能还不知道吧(滑稽)。它的全称是Hypertext Preprocessor,虽然按道理应该是叫HPP,但可能是因为不大好听所以叫成PHP。最开始在1994年,当时Rasmus Lerdorf(PHP 之父)在C中编写了几个CGI程序,并用来维护自己的个人主页。他将它们扩展为一种使用Web表单并与数据库进行通信的工具,并将此实现称为PHP/FI(Personal Home Page/Forms Interpreter)。

Lerdorf最初是在1995年6月8日于Usenet讨论组上宣布发布PHP/FI为“个人主页工具(也就是PHP1.0)。

细心的读者可能会奇怪了,上面不是说PHP是Hypertext Preprocessor,怎么变成Personal Home Page了。这是因为啊,Zeev Suraski和Andi Gutmans在1997年重写了解析器并构建了PHP3的基础,将语言名称改为递归缩写PHP:Hypertext Preprocessor。

所以以后请不要叫PHP为“拍黄片”好吗。。。

如果觉得不错的话,不妨在留言区留言你对什么语言的名字感兴趣,后面可以继续更新~~

C,java,Python,这些名字背后的江湖!的更多相关文章

  1. Python的名字绑定

    Python的名字绑定 在Python中,对象是通过名字进行关联和引用的.Python通过名字绑定操作来引入名字. Python中的所谓的代码块就是一段作为执行单元的程序.比如:模块.函数.类定义.在 ...

  2. (八)map,filter,flatMap算子-Java&Python版Spark

    map,filter,flatMap算子 视频教程: 1.优酷 2.YouTube 1.map map是将源JavaRDD的一个一个元素的传入call方法,并经过算法后一个一个的返回从而生成一个新的J ...

  3. 芒果TV招聘研发工程师(JAVA PYTHON),地点长沙

    长沙芒果TV招聘高级 JAVA Python 工程师,工作地点:湖南广电   有兴趣的邮件0xmalloc@gmail.com; zealotyin@qq.com 公司有一大批从北京上海一线互联网企业 ...

  4. paip.提高效率---集合的存取括号方式 uapi java python php js 的实现比较

    paip.提高效率---集合的存取括号方式 uapi java python php js 的实现比较 ##java ----------- 在JDK1.7中,摒弃了Java集合接口的实现类,如:Ar ...

  5. paip.复制文件 文件操作 api的设计uapi java python php 最佳实践

    paip.复制文件 文件操作 api的设计uapi java python php 最佳实践 =====uapi   copy() =====java的无,要自己写... ====php   copy ...

  6. paip.获取文件名从路径uapi java python php总结...

    paip.获取文件名从路径uapi java python php总结... =====uapi basename_noext($fname); =============java  自己写.. St ...

  7. paip.日期时间操作以及时间戳uapi php java python 总结

    paip.日期时间操作以及时间戳uapi php java python 总结 ///uapi Date 函数 | Day 函数 | Hour 函数 | Minute 函数 | Month 函数 | ...

  8. paip.文件读写api php java python总结.txt

    paip.文件读写api php java python总结.txt 一.多种方式读文件内容.    1.按字节读取文件内容   以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. ...

  9. Spring MVC 程序首页的设置 - 一号门-程序员的工作,程序员的生活(java,python,delphi实战)

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

随机推荐

  1. 通过user.MYD MySQL密码

    具体的获取方法: 1)通过hex 十六进制的工具打开user.MYD文件 这里使用:0XED 2)复制MySQL密码出来,进行分析 *CEAF6E9FA3A448A25AC9D00C8D7078385 ...

  2. Mac OS X中开启或关闭显示隐藏文件命令

    前言:之前一直用的都是 windows 系统的电脑,刚接触 Mac ,很多功能都不熟悉,写下博客记录一下,以防以后忘记,也给后来者提供方便. 命令行方式:显示隐藏文件: defaults write ...

  3. 一起学Android之Storage

    概述 在Android开发中,存储(Storage)的方式根据具体的需求不同而不同,例如数据对应用程序是私有的还是其他应用程序(和用户)可以访问的,以及保存数据需要多大的空间. 存储分类 主要的存储方 ...

  4. C语言中#undef作用

    #undef 作用:取消定义的宏 指令格式:#undef 标识符 1 #include <stdio.h> 2 3 #define MAX 5 4 5 int main() { 6 pri ...

  5. redis缓存清除

    1.redis根目录调出命令行(cmd) 2.登录redis:redis-cli -h 127.0.0.1 -p 6379 3.查看所有key值:keys * 4.删除指定索引的值:del key 5 ...

  6. NodePort,LoadBalancer还是Ingress?我该如何选择 - kubernetes

    原文:http://mp.weixin.qq.com/s/dHaiX3H421jBhnzgCCsktg 当我们使用k8s集群部署好应用的Service时,默认的Service类型是ClusterIP, ...

  7. 【Python实践-2】求一个或多个数的乘积

    # -*- coding: utf-8 -*- #定义一个函数,可接收一个或多个数并计算乘积 def product(*numbers): s=1 for n in numbers: s=s*n re ...

  8. LindDotNetCore~Aspect面向方面编程

    回到目录 Aspect面向方面编程 面向侧面的程序设计(aspect-oriented programming,AOP,又译作面向方面的程序设计.观点导向编程.剖面导向程序设计)是计算机科学中的一个术 ...

  9. 外行人都能看懂的SpringCloud,错过了血亏!

    一.前言 只有光头才能变强 认识我的朋友可能都知道我这阵子去实习啦,去的公司说是用SpringCloud(但我觉得使用的力度并不大啊~~)... 所以,这篇主要来讲讲SpringCloud的一些基础的 ...

  10. Spring Boot 2.x基础教程:快速入门

    简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot ...