トップページ⇒tech
21コメント5KB

新しいプログラミング言語を作りたい

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/10/22(月) 16:18:41.93
基本概念を書くと、Javaに似た文法
C++のように、コストの掛かる機能は付けない
Rubyのように、代入時に型を気にしなくて済む

基本概念変わっても良いから、アイデアを出し合って新しいプログラミング言語を作ろう。
0002デフォルトの名無しさん2012/10/22(月) 16:23:31.90
< `∀´> ニダー
0003デフォルトの名無しさん2012/10/22(月) 16:48:47.71
文法とコンパイル方法が思いついても、コードの最適化の仕方が分からない。
誰か、新しいプログラミング言語制作に手を貸してくれー。
0004デフォルトの名無しさん2012/10/22(月) 16:49:22.60
C#で良くね?
0005デフォルトの名無しさん2012/10/22(月) 16:52:01.85
完全他力本願じゃあ議論する価値もないね。
VIPでもいったほうがいい。
0006デフォルトの名無しさん2012/10/22(月) 16:53:57.27
groovyやscalaを試してみたら?
話はそれからじゃないか?
てかロクに決まってないのに最適化ってまだだろ。
0007デフォルトの名無しさん2012/10/22(月) 16:54:30.08
C#も良いけど、
sort(v.begin(),v.end(),[](const super_complicated_template_container_type::super_long_named_value_type x){return x+1;});
という、C++文法を
sort(v.begin(),v.end(),[](const var x){return x+1;});
という、記号をなるべく使わない形で書きたいと思ったのがきっかけ

C#では、
sort(v.begin(), v.end(), x => x+1);
という、何故か記号に頼った形になる
0008デフォルトの名無しさん2012/10/22(月) 17:00:04.02
同じ文法のプログラミング言語を作ったとしても、仮想マシンに頼らないというのは大きいと思う。
0009デフォルトの名無しさん2012/10/22(月) 17:10:13.03
できるなら、「俺、この文法理解できてすげー。」的な言語にはしたくない。
0010デフォルトの名無しさん2012/10/22(月) 17:37:28.08
groovyの文法はこれくらい省略したい
groovy版
def hasA(s:String):Boolean = {
  def hasA(s:String):Boolean = {
  for(i <- 0 until s.length) {
    if(s(i) == 'a') return true
  }
  return false
}

新言語版
var intA(s:String) = {
  for(i ;s.length;i++) {
    if(s(i) == 'a') return true
  }
  return false
}
0011デフォルトの名無しさん2012/10/22(月) 17:38:26.24
独りよがりになりたくないから、ネタは小出しにしていく
0012デフォルトの名無しさん2012/10/22(月) 17:39:03.64
>>10
一行多い…
0013デフォルトの名無しさん2012/10/22(月) 18:52:05.66
特定の処理に、「専用の文法使ってて美しい」的な言語にはしたくない。
0014デフォルトの名無しさん2012/10/22(月) 22:44:33.76
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
0015デフォルトの名無しさん2012/10/22(月) 23:12:48.34
This thread was created by a genius chimpanzee, Ai-chan for language training.
Ai and researcher use this thread to communicate.For non-official people ,please do not post this thread.

          Kyoto Univ. Primates Laboratory
0016デフォルトの名無しさん2012/10/22(月) 23:40:45.86
アイちゃんふざけすぎ
0017デフォルトの名無しさん2012/10/23(火) 11:38:07.67
Dでいいな
0018デフォルトの名無しさん2012/10/23(火) 13:10:24.20
Dはテンプレート関数を書くとき、いちいち!を使うのが気に食わない。
呼び出し関数にC++11で言うところのautoが使われてたらテンプレートであると判断した方が良い
0019デフォルトの名無しさん2012/10/23(火) 13:23:59.12
プリミティブ型を考えたよ。

int long byte float double #Javaと同じ

char #2byteで表す。Shift-JISはプログラミングしづらいから。

func #関数のアドレスを保存。
#func write = print;
#と宣言した場合、Write("hello");と、print("hello");は等価

var #最初に代入された型になる。
#C++11のautoに似てる。と言ってもテンプレートに近い形にしたいし。
#autoという名称はC言語ではstaticの反対語として使われてたような気がする

bool #8の倍数の配列で宣言したときだけ1bitとか考えたけど、クラスになるからプリミティブじゃない…。
0020デフォルトの名無しさん2012/10/23(火) 13:33:57.52
話は早すぎるけど、コンパイラ作りも楽な言語にしたい。
(コードを省略する文法だと、余計難しいけど)
0021停止しました。。。NGNG
真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ
■ このスレッドは過去ログ倉庫に格納されています