この記事は、Business Bank Group Developers Advent Calendar 20日目の記事です。
はじめに
- 2010年以降に登場したオープンソースのプログラミング言語についてまとめました。
- 対象は、該当言語のGitHubのStarが、2018年12月19日時点で2,000を超えていているものであり、各年毎に、2018年12月19日時点でStarの多い順に並べています。(年は独断と偏見で決めています。)
- 一部の言語では、localでの環境構築(Ubuntu18.04)からHello World!を表示するまでの方法も記載しています。
- 間違いがあれば、編集リクエスト等を送っていただけると幸いです。
2010年
Rust
$ curl https://sh.rustup.rs -sSf | sh
$ sudo apt install cargo
$ cargo install evcxr_repl
# export PATH
$ evcxr
Welcome to evcxr. For help, type :help
>> println!("Hello World!");
Hello World!
2011年
Kotlin
$ curl -s api.sdkman.io | bash
# restart terminal
$ sdk install kotlin
$ kotlinc-jvm
Welcome to Kotlin version 1.3.11 (JRE 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)
Type :help for help, :quit for quit
>>> println("Hello World!")
Hello World!
Dart
※ 言語の音楽性の違いから、ブラウザ上で実行することにしました。
https://dartpad.dartlang.org
void main() {
print("Hello World!");
}
// console outputs: Hello World!
Red
MoonScript
2012年
TypeScript
$ npm -i ts-node
$ node
> console.log("Hello World!");
Hello World!
Julia
$ sudo docker run -it --rm julia
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.0.2 (2018-11-08)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
julia> print("Hello World!")
Hello World!
Elixir
$ sudo docker run -it --rm elixir
Erlang/OTP 21 [erts-10.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]
Interactive Elixir (1.7.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> IO.puts "Hello World!"
Hello World!
:ok
Elm
Alda
Halide
2013年
Idris
2014年
Swift
$ sudo docker run --privileged --cap-add sys_ptrace -it --rm swift swift
Welcome to Swift version 4.2.1 (swift-4.2.1-RELEASE). Type :help for assistance.
1> print("Hello World!")
Hello World!
Hack
$ sudo apt update
$ sudo apt install software-properties-common apt-transport-https
$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xB4112585D386EB94
$ sudo add-apt-repository https://dl.hhvm.com/ubuntu
$ sudo apt update
$ sudo apt install hhvm
$ echo '<?hh echo "Hello World!\n";' >> hello.hh
$ hhvm hello.hh
Hello World!
Crystal
$ curl -sSL https://dist.crystal-lang.org/apt/setup.sh | sudo bash
$ curl -sL "https://keybase.io/crystal/pgp_keys.asc" | sudo apt-key add -
$ echo "deb https://dist.crystal-lang.org/apt crystal main" | sudo tee /etc/apt/sources.list.d/crystal.list
$ sudo apt update
$ sudo apt install crystal
$ echo 'puts "Hello World!"' > hello.cr
$ crystal run hello.cr
Hello World!
Elvish
2015年
Solidity
Streem
Pony
Wren
Imba
Luna
Zig
2016年
Eta
2017年
Gravity
Goby
感想
2010年以降に登場したプログラミング言語で知名度の高いものについては、ほぼオープンソースである。
・new programming language
・next generation programming language
・emerge programming language of 2018
などで検索をすると、2010年以降に登場した言語は全てオープンソースのようでした。
また、オープンソースでない言語についても調べていましたが、自分で見つけることは出来ませんでした...。
このことから、2010年以降に登場したプログラミング言語で知名度の高いものについては、ほぼオープンソースであると述べて良いのではないでしょうか。みんな違ってみんないい
この前流行った、【今後必要になるプログラム言語】
なんてものは、業界毎に様々なので、各々で考えればいいかなと思いました。EmojicodeやQ#も入れたかったです。
(いずれ、記事更新時に追加すると思いますが)
明日は @keitatakahashi さんが担当です。よろしくお願いします!