python语言为什么叫python_Python为什么叫Python,Java又如何而来?

你可能听过这样一种说法:在计算机科学领域,只有两件困难的事情,其中一件是给事物命名。有些编程语言的名字很有意义,比如谷歌(Google)将它的编程语言命名为Go(lang),而其他的名字——比如Python和Java——为什么要这么命名就不那么明显了。

在这篇文章里,让我们来一起探索一下最具标志性的编程语言的历史,以及它们的名字是如何得来的。

Python

Python起初是Guido van Rossum的一个“业余”编程项目,目的是让他在圣诞节期间有事可做。van

Rossum希望这门语言有一个简短、独特且神秘的名字。如果你看到Python的“两条蛇”标志,可能会认为Python是以一种巨大的蟒蛇来命名的(它能把整条鳄鱼吞下)。

实际上,Guido是以70年代英国喜剧团体Monty Python’s Flying

Circus的名字给它命名的。原来他是这个喜剧团体的超级粉丝,刚好那个时候他在看这个团体的剧本。

image

Python的“两条蛇”标志与它的名字的起源没有任何关系

Java

Java是20世纪90年代初Sun微系统公司作为Green项目的一部分而开发的。为这个项目开发一门新语言并不是他们的重点:开发Java是因为他们需要一种可以独立于处理器的语言,能够提供C++的大部分功能,同时更容易使用。成立这个绝密的Green团队是为了打造超越个人电脑的“下一波计算浪潮”,他们认为个人电脑应该是具有互动性的数字控制的消费电子产品(也就是“智能设备”的前身)。

Green团队的杰作:一个无线、全彩、触摸屏控制器,名字叫作Star7

Java最初以开发者窗户外面的一棵橡树来命名,叫作Oak。但是,Sun的律师说Oak已经被注册为商标,于是Green团队召开了一次头脑风暴会议,并想出了Java这个名字。他们希望这个名字可以反映这门语言的本质:“活力、革命性、活泼和有趣”。经过这场“持续疯狂”的头脑风暴,Java显然是一个完美的选择。

虽然Star7有点超前于时代,从未真正起飞,但它的编程语言却成功了——剩下的就是我们已经知道的历史了。

JavaScript

JavaScript是Brendan Eich于1995年在网景公司

(Navigator背后的公司,当时最流行的Web浏览器)开发出来的。那时,网页完全是静态的,但网景公司设想的是今天这种交互式的动态网页。由于来自微软IE浏览器的压力,他们聘请Eich将脚本语言集成到浏览器中。

网景公司希望创造一种简单易用的语言。借着Java蓬勃发展的势头,他们希望这门语言成为“Java的脚本伴侣”,就像Visual

Basic是C/C++的伴侣一样。Eich强调开发速度和易用性,继承了Java的大部分语法,只用了10天就写出了JavaScript的第一个版本,名字叫作Mocha。

“我的任务是让它看起来像Java,但又不能太臃肿……它应该是一种小弟语言,对吧?Java的小伙伴”。——Brendan Eich

当这门语言第一次被集成到Netscape中时,它被叫作LiveScript。不久之后,网景公司就全身心投入到“Java伴侣”的开发当中。他们与Sun公司合作,将这门语言重命名为JavaScript,并与Java一起宣传JavaScript:JavaScript是一种脚本语言,用于在浏览器中执行小型的客户端任务,而Java则是一种更大、更专业的工具,用于开发丰富的Web组件。事实上,JavaScript这个名字的起源是网景公司试图与微软抗衡的一种营销策略。

C家族语言(C\C++\Objective-C\C#)

世界上第一门编程语言是Ada,这要归功于Ada

Lovelace。不久之后就有了B语言,C语言的名字就是从B语言衍生而来的。C语言是由贝尔实验室的Dennis

Ritchie开发的,被很多人认为是第一种高级编程语言。

C语言有很多扩展,包括C++、Objective-C和C#。C++和Objective-C的名字不言自明,而C#则不那么明显。C#的部分灵感来自音乐:一个尖锐的(#)音符意思是它应该在音调上提升半个音高。更有趣的是,#包含了4个+符号,2x2的正方形,完美地诠释了C#是C++的“增量”!

Swift

苹果公司从2010年开始开发Swift,并在四年后首次发布。因为Objective-C的影响力巨大,苹果公司便将Swift标榜为一种快速、易用和安全的设计。一开始,Swift的名字叫“Shiny”,就好像你正在构建一个“闪亮的东西”。实际上,它还用.shiny做过文件扩展名。

他们最终选用Swift这个名字来反映它的速度——在性能和开发速度方面。Swift的标志是一只与之同名的鸟:Swift是一种以速度和空中驻留能力著称的鸟类。

Swift的标志是一只同名的飞鸟

Haskell

Haskell是以逻辑学家Haskell Brooks

Curry的名字命名的,他在组合逻辑方面的工作广为人知。事实上,有几种编程语言分别是以他全名当中的各个部分命名的:Haskell、Brook和Curry!柯里化(Currying)的概念也是以他的名字命名的。

Haskell的一个很少被讨论的地方是它的标志。你可能会注意到Haskell标志当中有个λ符号,这是对λ演算(lambda

calculus)的一种赞颂。如果你更仔细看,会发现λ夹在“>”和“=”之间。这个来自Monads绑定操作符>>=。Haskell的标志是一个交织了λ的绑定操作符。

Haskell的标志是绑定操作符和lambda符号的组合

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

arcgis中的SetNull(,)函数使用

SetNull(设置条件,将条件之内的值变为nodata,条件之外的值处理) 例如: 1.setnull("DEM"500,"DEM"),将DEM中值为500的数据赋为空,其他保留原值 2.setnull("DEM">500,"DEM"),将DEM中值大于500的…

pyqt5设置dialog的标题_PyQt5快速上手基础篇7-弹出dialog

前言本节我们学习QDialog的使用,在主页面点击按钮弹出一个新的Dialog。一、基础知识1. dialog简介窗口是GUI设计中不可获取的一部分,方便用户和程序直接交互,简化使用;Qdialog主要包含QInputDialog、QColorDialog、QFontDialog、Q…

67、ulimit的使用

1、ulimit set or get the shells resource usage limits ulimit [OPTIONS] [LIMIT] 2、option ① -a 显示当前所有的资源限制。 ② -c size:设置core文件的最大值。单位:blocks ③ -n size 指定同一时间最多可开启的文件数 ④ -l size:设置在内存中锁定进程的最大值。单位:KB…

如何处理MODIS蒸散数据(ET)中的填充值(仅作参考)

该处理过程是个人想法,仅做参考,如果想要等到比精确的蒸散数据请参考《京津唐地区城市扩张对地表蒸散发的影响》中蒸散的计算过程。 MOD16A3 第 6 版蒸发蒸腾/潜热通量产品是按 500 米 (m) 像素分辨率生成的年度复合数据集。 根据《京津唐地区城市扩张对…

winform定义数据源名称_winform ComboBox自定义数据源实现用户输入时出现与用户输入匹配的项...

ComboBox自定义数据源实现用户输入时出现与用户输入匹配的项using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace _2012_11_15Pra…

如何计算栅格有效值范围内的统计值(最大值,最小值,平均值,方差)

大致思路: 1.将无效值设置为空(nodata) 2.对栅格进行计算 使用数据为:modis的蒸散数据(有效值范围为0 至 65500,填充值范围为65529 至 65535) 步骤 1,利用栅格计算器将填充值进行设置为空 结果 2计算栅…

RMAN 备份报错 RMAN-06207 RMAN-06208 解决方法

新搭建的环境,还没上线,今天在部署脚本,RMAN 备份中有一个警告,内容如下:RMAN-06207: WARNING: 1 objects could not bedeleted for DISK channel(s) dueRMAN-06208: to mismatched status. Use CROSSCHECK …

用python画明星_用python画一只可爱的皮卡丘实例

效果图片# !\/usr\/bin\/env python # - * -编码:utf - 8 - *\u2014\u2014从龟进口*\u201C画皮卡丘的头\u201Cdef的脸(x, y):\u201D\u201C画脸\u201D\u201Cbegin_fill () penup () # goto乌龟移动到指定的坐标(x, y) pendown() #设置的方向龟setheading(40)圆(-150、69)fillcol…

socket 编程入门教程(一)TCP server 端:1、建模

绝大部分关于socket编程的教程总是从socket的概念开始讲起的。要知道,socket的初衷是个庞大的体系,TCP/IP只是这个庞大体系下一个很小的子集,而我们真正能用上的更是这个子集中的一小部分:运输层(Host-to-Host Transpo…

socket 编程入门教程(一)TCP server 端:2、socket与文件描述符

UNIX中的一切事物都是文件( everything in Unix is a file!)当我在这篇教程中提到UNIX的时候,其意思专指符合UNIX标准的所谓“正统”UNIX的衍生系统(其实我就用来带指那些买了最初UNIX源代码的商业系统)操作系统和类似…

linux 故障注入_用软件中断实现的Linux内核故障注入方法

用软件中断实现的Linux内核故障注入方法郭庆伟;杨麦顺;张影;张兴军【期刊名称】《计算机应用》【年(卷),期】2014(000)0z2【摘要】针对容错操作系统的可靠性评测问题,提出一种向Linux内核注入“单个位”故障的方法。基于x86体系结构中的软件中断机制,首先…

arcgis将一个字段里的文字按上下标进行显示

示例 代码如下 def FindLabel ( [分区代号] ):a [分区代号]ba[0:1]<sub>a[1:2]</sub>return b

【转载】我对研发工作的一点感悟

一、现有状况分析不 觉新人来到我们研发已近一年&#xff0c;这一年里&#xff0c;同一批人员&#xff0c;有的已经很快适应了环境&#xff0c;经过自己的努力和付出&#xff0c;能为研发工作独挡一面&#xff0c;成为某一方面的小专家&#xff1b;有的 尽管前期不太适应&#…

socket 编程入门教程(一)TCP server 端:4、构造函数涉及的概念

话题回到“黑社会办公室”的例子&#xff0c;讲概念已经扯得比较远了&#xff0c;不过&#xff0c;这一节我们还得讲概念&#xff0c;不过好在有些程序的例子。如果大家不想翻回去看TcpServer类的原型&#xff0c;我这里直接给出这个头文件的完整源代码&#xff1a;//Filename:…

地质灾害风险评价中按字段进行编号

示例 代码 # -*- coding: utf-8 -*- A1 B1 C1 D1 def a(name):namename.encode(utf-8);global A,B,C,Dif(name极高危险区):end"Ⅰ"str(A)AA1elif(name高危险区):end"Ⅱ"str(B)BB1elif(name中危险区):end"Ⅲ"str(C)CC1elif(name低危险区):end&qu…

vm虚拟机安装lede旁路由_教你利用VMM虚拟机安装LEDE旁路由实现软路由超强功能的方法教程...

教你利用VMM虚拟机安装LEDE旁路由实现软路由超强功能的方法教程6 H* ]: {$ Y2 f. W! o" u/ G& M9 p( d原文作者&#xff1a;阿文菌# [2 w0 p, K; H9 s$ ~6 |& }4 ]6 | y/ W$ A& d# n; x- K5 ~大家好俺又来了&#xff01;: ]2 f% S1 W7 D% l2 y俺现在家里24小时…

arcgis字段计算器VB脚本提取字符串

从左往右提取 left&#xff08;字段名称&#xff0c;提取长度&#xff09; Left( [地貌类型区],5) 从右往左提取 right&#xff08;字段名称&#xff0c;提取长度&#xff09; Right( [地理位置_1],3)

android学习笔记:数据库存储

使用的是SQLite 1.建立SQLiteOpenHelper扩展类。 public class DictionaryOpenHelper extends SQLiteOpenHelper {private static final int DATABASE_VERSION 2;private static final String DICTIONARY_TABLE_NAME "dictionary";private static final String DIC…

python允许无止境的循环吗_Python第一天 - 思想永无止境的个人页面 - OSCHINA - 中文开源技术交流社区...

下载安装python以及相关软件。python直接到python官网下windows-msi文件&#xff0c;版本根据需要下2.7或3.0。pydev自己网上搜&#xff0c;pydev官网的反而不行(eclipse上安装失败)。javaoracle官网eclipseeclipse官网配置pydev新建一个Python Interpreter&#xff0c;选择pyt…