プログラマーの皆さんへ:

自分でプログラミング言語を設計する(言語処理系の設計ではなく言語そのものの設計)なら、どんな言語にしたいですか?
抽象的なアイデアでも具体的な機能でも構いません。
皆さんのアイディアをできるだけ詳しく聞いてみたいです。
その「理想プログラミング言語」の動作環境として、現在において十分に実用化されているコンピューターを想定します。
量子コンピューターのようなパラダイムが大きく異なる環境は考えません。

回答の条件
  • 1人3回まで
  • 登録:2009/06/25 23:34:12
  • 終了:2009/07/02 23:35:02

回答(10件)

id:v_i_e_w No.1

v_i_e_w回答回数160ベストアンサー獲得回数42009/06/26 05:57:04

ポイント15pt

トリッキーで、玄人受けする、その場しのぎの仕様の言語

id:Mathusala No.2

サディア・ラボン回答回数259ベストアンサー獲得回数42009/06/26 06:50:19

ポイント15pt

DOMAIN{

10 IMPUT A

20 FEAST XXX

30 PRINT B

40 END

}


CELEBRATE:ZXXX{

10 B=A*2

20 ROUTINE

}



DOMAINはプログラムの本体。

CELEBRATEはBSICのサブルーチンみたいな物。

BASICはプログラム全体の関数名を統一しないといけませんが、CWLEBRAYE内の関数は外から見えないので、おかしかったらCELEBRATEだけを書き直せる。

ROUTINEでDOMAINに戻る。

このプログラムでは、最初に入力した数字の倍数が出ます。


現在使われているプログラム言語はあまり知りません。

id:pahoo No.3

pahoo回答回数5960ベストアンサー獲得回数6332009/06/26 08:30:09

ポイント15pt

日本語の自然言語でプログラムが書ける言語にしたい。

より多くの人、とくに小中学生にもプログラミングを学んでほしいから。


かつて、プログラミング言語Forthの派生言語のMindに携わったことがあります。これでWindowsアプリを書くことができ、業務アプリを書くためのフレームワークが揃えば十分です。


ちなみに、Forth/Mindは、元々は中間コード型コンパイラで、仮想マシンで動くようになっています(その後、x86ネイティブコードを吐き出すことができるようになった)。この仮想マシンは、Java仮想マシンのお手本になっています。

id:Sampo No.4

Sampo回答回数556ベストアンサー獲得回数1042009/06/26 12:28:38

ポイント15pt

JavaやC#のようなマネージド言語でなら、非Null型を持った言語がいいですね。

非Null型は、参照型でありながらNullが代入されていることがないと保証されている変数や、Nullを返さないことが保証されている関数の型です。

あるクラス Object の非Null型を Object! と表現するなら、

  • Object! 型の変数やメンバは宣言時に必ず初期化する必要がある
  • Object 型の値を代入することはできない(Nullを渡されてしまうかもしれない)が、Nullかどうか判定して代入する制御構文がある
  • Object 型の変数に Object! 型の値を代入することはできる
  • Object! 型の関数は、Object! 型の値しか返せない
  • Object 型の関数は、Object! 型の値を返せる

というルールで矛盾なく実現できそうです。

JavaやC#に追加することもできそうな仕様ですね。

id:van-dine No.5

van-dine回答回数108ベストアンサー獲得回数112009/06/27 00:01:04

ポイント15pt

現実的には無理っぽい話になりそうなのですが、XMLで書けるようなプログラミング言語。

たとえば、

<program>
  <class>
    <var name="length" type="float" scope="private">
    </var>
    <property name="getArc" type="float" get="true" set="false">
      <return code="length * 2 * 3.14">
    </property>
    <method name="toString" type="string"></method>
  </class>

のような書き方ですね。

ちょっと書き方が乱雑ですが(笑)

id:garyo No.6

garyo回答回数1782ベストアンサー獲得回数962009/06/28 21:32:36

ポイント15pt

昔書いた日記から引用します

http://ruby.g.hatena.ne.jp/garyo/20080813/p2

コンテキスト指向言語

「日本語とオブジェクト指向」

http://satoshi.blogs.com/life/2004/09/post.html

ここを読んで思った。

オブジェクト指向の次はコンテキスト指向が来ると面白いな。

空気を読むプログラムというか

オブジェクトがおかれた状況をみて必要なメソッドを判断する。

ファイルオブジェクトにファイル名を渡すと開いてくれるとか

「ファイルオブジェクトさん、ファイルを・・」

「これですか、開けばいいんですね」

id:masatsubame No.7

masatsubame回答回数96ベストアンサー獲得回数12009/06/29 08:27:31

ポイント15pt

UMLやフローチャート(今時古いけど)を描いたらそれをコンパイラが解釈し実行ファイル(.exe)を生成してくれる。

要はUMLやフローチャートそのものがプログラム言語であること。そうすれば、今いるプログラマという人たちがあまり必要なくなり、ソフト作成にかかる人件費が大幅に削減できると思う。

id:manyhitter No.8

manyhitter回答回数11ベストアンサー獲得回数02009/06/29 19:22:00

ポイント15pt

言語自体をローカライズ”できる”言語を作りたいですね。

今は英語記法が当然のようになっていますから。

まぁ現実化するにはコンピュータの文字コードにも絡んでくるので難しいと思いますが…。

ローカライズすることで可読性(とっつきやすさ)も上がるんじゃないかと思います。

あとは、そういう言語を作ることで、関数名を変えられる、とか需要は無いのかなぁ。

for → ループする

for(i=0;i<=10;i++)

ループする(相=0;相が10以下;相に1足す)

というような言語とか面白いなぁと考えました。

id:kantodaki No.9

oden回答回数9ベストアンサー獲得回数12009/06/30 00:52:18

ポイント15pt

>van-dineさん

既にMicrosoftから製品として出荷されていますよ。

XAMLやWPFやSilverlightでググって見てくださいな。

言語自体を拡張する機能を持ったプログラミング言語が既にいくつも存在していますが、

自分は今は全く流行っていないVPLを更に無駄に拡張した3DなVPLが作りたいですね。

宇宙のステルヴィアをはじめとしたアニメ等で見られるような、

レゴブロックを組み合わせるようなプログラミングがしたいです。

id:Mathusala No.10

サディア・ラボン回答回数259ベストアンサー獲得回数42009/07/01 06:38:44

ポイント15pt

普段は普通の言語を書いていて、

細かい作業をしたい時だけ、仮想アセンブラに切り替えられる。


Javaみたいに仮想マシンで動くアセンブラが作れるかどうかは分からないですが、

書き方は、

10 IN BASIC

20 INPUT A

30 INPUT B

40 C=A+B

50 IN ASSEMBLER

60 MOV AND PjうわなにをするやめQあWせDRFTGYふじこ・・・

70 IN BASIC

80 PRINT C

みたいな感じです。

  • id:dev_zer0
    文芸的プログラミングが保証できる言語
    そのソースをコンパイルすると設計書とバイナリが出力されることが望ましい
    # 例えば、JavaDocのhtmlとclassファイルは常に同期して出力され、
    # JavaDocが間違っているとコンパイルすら出来ない
     
    言語を設計できる奴はプログラマではなく、ハッカーかウィザード
    今でも幾つもプログラム言語は生産されているが、普及するのは数個だし
    10年後、20年後も生き残れる言語はあるかどうかも分からない
  • id:Mathusala
    サディア・ラボン 2009/06/27 10:21:40
    訂正します。

    DOMAIN{
    10 IMPUT A
    20 FEAST XXX GET C
    30 PRINT C
    40 END
    }
    CELEBRATE:XXX{
    10 B=A*2
    20 ROUTINE
    30 END
    }

    CELEBRATE:XXXは、DOMAINに入力された数値を二倍にする関数で、
    その答えはBですけど、DOMAINはそれを受け取るってからCと名付けます。


    調べてみたら、CやJavaですでに同じ事をやってるみたいです。
  • id:Mathusala
    サディア・ラボン 2009/07/01 19:13:31
    {
    IN C
    C言語で書きやすいプログラム
    IN JAVA
    JAVAで書きやすいプログラム
    IN COBOL
    COBOLで書きやすいプログラム
    }

    こんな事は出来るでしょうか

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません