#0 長い休眠期間 < Viivi Blog < Viiviの小部屋 < 入り口/Entrance
[NOTE]
This article is written ONLY in Japanese.
I hope you can read the contents through one of the surprisingly advanced latest machine translators,
such as Google
and DeepL.
たいへん申し訳ありません.
2012年に Viivi の公開を停止してから,
あっという間に 10 年近い時間がすぎてしまいました.
Viivi 公開停止についての経緯を簡単に書かせてください.
旧ホームページのトップに書きましたように,
きっかけは自宅 PC とホームページサーバとの接続が突然できなくなったことでした.
原因はわかりません.
それに加えて,当時僕はひどい「鬱 (うつ)」状態にありました.
単純に気分が落ち込むというものではありません.
日常生活の中で普通にできていたことが全くできなくなってしまいました.
この2つの理由でプログラムの公開を一時停止せざるを得なくなったわけですが,
これらは単なるきっかけにすぎません.
公開を停止したころから公開再開までの間,Viivi の
GUI (Graphical User Interface) 部分である
Viivi IDE (およびその機能である VITSE)
を実装していました.
この間,言語処理系の本体である Viivi kernel についてはほとんど触っていません.
Viivi IDE の実装に難航したことが,
長期の公開停止をすることになった理由です.
上のような理由により,Viivi が再公開できる程度になるまで,
非常に長い時間がかかってしまうことになりました.
この間,Viivi IDE はずっと未完成のままでした.
未完成な GUI プログラムは非常に不安定であり,
直感的に操作できるようになってもいません.
まず安定性の話をすると,
Java/Swing の GUI 処理は EDT(Event Dispatch Thread) という専用のスレッドで
動かすことが決められています.
したがって必然的に Viivi kernel スレッドと EDT との
マルチスレッドプログラミングを行うことが要求されるのですが,
ふたつのスレッド間でリソースを奪い合ってしまうと OS も簡単にフリーズしてしまいます.
GUI の直感性についても配慮する必要があることを痛感しました.
たとえばプログラムを一時停止させるタイミングなどについて,
プログラムの上で単純な挙動が正しいと思ってコーディングしていても,
いざ使ってみると直感的な操作と全く合わない挙動になることがよくあります.
人間の感覚に合わせるためには,案外複雑な実装が必要な場合があることがわかりました.
このように問題が解決されていない未完成の状況が続くと,
再公開のタイミングについての判断がとてもむずかしくなります.
完成度の低いソフトウェアを公開したところで,
それが不安定だったり非直感的だったりすれば
とてもユーザのみなさんには使ってもらえないだろうということを恐れていました.
「これやると OS が固まるから絶対にしないで」
とか
「これについてはちょっとおかしいけど,今直しているところだから ほかのところだけ使ってみて」
とは言えないのです.
ユーザのみなさんにしてみれば,どこに dead-lock の危険が潜んでいるかとか,
今僕がプログラムのどの部分を修正中だとかいうことにご興味はないでしょうから.
公開した 00.18.00 (alpha) 版も決して満足のできるものではありません.
個人的には kernel/IDE 部とも,9 割程度の仕上がりだと思っています.
言いかたを変えれば,完成させてから公開するのをあきらめたから,
ようやく公開できることになりました.
ただ,少なくとも OS をフリーズさせたり,極端におかしな挙動はしないようにはなっていると思います.
本来 alpha 版は開発中の進捗(しんちょく)状況や問題点を開発組織内で共有するためのものですが,
Viivi は完全な個人プロジェクトであるために僕にはそのような組織が存在しません.
それでいきなり完成度の低い版をネット上に公開させていただくことにしました.
実際に使っていただければわかると思いますが,
ユーザのみなさんにとっては 9 割の完成部分よりも 1 割の未完成/不具合の部分のほうが目立つと思います.
ここからはユーザのみなさんからのフィードバックをいただいて,
Viivi を完成させていきたいと考えています.
#0 長い休眠期間 < Viivi Blog < Viiviの小部屋 < 入り口/Entrance
2022/03/02 開設
2022/03/12 更新
Copyright(C) 2003-2022 ilma <ilma@viivi.io> All rights reserved.