パスワードを忘れた? アカウント作成
2345 story

俺言語を作ろう! 197

ストーリー by Oliver
me.freeze! 部門より

Jadawin 曰く、 "mishima氏は、氏の日記において、「俺言語」のあり方を論じていらっしゃいますが、皆さんは${俺言語:=自分が考える理想に近い言語}を考えてみたことはありますか?
既存のどの言語をベースに考えますか?どのような問題点をどのように改善しようとおもわれましたか?どんな場面で使うと有効でしょうか?perlrubyだって、既存の言語に対する不満から生まれてるわけです。色々と不満をぶちまけてみて下さい。"

実装するならバックエンドにParrotを使うとか。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Jadawin (2174) on 2002年02月21日 20時06分 (#65165) 日記
    #タレコみ者の私は、こんなこと↓を考えてました。日記 [srad.jp]からのコピペ。
     
    この間、sedで200行程のプログラムを書いたのですが、用意されているコマンドがどうにも使えんですね。holdスペースが一つしかないとか、holdスペースとパターンスペースで複数行を扱えるくせにその扱い方がものすごく限定されていて使いにくいとか。じゃぁ発展型のはずのawkはどうかというと、高水準言語のくせに、ローカル変数が扱えないとか、嫌なところがあってperlかrubyの方に眼が行ってしまいます。
     
    私が俺言語を作るのであれば、perlやrubyと同じ土俵で争うつもりは全くないので、sed程度に軽くてなおかつsedの制約を取りはらい、複数のキュー/スタックをもつforthもどきのsedもどきになると思います。
     
    #いやぁ、変数がないというところがストイックでよいのですよ。
  • なんとなく (スコア:3, おもしろおかしい)

    by kage (3504) on 2002年02月21日 20時38分 (#65182) 日記
    「俺言語」という言葉の響きで「ぴゅう太」の日本語ベーシックを
    想像してしまった。

    あれが発展してオブジェクト志向要素を取り入れたりしたら
    オレ->カケ("オレ言語");
    という感じになるのだろうか。
  • by Anonymous Cowboy (6205) on 2002年02月21日 20時47分 (#65186)
    と一行書くだけであとはコンパイラが頑張ってなんとかしてくれる言語がほしいです
  • 今現在 私の知っている言語の中では、Ruby が一番理想的な
    環境を実現しています。

    それまでは、C++ で STL を使ってがんばろうとしていたのですが、
    Java や Ruby を知ってから、C++ が
      "いかに分かりにくい(落とし穴の多い)言語か"
    というのが身にしみて分かるようになり、あまり好んで使わなくなって
    しまいました。(STL に関しては未だに魅力はありますが...)

    私は、コンパイラや言語設計の勉強を全くしたことがなかったのですが、
    Ruby を知ってから、"実は言語を設計するのって、結構面白いんだなぁ"
    と思うようになりました。

    GUI を使わないプログラミングに関しては、今はほぼ Ruby で不満なく
    書けています。(不満なくというより、日々いろいろな発見しているので、
    まだまだ潜在力があるかなと感じているところです。)

    しかし、GUI アプリ作成に関しては、未だ不満いっぱいです。
    いろいろ触ったけど、まだ決定打に近いものがない...
    猛烈に欲しいのは、GUI アプリケーションがサクサク書ける
    言語 & 環境かなぁ。

    というわけで、いまは Apllo
      http://www.users.yun.co.jp/~moriq/apollo/ [yun.co.jp]
    に奮闘中。
    • GUI (スコア:2, 興味深い)

      by kubota (64) on 2002年02月21日 20時34分 (#65180) ホームページ 日記

      GUI じゃないけど、グラフィックなら、やっぱり N88BASIC(86) とかの、昔ながらの BASIC がいちばん落ち着きます。ああいう感じで手軽に使えるのって、ないでしょうかね。

      いまどきの GUI アプリ作成は、長々といろいろ書かないといけないのがうっとおしいですよね。Tcl/Tk はだいぶ楽ですが、なにぶん、Tcl の言語仕様がへぼいし、X 用のはいまだに日本語の扱いがうまくいかないし (Windows 用のはとっくの昔に日本語に対応しているのに)。{Ruby,Perl,Python}/Tk ってのもありますが、どうなんでしょうか。(Windows でも使えたりするといいな)

      親コメント
      • by rug (55) on 2002年02月21日 21時09分 (#65195) 日記
        いまどきの GUI アプリ作成は、長々といろいろ書かないといけないのがうっとおしいですよね。
        そういうのは何から何までプログラミング言語でやろうとせずに、リソースファイルなりインターフェース記述ファイルなりを使いたいところです。今だとgladeとかXULとかが流行りかな? MotifにもUILというのがありますよね。
        親コメント
      • by TOMOO (4768) on 2002年02月21日 21時10分 (#65198)
        Perl/TkならWindowsで使えましたよ。
        私の使った範囲では無変更でSolaris, Linux, FreeBSD, Windowsで動作しました。
        親コメント
    • InterfaceBuilder。
      だめっすか?
      --
      はすかわ
      親コメント
  • by SteppingWind (2654) on 2002年02月21日 20時54分 (#65190)

    速度を要求する場面ではC程度に高級であれば十分なので, 俺言語が欲しいとすればインタプリタ/スクリプト系言語, それも1語ごとに動作が検証できるFORTH系がいいですね.

    ただ, 元のFORTHは仮想スタックマシンのアセンブリ言語みたいな物で, 今日的基準から見れば低水準すぎるので

    • Class/Object辞書の実装
    • 各語毎のローカルObjectの取り扱い
    • スタック上のObjectに対する強いClassチェック

    あたりは欲しい所です. 基本となるライブラリについての設計は少しずつは進めているんですが, この前ドキュメントの更新日付を見てみたら5年前だったりして...

  • もう疲れた (スコア:2, おもしろおかしい)

    by 335 (4199) on 2002年02月21日 21時26分 (#65214) 日記
    MagicPointでプレゼンしたらコンピュータが勝手にやってくれる と幸せです。
  • by ncube2 (2864) on 2002年02月21日 19時12分 (#65146)
    ・関数呼び出し
    ・ローカル変数
    ・再帰呼び出し
    ・連想配列
    をサポートしたCOBOL。上2つを無理やりサポートした変態処理系は使ったことあるけど。
    #もう十年もCOBOL使ってなくて、最近の規格は分らないや
    • Re:昔欲しかったモノ (スコア:2, おもしろおかしい)

      by ogochan (18) on 2002年02月21日 20時11分 (#65169) ホームページ
      15年くらい前に、COBOLのOO拡張な言語を作ろうとした(もちろんプリプロセッサ)ことはあります。OCOBOLE(おこぼれ)Objective COBOL Enhancementとかって名前を使いたくて B)

      COBOLも2002仕様だとOOがあったりするのだけど、COBOLでそこまでしてもなぁというのが正直なところ。COBOLと同じ領域を完全にカバーして、さらに便利な言語があればリプレースしたいけど、いまだにないのが寂しいところ。言語設計者がサボっているとしか思えない。
      親コメント
      • by ncube2 (2864) on 2002年02月21日 21時07分 (#65194)
        >COBOLも2002仕様だとOOがあったりするのだけど、COBOLでそこまでしてもなぁと
        >いうのが正直なところ。

        ヘタにOOで書いて、メンテナンスや改造を他社に出したらパニックを起こしたりして。
        #昔他社が書いたのCOBOLプログラムの改造を頼まれたら、仕様非公開のアッセンブラが
        #インラインで書かれていて、かなりあせった。(^^;

        >言語設計者がサボっているとしか思えない。

        そういえば最近、「第四世代言語」って言葉を見なくなりましたね。
        #他社マシンにも結構実装されたのに、何故RPGはIBM以外ではメジャーにならなかったんだろう?
        親コメント
        • by ogochan (18) on 2002年02月21日 23時20分 (#65273) ホームページ
          結局、生産性のために押し着せの部分が多くなっちゃうから、あまり小回りが効かないってことで敬遠されるのでしょう。

          COBOLは4GL的な面といわゆるプログラム言語的な面のバランスが良かったのが、生き長らえた理由ではないかと。

          下の方でSQL云々と書いてあったり、Prologのような言語が流行らないということを見ると、やはり人間は「手順」が記述出来ないと満足出来ないのではないですかね。4GLはその辺がうまく書けないものだから、結局すたれてしまう。
          親コメント
  • by kubota (64) on 2002年02月21日 19時42分 (#65154) ホームページ 日記

    いろんな言語ごとに、本質的には同じ機能であるにもかかわらず、表現がわずかずつ違うのは、覚えるのが大変だから、やめてほしい。rnd() か rand() か、とか、elsif か elseif か、とか。for や while ループを制御するための表現が、C だと break と continue だけど perl では last と next とか。関数定義が Tcl/Tk が proc で、Perl は何もなしで、sh だと function で。

    本質的な違いに伴った表現上の違いなら、仕方がないけど。

    • Re:不満 (スコア:2, 興味深い)

      by Dot.Zeile (1169) on 2002年02月21日 21時29分 (#65217) 日記
      何かの雑誌に、そういう予約語っぽいのとか変数名っぽいのが書かれた牌でマージャンをやる、ってのがあったなあ。どんな言語でもいいからちゃんとプログラムになるように並べると上がり、って奴。(歳がバレるか?)
      親コメント
    • Re:不満 (スコア:2, 参考になる)

      by Dot.Zeile (1169) on 2002年02月21日 22時06分 (#65236) 日記
      ところで、最近知った中で一番面白かったのはpythonのwhile~else、for~elseですね。
      breakで抜けなかったループでは最後のelse節も実行する、という奴で、ループを条件に一度もひっかからないで抜けちゃった奴の後始末ができます。経験上同じことを他の構造化言語でやる場合それ用のフラグを用意したり、ループカウンターの値が脱出条件に達しているかどうかをチェックすることで代用したり(それで罠にはまったり)してることが多かったので、すごく便利そうに見えます。while/for/elseはいずれも他の言語にもある制御構造なのに、組み合わせの妙で、コロンブスの卵的だなあ、と感心していました。

      #他の言語にも同等の構文があるのに私が知らないだけだったりするかも…。
      親コメント
    • by himuro (547) on 2002年02月21日 19時55分 (#65161) ホームページ
      確かに制御構造って共通なんだけれども、
      私は未だに Visual Basic だけは、言語仕様が
      覚えられない。(なんか一貫性なくないですか?)

      しかし、世間ではあの言語が一番初心者に
      使われている... 不思議だ。
      親コメント
  • by dai75 (557) on 2002年02月21日 19時46分 (#65155) 日記
    ライブでプログラミングできる言語つくりたいっす。
    いや本気だって(^^;
    --
    -- wanna be the biggest dreamer
    • by Jadawin (2174) on 2002年02月21日 20時31分 (#65178) 日記
      ペアプログラミングならぬ、マスプログラミングですか?
       
      #「ヘイ、みんなのってるかい?今日は言語のプログラムだ。まず、最初になんて書く?」
      親コメント
      • Re:live (スコア:2, おもしろおかしい)

        by Anonymous Coward on 2002年02月21日 21時02分 (#65191)
        取りあえず '#' を書くまでは満場一致。
        そのあと 'include' と書くか '!/usr/local/bin/…' でもめ始め、
        最後はいつもの宗教戦争。
        親コメント
      • by sinkope (230) on 2002年02月21日 20時53分 (#65189) 日記
        「今日はありがとう!
         じゃあ最後にアンコールを!」
        親コメント
  • by ogochan (18) on 2002年02月21日 20時06分 (#65166) ホームページ
    ほぼ一瞬で実用的には捨てたなぁ。Pascalはあまり好きでないくせに、Pascalベースで言語作っちゃったから、結局使わなかった。

    以前、言語処理系の実装の講義を持っている時に、学生に「自分の好きな言語仕様を定義して実装せよ」って課題を出していたけれど、感動する程凄い仕様を考えた奴はいなかったなぁ。高専の5年生では無理っつー話もあるけど。月並な言語仕様のものは、いろいろ作ってくれたけどね。

    ちっちゃい定義言語ものなら、日常的に「俺言語」は作っているけど、結局他人が使ってくれないと、いろいろと楽にならないから、いわゆる開発言語としてはもう作ろうとは思わないな。
  • プラットホーム毎にネィティブな、インタプリタでない高速Javaなんてどう?

     かつ、俺言語的にはプリミティブ型は無しで。

    #どーせWrite once run anywareなんて幻想っぽいし
  • by suzuki (699) on 2002年02月21日 22時12分 (#65241)
    SQLが気にくわない。 方言があるのは構わないのだが、アレがデータを扱うために作られた合理的なものとは到底思えない。 単に拙者の理解不足なだけなのだろうか。 構文的にはCライクに書けるといいのだが。とは言うものの想像できない。(なんじゃそりゃ)
    • by hatoku (1188) on 2002年02月21日 22時50分 (#65259) 日記
      表にデータを格納するという前提があって、それをどうこうする言語だからなぁ。しょうがないかも(^^;;;;

      とはいえ、現行のEJBもストレージとしてふつうのRDB使うからそこらへんでパフォーマンスの制約があったりとか。

      データ格納の概念から変えないと、データ検索の言語はいいの出来ないのかなぁ?データ格納のエレガントな概念って何かあったら拝聴したいっす。
      親コメント
  • by Anonymous Coward on 2002年02月21日 22時50分 (#65258)
    そのかわし、君は超リッチなライブラリ絶対作る、って約束だぞ。
  • by hirata (3986) on 2002年02月21日 23時20分 (#65274)

    演算子を追加定義できる言語ってのがあると便利かも。 演算子に使える文字というのを定義しておいて、その文字の列を識別子みたいに扱う。 LALR(1)とかを動的に変更するのは大変だから、算術式の部分だけ演算子順位法を使って独自に解析するってのはどうでしょう。

    オブジェクト指向など、演算子の拡張だけで実装できるものはすべてライブラリとして実装できたりするんじゃないかな。

typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...