rksoftware

Visual Studio とか C# とかが好きです

プログラミング言語 Swift (5) - Swift の歴史

Swift とは JVM 上で動くスクリプト言語だという事は知っています。
非常に有名なプログラミング言語であるにも関わらず、しかし事前知識はそれだけで他のことは全く知りませんでした。

こんな有名なプログラミング言語を知らないなんて、それは少し恥ずかしいな思い立って、プログラミング言語 Swift を調べてみます。少しずついくつかの記事にかに分けて調べていってみようと思います。

目次はこちら

rksoftware.hatenablog.com

Swift の歴史

前回、次からチュートリアルやってみると言いましたが、あれは嘘です。
今回は、プログラミング言語 Swift の歴史を調べてみます。

■ 歴史

情報がほとんどなく、そろってもいなく、見つけた情報を表にします。

プログラミング言語 Swift Apple Swift
2007/03/02 登場
SWIFT 0.1
-
2007/07/19 SWIFT 0.2 -
2007/10/04 SWIFT 0.3 -
2008/03/18 SWIFT 0.4 -
2008/04/16 SWIFT 0.5 -
2008/08/25 SWIFT 0.6 -
2008/11/11 SWIFT 0.7 -
2009/01/30 SWIFT 0.8 -
2009/04/27 SWIFT 0.9 -
2010/12/23 SWIFT 0.91 -
2011/04/13 SWIFT 0.92.1 -
2011/11 SWIFT 0.93 -
不明 (2012?) SWIFT 0.94 -
不明 (2013?) SWIFT 0.94.1 -
不明 (2014?) SWIFT 0.96 -
2014/06/02 -
Wikipedia ページ作成
登場
Wikipedia ページ作成
2015/08/05 最新リリース(0.96.2) -
2016/12/21 公式サイトの最終更新? -

情報ソースはこの辺り。
Swift - Downloads
Index of /guides
en.wikipedia.org

? の年は私が想像で、不明期間を等間隔にした年です。

次回

次回こそ、チュートリアルをやって完全に理解したいと思います。

プログラミング言語 Swift (4) - クイックスタートが WSL 上で動いた!

Swift とは JVM 上で動くスクリプト言語だという事は知っています。
非常に有名なプログラミング言語であるにも関わらず、しかし事前知識はそれだけで他のことは全く知りませんでした。

こんな有名なプログラミング言語を知らないなんて、それは少し恥ずかしいな思い立って、プログラミング言語 Swift を調べてみます。少しずついくつかの記事にかに分けて調べていってみようと思います。

目次はこちら

rksoftware.hatenablog.com

クイックスタートの URL

今回やってみるクイックスタートの URL です。
http://swift-lang.org/guides/release-0.96/quickstart/quickstart.html
前回は Windows 用の起動 bat らしきファイルが見えたので Windows で試してみましたが動きませんでした。今回は WSL でやってみます。

■ WSL の準備

まずは Windows の WSL (Windows Subsystem for Linux) の準備です。ターミナルでコマンドを実行します。

wsl --install Ubuntu

今回は Ubuntu 22.04.01 がインストールされました。

■ swift コマンド実行

前回ダウンロードしていた swift コマンドを実行します。
http://swift-lang.org/packages/swift-0.96.2.tar.gz
http://swift-lang.org/guides/release-0.96/quickstart/hello.swift

xxxxxxxxxx@XXXXXXXXXX:/mnt/x/xxxxxxxxxxxx$ /mnt/x/xxxxxxxxxxxx/swift-0.96.2/bin/swift hello.swift
/mnt/x/xxxxxxxxxxxx/swift-0.96.2/bin/swift: line 178: java: command not found

java コマンドが見つからない、と怒られました。それはそうですね。Java をインストールします。

■ Java のインストール

Java のインストール方法はこちら。
learn.microsoft.com

# Valid values are only '18.04' and '20.04'
# For other versions of Ubuntu, please use the tar.gz package
ubuntu_release=`lsb_release -rs`
wget https://packages.microsoft.com/config/ubuntu/${ubuntu_release}/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install msopenjdk-17
$ java --version
openjdk 17.0.6 2023-01-17 LTS
OpenJDK Runtime Environment Microsoft-7209853 (build 17.0.6+10-LTS)
OpenJDK 64-Bit Server VM Microsoft-7209853 (build 17.0.6+10-LTS, mixed mode, sharing)

openjdk 17.0.6 がインストールされました。

■ 実行

満を持して実行!

$ /mnt/x/xxxxxxxxxxx/swift-0.96.2/bin/swift hello.swift
-Djava.endorsed.dirs=/mnt/c/Users/owner/Downloads/swift-0.96.2/lib/endorsed is not supported. Endorsed standards and standalone APIs
in modular form will be supported via the concept of upgradeable modules.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

エラーになりました。これは 前回 見たやつですね。
rksoftware.hatenablog.com

■ swift ファイルを編集

\swift-0.96.2\bin\swift ファイルを編集してみましょう。\swift-0.96.2\bin\swift ファイルの 44 行目です。

OPTIONS="$OPTIONS -Djava.endorsed.dirs=$SWIFT_HOME/lib/endorsed"

OPTIONS="$OPTIONS "

■ もういちど実行

$ /mnt/x/xxxxxxxxxxxx/swift-0.96.2/bin/swift hello.swift
Swift 0.96.2 git-rev: b9611649002eecd640fc6c58bbb88cb35ce03539 heads/release-0.96-swift 6287
RunID: run008
Progress: Xxx, xx Jan 2023 xx:xx:31+0900
Progress: Xxx, xx Jan 2023 xx:xx:32+0900  Active:1
Final status: Xxx, xx Jan 2023 xx:xx:32+0900  Finished successfully:1

うごいたっぽいです。

ここで実行した Swift のコードを見てみましょう。

// Define file as a type
type file;

// A simple app that echo's a string to a file
app (file output) echo (string s) {
   echo s stdout=@output ;
}

// Map a filename to a variable of type file
file output <"hello.out">;

// Call the app
output = echo("hi");

どうやら hello.out というファイルに hi と書き込むコードですね?

■ 実行結果確認

実際 hello.out というファイルが作られているので中身を見てみましょう。

hi

計画通り! 動作しました。

次回

次回こそ、チュートリアルをやって完全に理解したいと思います。

プログラミング言語 Swift (3) - クイックスタート 失敗

Swift とは JVM 上で動くスクリプト言語だという事は知っています。
非常に有名なプログラミング言語であるにも関わらず、しかし事前知識はそれだけで他のことは全く知りませんでした。

こんな有名なプログラミング言語を知らないなんて、それは少し恥ずかしいな思い立って、プログラミング言語 Swift を調べてみます。少しずついくつかの記事にかに分けて調べていってみようと思います。

目次はこちら

rksoftware.hatenablog.com

チュートリアルの URL

今回見つけた公式チュートリアルの URL です。
http://swift-lang.org/swift-tutorial/doc/tutorial.html

と思ったけどまずは クイックスタート

というところまで見てクイックスタートを見つけました。まずはこちらで環境を整えるチャレンジをしてみたいと思います。
http://swift-lang.org/guides/release-0.96/quickstart/quickstart.html

[ 最初に ] 今回の記事は成功しなかったパターンです

今回の記事は試してみて成功しなかったパターンです。うまくいかない方法を一つ見つけた、というやつです。実際高価値記事!

■ Java の準備

ドキュメントによると JDK 1.7 以上が必要という事です。私の環境には Microsoft OpenJDK 11 がインストール済みでした。
この Java でやっていきます。

■ Swift コマンド

次の URL から Java で作られた Swift コマンドをダウンロードします。
http://swift-lang.org/packages/swift-0.96.2.tar.gz

ダウンロードしたら tar コマンドで展開します。今の Windows には tar コマンドがあるので PowerShell のターミナルを開いて次のように。

tar xfz swift-0.96.2.tar.gz

展開してみると bin フォルダの中に swift.bat ファイルがありました。もしや Windows でも動くのか!? と思ったらダメでした。というのが今回の記事です。

■ swift.bat

実行してみると......動きません。

PS > \swift-0.96.2\bin\swift.bat
-Djava.endorsed.dirs=C:\Users\XXXXXXXXXXXX\Downloads\swift-0.96.2\lib\endorsed is not supported. Endorsed standards and standalone APIs
in modular form will be supported via the concept of upgradeable modules.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

どうもこの -Djava.endorsed.dirs という Java の起動オプション、Java 9 以降には存在せずエラーになるようです。ということはこの bat、Java 8 以前、2017 年以前のものということですね。公式サイト等を見ていると Swift は 2016 年にほとんど止まっているようなのでそういうことなのでしょう。

とりあえず起動オプションを外してみます。場所は \swift-0.96.2\bin\swift.bat ファイルの 52 行目です。

set OPTS=-DCOG_INSTALL_PATH="%SWIFT_HOME%" -Dswift.home="%SWIFT_HOME%"%COG_OPTS% -Djava.endorsed.dirs="%SWIFT_HOME%\lib\endorsed"

set OPTS=-DCOG_INSTALL_PATH="%SWIFT_HOME%" -Dswift.home="%SWIFT_HOME%"%COG_OPTS% 

実行すると

PS > \swift-0.96.2\bin\swift.bat
Swift 0.96.2 git-rev: b9611649002eecd640fc6c58bbb88cb35ce03539 heads/release-0.96-swift 6287
No Swift script specified

動作はしました。ただ Swift で実行するコードを指定していないのでエラーになっています。

■ Swift のコード

環境はできたようなので、クイックスタートのコードファイルを次の URL からダウンロードします。
http://swift-lang.org/guides/release-0.96/quickstart/hello.swift

ダウンロードしたファイルの中のコードはこんな感じでした。これが Swift のコードなんですね!

// Define file as a type
type file;

// A simple app that echo's a string to a file
app (file output) echo (string s) {
   echo s stdout=@output ;
}

// Map a filename to a variable of type file
file output <"hello.out">;

// Call the app
output = echo("hi");

■ もういちど Swift 実行

実行してみます。

PS > \swift-0.96.2\bin\swift.bat hello.swift
2023-01-22 XX:XX:XX,XXX+0900 DEBUG Loader Detailed exception:
com.typesafe.config.ConfigException$BadPath: path parameter: Invalid path 'env.=::': Token not allowed in path expression: '=' (you can double-quote this token if you really want it here)
        at com.typesafe.config.impl.Parser.parsePathExpression(Parser.java:1095)
        at com.typesafe.config.impl.Parser.parsePath(Parser.java:1135)
        at com.typesafe.config.impl.Path.newPath(Path.java:224)
        at com.typesafe.config.impl.PropertiesParser.fromPathMap(PropertiesParser.java:79)
        at com.typesafe.config.impl.ConfigImpl.fromAnyRef(ConfigImpl.java:260)
        at com.typesafe.config.impl.ConfigImpl.fromPathMap(ConfigImpl.java:200)
        at com.typesafe.config.ConfigFactory.parseMap(ConfigFactory.java:855)
        at com.typesafe.config.ConfigFactory.parseMap(ConfigFactory.java:866)
        at org.griphyn.vdl.util.SwiftConfig.getSubstitutions(SwiftConfig.java:336)
        at org.griphyn.vdl.util.SwiftConfig.load(SwiftConfig.java:253)
        at org.griphyn.vdl.karajan.Loader.loadConfig(Loader.java:598)
        at org.griphyn.vdl.karajan.Loader.main(Loader.java:148)
Could not start execution:
        path parameter: Invalid path 'env.=::': Token not allowed in path expression: '=' (you can double-quote this token if you really want it here)

動きません!

ちょっと Java のことは全然わからないので。org.griphyn.vdl.karajan is 何ぞ......。

次回

■ Swift はどうもかつては Windows でも動いていた形跡

Swift はどうもかつては Windows でも動いていた形跡があります。しかし動かなかったので、おとなしく次回は WSL で試してみようと思います。

プログラミング言語 Swift (目次)

Swift とは JVM 上で動くスクリプト言語だという事は知っています。
非常に有名なプログラミング言語であるにも関わらず、しかし事前知識はそれだけで他のことは全く知りませんでした。

こんな有名なプログラミング言語を知らないなんて、それは少し恥ずかしいな思い立って、プログラミング言語 Swift を調べてみます。少しずついくつかの記事にかに分けて調べていってみようと思います。

■ Wikipedia の記事を確認

rksoftware.hatenablog.com

■ 2007 年にシカゴ大学とアルゴンヌ国立研究所が作ったプログラミング言語

rksoftware.hatenablog.com

■ クイックスタート 失敗

rksoftware.hatenablog.com

■ クイックスタートが WSL 上で動いた!

rksoftware.hatenablog.com

以降執筆中

プログラミング言語 Swift (2) - 2007 年にシカゴ大学とアルゴンヌ国立研究所が作ったプログラミング言語

Swift とは JVM 上で動くスクリプト言語だという事は知っています。
非常に有名なプログラミング言語であるにも関わらず、しかし事前知識はそれだけで他のことは全く知りませんでした。

こんな有名なプログラミング言語を知らないなんて、それは少し恥ずかしいな思い立って、プログラミング言語 Swift を調べてみます。少しずついくつかの記事にかに分けて調べていってみようと思います。

目次はこちら

rksoftware.hatenablog.com

まずはネット検索してみた記事

rksoftware.hatenablog.com

前回ネット検索して Wikipedia の記事を見つけました。今回はこの記事を読んで概要を確認してみます。

今回

■ Swift の概要

どうもこんな感じらしいです。

  • シカゴ大学とアルゴンヌ国立研究所が 2007 年に作った
  • Java VM 上で動作する
  • スクリプト言語
  • OSS ライセンスは Apache License 2.0
  • コマンドラインプログラムやファイルを扱うのが得意
  • プログラマが意識しなくても自動的に並行処理が行われる

次回

Wikipedia から公式サイトへリンクをたどれます。公式サイトにチュートリアルの文字が見えたので次回からチュートリアルをやってみようと思います。

プログラミング言語 Swift (1) - Wikipedia の記事を確認

Swift とは JVM 上で動くスクリプト言語だという事は知っています。
非常に有名なプログラミング言語であるにも関わらず、しかし事前知識はそれだけで他のことは全く知りませんでした。

こんな有名なプログラミング言語を知らないなんて、それは少し恥ずかしいな思い立って、プログラミング言語 Swift を調べてみます。少しずついくつかの記事にかに分けて調べていってみようと思います。

目次はこちら

rksoftware.hatenablog.com

■ まずはネット検索

根と検索すると、公式のzサイトなどよりも先に Wikipedia の記事が見つかります。
en.wikipedia.org

これを読んでみようと思いますが、どうも日本語記事はない様子。

この画像の左下。Languages に日本語がありません。確かに日本で使われている話も聞いたことありませんし、あまり日本では使われていないのかもしれません。

■ ちなみに C# では

ちなみに我らが C# ではこんな感じです。
en.wikipedia.org

非常に多くの言語で記事が作成されています。

次回

という事で次回から、Wikipedia の英語記事を読んでいこうと思います。

Visual Studio の 17.4.4 がリリースされました

Visual Studio のアップデート 17.4.4 がリリースされました。

しばらくブログも更新できず、 Visual Studio の更新も追えていなかったのでまたリハビリから頑張っていこうと思います。

■ 更新内容

■ 機能の追加

機能追加は無いようです。

問題の解決

  • C# のドキュメント アウトライン機能が無効になっている問題
  • フォント 「 Cascadia Code 」 と 「 Cascadia Mono 」 が Visual Studio の更新でアンインストールされる問題

その他、5 つのフィードバックに対処したそうですが私の力ではフィードバックの中を読んでも現象を特定できませんでした。

セキュリティに関するアップデート

今回は .NET 6 のセキュリティの問題が対策されています。Visual Studio でなく .NET をアップデートすれば良いようですがせっかくなので Visual Studio もアップデートしておきましょう。

なるべく早くアップデート

今回は .NET のものですがセキュリティのアップデートも含まれるので、取り敢えずすぐにアップデートしましょう。

■ 更新方法

Visual Studio の更新はメニューの ツール > ツールと機能を取得 で開くインストーラーから行えます。