C,java,Python,这些名字背后的江湖!
还记得高中的时候,有一次我们计算机老师问我们班要不要去参加市里面的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,这些名字背后的江湖!的更多相关文章
- Python的名字绑定
Python的名字绑定 在Python中,对象是通过名字进行关联和引用的.Python通过名字绑定操作来引入名字. Python中的所谓的代码块就是一段作为执行单元的程序.比如:模块.函数.类定义.在 ...
- (八)map,filter,flatMap算子-Java&Python版Spark
map,filter,flatMap算子 视频教程: 1.优酷 2.YouTube 1.map map是将源JavaRDD的一个一个元素的传入call方法,并经过算法后一个一个的返回从而生成一个新的J ...
- 芒果TV招聘研发工程师(JAVA PYTHON),地点长沙
长沙芒果TV招聘高级 JAVA Python 工程师,工作地点:湖南广电 有兴趣的邮件0xmalloc@gmail.com; zealotyin@qq.com 公司有一大批从北京上海一线互联网企业 ...
- paip.提高效率---集合的存取括号方式 uapi java python php js 的实现比较
paip.提高效率---集合的存取括号方式 uapi java python php js 的实现比较 ##java ----------- 在JDK1.7中,摒弃了Java集合接口的实现类,如:Ar ...
- paip.复制文件 文件操作 api的设计uapi java python php 最佳实践
paip.复制文件 文件操作 api的设计uapi java python php 最佳实践 =====uapi copy() =====java的无,要自己写... ====php copy ...
- paip.获取文件名从路径uapi java python php总结...
paip.获取文件名从路径uapi java python php总结... =====uapi basename_noext($fname); =============java 自己写.. St ...
- paip.日期时间操作以及时间戳uapi php java python 总结
paip.日期时间操作以及时间戳uapi php java python 总结 ///uapi Date 函数 | Day 函数 | Hour 函数 | Minute 函数 | Month 函数 | ...
- paip.文件读写api php java python总结.txt
paip.文件读写api php java python总结.txt 一.多种方式读文件内容. 1.按字节读取文件内容 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. ...
- Spring MVC 程序首页的设置 - 一号门-程序员的工作,程序员的生活(java,python,delphi实战)
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
随机推荐
- AI繁荣下的隐忧——Google Tensorflow安全风险剖析
本文由云+社区发表 作者:[ Tencent Blade Team ] Cradmin 我们身处一个巨变的时代,各种新技术层出不穷,人工智能作为一个诞生于上世纪50年代的概念,近两年出现井喷式发展,得 ...
- JDK和Tomcat安装和配置过程
Jdk: 第一步:在下载JDK 第二步:安装 更改安装路径 *JDK配置: JAVA_HOME 环境变量 D:\jdk1.7.0 CLASSPATH 环境变量 .,%JAVA_HOME%\lib ...
- Django学习之十二:Cache 缓存组件
目录 Django Cache 缓存组件 缓存逻辑伪代码 配置缓存源 可配置参数说明 01. Django的默认缓存 02. 基于Redis的django-redis 03. 自定义cache 04. ...
- JAVA的特性
JAVA有三大特性:封装,继承和多态 一. 封装 封装就是将类的信息隐藏在类内部,不允许外部程序直接访问,而是通过该类的方法实现对隐藏信息的操作和访问. 封装的实现 a. 需要修改属性的访问控制符(修 ...
- requirement failed: Unacceptable value for property 'kafka.timeline.metrics.host_in_memory_aggregation', boolean values must be either 'true' or 'false
requirement failed: Unacceptable value for property 'kafka.timeline.metrics.host_in_memory_aggregati ...
- Java EE中的容器和注入分析,历史与未来
Java EE中的容器和注入分析,历史与未来 java中的容器 java中的注入 容器和注入的历史和展望 一.java中的容器 java EE中的注入,使我们定义的对象能够获取对资源和其他依赖项的引用 ...
- PMBook - 上课体会
一.上课感觉怎么样? 这两天都在培训PMP,第一天提前20分到的,空位很多,挑了第二排坐下,看投影效果挺好.第二天我提前30分钟到教室,中间的位置都坐满了,只能找其他位置了.看来大家积极性提高了很多, ...
- Linux知识要点大全(第三章)
第三章 Linux基本操作 *主要内容 1:认识root用户 2:Linux下命令的写法 3:Linux关机和重启 4:忘记root密码的处理方法 5. Linux下的目录结构 6. 查看信息 ...
- [区块链] 加密算法——Hash算法(进阶)
为了为保证存储于区块链中的信息的安全与完整,区块链中使用了包含密码哈希函数和椭圆曲线公钥密码技术在内的大量的现代密码学技术,同时,这些密码学技术也被用于设计基于工作量证明的共识算法并识别用户. 在前边 ...
- 两个案例轻松理解MyBatis中的TypeHandler!
在做开发时,我们经常会遇到这样一些问题,比如我有一个Java中的Date数据类型,我想将之存到数据库的时候存成一个1970年至今的毫秒数,怎么实现?再比如我有一个User类,User类中有一个属性叫做 ...