TurtleEditのページ

English


ダウンロード(2016-07-28版):

TurtleEditバイナリ(JRE6以上)

TurtleEdit-jar.zip

Windows専用版

Mac専用版

ソースファイル
(NetBeansで作成)

TurtleEdit-src.zip

プログラミングの初学者を想定して、非常にシンプルなテキストエディタを作成してみました。 Java + NetBeans の経験がある方なら機能の追加や変更も容易と思います。 どうぞお試しください。
なお、2016-07-25版より前のバージョンには、色々と細かい不具合が見つかっていますので、以前にダウンロードされた方は、最新版に更新してお使いください。

目次

動作環境

Java 6以上(実行環境)がインストールされているパソコン

macOS Sierraをお使いの方で、TurtleEditが起動できない場合は、JDKをインストールしてみてください(こちらから Java Platform (JDK)をダウンロードしてインストール)

起動方法

Mac版とWindows版はアイコンをダブルクリック

注1:Mac版をお使いの場合は、まずシステム環境設定セキュリティーとプライバシー/一般を開き、ダウンロードしたアプリケーションの実行許可を「App Storeと確認済みの開発元からのアプリケーションを許可」に設定してください。その後、ダウンロードしたファイルを解凍してダブルクリックすると、確認のウィンドウが出ますので、開くを押してください (2017年3月3日以降に配布するファイルには、Appleからのコード証明書が含まれています。 以前にMac版のTurtleEditが開けなかった方は、改めてお試しください。)

注2:ヘルプメニューのレスポンスを選ぶと、レスポンス収集用ソフト(TurtleResponder)が起動されます。 その際に、TCP/UDPの3100番ポートを使用するため、セキュリティ対策ソフトから警告が出るかもしれませんが、異常ではありません。

その他の環境では、コマンドラインで

java -jar TurtleEdit.jar

を実行

最近の修正・変更

Mac版をAppleの証明書を使ってコード証明(03-MAR-2017)
「中断」ボタンが確実に(文字出力を無限に繰り返すようなプログラムに対しても)動作するように修正(25-JUL-2016)
カーソル位置の括弧と対になる括弧を枠で囲んで表示(22-JUL-2016)
タブ・ストップの位置(バグ)を修正+タブ位置を破線で表示(21-JUL-2016)
外部コマンド起動時のエラー表示を詳細化(14-JUL-2016)
タブ・ストップの位置を修正(08-APR-2016)
ヘルプメニュー中の「フィードバック」を「レスポンス」と改名(08-JAN-2016)
編集メニュー中の「検索」の改善(05-JAN-2016)
基本的なフィルター機能(sort, tr, uniq等)を追加(04-DEC-2015)
実行結果の出力を(少しだけ)高速化(11-OCT-2015)
「実行」メニューに「外部コマンド実行」を追加(13-JUL-2015)
レスポンス収集機能に「コンパイルエラーを添付する」機能を追加(08-MAR-2015)
「コンパイル」および「実行」時に、実行されるコマンドラインの内容を表示(10-APR-2015)
ヘルプメニューにレスポンス収集ソフト(TurtleFeedback)を起動する項目を追加(30-JUN-2014)
作業ディレクトリの一覧に最終更新日も表示。編集画面を変更して【実行】すると【コンパイル】を要求するよう変更(17-JUN-2014)
編集画面のフォントサイズを変更可能に(16-JUN-2014)
コンパイルコマンドの終了コードが0でないと【実行】に進めないように変更(13-JUN-2014)
実行コードの標準入出力を擬似端末に繋いだ状態で起動するためのツールを追加(07-MAY-2014)

このソフトの縁起

大学1年生を対象とした情報の授業を担当するようになって久しい。 いまどきの学生達は、さすがにディジタルネイティブということもあって、パソコンの「使い方」の面では昔に比べて格段に レベルアップしているが、プログラミングなど、論理的な思考を求める内容に対しては、昔とそんなに変わらない( 昔のほうが「できる」学生が多かったような気もするが、気のせいかもしれない)。

また、「使い方」のほうにしても、未体験ゾーンに入ると、それほど柔軟性が高いというわけでもなかったりするので、 大人数でプログラミングの実習を行ったりすると、昔の学生達と同じようなところで立ち往生しているようである。

そんな中でも、プログラミングや論理的な思考とはあまり関係ないかもしれない典型的なつまずきとして

  1. ファイル名の最後などにスペースが入っていることに気づかず、コンパイルしようとしても「ファイルが無い」とコンパイラに言われ、困ってしまう。
  2. ファイルの保存先とは違うディレクトリで作業していて、ファイルが見つからない、あるいは、別のファイルを操作しているのに気づかない。
  3. 編集した結果の保存を忘れたままコンパイルに進む。
  4. プログラムの中に全角のスペースや全角のセミコロンなどが紛れ込んでエラーになるが、その場所を見つけられない。

などが、すぐに頭に浮かぶ。また、学生達は、行番号の表示など、エディタに満載されている便利機能には気づかず、それらを活用している 者はほとんど目にしない。

子供用のバイオリンが、バイオリンとしては「大人用」と全く変わらないように、初学者にこそ「本物」を、という 哲学もあり得るのかな、とも思いますが、限られた授業時間内にはとても教えきれません・・・

こうした「つまづき」が起きづらいような(しかもLinuxでも使える)プログラミング環境は無いものか、と、あれこれ探してみるも、 初級者にちょうどよいソフトはなかなか見つからない。 一方、本格的なIDEは沢山あるが、本格的すぎて、初心者にとってはきっと「わけがわからない」だろう。

そんなわけで、自分の授業で(学生・教員共に)使いやすいようにと書いてみたのがこのTurtleEditである。

エディタとしての機能は全く貧相そのもので、日曜プログラミングの域を出る代物ではないけれど、 初学者のプログラミング(LaTeX等も含む)学習を意識して

といった機能を盛り込んだ。ついでに、正規表現の練習もできるようにしておいた。

「本格的」なソフトは、依存関係がありすぎて、管理者権限でインストールしなければならないケースが多く、 学校の演習室などで使うのがちょっと難しい場合も多いのではないでしょうか。

プログラムはJava+NetBeansで作成したので、Javaが走る環境ならば、どこでも使えるはずである。 ファイルサイズが小さいので、学習者がダウンロードして自分のファイル領域に保存したとしても、ほとんど邪魔にならないと思う。

特に、同じような仕事をされている教員の方々の一助になればと考え、(恥ずかしながら)公開することにした。

早川美徳(東北大学・教育情報基盤センター)

TurtleEditはMITライセンスにて公開しています

The MIT License

Copyright 2013-2016 Yoshinori Hayakawa <hayakawa@cite.tohoku.ac.jp>.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.