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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
基本概念を書くと、Javaに似た文法
C++のように、コストの掛かる機能は付けない
Rubyのように、代入時に型を気にしなくて済む

基本概念変わっても良いから、アイデアを出し合って新しいプログラミング言語を作ろう。
2デフォルトの名無しさん:2012/10/22(月) 16:23:31.90
< `∀´> ニダー
3デフォルトの名無しさん:2012/10/22(月) 16:48:47.71
文法とコンパイル方法が思いついても、コードの最適化の仕方が分からない。
誰か、新しいプログラミング言語制作に手を貸してくれー。
4デフォルトの名無しさん:2012/10/22(月) 16:49:22.60
C#で良くね?
5デフォルトの名無しさん:2012/10/22(月) 16:52:01.85
完全他力本願じゃあ議論する価値もないね。
VIPでもいったほうがいい。
6デフォルトの名無しさん:2012/10/22(月) 16:53:57.27
groovyやscalaを試してみたら?
話はそれからじゃないか?
てかロクに決まってないのに最適化ってまだだろ。
7デフォルトの名無しさん: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);
という、何故か記号に頼った形になる
8デフォルトの名無しさん:2012/10/22(月) 17:00:04.02
同じ文法のプログラミング言語を作ったとしても、仮想マシンに頼らないというのは大きいと思う。
9デフォルトの名無しさん:2012/10/22(月) 17:10:13.03
できるなら、「俺、この文法理解できてすげー。」的な言語にはしたくない。
10デフォルトの名無しさん: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
}
11デフォルトの名無しさん:2012/10/22(月) 17:38:26.24
独りよがりになりたくないから、ネタは小出しにしていく
12デフォルトの名無しさん:2012/10/22(月) 17:39:03.64
>>10
一行多い…
13デフォルトの名無しさん:2012/10/22(月) 18:52:05.66
特定の処理に、「専用の文法使ってて美しい」的な言語にはしたくない。
14デフォルトの名無しさん:2012/10/22(月) 22:44:33.76
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

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

                  京都大学霊長類研究所
15デフォルトの名無しさん: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
16デフォルトの名無しさん:2012/10/22(月) 23:40:45.86
アイちゃんふざけすぎ
17デフォルトの名無しさん:2012/10/23(火) 11:38:07.67
Dでいいな
18デフォルトの名無しさん:2012/10/23(火) 13:10:24.20
Dはテンプレート関数を書くとき、いちいち!を使うのが気に食わない。
呼び出し関数にC++11で言うところのautoが使われてたらテンプレートであると判断した方が良い
19デフォルトの名無しさん: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とか考えたけど、クラスになるからプリミティブじゃない…。
20デフォルトの名無しさん:2012/10/23(火) 13:33:57.52
話は早すぎるけど、コンパイラ作りも楽な言語にしたい。
(コードを省略する文法だと、余計難しいけど)
真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ