Javaは動かすまでがめんどくさい!を少しでも払拭したいのか、Java11以降はソースコード直接実行できるようになっています。正式にはJEP 330: Launch Single-File Source-Code Programs(単一ファイルソースコードプログラムの起動)と定義されているようです。
sample01.java として以下作成
public class sample01 {
public static void main(String[] args) {
System.out.println("-- Javaのソースコード直接実行!");
}
}
# この通りスクリプト言語のように実行できます
#
test >> java sample01.java
-- Javaのソースコード直接実行!
test >>
条件付きにはなるけど、さらにシンプルにする事もできます。
sample02.java として以下作成
void main() {
System.out.println("-- Javaのソースコード直接実行!");
}
# 以下詳細解説は省きますが実行できます
#
test >> java --enable-preview --source 21 sample02.java 2>$null
-- Javaのソースコード直接実行!
test >>
ここまで検証してみて感じましたが、しょせんネイティブなスクリプト言語にはやはりかなわないですねw、、Pythonだったら以下1行で動作します。Javaも簡単に実行できるという点はみとめますが、これでどんどん広まるってわけでもないでしょうねぇ、、まぁ、今回は今更ですが個人的に驚いたので少し検証してみました。
print("-- Pythonのソースコード直接実行!")
# Pythonならこれだけです
#
test >> python sample02.py
-- Pythonのソースコード直接実行!
test >>
応用編(こんな使い方もあります)

最小構成の Java API を作りながら HttpServer の内部を理解する
Tomcat や Jetty といったサーブレットコンテナは、Servlet API(HttpServlet / doGet / doPost)を使って HTTP リクエストを処理します。しかし今回は、Servlet API を使わず、JD…
