開源日報 每天推薦一個 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/