77

元 Apple UI デザイナーである Bret Victor が、ソース コードの 1 つのシンボルを文字通り 1 つのシンボルを変更した後、実行中のコードを即座に更新する素晴らしいデモを示している、既によく知られているビデオを見たことがあります。

ビデオを見たことがない、または見る時間がない人に質問を明確にするために、そのようなツールを使用して独自のソフトウェアを作成したいと考えています。彼が実演していたツールは利用可能ですか、それとも他の同様のツールはありますか?

どの言語/環境でもかまいません。コードを実行してからソースの行を変更し、再起動せずに結果が更新されたことをすぐに確認したいだけです。

動画はYouTubeにもあり、要点は次のとおりです。

  • 03:30 - 05:30 - グラフィカル アルゴリズムのライブ コーディング (スペース)
  • 11:00 - 14:30 - ゲーム コードのライブ コーディング (空間と時間)
  • 17:30 - 21:30 - ライブ コーディング ローカル変数 (状態)
4

9 に答える 9

13

クリス・グレンジャーは、この方向への有望な動きのように見えるライトテーブルと呼ばれるものを構築しています。当初はClojureのみをサポートしていますが、将来的には他の言語をサポートすることを約束しています。

于 2012-11-18T19:20:48.943 に答える
10

あなたが尋ねた 3 つの機能のうち 2 つをカバーする Python のライブ コーディングと呼ばれる Emacs、PyCharm、および Eclipse 用のプラグインを作成しました。コードを入力すると、タートル グラフィックス アルゴリズムの結果が即座に更新されます。

タートル グラフィックス コードのスクリーンショット

また、各割り当ての横にローカル変数の状態も表示されます。二分探索アルゴリズムの表示例を次に示します。

def search(n, a):              | n = 3 a = [1, 2, 4] 
    low = 0                    | low = 0 
    high = len(a) - 1          | high = 2 
    while low <= high:         |         | 
        mid = (low + high) / 2 | mid = 1 | mid = 2 
        v = a[mid]             | v = 2   | v = 4 
        if n == v:             |         | 
            return mid         |         | 
        if n < v:              |         | 
            high = mid - 1     |         | high = 1 
        else:                  |         | 
            low = mid + 1      | low = 2 | 
    return -1                  | return -1 
                               | 
i = search(3, [1, 2, 4])       | i = -1 
于 2015-06-14T05:02:07.203 に答える
10

以下により、ソースの行を変更できると思います(そして、すぐに効果を確認できます):

  1. Codea Air Code : ブラウザー (Lua) でコードを作成し、Wi-Fi に接続された iPad で出力を確認します。
  2. ガブリエル・フロリットの水。HTML、CSS、ブラウザで動作します。
  3. Neonux によるライブ スクラッチパッド。Mozilla 拡張機能。
  4. Swift Interactive Playgrounds: Swift プログラミング言語でコーディングするための Xcode 6 が付属しています。
  5. JS Bin : HTML、CSS、Javascript、ブラウザで実行。
  6. ライトテーブル: YouTube の例
  7. Atom : プレビュー HTML プラグイン付き。

注: 私は 1、5-7 の経験しかありません。これらの多くでは、コードの特定の部分にカーソルを置いて、画像の関連部分を強調表示することはできないと思います。

編集:追加項目No. 4 (2014.10.27)、5 (2014.10.31)、6-7 (2015.03.12)。

編集 2 (2015.06.25): http://sixrevisions.com/tools/code-demo-sites/から(これらのほとんどは HTML/CSS/Javascript です)。

  1. コデペン
  2. ライブウィーブ
  3. ダブレット
  4. jsfiddle
  5. kodtest
  6. プランカー
  7. CSSデッキ
  8. リロード
  9. イデオン
  10. JQ.VER.SION
  11. SQL フィドル
于 2013-09-04T03:38:07.697 に答える
3

IPython Notebook は、その方向への一歩です。科学的問題のためのインタラクティブな探索的分析を対象としていますが、非常にインタラクティブで、開発するのが楽しいことがわかりました。

また、Live Code も発見しました。いくつかの実験を行った結果、ブレット ビクターの哲学のすべての原則を網羅しているわけではないことがわかりました。単純な構文ですが、UI はインタラクティブな開発には適していません。彼らにはまだ先があります。

それからRもあります.Shinyとknitrの新しい開発以来、Bretの哲学に沿ったいくつかの興味深い革新が起こっています.

于 2013-06-15T10:24:34.200 に答える
1

Haskell for Macは、(a) プラットフォーム固有 (名前からお察しのとおり) であり、(b) 商用ソフトウェア (現在 20 ドル) であるため、利用者が限られている可能性があります。しかし、初期のブログ投稿で説明されているように、これは非常に明確に Brett Victor のアイデアに基づいています。

これは、「Learnable Programming」を実装するプログラミング環境の完全なリストに追加する価値があります。

于 2016-01-28T09:27:09.150 に答える
0

コード オーケストラの連中は最近、COLT と呼ばれるライブコーディング ツールをリリースしました。これは JavaScript と ActionScript をサポートしており、非常に有望に見えます。試してみることを強くお勧めします。

于 2013-09-24T22:23:28.727 に答える