A SMALL EDITOR. A FIRST STEP.

はじめての
プログラミングに、
ちょうどいい
エディター。

書いて、動かして、確かめる。
TurtleEditは、プログラミングを学ぶ人と
教える人のためのシンプルなテキストエディターです。

無料・MITライセンスWindows / macOS / Java

学ぶことに、集中しよう。01 / TURTLEEDIT
TurtleEditでPythonを実行した画面。上にコード、下に実行結果が表示されています。
コードと実行結果を、ひとつの画面に。Python / Windows
授業から生まれた、学習の道具。

機能はシンプルに。学びの手がかりは、わかりやすく。

WHY TURTLEEDIT

「はじめて」に寄り添う、小さな工夫。

操作に迷う時間を減らして、
プログラムを考える時間へ。

01

書く・動かすを、ひとつの画面で。

コマンドを登録すれば、ボタンからコンパイル・実行。編集画面のすぐ下で結果を確かめられます。

02

小さなつまずきを、見えるように。

行番号を常に表示。全角文字を枠で囲み、ファイル名の空白やコンパイル前の保存忘れにも気づけるようにします。

03

学びたいことに合わせて。

C・Python・Rubyなどの学習環境を設定できます。正規表現による検索・置換やテキスト処理の練習にも。

DOWNLOAD

あなたの環境で、はじめよう。

配布版

お使いのパソコンに合わせて選んでください。Javaの実行環境 (Java 17以上)が別途必要です。

GETTING STARTED

最初の一歩は、この3つ。

詳しい使い方 ↗
  1. 1

    ダウンロードして、展開

    環境に合ったZIPファイルをダウンロードして、好きな場所に展開します。

  2. 2

    TurtleEditを起動

    Windows版・Mac版はアイコンから起動。JAR版はターミナルで次のコマンドを実行します。

    java -jar TurtleEdit.jar
  3. 3

    言語を設定して、書いてみる

    「実行」メニューの「設定」でコマンドを登録。ファイルを保存したら、コンパイル・実行を試してみましょう。

FROM THE CLASSROOM

授業の中のつまずきが、
開発のきっかけでした。

保存し忘れたままコンパイルしたり、見えない全角スペースに悩んだり。そんな学習の手前にあるつまずきを減らしたい。TurtleEditは、大学のプログラミング実習で使いやすい道具を目指して生まれました。

開発:早川美徳

開発の背景を読む

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

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

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

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

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

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

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

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

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

  • 常に行番号が表示される。
  • 保存ファイル名にスペースが含まれていると警告する(保存できない)。
  • コマンドを登録しておくことで、エディタのボタン(またはメニュー)操作のみで、コンパイル、実行が可能。
  • コンパイルボタンを押すと、編集内容の保存を促す。
  • 全角文字には全て印がついた状態で表示される。
  • ボタンひとつで、作業ディレクトリとその内容を確認できる。

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

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

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

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

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

更新履歴

「設定」中にインタプリタ用モードを追加(09-JUL-2018)
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)

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.