开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
今日推荐开源项目:《天气预报 wttr.in》
今日推荐英文原文:《How Your Favorite Programming Languages Got Their Names》

今日推荐开源项目:《天气预报 wttr.in》传送门:项目链接
推荐理由:这个项目是一个天气预报命令行项目,允许用户通过各种参数调整例如预报地区或是输出格式等,从简单的压缩至一行输出,到更为丰富的图片,HTML,命令行文本和 JSON 等输出格式,或是数据更为全面的图表型输出,在可以满足日常使用的同时也便于其他开发者基于这个项目完成一些自定义需求。
今日推荐英文原文:《How Your Favorite Programming Languages Got Their Names》作者:
原文链接:https://medium.com/better-programming/how-your-favorite-programming-languages-got-their-names-9916fe997f78
推荐理由:回顾那些知名语言是如何获得它们的名字的

How Your Favorite Programming Languages Got Their Names

What do snakes and coffee have to do with programming, anyway?

You may have heard the saying that there are only two hard things in computer science, one of which is naming things. Some programming language names make a lot of sense, like Google naming their language Go(lang). Other names — like Python and Java — are not so obvious.

Let’s explore the history of some of the most iconic programming languages and how they got their name.

Python

Python was created by Guido van Rossum as a “hobby” programming project to keep him occupied during the Christmas holidays. For his language, van Rossum wanted a name that was short, unique, and slightly mysterious. Given Python’s “two snakes” logo, you would think that Python is named after the enormous python snakes (capable of swallowing an entire alligator whole!).

Rather, while in a “slightly irreverent mood”, Guido named it after Monty Python’s Flying Circus, a British comedy series from the 70s. It turns out he was a huge fan of the show and just happened to be reading the show’s scripts at the time.

Python’s “two snakes” logo has nothing to do with the origin of the name.

Java

Java was developed in the early 1990s at Sun Microsystems as part of the Green Project. Creating a new language wasn’t even the point of the project: Java was developed because they needed a processor-independent language that could offer most of what C++ had while being easier to work with. The top-secret Green Team was formed to build the “next wave of computing” beyond the PC, which they believed to be interactive, digitally controlled consumer electronics (a precursor to “smart devices”).


The Green Team’s grand creation: a wireless, full-color, touchscreen controller known as the *7.

Java was initially named Oak after a tree outside one of the developer’s windows. However, when Sun’s lawyers determined that Oak was already trademarked, the Green Team convened for a caffeine-fueled brainstorming session and came up with the name Java. They wanted something that reflected the essence of their language: “dynamic, revolutionary, lively and fun”. From a meeting that was described as “fundamentally continuous wild craziness”, Java was a perfect choice.

While the *7 was a bit ahead of its time and never really took off, the programming language it was built on did — and the rest is history.

JavaScript

JavaScript was created by Brendan Eich in 1995 at Netscape — the company behind Navigator, the most popular web browser at the time. Back then, web pages were completely static, but Netscape envisioned the dynamic, interactive web that exists today. Feeling pressure from Microsoft’s Internet Explorer, they hired Eich to integrate a scripting language into their browser.

Netscape wanted to create a language that was simple and easy to use. Riding off the booming popularity of Java, they pictured the language as the “scripting companion to Java”, similar to how Visual Basic was a complement to C/C++. With an emphasis on rapid development and simplicity, Eich inherited much of Java’s syntax and wrote the first version of JavaScript in only 10 days. It was fittingly named Mocha.
  • “I was under marketing orders to make it look like Java but not make it too big […] It’s just this sort of silly little brother language, right? The sidekick to Java.” — Brendan Eich
When the language was first integrated into Netscape, it was known as LiveScript. Shortly after, Netscape went all-in on the “Java companion” playbook. They partnered with Sun, renaming their language to JavaScript and touted it side-by-side with Java: JavaScript was advertised as a scripting language for small client-side tasks in the browser, while Java would be promoted as a bigger, professional tool to develop rich web components. Indeed, the origin of JavaScript’s name was a marketing ploy by Netscape to try and fend off Microsoft.

The C Family (C, C++, Objective-C, C#)

The first programming language ever is named Ada, credited to Ada Lovelace. Soon after there was a language named B, from which the name C is derived. C was developed by Dennis Ritchie at Bell Labs, considered by many to be the first high-level programming language.

C has many extensions, including C++, Objective-C, and C#. The names C++ and Objective-C are fairly self-explanatory, while C# is a bit less obvious. C# is musically inspired: a sharp (#) note means that it should be made a semitone higher in pitch. Even more interesting is that the # symbol is a ligature of 4 + symbols in a 2x2 square, perfectly fitting given that C# is an “increment” of C++!

Swift

Swift development at Apple in 2010 and was first released four years later. With its primary influence being Objective-C, Apple touts Swift as fast, easy to use, and safe by design. At first, Swift was named Shiny, as though you were building a “shiny new thing”. In fact, it even had the file extension .shiny.

The name Swift was eventually chosen to reflect its speed — in regards to performance as well as development time. Swift’s logo is of a bird that goes by the same name: Swifts are a family of birds known for their speed and aerial prowess.

Swift’s logo portrays a speedy bird with the same name.

Haskell

Haskell is named after logician Haskell Brooks Curry, known for his work in combinatorial logic. In fact, there’s a programming language named after each one of his names: Haskell, Brook, and Curry! The concept of currying was also named after him.

A fascinating aspect of Haskell that’s seldom discussed is its logo. You might notice the λ symbol in the logo, an ode to lambda calculus. However, look a bit more carefully and you’ll see that the λ is sandwiched by a “>” and “=”. This comes from the infamous bind operator for Monads: >>=. Haskell’s logo is the bind operator interweaved with a λ.

The Haskell logo is a combination of the bind operator and the lambda symbol.

Hopefully, you enjoyed learning a bit about the history of programming languages. I had a ton of fun researching this story as I thought some of these origin stories were absolutely fascinating.

If you have interesting origin stories of other programming languages that I didn’t cover, please do share! Thanks for reading!
下载开源日报APP:https://openingsource.org/2579/
加入我们:https://openingsource.org/about/join/
关注我们:https://openingsource.org/about/love/