2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

新言語を開発したい

1 :デフォルトの名無しさん:2010/05/30(日) 21:52:01 .net
http://pc12.2ch.net/test/read.cgi/tech/1274015781/l50 の継続スレのかたわれです。
低水準言語にこだわる人は「低水準言語を開発したい」のほうへどうぞ。

2 :デフォルトの名無しさん:2010/05/30(日) 22:00:37 .net
Cん言語だって?

3 :デフォルトの名無しさん:2010/05/30(日) 22:05:51 .net
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

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

                  京都大学霊長類研究所

4 :デフォルトの名無しさん:2010/05/30(日) 22:13:17 .net
関数型とか、GCありとかな言語を作りたい人用らしいです

5 :デフォルトの名無しさん:2010/05/30(日) 22:15:44 .net
アイちゃんのための自然言語は可?

6 :デフォルトの名無しさん:2010/05/30(日) 22:50:36 .net
今時GC無し言語なんてありえないだろ

7 :デフォルトの名無しさん:2010/05/30(日) 23:03:07 .net
いまさら、GCありの言語を作ってもね。
関数型でGCなしとかどうだ。

8 :デフォルトの名無しさん:2010/05/30(日) 23:16:48 .net
これからはテストがしやすい言語が出てくるだろうな。
ユニットテスト普及以降、テストの考え方が変わった。
コードでテストするようになった。

だけど既存の言語はテストしやすいようには作られていない。
ユニットテストというフレームワークを使うことである程度改善できるけど
さらなる機能が必要。

たとえばprivateメソッドをテストのときだけ外部から呼び出し可能にしたり、
テストのときだけ、関数内部で生成しているクラスのインスタンスを
コードを変えることなく、テスト用のインスタンスにすり替えたり、
テスト対象のコード任意の地点の値をテストコードから監視したり。

アスペクト指向はあまりはやってないけど、テストするには使える技術だと思うな。

9 :デフォルトの名無しさん:2010/05/30(日) 23:21:19 .net
>>8
C#で不満なところは?

10 :デフォルトの名無しさん:2010/05/30(日) 23:32:52 .net
>>8
うん。大規模なプロジェクト、あるいは一人だけで作る場合の生産性を上げるようなものだね

11 :デフォルトの名無しさん:2010/05/30(日) 23:36:27 .net
>>9
上司にC#の言語の制約で出来ませんと言い訳できないところ。

12 :デフォルトの名無しさん:2010/05/30(日) 23:57:36 .net
オブジェクト指向寄りでGC有りより、
関数型寄りでGC,VM無しのCって方が面白そうだわな。

13 :デフォルトの名無しさん:2010/05/31(月) 00:14:44 .net
そんな時代遅れ言語はあっちでよろしく

14 :デフォルトの名無しさん:2010/05/31(月) 00:54:49 .net
scalaでいいじゃん

15 :デフォルトの名無しさん:2010/05/31(月) 00:57:02 .net
あっちは紙降臨した模様

16 :デフォルトの名無しさん:2010/05/31(月) 00:58:55 .net
髪(笑)

17 :デフォルトの名無しさん:2010/05/31(月) 23:57:24 .net
Gentee でいいだろ


18 :デフォルトの名無しさん:2010/06/01(火) 03:35:31 .net
ここが一番負けてるな

19 :デフォルトの名無しさん:2010/06/01(火) 03:39:24 .net
見えない敵と戦ってる人こわい

20 :デフォルトの名無しさん:2010/06/01(火) 16:32:44 .net
見えない敵が一番手ごわい

21 :デフォルトの名無しさん:2010/06/02(水) 00:05:51 .net
分割前のスレに書いたことの要約

【新言語開発が破綻する典型的なパターン】

言語比較厨登場。言語仕様を大量に盛り込む。工数が膨大に。

開発者が不足。しかも楽しい仕事しかやりたがらないダメな奴ばっかり。

よってライブラリ、デバッガ、IDEの製作やドキュメントの整備等の
面倒だが重要な仕事は手抜きし放題。場合によっては完全放置。

使えない糞言語なので、ユーザーが集まらない。
誰も使ってくれないので開発者のモチベーションが保てない。

終了。

【対策】

・言語ヲタを排除する。工数を増やす人はいらない。

・達成目標をよく議論して明確にする。無計画に始めない。

・小さい言語仕様にする。出来上がってから少しづつ拡張すればいい。

・他の言語に勝てる分野で勝負する。使えない言語を開発することに意義はない。


22 :デフォルトの名無しさん:2010/06/02(水) 00:10:20 .net
まだ始まってもいないのに気の早いやつだな

23 :21:2010/06/02(水) 00:56:57 .net
汎用言語を作っても無視されるか他言語の劣化コピー扱いされるのがオチだし
ライブラリ作成の工数を減らす意味でも対象にするドメインを絞ったほうがいい。
自分が勝算がありそうだと思う分野をあげておく。

【ゲーム専用言語】

有名なところだとノベルゲームやアドベンチャーゲーム用の吉里吉里2やNScripter
なんかがあるが、GOTO指向の時代遅れの言語なので普通にやれば勝てると思われる。
ネトゲは無理でも、アクションゲーム、パズルゲーム、シューティングゲーム
くらい対応できれば十分。

【携帯用言語】

携帯電話やAndroidやiPad上でプログラミングできるようにする。
既にやってる人もいるだろうが、メジャーなものはないから今なら
まだ勝てるチャンスがある。ライブラリが小さいもので済むのも利点。

【日本語プログラミング言語】

現在は"なでしこ"一人勝ち状態だが実はかなり低速な上にバグだらけ。
文法も破綻気味なのでもう少し洗練された言語を作ればシェアを
全部奪えるのではないかと思う。

【画像/動画/音声 処理用言語】

例えば本格的な画像編集をGIMPとScript-Fuなんぞで頑張るのには無理があるし
GPLでがっちり固められてしまっているのでつまらない。
およそマルティメディア関係のアプリケーションでは速度の問題が大きすぎて
結局C++でプラグイン書いてリンクのパターンになってしまう。
簡単な記述でそこそこ高速なデータ処理言語があればシェアがとれるはず。

24 :デフォルトの名無しさん:2010/06/02(水) 00:59:53 .net
gotoは速いんだよ

25 :デフォルトの名無しさん:2010/06/02(水) 01:04:36 .net
gotoはゲームシナリオとの親和性が高いしな

26 :デフォルトの名無しさん:2010/06/02(水) 01:37:13 .net
>>25
いやノベルゲームのバグの原因の大半はGOTOとグローバル変数だと思うけど。
ノベルであっても関数言語的な構造をもっているなら自動テストを行って
ある行動をプレーヤーがとると無限ループになるとか
絶対に取れないフラグが存在するとか、バグを検出するのが容易になるので
素人こそ先進的な道具を使わせておくべきじゃないの。


27 :デフォルトの名無しさん:2010/06/02(水) 01:41:18 .net
バグの原因は素人

28 :デフォルトの名無しさん:2010/06/02(水) 01:44:50 .net
結局フラグ使ったステートマシンにするしかないんだから
switchのラベルでもgotoのラベルでも同じことだろう。

29 :デフォルトの名無しさん:2010/06/02(水) 02:07:11 .net
>>28

例えば

ストーリー() {出会い, 事件, 別れ}
出会い() {移動, 発見, 挨拶}
移動() {台詞="
長い文章"}


と構造化されてるのと

*ストーリー
(長い文章)
goto 出会い
*出会い
(長い文章)
goto 移動
*移動
(長い文章)
goto 発見


が同じわけがねえ。

実際はif文とクラスに属してない総称型のフラグが散らばっててさらに
分けわかんないことになってるんだよ。よくあんな言語使うと思うけど。

30 :デフォルトの名無しさん:2010/06/02(水) 02:10:56 .net
エロゲ作ってんの?くれよ

31 :デフォルトの名無しさん:2010/06/02(水) 02:11:11 .net
総称型じゃないやw。型の決まってないフラグね。さっきまでJavaの本読んでたんでスマン。

32 :デフォルトの名無しさん:2010/06/02(水) 02:12:45 .net
w。

33 :デフォルトの名無しさん:2010/06/02(水) 08:52:45 .net
エロゲスクリプトで総称型ってなんに使うんかな。

34 :デフォルトの名無しさん:2010/06/02(水) 20:02:44 .net
モザイクの量とか

35 :デフォルトの名無しさん:2010/06/02(水) 21:33:12 .net
巨乳でも貧乳でも同じメソッドを

36 :デフォルトの名無しさん:2010/06/02(水) 21:36:17 .net
着衣プレイの時の制服の種類とか

37 :デフォルトの名無しさん:2010/06/05(土) 04:43:01 .net
AS3を汎用言語にしたい
30歳になったら本気出す

38 :デフォルトの名無しさん:2010/06/06(日) 23:04:43 .net
普通にjsのエンジンは一杯あるわな

39 :デフォルトの名無しさん:2010/06/07(月) 01:16:47 .net
いや、AS3です^^;

40 :デフォルトの名無しさん:2010/06/07(月) 02:02:11 .net
おっと、調べたらかなり違うのね
でもあそこまでやるなら他の言語でも良さげな

41 :デフォルトの名無しさん:2010/06/08(火) 02:01:33 .net
>着衣プレイの時の制服の種類とか
詳しく

42 :デフォルトの名無しさん:2010/06/08(火) 07:52:42 .net
そこかよ

43 :天使 ◆uL5esZLBSE :2011/07/03(日) 21:18:42.73 .net
∨∨
(((((((((( >着衣プレイの時の制服の種類とか ))))))))))(キリッッッッ!!!!

ゴミグラマじゃねーか

44 :天使 ◆uL5esZLBSE :2011/07/04(月) 04:59:35.62 .net
これ ; デリミタっていうんだけどさ、これをつけなきゃエラーになるような
そんな言語使ってる奴ってどうみてもゴミだと思うんだけど

もしかして「;」これ打ち忘れてコンパイルエラー出すのが楽しいの?
そうか、二度と話かけんなよ
なんだ、ただのゴミか(笑)

45 :ななし。:2011/07/27(水) 12:48:37.24 .net
カオスラウンジ死ね

46 :デフォルトの名無しさん:2011/09/10(土) 11:36:04.49 .net
ここもやはりgdgdか。上げ。
このままだと数年後も完成しないだろうから手法を提案をするか。

まず、初心に戻って明確なプロパガンダといいますかキャッチコピーを決めるといい。
可能であれば利用状況などの想定を盛り込んだ短編小説もね。すると必要なものがわかる。

例えばコピーであれば、
- ロケット制御用言語なら「Rock:et を使って月のウサギに会いに行こう」
- 日本語異性型ロボットAI言語はぢらひ「俺の嫁、旦那様、バーニング」
- 従来の汎用言語の改良であれば「あなたは今日からリア充です(※効果には個人差があります)」
など...。

47 :デフォルトの名無しさん:2011/09/10(土) 11:42:53.85 .net
こういう言語が欲しい、作れというのであれば、一通り網羅した仕様書書いたほうが受け入れられやすい。
それに仕様は複数存在しても別に問題はないよ。rejectされても別プロジェクトでやればいい。

つか欲しい・作れって言うだけでは、仕様書いている人からすれば
「これこれこういう言語があるからそっち使っては?」になることが多いと思うよ。


48 :デフォルトの名無しさん:2011/09/10(土) 11:50:59.20 .net
言語仕様を書きあげるのは意外と大変だからねえ。
やっぱり謎の重圧と戦う、調べることが数千件、細かいことに
配慮して悩みぬくなどあります。使うと書くとでは大違いですよ。

では押しの強いひとが現れることを願って。以上。


49 :デフォルトの名無しさん:2011/09/10(土) 11:58:46.33 .net
新言語→信玄後→

50 :デフォルトの名無しさん:2011/09/10(土) 13:46:03.85 .net
やっぱなんらかの既存処理系においては存在しない、または直接扱うのが困難な計算モデルがあって
それを容易に扱う為の言語といった形の必要性で無いと作る意義が乏しいだろうな
こう言語仕様においてはその扱いたい計算モデルに都合の良い文法とそのプログラミング言語としての意味論を定義することが
結構大きな割合占めてると思うのよね

51 :デフォルトの名無しさん:2011/09/10(土) 14:21:16.44 .net
>>50
俺はそんな、適用する場所があまりない、つまり効果が薄いことよりも
もっと人間が楽になる言語がほしいよ。

具体的には、言語機能として、ユニットテスト、リファクタリング、
デザインパターン、ドキュメントの書き方まで考慮されていて、
特別な何かを別に用意しなくてもこれらが簡単に実行できること。
簡単にというのは、正規表現やワンライナーができるということも含まれている。
それでいてstrictモードなら、型をきっちり明記して、様々な統合環境を作ることも可能。


52 :デフォルトの名無しさん:2011/09/10(土) 14:27:32.28 .net
なんていうか言語よりも開発環境の問題だろう。

53 :デフォルトの名無しさん:2011/09/10(土) 14:34:51.11 .net
>>52
言語によって開発環境ができることが限られてくるんだよ。

たとえば変数に型を持たない言語では、
メソッドの補完は不可能。

だからそういうのを減らして、言語がコードの解析をして全体を理解し、
その情報を開発環境に提供することで開発環境の機能を
さらに向上できるように考慮された言語。

それは結果的に人間を楽にしてくだれる。

54 :デフォルトの名無しさん:2011/09/10(土) 14:42:26.96 .net
あと、開発環境に頼り過ぎなのも良くない。
たとえば名前でも意味が違う変数があるだろ?

それは開発環境ではどれが同じで違うか理解できても
テキストエディタでは理解出来ない。

もしこれが開発環境ではなく言語自体で情報を提供されるようになったら
テキストエディタからでもコマンド一発で簡単に知ることができるだろうし
テキストエディタを拡張することも簡単だろう。

だから開発環境の問題ではなく、その問題を言語側に移そうという話でもある。

55 :デフォルトの名無しさん:2011/09/10(土) 14:47:37.10 .net
言語処理系と言語そのものがごっちゃになってるな
リフレクションの機構は処理系が提供するものだ
仕様としてその言語処理系対する要件として定義はできるがな

56 :デフォルトの名無しさん:2011/09/10(土) 15:49:42.66 .net
Google、新プログラミング言語 " Dart " を来月発表、「構造化ウェブプログラミング」向け
http://japanese.engadget.com/2011/09/09/google-dart/


57 :デフォルトの名無しさん:2011/09/10(土) 16:02:56.76 .net
>>55
リフレクション? リファクタリングの間違い?


リファクタリングは確かに処理系が提供するもの。
だけど、なにかの機能を載せたいと思ったとき、
その機能を実現するためには、その機能を実現するための情報が
ソースコードに書かれていないといけない。

だから、開発環境、処理系、にフォーカスを当てて
それに搭載したい機能を考え、
その機能を実現できる言語を作りましょうってことだよ。

58 :デフォルトの名無しさん:2011/09/10(土) 16:32:19.86 .net
>リフレクション
プログラムの実行中、コンパイル中にそのプログラム自身の構造を参照したり書き換えたりする機構の事だよ
インスタンスから自分自身の型や型からその属性や継承木を言語内で1級のオブジェクトの形で取得できるわけだ
そのインスタンスが生成されたコード内の位置を取得することができるものもある


59 :デフォルトの名無しさん:2011/09/10(土) 20:21:08.49 .net
>>58
リフレクションの機能がわからいんじゃなくて、
どこからそんな話が出てきたんだってことなんだが。

60 :デフォルトの名無しさん:2011/09/11(日) 00:38:09.61 .net
プログラミング押しえてぇえええええええええええええええええええええええええ

61 :デフォルトの名無しさん:2011/09/11(日) 01:11:41.90 .net
>>51
具体的に新しい言語によって何を解決したいのかが何一つ読み取れない。

例えばC#(+VisualStudio)なら何が不満なの?
どういう部分に考慮が足りないと感じる?

62 :uy:2011/09/11(日) 21:44:19.12 .net
>>59
ゴミ相手に何マジレスしちゃってんの?

これでわかっただろ
ここには58こういうゴミみたいな「知ったか」しかいない事実
覚えたての単語を使いたがる精神年齢中学生
適当にカタカナ言葉を混ぜておけば
>>58
いっぱしに、プログラマー気取りっすかあああああああああああああwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
カンケーネータンゴダシテシッタカデスカアォアアアアアアアアアアア!!!!!!!!!
さっさと死ね  黙って死ね 今すぐ死ねよ ゴミ

ゴミはさっさと死ねばいいのに

63 :デフォルトの名無しさん:2011/09/11(日) 22:20:23.55 .net
>>50
よくある方法で思い切って概念の整理を行うことで新しい言語を生み出すこともできる。
また一般に難しいとされるものをすっきり記述できるようにするといいと思う。

例えばオブジェクト指向や関数という概念などを、もっと単純でなものにできるか、
バグの出ない記法や間違っているものを間違っているように見せる方法はあるか、
など未だ色々と解決する問題はあるね。


64 :デフォルトの名無しさん:2011/09/11(日) 22:27:38.54 .net
>>51
それって...まだ未実装のようだが Cobra だよな...
ttp://cobra-language.com/
ttp://cobra-language.com/docs/quality/


65 :デフォルトの名無しさん:2011/10/01(土) 23:43:16.13 .net
cの完全上位互換にとなっているobjective-cのアプローチが好きだ
ネイティブ吐いて、オブジェクト指向で理想的な言語だ
だが、objective-cは何かが違う。あの言語は何かを間違えた。

66 :デフォルトの名無しさん:2011/10/07(金) 06:26:43.46 .net
stとCのハイブリッドだしな
@なんちゃらを無くして
gc前提なら悪くないかもしれん

67 :デフォルトの名無しさん:2011/10/08(土) 21:07:01.34 .net
かもしれんね

68 :デフォルトの名無しさん:2011/10/09(日) 15:33:05.18 .net
objective-cってi-phoneアプリでも使われている言語だよね?
純粋なC言語ではi-phoneアプリは組めないのかな?
もしCで書けるならJAVAでも書けるって事だから
そうなるとJAVAプログラマーはキャッキャウフフになるんだけど
それを実現するには努力が必要だよね

69 :デフォルトの名無しさん:2011/10/09(日) 16:20:07.55 .net
iPhoneを駆逐するために、Javaプログラマはもっと熱意を持ってAndroidアプリに取り組むべき

70 :デフォルトの名無しさん:2011/10/09(日) 18:42:18.22 .net
そういうことは自分が率先してやれ

71 :デフォルトの名無しさん:2011/10/09(日) 20:00:32.37 .net
>>68
Cで作れるならJavaでも作れる?
どういう論理か教えて欲しい

72 :デフォルトの名無しさん:2011/10/09(日) 20:15:09.40 .net
>>71
まずCでJavaバイトコードを実行するVMを書きます

73 :デフォルトの名無しさん:2011/10/09(日) 20:15:49.74 .net
それを煮ます

74 :デフォルトの名無しさん:2011/10/09(日) 20:53:56.40 .net
なるほど。そりゃ努力が必要だわな

75 :デフォルトの名無しさん:2011/10/10(月) 13:39:55.32 .net
JNIの事だと思うよ

76 :デフォルトの名無しさん:2011/10/10(月) 16:31:23.67 .net
dartがえらく素っ気ないc++もどきでワロタ

77 :デフォルトの名無しさん:2011/10/10(月) 17:05:37.13 .net
>>75
でもそれじゃiPhoneで走らないだろ
あ、JNIを呼び出す為にVMも実装するのか
偉いな

78 :デフォルトの名無しさん:2011/10/16(日) 22:45:09.03 .net
perlやphp,pythonの失敗を見てわかる通り、
個人やコミュニティが開発する規模の言語が
普及してから大きなメジャーアップデートしても誰もついてこない
最初に文法を決めてしまったのであれば、後から修正してはならない

79 :デフォルトの名無しさん:2011/10/16(日) 22:56:08.75 .net
失敗してんの?

80 :デフォルトの名無しさん:2011/10/17(月) 07:36:40.16 .net
個人が作った言語だろうが、大企業が作った言語だろうが、委員会が作った言語だろうが、
アップデートについてこれない低能を相手にしてたらやってられるわけがない。

そういう低能は切り捨てるだけ、そういうレベルの企業には潰れる以外の末路はない。そんだけ。

81 :デフォルトの名無しさん:2011/10/22(土) 11:00:30.75 .net
文法を修正したら駄目だろ。できるのは追加だけだ

82 :デフォルトの名無しさん:2011/10/22(土) 11:29:21.56 .net
文法を修正したら別言語じゃんw

83 :デフォルトの名無しさん:2011/10/24(月) 06:54:44.84 .net
言語自体古い

文字通り生きてる有機コンピューターつくれよ

84 :デフォルトの名無しさん:2011/10/24(月) 06:56:14.09 .net
脳みそ直結だろ
防壁は張っとけよ

85 :デフォルトの名無しさん:2011/10/24(月) 07:08:18.37 .net
現生人類と比べ、喉の奥(上気道)が短い。このため、分節言語を発声する能力が低かった可能性

ネアンデルタール人 - Wikipedia

86 :デフォルトの名無しさん:2011/10/24(月) 07:45:34.66 .net
甘ったれた滑舌の悪いネアン
可愛いかもしれん

87 :デフォルトの名無しさん:2011/10/25(火) 00:53:23.64 .net
このスレを総合すると c++ が良いということですね。


88 :デフォルトの名無しさん:2011/10/25(火) 21:12:55.84 .net
それだけは無いな

89 :デフォルトの名無しさん:2011/10/26(水) 01:00:54.44 .net
というか、コンセプトがみんなバラバラなんだよね、多分
汎用言語を作りたいのか
専用言語を作りたいのか
汎用の言語なら、動的言語か、静的型付け言語かでざっくり分かれるけど
代替の場合、自分の使っている or 愛している言語に、ほかの言語の機能を取り込む方で頭が回っている
自分の場合、Rubyのメタプログラミングの機構や、Object型にくっついている、黒魔術的なメソッドの細かい仕様バグを取り除いて再設計されたものとかを欲しいと思ってしまう


90 :デフォルトの名無しさん:2011/10/26(水) 01:32:42.96 .net
汎用型で静的型付け言語、
それでいて動的言語で出来るメタプログラミングを
できるようにした言語が作りたい。

あとコンパイラのアーキテクチャを変更したい。
今のように実行したらバイナリが出来る方式ではなく
”プロジェクト” を "コンパイラーサーバー" に読み込ませると
ファイルを更新するたびに、コンパイル可能な所をリアルタイムでコンパイルし、
コンパイルができてる場所、エラーにある場所、その他様々な情報を取得できるという設計。

言語仕様ももそれが出来るように考慮する必要があるだろう。

そしてリファクタリングやコーディング規約チェックなど、
コンパイラの助けを得たほうが出来ることを、コンパイラにやらせ、
その機能の呼び出しをテキストエディタから行いたい。

91 :デフォルトの名無しさん:2011/10/26(水) 08:47:34.31 .net
>>90
最新のIDEを使えばオケ

92 :デフォルトの名無しさん:2011/10/26(水) 19:31:34.49 .net
>>91
最新のIDEの限界を超えた所を狙ってる。

93 :デフォルトの名無しさん:2011/10/26(水) 19:39:49.76 .net
なら言語じゃなくIDE作れよ
今の言語の文法難しくてパーサー作れない
処理系の吐く情報難しくて解析出来ない
よしオラ言語作る!
これでは進まないのも当たり前

94 :デフォルトの名無しさん:2011/10/26(水) 20:03:49.45 .net
>>93
言語(ソースコード)はデータであり
IDEはそのデータを処理するツール

いくらツールがすごくても
データがなければ、なにも処理できない。

つまりIDEを更に進化させるためには
データである言語をIDEに適したものに改良する必要がある。

95 :デフォルトの名無しさん:2011/10/26(水) 20:30:41.33 .net
普通に静的型付けなら実現不可能ではない内容に見えるが

96 :デフォルトの名無しさん:2011/10/26(水) 21:32:59.78 .net
>>94
その考えが既に浅薄だとは気づかないのか
構文解析やリンケージやシンボル情報うんぬんありきのIDEだと気づけ

文法をパーサが簡単になるようにするとかは
別に構わないが、IDEありきの言語とか
本末転倒にもほどがある
最近のだどgolangの設計方針とか
パッケージとかgocodeとかみてみ

97 :デフォルトの名無しさん:2011/10/26(水) 21:57:34.80 .net
>>96

IDEありきなんて言ってないですよ?

>>90を読んでください。むしろ180度逆で
IDEがやっているようなことをコンパイラサーバーに
やらせることで、テキストエディタでも
IDEと同等の高度なことができるようにするという書いてあるでしょ。

なんでこう人の話聞かないかな。

98 :デフォルトの名無しさん:2011/10/26(水) 23:13:40.41 .net
本質的に同じだろ
パーサにどう吐かせるか
吐いた情報をどう加工するかだけの話
そんなのは言語自体ではなく単なる処理系のバックエンドの話
その辺と言語をごっちゃにしてるから浅薄だと


99 :デフォルトの名無しさん:2011/10/26(水) 23:23:22.06 .net
>>98
頭悪いねぇ。

吐いた情報? じゃあその情報はどこから持ってきた。

言ってみ。


100 :デフォルトの名無しさん:2011/10/27(木) 07:37:55.47 .net
パーサーと書いてるだろ
ASTなりなんなりを吐くんだよ
サーバに置こうがローカルだろうがやることは同じに決まってんだろ
処理系の知識0ならまずは
ドラゴンでも中田さんのでも読んで来い


101 :デフォルトの名無しさん:2011/10/27(木) 10:13:05.31 .net
コンパイルフェーズをプラガブルにしてフロントエンドだろうが、中間言語処理部だろうが、バイナリに落とすところだろうが
どこでも割り込み可能にしたら多分なんでも持ってこれる
昔、gccで中間言語をXMLに落としたり、情報拾って部分式の型や逆参照を類推するような実験的プロジェクトがあったんだけどそういうやり方だった
まぁ当時はgccプラグインとか無かったから、無理やりコード改変でやってたけど今ならもう少し楽かも

102 :デフォルトの名無しさん:2011/10/27(木) 19:54:22.84 .net
LLVM

103 :デフォルトの名無しさん:2011/10/27(木) 21:04:59.31 .net
まあコンパイラの基本だよな
gccも昔は弄りやすかったけど
今はモンスターになっちまって見る気にならんけど

104 :デフォルトの名無しさん:2011/10/27(木) 23:21:04.40 .net
>>100
> パーサーと書いてるだろ

パーサーはなんでもでてくる四次元ポケットじゃないぞw
パーサーはただ情報をコンピュータが理解できる形に変換するだけ。

情報はそもそもソースコードにある。

ソースコードになにを書くか。それは言語によって決まる。
言語によって、どれだけ情報を取り出せるかが決まる。
多くの情報を取り出せるようにするには、言語を作るという話になる。

ここまで説明すれば理解できるよな?
単純にパーサーが頑張ればなんでもできるってわけじゃないことが。

105 :デフォルトの名無しさん:2011/10/27(木) 23:24:45.74 .net
じゃあどんな情報が必要だと思ってるんだ

106 :デフォルトの名無しさん:2011/10/27(木) 23:30:42.03 .net
たとえばJavaに「このメソッドは自分自身のオブジェクトを変更しない」という情報をつける構文があれば、
自分自身を変更しようとした時に警告を出せる。

これはいくらパーサーが頑張ってもできないことだ。

107 :デフォルトの名無しさん:2011/10/27(木) 23:38:23.85 .net
他にも、言語仕様が不足していたためIDEで
コーディングサポートが実装出来なかった機能として
Javaのenumがあるよな。昔のJavaはenumがなかったら
引数に入る値のコーディングサポートが出来なかった

パーサーや言語以外の何かが頑張ればなんでもできるってわけじゃない。
言語仕様によって、IDEが出来る機能は変わってくる。
これは紛れも無い事実。

なら逆に、IDEの機能をさらに発展させるには
言語仕様を変える必要があるという発想は自然と出てくるはずだ。

108 :デフォルトの名無しさん:2011/10/27(木) 23:43:22.82 .net
なんというか、自説を認めさせたいだけでそこまで凄いアイデアがあったわけじゃないのね

109 :デフォルトの名無しさん:2011/10/27(木) 23:43:42.02 .net
あと、言っておくがIDEを出したのは話がわかりやすいからであって
別にテキストエディタでも同じ事だぞ。

俺は存在を知らないが、高度なテキストエディタがあれば
IDEと同等の文法を理解した上での、コーディングサポートをしてくれるだろう。

で、なぜそんな高度なテキストエディタは存在しないのか?俺は存在を知らんのだw
その理由は、今のコンパイラは、コンパイルすることしか出来ず
コンパイル途中の情報を取り出せない。

IDEなみの機能を搭載するには、テキストエディタ開発者がコンパイラを作らなきゃいけない。
それは普通に考えてありえない話。だからコンパイラのアーキテクチャも変更しないといけない。
それがコンパイラのサーバー化という話。

テキストエディタを進化させるためのコンパイラサーバー化だ。

110 :デフォルトの名無しさん:2011/10/27(木) 23:45:46.59 .net
>>108
誰がすごいアイデアといったんだ?

最初から、このスレらしく「そういう言語を開発したい」と言ってるだけだろ。
  ↓
>>90
> できるようにした言語が作りたい。

そんだけしか言うことがないなら、難癖つけてくんなよ。

111 :デフォルトの名無しさん:2011/10/27(木) 23:47:56.25 .net
ここまでで、開発全体を快適にするためには、
IDEで頑張る前に、言語仕様を頑張る必要があるという話に
同意いただけましたでしょうか?

112 :デフォルトの名無しさん:2011/10/27(木) 23:50:14.57 .net
constをあんなに早くに導入したC++は神ということで

113 :デフォルトの名無しさん:2011/10/28(金) 00:11:04.41 .net
>>112
おい、答え言うなよw

せっかく、そんな機能に何の意味があるんだ?って
素人丸出しレスを待っていたのにw

114 :デフォルトの名無しさん:2011/10/28(金) 01:12:50.05 .net
意味が全くわからん
enumがIDEとかエディタとか
IDEとエディタを分けて考えてたり
コンパイラが情報を出してくれないとか
色々ツッコミ所が多すぎて…
モノを知らなさ過ぎる

enumもconstもvolatileもprivateなんてのも
言語の必要性から来たもの
人間にもコンパイラにも理解出来るものは
IDE/エディタにも理解させれるのは当然だが…

後は冗長で縛り過ぎる言語は誰も使わないぞ
契約プログラミングとか今や何それだろ

興味があるなら色々処理系みて見るといい
gccなんかの中間情報もだが
goとかは自分のパーサが標準ライブラリだし
エディタで補完するための情報吐くツールもある


115 :デフォルトの名無しさん:2011/10/28(金) 08:43:51.06 .net
>>114
意味がわからんのはお前が馬鹿だからじゃね?

そもそも言語の必要性ってなんだ?w
enumになんの言語の必要性があるんだ。
言語の必要性で言えば、constで十分じゃねぇか。
実際ちょっと前まではenumしか無かったんだし。

極論いえば、全部アセンブラでも作れる。
言語っていうのは「人間が書きやすくするため」に作られたもんだ。
ならば、人間がさらに書きやすくするためには、言語を改良するのは当たり前の話。

IDE・エディタが頑張るのは、その次の段階だし、
言語機能が不足していれば、IDE・エディタががんばろうとしても
不可能なのは、enumやメソッドのconstで例に出したとおり。

具体的な例は出てる。それが違うというのなら、関係ないごちゃごちゃとして文章はいらない。
「言語仕様によって、IDE・エディタがサポートできる機能が変わってくる」
このことに”だけ”に反論してくれ。

116 :デフォルトの名無しさん:2011/10/28(金) 11:49:02.68 .net
>>115
理想のIDEを作るために最適な言語仕様を考えよう
と言いたいなら理解できる。

本末転倒であることは分かってると思うが
百歩譲って、それが生産性や快適さをどう改善するんだ?

117 :デフォルトの名無しさん:2011/10/28(金) 20:41:49.12 .net
>>116
理想のIDEというのは正確じゃないな。

コーディングサポートと言ったほうが的確。テキストエディタであっても
多かれ少なかれコーディングのサポート機能はあるだろう。

例えば、構文に色をつけるのだってその一つだ。
さすが色があっても生産性や快適さを改善することにならないと
主張するわけじゃあるまい?

あとは「どう改善するんだ?」という話じゃないのは解るかな?
どう改善するかではなく「どう改善したいか?」だよ。

それが、言語仕様で決まっていなくてもできることなら、言語仕様の変更はいらない。
だがenumみたいに、言語仕様があることでコーディングサポートが改善する、
ということはあるというのが事実。

もう限界でこれ以上生産性も快適さも上がらないよ。言語はもう発展しきった。と
いうのなら、そいつには、君のとってはそうだねって俺は言うだけだ。

118 :デフォルトの名無しさん:2011/10/28(金) 21:38:00.08 .net
その「どう改善したいか」を君が示せないから賛同を得られないのだが

119 :デフォルトの名無しさん:2011/10/28(金) 22:16:44.12 .net
>>118
つ「言語仕様によって、IDE・エディタがサポートできる機能が変わってくる」
このことに”だけ”に反論してくれ。


120 :デフォルトの名無しさん:2011/10/28(金) 23:17:38.11 .net
コテハンかトリップ付けてくれ

121 :デフォルトの名無しさん:2011/10/28(金) 23:23:05.24 .net
俺の好きにする

122 :デフォルトの名無しさん:2011/10/29(土) 03:49:03.42 .net
114だがconstやenumを#defineがわりとしか見てないとか、もう…

とにかく言語云々よりIDE()が作りたい事だけはわかった

もし実際になにかを作り始めたら
いずれ俺の書いた意味がわかる日も来るよ


123 :デフォルトの名無しさん:2011/10/29(土) 08:51:50.38 .net
>>122
なんか偉そうだなw

俺の書いたことに一切反論出来なかったくせに。

124 :デフォルトの名無しさん:2011/10/29(土) 09:47:10.64 .net
>>122
お前卑怯者。

#defineという単語を出したのはお前が初めてだ。
お前の書き込みは、#defineがわりとしてみていると
周りの人に錯覚させようという書き込みだろ。

#defineがわりと勘違いしているのはお前だけだ。

125 :デフォルトの名無しさん:2011/10/29(土) 09:54:51.24 .net
どう見ても、そうとしか見えない、と表明したら、
「周りの人に錯覚させようという書き込み」になるのかwwwwwwwwwwww

126 :デフォルトの名無しさん:2011/10/29(土) 09:58:30.06 .net
>>122では
「がわりとしか見てない」

>>125では
「そうとしか見えない」

相手に対して言った言葉が、
自分の感想に摩り替わってる。

無意識で自分の都合の言いように
自分の発言を思い込む人なのか?

127 :デフォルトの名無しさん:2011/10/29(土) 10:03:07.57 .net
違うならどう違うか、具体的に反論すればいいだけなのに、人格攻撃しかできないの?

128 :デフォルトの名無しさん:2011/10/29(土) 10:06:26.26 .net
なにに反論すればいいかわかんなくなってきてるみたいだから
もっかい書いておくわ。

> 「言語仕様によって、IDE・エディタがサポートできる機能が変わってくる」
> このことに”だけ”に反論してくれ。

これに対する反論はでてない。

129 :デフォルトの名無しさん:2011/10/29(土) 10:18:57.43 .net
それ以外の主張はどうでもいいことだから無視していいわけね。
全く見なかったものとして、無視しても一切文句ないわけね。了解。

130 :デフォルトの名無しさん:2011/10/29(土) 10:25:28.37 .net
>>129
そもそも>>90になにがしたいかは書いてある。

それにして、反論したい人がいるみたいだが、
その内容が、「お前はわかってない(その理由は書いてない)」ばかりで
何の反論にもなってないのだ。

そしてそいつは質問ばかりする。それに対して
enumやconstの例を出して説明があるが、
それに対しても「お前はわかってない(その理由は書いてない)」と
言うばかりで、何の反論もない。

どっちのワンサイドゲームになっているか一目瞭然だろう。

131 :デフォルトの名無しさん:2011/10/29(土) 10:31:47.36 .net
挙句の果てに、constを#defineの代わりとか言い出す。
話をちゃんと見ていれば、ここで出ているconstは
定数のconstではなく、メソッドのconstであることはわかるはず。

そこに根本的なレベルの差を感じるよ。

132 :デフォルトの名無しさん:2011/10/29(土) 10:34:19.83 .net
根本的なレベルの差、って、2ちゃんねるに思いのたけを書き綴るしかできないレベルの低さのこと?

133 :デフォルトの名無しさん:2011/10/29(土) 10:42:23.96 .net
人格攻撃しかできないの?


134 :デフォルトの名無しさん:2011/10/29(土) 12:02:53.46 .net
「言語仕様によって、IDE・エディタがサポートできる機能が変わってくる」
別にそのことそれ自体に対しては誰も否定していないので安心してね

という事でこの話はもう終わりにしよう

135 :デフォルトの名無しさん:2011/10/29(土) 12:09:23.71 .net
完全勝利で終わらす気かw

反論しろよ。

136 :デフォルトの名無しさん:2011/10/29(土) 12:16:12.29 .net
だってそれ以外には何も書いてない、とみなしていいということなんだから、
そういうことでしょ?

137 :デフォルトの名無しさん:2011/10/29(土) 12:21:50.13 .net
どうでもいいよ。
ここまでの間>>90の言うことに
まともな反論はなかったという事実が全てだから。

138 :デフォルトの名無しさん:2011/10/29(土) 12:30:20.41 .net
自分の主張している範囲を絞って相手に同意させて
元々の主張全体を正しいように見せる

この詭弁のテクニックは何か名前がついてた気がするけどなんだっけ

139 :デフォルトの名無しさん:2011/10/29(土) 12:42:51.41 .net
> なにに反論すればいいかわかんなくなってきてるみたいだから
> もっかい書いておくわ。

> > 「言語仕様によって、IDE・エディタがサポートできる機能が変わってくる」
> > このことに”だけ”に反論してくれ。

このこと以外についての反論は相手にしない、って明言してるもんな。

140 :デフォルトの名無しさん:2011/10/29(土) 12:43:49.56 .net
>>90に負けたわけかw
情けないな。

141 :デフォルトの名無しさん:2011/10/29(土) 12:46:10.24 .net
実装してから勝利宣言しろよw

142 :デフォルトの名無しさん:2011/10/29(土) 13:27:08.81 .net
「開発したい」スレでなに言ってんだ?

143 :114:2011/10/29(土) 13:55:26.98 .net
全ての視点がツールでのサポートがどうたらで
その事を言語仕様の重要点にする意味が
ないって指摘をしてんだが
フルシカトだから話にならんね

あ、constがあればenumいらねと書いた事は面倒だから忘れてやるよ

144 :デフォルトの名無しさん:2011/10/29(土) 14:09:02.64 .net
>>143
言語仕様ってのは、人間が使いやすくするために存在するもの。
すべてがシンタックスシュガーであるといってもいい。

使いにくくてもいいなら、比較とジャンプができれば、事足りるんだからさ。


人間が使いやすくする=ツールのサポートも含まれる。
最終的な目的は何だ? ツールを使ったらダメなのか?
そうじゃないだろ。使いやすく出来るのであれば
どんな手段もとっていいはずだ。

145 :デフォルトの名無しさん:2011/10/29(土) 14:12:30.42 .net
普通チューリング等価であることをシンタクティックシュガーと表現したりはせんぞ

146 :デフォルトの名無しさん:2011/10/29(土) 14:16:30.09 .net
だからなんだよw

147 :デフォルトの名無しさん:2011/10/29(土) 14:19:40.36 .net
コーディングサポートの為だけに言語仕様を追加するのは効果が薄い(無い)のではという批判が主なのに
何ズレた反論を延々としてるんだろう

例に上がってるenumやconstだって開発環境の為のヒントの為だけに作られたわけじゃないし
ぶっちゃけそういうのはアノテーションで十分じゃん

148 :デフォルトの名無しさん:2011/10/29(土) 14:24:19.28 .net
> コーディングサポートの為だけに言語仕様を追加するのは効果が薄い(無い)のではという批判が主なのに

その批判に根拠が無いから
だらだらと続いているんだろ。

149 :デフォルトの名無しさん:2011/10/29(土) 14:39:12.77 .net
快適なスレッドリーディングサポートのために
コテハンの追加を所望

150 :デフォルトの名無しさん:2011/10/29(土) 15:06:11.79 .net
言いだしっぺからどうぞ

151 :快適なスレッドリーディングサポートのためにコテハンの追加を所望:2011/10/29(土) 15:15:44.70 .net
こうか

152 : ◆zQSWiGWUZ6 :2011/10/29(土) 15:32:05.31 .net
ほらよ、コテハン。
これでなにがしたいのかしらんが。

153 : ◆R8FrGenb6Y :2011/10/29(土) 15:32:28.97 .net
ちなみに、こんなのもある。

154 : ◆.EsjK4Weww :2011/10/29(土) 15:33:35.39 .net
さて、これでなにが快適になると思うか。
だがコテハンできたのだから、満足したろ?

155 :デフォルトの名無しさん:2011/10/29(土) 15:42:36.82 .net
コテハンと言われてトリップを付けるか。
まぁ他人になりすまされることがないからそのほうがいいか。

156 :デフォルトの名無しさん:2011/10/29(土) 15:44:47.55 .net
じゃあそういうことで。なお、コテハンもトリップも
つけたり外したり変えたりするのでよろしくw

157 :デフォルトの名無しさん:2011/11/08(火) 23:07:44.93 .net
それなら言語の処理系本体に持たせて、各々のIDEが車輪の再発明しないだけでも
小さな一歩と言えると思うんだけど
全体的に見て、後退と言える要素がほとんど見当たらないんだけど
>> 97
の意見は私はいいカンしているように見える


158 :デフォルトの名無しさん:2011/11/08(火) 23:59:51.76 .net
外部ツールで補完の情報やらクロスリファレンスを
出させてエディタで利用する
なんてのはかなり昔から存在する
構文解析はエディタの外部だと反応が鈍くなる
どっちにしろ新言語というより処理系の話

159 :デフォルトの名無しさん:2011/11/09(水) 01:11:28.86 .net
かといってemacsのように重たくなっても困るしな

だれかemacsにコンパイラ仕込んだ奴いる?

160 :デフォルトの名無しさん:2011/11/09(水) 01:13:16.02 .net
excelなら見たことあるな、うろ覚えでググる気にもならんが・・・

161 :デフォルトの名無しさん:2011/11/09(水) 01:38:10.65 .net
エディタにコンパイラ仕込むっていう意味が不明だが
flymakeで裏で文法チェックとか出来る
eclipseもjavaは知らんがCDTはgccとかを呼んでるだろ


162 :デフォルトの名無しさん:2011/11/09(水) 05:10:07.71 .net
>>160
これのことか?
http://d.hatena.ne.jp/n7shi/20100519

163 :デフォルトの名無しさん:2011/11/09(水) 13:04:26.33 .net
面白いな、これのemacs版でも作ってみるといいかもな

164 :デフォルトの名無しさん:2011/11/12(土) 21:38:55.58 .net
http://babanba-n.iobb.net/mylang.txt
マジレスするとこんな感じの言語が欲しい

中二病の妄想投下だよね、失礼…


165 :デフォルトの名無しさん:2011/11/12(土) 22:04:28.44 .net
真面目な回答をすると人工言語ロジバンがコンパイルして実行可能なので
院生とかでこのコンパイラ作れば歴史に名を残せそう…

166 :デフォルトの名無しさん:2011/11/12(土) 22:27:02.77 .net
GUI の作成を含め、IDE が作りやすい言語、作りにくい言語と
いうのはある

Smalltalk は、IDE が作りやすい言語

C++ は、IDE が作りにくい言語
Microsoft の Visual C++ なんて、Visual という言葉を捨てた
方がいい


167 :デフォルトの名無しさん:2011/11/12(土) 22:39:42.29 .net
>>166
VC++を捨てるのはいいとして、
Smalltalkは使われてないだろw

他にまともなものを出さないと
捨てようにも捨てられない。

168 :デフォルトの名無しさん:2011/11/12(土) 23:06:30.35 .net
C++は文法が複雑になり過ぎて
機械的なパーザが作りにくいからな
STはObjectiveCとして生きながらえるしか…

169 :デフォルトの名無しさん:2011/11/12(土) 23:33:15.12 .net
>>168
よくわからん。
いくら複雑といってもコンパイラはパース出来るんだろ?
ならIDEだって同じ方法で理解できると思うんだが。

170 :デフォルトの名無しさん:2011/11/13(日) 01:38:38.72 .net
IDEで開発支援するなら動的言語が最適

171 :デフォルトの名無しさん:2011/11/13(日) 02:10:10.38 .net
>>170
動的言語で一括りにするなよ。
っていうか、世の中のほとんどは動的言語じゃね?

IDEが発達している言語は、Java、C++、
C、C#、VB.NET、Smalltalkぐらいじゃね?
あとの言語は数世代遅れた所で止まってる。

172 :デフォルトの名無しさん:2011/11/13(日) 02:13:06.13 .net
>>169
文字打つたびに長ったらしいコンパイルなんてやり始めたら作業にならんだろ

173 :デフォルトの名無しさん:2011/11/13(日) 02:15:27.61 .net
>>172
バックグラウンドでやるから関係ないよ。

174 :デフォルトの名無しさん:2011/11/13(日) 10:15:38.45 .net
デバッグしながらコード書ける?

175 :デフォルトの名無しさん:2011/11/13(日) 20:54:58.22 .net
>>172
BoostのTMP系でも食ってなきゃ滅多にないだろ。


176 :デフォルトの名無しさん:2011/11/13(日) 21:10:12.22 .net
>>164
俺も昔はこんなのだったなあと思いつつ言うので許してね…。
ぶっちゃけ酷い。プログラマーとして初心者以下のレベル。


177 :デフォルトの名無しさん:2011/11/13(日) 23:18:16.24 .net
ひどい理由が書いていない。
ぶっちゃけ評価する人間として、初心者以下のレベル。

178 :デフォルトの名無しさん:2011/11/14(月) 00:28:30.86 .net
>>177
これで軽く気持ち悪くなった。
>i=0.to_i // 一度Int型で固定
>i : Obj // どんな方でも受け入れることに変更

モンキーパッチ推奨、DRYと真逆の発想、可読性無視、スコープ破壊
もうお腹いっぱいです。

・動的型と静的型の違いは明確に。
・シノニムが多い。統一性を。(これではただの変態Ruby)
・ライブラリ、型、言語仕様の境界が曖昧すぎ。
 NullContext: 継承による拡張はライブラリ側。スコープは言語。

・メソッド接尾子
 if enabled? ... else ... : truthy、falsyが曖昧。可読性悪。
 array.push! : 強制すると感染しますので破綻します。
  万が一実装するにしても、これこそ型を使うべき。(C++のconst)


179 :デフォルトの名無しさん:2011/11/14(月) 00:30:02.21 .net
追加

・オペレーターオーバーロードっぽい機能は静的型用。動的メソッドは無理。

180 :デフォルトの名無しさん:2011/11/14(月) 00:45:16.79 .net
いい過ぎた。すまん。
読んでて実装無視の仕様に腹が立っただけなんだ。
本人も中二と認めてるものにいちいち口出して済まんかった。

181 :デフォルトの名無しさん:2011/11/14(月) 01:27:46.29 .net
一時の感情で発言して、その後謝罪するという無駄行為は謹んでください。

182 :デフォルトの名無しさん:2011/11/14(月) 01:35:02.56 .net
どっちもキモイので謹んでください。

183 :デフォルトの名無しさん:2011/11/14(月) 14:12:17.53 .net
ide言語君よりかなりマシな流れ

184 :デフォルトの名無しさん:2011/11/14(月) 21:32:25.37 .net
>>183
なにも言うことがないお前よりも、ide言語君の方がマシ。

185 :デフォルトの名無しさん:2011/11/14(月) 21:59:22.95 .net
とりあえず、そのide言語君が「何を、いつまでに」作ってくるか
答えるまでは評価しないという方向で・・・
ネタは>>162で与えた筈

186 :デフォルトの名無しさん:2011/11/14(月) 22:16:57.35 .net
>>185
言い出しっぺの法則。
まずお前から

187 :デフォルトの名無しさん:2011/11/14(月) 22:34:12.17 .net
パス

188 :164:2011/11/14(月) 22:52:59.80 .net
>> 180
どうも、真面目な話参考になりました
具体的に非難されるとよく考えるきっかけになるし、ありがたかったです
ちょいちょいと修練しなおしてきます

少し恥ずかしいですが、恥の記念碑みたいなもので少し残しておきます
こういうスレは進みが遅いので、1000行くまで残すことはないですが

189 :デフォルトの名無しさん:2011/11/19(土) 16:32:25.73 .net
ないね

190 :デフォルトの名無しさん:2011/11/21(月) 19:55:38.62 .net
まずは 新言語からCに変換してgccで実行ファイル作るとこまでやる
これだけでも世界が変わる
納得いくものができたら次のステップへ

191 :デフォルトの名無しさん:2011/11/29(火) 23:11:00.82 .net
今ならjs吐かせてブラウザから
試せるようにしたら話題を少し掴めるかもな

192 :デフォルトの名無しさん:2012/01/09(月) 12:40:05.42 .net
sapphireって名前にしようと思ったんだけど、すでにそういう言語あるんだね
http://d.hatena.ne.jp/Matthew/20110908

193 :デフォルトの名無しさん:2012/01/09(月) 19:33:11.40 .net
「新言語」と言うがあまり新しさのある言語は出てきてないな。
もうそんなに新しいのはないということかな?
どっか隠れたところに思わぬ見つけ物はないんかな?

194 :デフォルトの名無しさん:2012/01/09(月) 20:24:39.33 .net
多くの論理や構造の表現は既存言語上で動くライブラリやフレームワークで実現できるからな。


195 :デフォルトの名無しさん:2012/01/10(火) 08:02:41.79 .net
>>194
俺の誤読かもしれんが、それは新言語が出てこん理由にはならんな。
”多くの論理や構造の表現は機械語上で動くライブラリやフレームワークで実現できるからな。”
も言えるからな。



196 :デフォルトの名無しさん:2012/01/10(火) 21:35:12.49 .net
目新しいパラダイムの大きなのがないし
しかたなくね?

197 :デフォルトの名無しさん:2012/01/10(火) 22:28:33.77 .net
最近のじゃ目新しいのはπ計算ぐらいか?
それでも、ラムだ計算をデフォルトで並列に対応させた体系って意味じゃ目新しくないかもだが


198 :デフォルトの名無しさん:2012/01/10(火) 22:45:13.88 .net
おとなし過ぎるな。
まじめにお勉強しているようなのはダメかもな。
なんかトンデモに近いようなのでもないんかな?
ジョブスだったらどんなのやるかな?

199 :デフォルトの名無しさん:2012/01/10(火) 23:57:21.67 .net
時間のムダ

200 :デフォルトの名無しさん:2012/01/11(水) 08:03:15.03 .net
> ジョブスだったらどんなのやるかな?

テンプレートそのままのバカだな

201 :デフォルトの名無しさん:2012/01/11(水) 18:28:33.15 .net
0は、偽
それ以外は真

false
true
それ以外は灰色

202 :デフォルトの名無しさん:2012/01/11(水) 18:30:44.18 .net
ファジィ制御(ファジィせいぎょ、Fuzzy Control)

203 :デフォルトの名無しさん:2012/01/12(木) 20:19:18.79 .net
>>197
π計算ってλ計算を並列にしただけじゃないから。

204 :デフォルトの名無しさん:2012/01/24(火) 20:37:29.85 .net
scratchとかのビジュアルプログラミング環境は新しいって言えるかな?
プログラマの感覚としては、なんかこのスレの趣旨とズレている感じもするんだけど
時代には合っていると思うんだけ


205 :デフォルトの名無しさん:2012/01/25(水) 21:11:27.47 .net
ファジィ制御って3の倍数と5の倍数がどうのって話だっけ

206 :デフォルトの名無しさん:2012/01/25(水) 21:14:10.72 .net
机上の空論

207 : ◆khwKd8pYFQ :2012/02/06(月) 02:37:50.26 .net
>>193
存在すると思うよ。
俺が苦心しているのはそれがプログラマーの仕事を奪う可能性があるので公開しない方針。
つまり素人でもプログラミングできてしまうことでプログラマーが用無しになるのは困る。


208 :デフォルトの名無しさん:2012/02/09(木) 16:51:09.63 .net
俺の場合はそういうことをスレに書き込むことも自重してる。

209 : ◆khwKd8pYFQ :2012/02/09(木) 22:32:55.52 .net
俺の場合、業界の情況を見るといいたくもなる。


210 :デフォルトの名無しさん:2012/03/07(水) 13:32:15.95 .net
黙ってそれ使って金儲けするのがお前の為であり社会の為

211 :デフォルトの名無しさん:2012/03/07(水) 14:22:26.39 .net
プログラミングなんて人間がやることじゃない

212 :デフォルトの名無しさん:2012/03/18(日) 11:04:29.26 .net
プログラミングなんて、人間にしか出来ないだろ


213 :デフォルトの名無しさん:2012/06/15(金) 14:29:44.32 .net
いや、そう遠くない未来に。

214 :デフォルトの名無しさん:2012/06/15(金) 14:43:24.72 .net
人類が絶滅しているかも知れません

215 :デフォルトの名無しさん:2012/08/18(土) 05:27:14.55 .net
俺は非ノイマン型の言語を開発中だよ、オマエラ程度では非ノイマンの
可能性すら分からないだろうけど。

多くのものがチャレンジした従来型の非ノイマンの類はどれもそれぞれの
パクりにすぎないわけで。新しい概念を生み出すことが一番障壁になる。

216 :デフォルトの名無しさん:2012/08/18(土) 09:34:49.27 .net
分からないから早く完成させてきてね

217 :デフォルトの名無しさん:2012/08/18(土) 19:25:42.16 .net
非ノイマン型言語ってどういうことなん?
Cみたいな命令型言語じゃなく、Haskellみたいなやつってことかい?

218 :デフォルトの名無しさん:2012/08/19(日) 08:27:07.41 .net
データフローアプローチなんて既にいくらもあるし。

Prologあたりとかぜんぜんノイマン型じゃないけど、そういったことも
知らないバカのようだから、反応する必要ないよ。

219 :デフォルトの名無しさん:2012/10/14(日) 16:43:59.00 .net
言語を作るのはいいが、
開発に便利な機能を取り入れた言語を作ってくれ。

いつまでもコード補完機能をコンパイラじゃないIDEが
担当するのはおかしいと思わないのか?
コンパイラは100%コードを理解できる。
ならコンパイラに聞けば良い。
再発明する必要はない。

220 :デフォルトの名無しさん:2012/10/14(日) 16:53:38.76 .net
何も分かってない恥さらしはしない方がいいと思うんだ

221 :デフォルトの名無しさん:2012/10/14(日) 16:59:07.20 .net
言い返せないのなら、黙ってれば?w

222 :デフォルトの名無しさん:2012/10/15(月) 05:45:57.03 .net
書きかけのプログラムが問題で、プログラムとしては不整合な状態だから
型推論とかがうまく行くとは限らないが、
書いてる最中なのでまさに入力補完機能とかが欲しい

たぶんアドホックな手法を導入する必要がある

223 :デフォルトの名無しさん:2012/10/15(月) 07:23:34.76 .net
コンパイラのフロントエンドの処理をIDEと共有しようというのはあるかもしれない。

224 :デフォルトの名無しさん:2012/10/21(日) 05:53:13.79 .net
そのとおりだな。
そうなれば、vimやemacsの低機能なエディタでも
完全なコード補完が出来るようになる。

今テキストエディタが低機能なのは
コンパイラを再発明しなければ
ならないような状態だからだ。

225 :デフォルトの名無しさん:2012/10/21(日) 06:08:08.25 .net
何言ってるんだこいつ

226 :デフォルトの名無しさん:2012/10/22(月) 22:58:28.88 .net
ghc-mod

227 :デフォルトの名無しさん:2012/10/27(土) 13:29:22.38 .net
織田信長?

228 :デフォルトの名無しさん:2012/10/28(日) 15:10:02.60 .net
DLLみたいに、読み込んで加工せずに実行できるコードとか、exeファイルに組み込みたい場合もあるよね。
加工が必要なファイルでも、暗号化だけ施したコードとか、ソースコードで表現するならIDEと連携する必要があるね。

229 :デフォルトの名無しさん:2012/10/28(日) 16:16:03.41 .net
そーゆーのは言語とは独立したユーティリティとして実装できるじゃん

独立させられるものは独立させといた方が、一般的にはいい

230 :デフォルトの名無しさん:2012/10/28(日) 16:20:52.13 .net
中間コードという概念がある言語ならユーティリティでも実装できないかも。
でも、中間コードという概念自体、配布以外で意味があるのかどうか。

231 :デフォルトの名無しさん:2012/10/28(日) 16:43:13.32 .net
219: 言語と開発環境を区別して考えられない。
230: 言語と実行環境を区別して考えられない。
231: 仕様と環境を区別しないと考えられない。

232 :デフォルトの名無しさん:2012/10/28(日) 16:53:30.79 .net
なんか、どうやって実行するかという話ばかりで、具体的にどういう言語仕様にしようかという話が出ないね。

233 :デフォルトの名無しさん:2012/10/28(日) 17:07:18.60 .net
仕様語るのは難しいから。それなりの教養がないと。

234 :このスレのコテ:2012/10/28(日) 17:08:43.97 .net
不毛な話ばかりだから、強引に展開しよう。

動的型言語の利点は、classなどの代入を簡単にすることにある。
しかし、一般的なプログラミングの仕方では、3種(もしくは2種)以上の型を代入しながら作るという事はしない。
それならば、静的型言語に「一回だけならどんな型を代入しても良い」という機能を付けた方が良いのではないか。

異論があっても構わない。動的型言語の存在意義も見出したいから。

235 :デフォルトの名無しさん:2012/10/29(月) 00:14:11.35 .net
>>231
なぜ区別しないといけないのか?
頭が硬すぎる。



236 :デフォルトの名無しさん:2012/10/29(月) 00:23:10.93 .net
言語と実行・開発環境をセットにしたくてしたくてしょうがない人が少し前から居ついちゃったねw

237 :デフォルトの名無しさん:2012/10/29(月) 00:30:45.17 .net
つ 目の前のものしか考えられない頭

238 :デフォルトの名無しさん:2012/10/29(月) 00:50:09.87 .net
まあ言語と環境は完全に切り離せないからな。

動的型付け言語で、まともに静的コード補完が出来ないのは
言語仕様のせいなわけだし。

開発環境を補完するための言語仕様があってもいいでしょ。

239 :デフォルトの名無しさん:2012/10/29(月) 02:26:26.12 .net
くっつけると新しいものが生まれてくると思い込んでる頭がいるね

240 :デフォルトの名無しさん:2012/10/29(月) 02:49:40.72 .net
>>239
それは正しいよ。
たとえばVisual StudioとかEclipseとかね。

241 :デフォルトの名無しさん:2012/10/29(月) 03:20:57.64 .net
うわべだけ別の話を持ち込まれても何にもならないね

242 :デフォルトの名無しさん:2012/10/29(月) 03:32:52.84 .net
そのコメントも意味が無いねw

243 :デフォルトの名無しさん:2012/10/29(月) 10:53:37.81 .net
とりあえず使える文字決めようぜ

244 :デフォルトの名無しさん:2012/10/29(月) 10:59:39.79 .net
プログラムの最後は.にするか。

245 :デフォルトの名無しさん:2012/10/29(月) 16:21:20.58 .net
begin end でプログラムを区切ると、使える記号増えるけど、begin end という名前の関数と変数が使えない

246 :デフォルトの名無しさん:2012/10/29(月) 16:44:21.43 .net
環境込みの言語を開発するのは良いよ。
でも、その前に何故Smalltalkではダメなのか
はっきりさせないと、車輪の再発明になるだけだよ。

>>224
>>223の方法でemacsやvimでコード補完できる言語(コンパイラ)あるよ。

247 :デフォルトの名無しさん:2012/10/29(月) 17:14:41.12 .net
Smalltalkの良さを語ってくれ。

248 :デフォルトの名無しさん:2012/10/29(月) 17:14:55.67 .net
OCamlとかな

249 :デフォルトの名無しさん:2012/10/29(月) 17:19:13.55 .net
「環境込みの言語」ってのは、なに言ってるのかさっぱり分からん。
単に開発環境と実行環境を統合した環境のことを言っているのだろうか、
それともさらにリフレクション機能がを持った環境のことを言っているのだろうか。

いずれにせよ言語仕様と言語処理系実装を区別して考えられない人らしい。


250 :デフォルトの名無しさん:2012/10/29(月) 17:36:58.60 .net
環境込みの言語とは、これの事じゃ!
http://www.runexy.co.jp/personal/ultra_c/outline/

C言語という独立した仕組みがあるんじゃ…という突っ込みは無し。

251 :デフォルトの名無しさん:2012/10/29(月) 20:03:40.10 .net
環境を実装と直結した形でしか考えられないほうが
どうかしてるよ。
環境というものを抽象化する能力が欠如してるだけじゃなく、
その発想すら無いってことだからね。

252 :デフォルトの名無しさん:2012/10/29(月) 23:19:47.19 .net
ぷw 今までと同じやり方の
発想しか出来な人がなんか言ってるよw

253 :デフォルトの名無しさん:2012/10/29(月) 23:27:54.98 .net
このスレに今までと違う発想なんて
一片たりとも存在してないけど……

254 :デフォルトの名無しさん:2012/10/29(月) 23:41:07.44 .net
一片たりとも存在していないのであれば、
一体何に対して反論していたというのか?

255 :デフォルトの名無しさん:2012/10/29(月) 23:46:17.57 .net
このスレって要するに

・Haskell, OCamlレベルの型推論があって
・Visual Studio並みのコード補完がEmacsやvimのようなエディタからも使えて
・馬鹿でも使いこなす事ができる

そんな言語が欲しいってことでしょ?

256 :デフォルトの名無しさん:2012/10/29(月) 23:53:49.53 .net
> 馬鹿でも使いこなす事ができる
これさえ満たしていれば後はどうでもいい

257 :デフォルトの名無しさん:2012/10/29(月) 23:58:58.53 .net
じゃあVBとPHPを参考にすれば良い

258 :デフォルトの名無しさん:2012/10/30(火) 01:51:16.57 .net
それは馬鹿なら使いこなせる言語。
馬鹿でも使いこなせる言語は別物。

259 :デフォルトの名無しさん:2012/10/30(火) 07:11:53.07 .net
じゃあJavaだな
馬鹿用に設計され、初心者も熟練者も一律して冗長なコードになる

260 :デフォルトの名無しさん:2012/10/30(火) 10:38:26.24 .net
馬鹿には、汎用言語すらむいてない。

261 :デフォルトの名無しさん:2012/10/30(火) 11:23:12.35 .net
馬鹿にも分かってほしい最低要素

・プログラムカウンタとスタックカウンタ
・フラグレジスタと、その他のレジスタ
・スタティック領域、ヒープ領域、スタック領域の違い。
・関数と変数のポインタ

・ポリモーフィズムとインターフェース
・コンパイル時リンクと、実行時リンクの違い

・GUIとCUIの最大の違い

262 :デフォルトの名無しさん:2012/10/30(火) 12:10:17.93 .net
COBOLでいいじゃん

263 :デフォルトの名無しさん:2012/10/30(火) 12:44:48.36 .net
たし算すら統一されてない言語のどこがいいんだ。

264 :デフォルトの名無しさん:2012/10/30(火) 18:09:03.82 .net
ぶっちゃけ制作中だが宣伝してもいいかい?Cベースの図形言語なんだけど

265 :デフォルトの名無しさん:2012/10/30(火) 21:31:42.64 .net
>>264
IDE言語統合厨がいるから、何でもいいから話を作ってくれ

266 :デフォルトの名無しさん:2012/10/30(火) 22:41:06.79 .net
ぶっちゃけIDEのコード補完が重要なのは冗長な言語だけ
他は「あったら良いけど、無くても問題無い」レベル

267 :デフォルトの名無しさん:2012/10/31(水) 00:55:10.11 .net
>>234
それ、型を宣言するのと何が違うん?

ああ、実行時に異なる変数を代入すれば違う型として扱えるってことか。

んでも、違う型になりえる変数を使うことにイマイチメリットが見いだせないなぁ。

268 :264:2012/10/31(水) 05:12:16.46 .net
>>265

んじゃ、「12」っていうんだが・・・

http://d.hatena.ne.jp/programmingshape12/20121028/1351384322

269 :デフォルトの名無しさん:2012/10/31(水) 05:56:51.98 .net
>>267
例えば、関数の引数なんかが何でも代入できたら便利って思わない?
でも、実行コードは、テンプレートと同じように膨れ上がるけど。

270 :デフォルトの名無しさん:2012/10/31(水) 07:27:27.96 .net
それって只の多相型じゃん
静的型付け関数型言語なら大抵あるぞ
テンプレートのように実行コードが膨れ上がったりもしない

271 :デフォルトの名無しさん:2012/10/31(水) 12:39:22.97 .net
テンプレート関数って、多相型あればいらなくね?

272 :デフォルトの名無しさん:2012/10/31(水) 22:03:32.83 .net
>>269
> 例えば、関数の引数なんかが何でも代入できたら便利って思わない?

例えば、fooという関数があって、intとstringを引数に取れるとする。

それはfoo(int value)とfoo(string str)の2つの関数を定義するのと同じ事。
オーバーロードって呼ばれる機能のことね

君がそういう意図で書いたのではないということはわかっているが、
つまり、「関数の引数なんかが何でも代入できる」というのは
オーバーロードを備えている言語、Javaなども当てはまる。

273 :デフォルトの名無しさん:2012/10/31(水) 22:08:49.25 .net
そう、オーバーロードやテンプレートで関数の引数は
なんでも代入できるってのは実装できる。

ここで比較するべきことは、
「オーバーロードやテンプレートを使ってなんでも代入できる」と
「型がないがゆえになんでも代入できる」の2つの違い。

型が違えば、処理もわずかながら違ってくる。
つまり、後者は引数に何が入っているかで処理を切り替えないといけなくなる。
そして想定外のものが入っている可能性もあるので、引数チェックも必要になる。

つまり、後者は劣った方式。

274 :デフォルトの名無しさん:2012/11/01(木) 07:35:35.91 .net
Javaにはジェネリクスもあるのに
何でオーバーロードで例えるんだよ
ほんとに分かってんのか?

275 :デフォルトの名無しさん:2012/11/01(木) 08:12:04.58 .net
型無しの変数だけ、型名にvarと宣言させれば、
オーバーロードと同時に使えるかもしれない

276 :デフォルトの名無しさん:2012/11/01(木) 08:31:08.44 .net
メソッドのオーバーロードの話をしているのか
型システムでいう多相型の話をしているのか
(動的型付け言語で見られる)型の無い変数の話をしているのか

277 :275:2012/11/01(木) 12:04:05.92 .net
多相型を予約語一つで実装しながら、オーバーロードも実装したいという話。

278 :デフォルトの名無しさん:2012/11/01(木) 19:51:37.37 .net
多相型って、OCamlとかにあるアレのこと?
それともVBのVariantのこと?

279 :デフォルトの名無しさん:2012/11/01(木) 21:26:13.92 .net
OCamlとかのアレのことです

280 :デフォルトの名無しさん:2012/11/01(木) 21:57:59.59 .net
>>271
C++のtemplateは、
・クラスごとに実装を別に出来る
 (実装を別にしたくない場合は、templateでなくvirtual関数を駆使する)
・クラスだけでなく整定数ごとに別の実装を持てる
・再帰的に定義できる (コンパイル時に原始帰納関数が計算できる)
という特徴がある。
後者2つのせいでtemplate meta-programmingが炸裂した。

281 :デフォルトの名無しさん:2012/11/01(木) 22:18:20.16 .net
多相型を実現する機能とメタプログラミングを実現する機能、
それぞれ分かれてる方が良いんじゃないかな

282 :デフォルトの名無しさん:2012/11/01(木) 23:18:52.66 .net
>>277
型クラス

283 :デフォルトの名無しさん:2012/11/01(木) 23:21:02.71 .net
多相とオーバーロードって
関数のエントリポイントが
同一か型ごとに分かれてるかの違いだろ?

284 :デフォルトの名無しさん:2012/11/01(木) 23:33:37.05 .net
型推論しないなら、多相型とオーバーロードの共存も難しく無いよ

285 :デフォルトの名無しさん:2012/11/02(金) 00:07:04.19 .net
>273
そういうのはダックタイピングで対応できる。
完全には行かないけどね。

286 :デフォルトの名無しさん:2012/11/02(金) 01:42:15.26 .net
C++のtemplate、メタプログラミングは発展途上だと思う。
もっと使い易くしてほしい。

287 :デフォルトの名無しさん:2012/11/02(金) 02:25:21.11 .net
それはconceptでFA.

288 :デフォルトの名無しさん:2012/11/02(金) 08:09:55.62 .net
ダックタイピングってインターフェースを
定義しないインターフェース。

型安全性をなくしたインターフェースなんだよね。

289 :デフォルトの名無しさん:2012/11/02(金) 09:58:23.85 .net
いやインターフェイスだけを定義したといった方がいいだろ。
型安全がないから例外は必須だよね

290 :デフォルトの名無しさん:2012/11/02(金) 13:55:01.46 .net
テンプレートもインターフェースも多用すると
マクロ展開多用したコードみたいになる。何事も
バランスというか節度は大切やね

291 :デフォルトの名無しさん:2012/11/03(土) 01:39:59.40 .net
で、その多層型のメリットは何?

292 :デフォルトの名無しさん:2012/11/03(土) 07:45:42.44 .net
map :: (a -> b) -> [a] -> [b] とか、もし多相型が無かったら
全ての型a,bに対してmapを定義する必要があるじゃん?

動的型と違うのは、map f xs としたときに
fの引数の型とxsの要素の型が一致してないと
型エラーになるところ

293 :264:2012/11/03(土) 08:17:49.03 .net
仕様ができたので公開します。

http://d.hatena.ne.jp/programmingshape12/searchdiary?word=%2A%5B12%B4%D8%CF%A2%5D

294 :デフォルトの名無しさん:2012/11/03(土) 10:51:58.53 .net
>>292
> 全ての型a,bに対してmapを定義する必要があるじゃん?

ないよ。その為のinterfaceでありgenericsだろ。


295 :デフォルトの名無しさん:2012/11/03(土) 10:59:01.58 .net
>>294
Javaのgenericsは多相型(パラメータ多相)

296 :デフォルトの名無しさん:2012/11/03(土) 11:05:05.30 .net
JavaのGenericsはびっくりするくらい不完全なゴミだけど
一応多相型

297 :デフォルトの名無しさん:2012/11/03(土) 15:12:20.67 .net
そもそも、多相型を使うメリットは何?

298 :デフォルトの名無しさん:2012/11/03(土) 15:56:29.22 .net
型ごとに関数やクラスを作らなくていいし、
対応している型が何かが、関数の定義としてすべて簡単にわかる。

299 :デフォルトの名無しさん:2012/11/03(土) 18:05:16.70 .net
コードを書く量が減るってことか?

対応してる型が何かが分かるというのは、型ごとに作る場合も一緒だろ?
それは多相型のメリットではない。

型により挙動が変わるコードを書くことができるので便利ということなら
逆に動作が分かりにくいコードを書けることにも繋がるので
邪魔な機能という気がするがなあ。

300 :デフォルトの名無しさん:2012/11/03(土) 18:14:41.66 .net
びっくりした。
コレクションごとにfor文も別に用意するか?

301 :デフォルトの名無しさん:2012/11/03(土) 18:29:28.79 .net
それならCのキャストでも良いだろ?
動かしてみないと実際の中に見合った型が分からないのはバグの温床。

302 :デフォルトの名無しさん:2012/11/03(土) 18:48:54.98 .net
>>299
例えば配列があったとするよね?

数値用配列と文字用配列はどちらも配列だから
配列として作りたい。

だけど数値用配列には数値しか入れたくない。
数値しか入らないのであれば、数値以外を間違っていれようとしたらエラーにできるし
配列から取り出したものは必ず数値だから高機能エディタは数値用のメソッドだけを
コード補完できるようになる。

303 :デフォルトの名無しさん:2012/11/03(土) 18:58:55.25 .net
まったく多相型のメリットになってないけど、それがどうした?

304 :デフォルトの名無しさん:2012/11/03(土) 19:09:50.89 .net
>>303
多相型ってわかってる?
ちょっと説明してみせて。

305 :デフォルトの名無しさん:2012/11/03(土) 19:25:03.09 .net
>>304
日常的に使われる加算演算子‘+’が
整数・実数・複素数等、型を意識しなくとも同様に使えるように、

コンピュータ言語において、変数や関数の型を意識しなくても同様の挙動をするものを
まとめて扱う機能のこと。

306 :デフォルトの名無しさん:2012/11/03(土) 20:01:53.45 .net
馬鹿な意見が出てくるわけだ…

307 :デフォルトの名無しさん:2012/11/03(土) 21:42:26.80 .net
>>305
それは「型」じゃねぇ。

308 :264:2012/11/04(日) 07:24:51.99 .net
で此処の人たちは能書きばかりで実際に言語作る気あるのん?

309 :デフォルトの名無しさん:2012/11/04(日) 11:43:24.67 .net
>307
複数の型を同じように処理できるって言う正しい説明だ思う。

310 :デフォルトの名無しさん:2012/11/04(日) 12:09:13.65 .net
多相型は最初に書きやすくてもメンテしづらい。
作り捨てプログラマなら平気なんだろうけど。
メンテしづらい言語仕様は糞だよ糞。

311 :デフォルトの名無しさん:2012/11/04(日) 13:48:44.52 .net
>>310
動的型付け言語はもっとダメだろうなw

312 :デフォルトの名無しさん:2012/11/04(日) 17:24:12.16 .net
>>305
それはオーバーロード

313 :デフォルトの名無しさん:2012/11/04(日) 22:55:33.65 .net
>>310
お前の使って言語は型推論もしてくれないようなクソ言語なわけだ


314 :デフォルトの名無しさん:2012/11/04(日) 23:20:07.69 .net
型だけ違ってアルゴリズムが同じコードを
コピペしまくった方がメンテしやすいとは
>>310は面白い奴だなぁ

315 :デフォルトの名無しさん:2012/11/04(日) 23:35:28.72 .net
>>314
そこで void * ですよ

316 :デフォルトの名無しさん:2012/11/04(日) 23:40:56.78 .net
型安全なコードより
キャストを使ったコードの方がメンテしやすいとは
>>310は面白い奴だなぁ

317 :デフォルトの名無しさん:2012/11/05(月) 00:50:23.41 .net
そこで始原クラス
class Object
ですよ

318 :デフォルトの名無しさん:2012/11/05(月) 01:14:51.74 .net
Objectも元の型に戻すのにキャストいるだろw

319 :デフォルトの名無しさん:2012/11/05(月) 02:54:14.83 .net
幸せなやつばかりでいいな。

多相型を使っても使わなくても、ポリモーフィズムは実現できるし
メンテしやすいように書くこともできる。

しかし、よりメンテしづらいものを書けてしまうのが多相型。

共通する動作を1か所にまとめ、異なる動作をする部分は別々に記述する。
これが、バグを作り込まないための言語としてあるべき姿。

異なる部分が、共通する部分の中に取り込まれる形では
(プログラムの正しさではない)仕様の正しさを人間が検証するのに不向き。

お気楽プログラムしか書かないなら気にしないんだろうけど。
いや、そういうのしか書かないなら本当に気にしなくていいことだよ。


320 :デフォルトの名無しさん:2012/11/05(月) 05:10:38.83 .net
内容がない文章だな。
俺が反論を書いてやろう。


多相型を使っても使わなくても、ポリモーフィズムは実現できるし
メンテしやすいように書くこともできる。

しかし、よりメンテしづらいものを書けてしまうのが多相型を使わない方式

共通する動作を1か所にまとめ、異なる動作をする部分は別々に記述する。
これが、バグを作り込まないための言語としてあるべき姿。

異なる部分が、共通する部分の中に取り込まれる形では
(プログラムの正しさではない)仕様の正しさを人間が検証するのに不向き。

お気楽プログラムしか書かないなら気にしないんだろうけど。
いや、そういうのしか書かないなら本当に気にしなくていいことだよ。


321 :デフォルトの名無しさん:2012/11/05(月) 05:11:49.36 .net
なぜこのような反論が成り立ってしまうかというと
>>319に”理由”が書いてないからだ。

理由がなくて主張だけするのであれば、
ほらこのように言葉を入れるだけで成り立ってしまう。

322 :デフォルトの名無しさん:2012/11/05(月) 05:18:15.45 .net
>>319は次レスするときは、
多相型を使った場合と、使わなかった場合の
実装例を出すべきだな。

それ以外に反論する方法はなかろう。

323 :デフォルトの名無しさん:2012/11/05(月) 16:45:44.46 .net
荒らしと思われると困るのでレス無用だが、現金より強力な最強プログラミング言語を拳固以外で何かあれば手に入れたい。

324 :デフォルトの名無しさん:2012/11/06(火) 03:14:21.92 .net
反論になってないものに反論することは出来ないし
俺も困らないからどうでもいいや。
少なくとも俺の作ってるのには含まれない機能だしね。

325 :デフォルトの名無しさん:2012/11/06(火) 07:19:46.53 .net
int用リスト、double用リスト、string用リスト、その他ユーザ定義型用リストを作って
それぞれにsort関数書く方がメンテしやすいんですよね?www

326 :デフォルトの名無しさん:2012/11/06(火) 08:23:12.14 .net
多相型ってパターンマッチングとかで使うものじゃなかった?
今話されているような使い方されることもあるの?

C++0xにconceptが入らなかったことが悔やまれる

327 :326:2012/11/06(火) 08:50:05.39 .net
326のことは忘れてください

328 :デフォルトの名無しさん:2012/11/06(火) 13:19:39.00 .net
>312
多層型を実現するのにオーバーロードを使ってるんだろ。
ソート関数いくつも書くより比較演算子をオーバーロードした方が楽だって事。

329 :デフォルトの名無しさん:2012/11/06(火) 19:44:16.39 .net
Parametric polymorphism
Inclusion polymorphism
Ad-hoc polymorphism

全部違うものなのに、区別しないで議論しても仕方ない

330 :デフォルトの名無しさん:2012/11/06(火) 19:57:09.25 .net
何を言っているのかわかりづらいので、
Adhoc polymorphism
Parametric polymorphism
Subtype polymorphism
という用語を使って話してもらえますか?

オーバーロードというのは、型ごとに別の定義を持つ(組み込みのものを含む)
adhoc polymorphismのことを言っているということでいいですか?


331 :デフォルトの名無しさん:2012/11/06(火) 19:57:50.51 .net
>>329
めっさかぶった!w
inclusion = subtypeね。

332 :デフォルトの名無しさん:2012/11/06(火) 22:01:55.60 .net
>>328
とりあえずソート関数の型を書いてみようか

333 :デフォルトの名無しさん:2012/11/06(火) 23:35:26.36 .net
sort[T <: Comparable] : Seq[T] => Seq[T]


334 :デフォルトの名無しさん:2012/11/07(水) 00:01:27.20 .net
sort :: Ord a => [a] -> [a]

335 :デフォルトの名無しさん:2012/11/07(水) 00:03:29.58 .net
haskellはList限定なのね

336 :デフォルトの名無しさん:2012/11/07(水) 00:10:16.25 .net
コンテナの中身は多相型で、sort関数自体は
List, Seq, ByteString などでオーバーロード的に定義されてる

337 :デフォルトの名無しさん:2012/11/07(水) 00:17:28.72 .net
あ、ごめん
オーバーロード的に、は嘘だった

338 :デフォルトの名無しさん:2012/11/07(水) 00:59:02.84 .net
>>335
配列対象だとモナらないといけないので型もSTな感じに変わってくる。

339 :デフォルトの名無しさん:2012/11/08(木) 08:11:00.12 .net
オブジェクト指向と関数型、静的型とRubyのような簡潔さ
JVMならどこでも動くポータブルさとJavaの豊富なコード資産

思いつく限りの良い性質を取り入れたScalaが
残念な言語になったのは何故だろう?
良い性質を取り入れるだけでは新言語は良くならないという事か

340 :デフォルトの名無しさん:2012/11/08(木) 10:01:45.79 .net
scalaは型システムが一般人向きじゃない。

341 :デフォルトの名無しさん:2012/11/08(木) 18:11:07.19 .net
>オブジェクト指向と関数型、静的型とRubyのような簡潔さ
>JVMならどこでも動くポータブルさとJavaの豊富なコード資産

この2行だけだと、「思いつく限り」という程いい点が多いように思えない。

342 :デフォルトの名無しさん:2012/11/08(木) 18:36:01.32 .net
Javaっていう名の知れたものの資産ぐらいだね。
それもそんなにあるかどうか・・・

343 :デフォルトの名無しさん:2012/11/09(金) 01:33:02.45 .net
やっぱりRubyのような機能を
取り入れたのが失敗のもとなんじゃないですか?w

344 :デフォルトの名無しさん:2012/11/09(金) 10:40:19.66 .net
Javaがコード資産ないという評価だと、ほとんど全ての言語はアウトだな。

345 :デフォルトの名無しさん:2012/11/09(金) 11:55:35.81 .net
ほかとの比較でね。
優位である点が見当たらない。

346 :デフォルトの名無しさん:2012/11/09(金) 15:35:05.92 .net
トップクラスの豊富さなのに、
それをそのまま使えるんだから優位以外の何物でもないと思うが。

347 :デフォルトの名無しさん:2012/11/09(金) 21:12:18.20 .net
Scala大人気でした…
http://jp.techcrunch.com/archives/20120912javascript-tops-latest-programming-language-popularity-ranking-from-redmonk/

348 :デフォルトの名無しさん:2012/11/09(金) 22:10:11.12 .net
Haskellの隣の順位という時点で
大人気とは言いがたい

349 :デフォルトの名無しさん:2012/11/09(金) 22:42:35.38 .net
Javaは優位な点だらけでしょw

静的型付け言語というのが一番のメリットで、
その中でここまでうまくやれてるのって
他にないでしょ。

350 :デフォルトの名無しさん:2012/11/09(金) 22:58:45.41 .net
Javaは冗長すぎてウンコ

351 :デフォルトの名無しさん:2012/11/10(土) 07:52:09.13 .net
java は参照渡しができなくてウンコ

352 :デフォルトの名無しさん:2012/11/10(土) 08:08:17.60 .net
そんな細かい指摘しか無いの?

○○をするにはどうすればいいんだろう?と思った時
他の言語なら最近出てきたものが、
Javaの世界には既にあったって驚くことばかりなんだけど。

353 :デフォルトの名無しさん:2012/11/10(土) 08:16:29.74 .net
Java は参照渡しができなくてウンコ

354 :デフォルトの名無しさん:2012/11/10(土) 08:30:16.44 .net
参照渡しの代わりになる技術はあるが、
その逆はない。

例えば、eclipseのリファクタリング機能。
あれと同等の数と信頼性を持ったものはない。

これはecliseが凄いだけというやつがいるが、
Javaだからこそ、ここまで作ることが可能だった。

355 :デフォルトの名無しさん:2012/11/10(土) 08:39:31.82 .net
>>354
>参照渡しの代わりになる技術はある
ない
そしてJavaは参照渡し(call by reference)はない、あくまでも値渡し(call bye value)のみしかもたない
結論:Javaはウンコ

356 :デフォルトの名無しさん:2012/11/10(土) 08:55:26.14 .net
>>355
参照渡しができなくても
参照渡しをすることで作りたかったアプリは
別に参照渡しを使わなくても作れるということ。

目的は参照渡しではない。
真の目的はアプリを作ることだ。

357 :デフォルトの名無しさん:2012/11/10(土) 09:00:15.79 .net
>>356
Eclipseのリファクタリング機能がなくても
Eclipseで作りたかったアプリは
別にEclipseを使わなくても作れるということ。

目的はEclipseによるリファクタリングではない。
真の目的はアプリを作ることだ。

358 :デフォルトの名無しさん:2012/11/10(土) 09:06:31.88 .net
> 他の言語なら最近出てきたものが、
> Javaの世界には既にあったって驚くことばかりなんだけど。

他の言語なら昔からあったクロージャが
Javaにはまだ無いって驚くわ。

359 :デフォルトの名無しさん:2012/11/10(土) 09:11:18.33 .net
Javaの基本データ型に参照が必要だと感じたことはないけど、
プログラミングスタイルがそういうやり方に慣れちゃってるんだろうね。
必要なら、mutableなオブジェクト型を作って渡してやればいいだけだろうけど。

360 :デフォルトの名無しさん:2012/11/10(土) 09:15:23.92 .net
こんな感じ

class Reference<T> {
T val;
void set(T v) { val=v; }
T get() { return val; }
}

class Example {
public static void main(String[] args) {
Reference<Integer> ref = new Reference<>();
f(ref);
System.out.println(ref.get());
}

static void f(Reference<Integer> ref) {
ref.set(777);
}
}

361 :デフォルトの名無しさん:2012/11/10(土) 09:23:23.55 .net
>>357
はいその通りですね。
もう一つの目的、早く作るってことができるのは
Javaだけです。
参照わたしはなくても、早く作れますのでw

362 :デフォルトの名無しさん:2012/11/10(土) 09:24:55.92 .net
>>358
クロージャなくても作れるからねぇ。

戦術と戦略の違いかな。
戦略上重要なものがJavaの世界にはあふれている。

363 :デフォルトの名無しさん:2012/11/10(土) 09:41:44.28 .net
Javaでクロージャのようなことしたかったら、こんなかんじ。
interface Closure {
 void call();
}

class Example {
 public static void main(String[] args) {
  final Reference<Integer> ref = new Reference<>();
  f(new Closure() {
    public void call() {
     ref.set(777);
    }
   });
  System.out.println(ref.get());
 }

 static void f(Closure c) {
  c.call();
 }
}

364 :デフォルトの名無しさん:2012/11/10(土) 09:45:04.96 .net
>>363
そういうクロージャもどきが
いろんなライブラリで定義されてて
互換性がないところが生産性悪い

一方のライブラリで作ったクロージャを
別のライブラリに直接渡せないとか馬鹿かと

365 :デフォルトの名無しさん:2012/11/10(土) 09:46:04.93 .net
>>363
クロージャの説明に、mainとかclassいらなくね?

お前の説明は無関係ない部分が多いんだよ。

366 :デフォルトの名無しさん:2012/11/10(土) 09:48:22.78 .net
>>364
直接渡せないなら
変換すればいいじゃない?

ほんの数行で書けるでしょ?

367 :デフォルトの名無しさん:2012/11/10(土) 09:51:19.44 .net
そうやって可読性を落とすからJavaはゴミなんだよ

368 :デフォルトの名無しさん:2012/11/10(土) 09:53:29.72 .net
>>364
どんなライブラリ使ってるの?
普通のJavaの流儀だとクロージャを使うことはないと思うけど、
自分の知ってる機能が言語に無いと不便に感じるかもしれないね。

369 :デフォルトの名無しさん:2012/11/10(土) 10:05:28.89 .net
Apache Commons
totallylazy

370 :デフォルトの名無しさん:2012/11/10(土) 10:09:45.17 .net
現状のJavaが優れているからといって、新言語をJavaに似せても
その言語が良い物になるかっていうと違うだろ
Javaの強みは圧倒的なコード資産とノウハウなワケで
それは新言語にそっくりコピーは出来ないんだから

371 :デフォルトの名無しさん:2012/11/10(土) 10:30:11.67 .net
http://e-words.jp/w/E58F82E785A7E6B8A1E38197.html

クラスへの参照を渡すのは参照渡しじゃないのか。

372 :デフォルトの名無しさん:2012/11/10(土) 10:34:06.86 .net
>>371
参照渡しじゃない。
それは「参照の値渡し」

373 :デフォルトの名無しさん:2012/11/10(土) 10:53:13.97 .net
言ってる意味はわかるけど渡された参照値経由で操作するなら
アクセスコスト的にもロジックの理解度的にも問題なくね?

374 :デフォルトの名無しさん:2012/11/10(土) 11:11:47.24 .net
似ていると理解するのは間違っていないと思うが、同じだと考えるのは危険でしょ
渡されてきた仮引数に代入しても
値渡しだからオリジナルは書き換わらない

375 :デフォルトの名無しさん:2012/11/10(土) 11:26:24.59 .net
同じだと書いてる人いるか?

376 :デフォルトの名無しさん:2012/11/10(土) 11:30:03.24 .net
違うものであっても結果的に同じことが出来るなら問題ない。
もっとも、それがとても大変な手間がかかるというのなら話は別だが。

大変な手間=タイピング時間 のことではないよ。

377 :デフォルトの名無しさん:2012/11/10(土) 11:53:02.69 .net
「ほげ言語」のパラドックス
http://practical-scheme.net/trans/beating-the-averages-j.html

378 :デフォルトの名無しさん:2012/11/10(土) 13:32:57.76 .net
>>377
前半をチラッと見ただけで書くけど、

俺は学習用の言語と
アプリを作る実用用(使い続ける、メンテナンスが必要なもの)の言語は
別の特性を持っているものだと考えている。

379 :デフォルトの名無しさん:2012/11/10(土) 13:43:18.60 .net
今、学習用の言語ってある?昔はPascalだったそうだけど。

380 :デフォルトの名無しさん:2012/11/10(土) 13:44:39.22 .net
LispとかPrologじゃないの。

381 :デフォルトの名無しさん:2012/11/10(土) 15:42:49.70 .net
今はほとんどJavaでしょ。
学習用も業務用もJava。

LispやPrologは毛色の違うのを学ぶ程度。
LispやPrologでカリキュラム組んでる大学ありますかね?
(探せば1つ2つ出てくるかもしれないが)

382 :デフォルトの名無しさん:2012/11/10(土) 15:44:20.29 .net
PythonやCを使ってる大学もあるよね。
この2つもどちらもカバーする言語。

383 :デフォルトの名無しさん:2012/11/10(土) 17:24:41.42 .net
>>381
20年前の時点で ML があった。勝手に無断出席しておけばよかった。

384 :デフォルトの名無しさん:2012/11/11(日) 17:04:18.70 .net
特定の言語でプログラミングを学習するということ自体、おかしい。
テンプレートとかは、その言語特有の記号や文字の並べ方を学習しないといけないけど。
アセンブラ言語の構文糖が全部揃ってる言語じゃないと、最適化やアルゴリズムは学べない。

385 :デフォルトの名無しさん:2012/11/11(日) 17:16:01.00 .net
Knuth先生かよw

386 :デフォルトの名無しさん:2012/11/11(日) 19:11:40.48 .net
>>384
例えば普段Javaを使っている人が関数型言語を学ぶと、J
avaの技術力も上がる。文法もなにかも違うのにだ。

つまり、言語を学ぶと「文法」と「考え方」の2つを学ぶことになる。
文法は他の言語に応用はあまりできないが考え方は応用できる。

で実際のアプリ開発の話をすればどんな凄い言語であっても
0の状態からウェブフレームワークやデータベースアクセスライブラリや
HTMLパーサーを書けるわけじゃない。簡易的なものはできても
実用レベルに到達するにはすごく時間がかかる。

そういう点で実際にアプリを作るのであれば言語周辺技術が
発展している必要がある。量が多くて質も良くて互換性が高いものが良い。

最新の技術を取りれていくような言語は、変化が大きくそれ故に
互換性がなくなりがちになる。そうするといままで動いていたものが
動かなくなる。だからアプリ作成には向かない

学習用の言語とアプリ作成用の言語は、言語が目指す目的が違っている
だから学習用とアプリ作成用の言語は違うものになる。

387 :デフォルトの名無しさん:2012/11/11(日) 22:25:04.19 .net
Java製のデータベースサーバーってどんなのがあるの?

388 :デフォルトの名無しさん:2012/11/11(日) 23:27:30.88 .net
いきなり何の話だ?

389 :デフォルトの名無しさん:2012/11/11(日) 23:47:35.64 .net
そもそもJavaは「サーバを作るための」言語ではない。

390 :デフォルトの名無しさん:2012/11/12(月) 00:03:21.61 .net
最近はJavaはウェブサービスを作るのによく使われてるね

391 :デフォルトの名無しさん:2012/11/12(月) 01:54:04.39 .net
「サーバソフトウェア」を作る言語ではない。

392 :デフォルトの名無しさん:2012/11/12(月) 02:20:38.81 .net
だからなんなんだよw
アセンブラだってサーバー作る言語じゃねーだろ。

393 :デフォルトの名無しさん:2012/11/12(月) 02:42:28.52 .net
馬鹿には無理

394 :デフォルトの名無しさん:2012/11/12(月) 05:51:54.94 .net
簡易的なものはできても
実用レベルに到達するにはすごく時間がかかる。
だからJavaはデータベースサーバー作成には向かない。

395 :デフォルトの名無しさん:2012/11/12(月) 09:55:14.04 .net
> 実用レベルに到達するにはすごく時間がかかる
言語関係なくね

396 :デフォルトの名無しさん:2012/11/12(月) 10:52:39.18 .net
学習用の言語とアプリ作成用の言語は、言語が目指す目的が違っている
だから学習用とアプリ作成用の言語は違うものになる。

397 :デフォルトの名無しさん:2012/11/12(月) 10:53:49.45 .net
Javaで書いたDBあるよ。当たり前だけど。

398 :デフォルトの名無しさん:2012/11/12(月) 17:10:48.70 .net
全ての機能が備わってる←低スペックCPU向け or 学習向け

いくつかの機能が無い←高スペックCPU向け or 大規模アプリ制作向け

399 :デフォルトの名無しさん:2012/11/12(月) 21:20:30.27 .net
>>386
学習用、の言語をいくつか教えてください。なんだか行き詰った感じを打開したいです
はじめての言語は pascal, c/c++/java をちょとだけかじりました、z80/6809/i8086 ならなんとか、他はしりません

400 :デフォルトの名無しさん:2012/11/12(月) 21:32:07.86 .net
>>399
つ LEGOマインドストーム、プログラミン

401 :デフォルトの名無しさん:2012/11/12(月) 21:33:48.71 .net
学習用ってか、教育用だろうね

402 :デフォルトの名無しさん:2012/12/09(日) 23:33:16.35 .net
言語を開発するには、たとえば awk ぐらいの言語を開発するには
どんな本を読めばいいの?

403 :デフォルトの名無しさん:2012/12/10(月) 00:12:07.81 .net
コンパイラコンパイラ

404 :デフォルトの名無しさん:2012/12/10(月) 00:14:43.08 .net
ぐぐってみればわかるよ

405 :デフォルトの名無しさん:2012/12/15(土) 13:08:39.41 .net
>>402
素人が本を読んでも理解できない。
大学で専門知識を身につける過程で
教材として読むのが本なのだから。
まずは良い先生のいる大学に入ることが先決。

406 :デフォルトの名無しさん:2012/12/15(土) 14:09:45.40 .net
>>402
> たとえば awk ぐらいの言語
awk のソース読めばいいんじゃね
現実問題 awk(awkでも何でもないawk) なんて知れてる行数だよね

% pwd
/usr/src/contrib/one-true-awk
% wc *.[chy]
233 1052 6431 awk.h
486 2452 13914 awkgram.y
976 3868 23267 b.c
582 2238 13104 lex.c
706 2838 17340 lib.c
218 884 5961 main.c
168 820 5138 maketab.c
276 861 5185 parse.c
195 984 6859 proto.h
1960 7223 44856 run.c
457 2000 12574 tran.c
6257 25220 154629 total

407 :デフォルトの名無しさん:2012/12/16(日) 05:41:22.57 .net
何の知識もない人が、いきなりlexerやparserのソースコードを読んでもむずかしいと思う。
最近なら素人向けにそういうのを解説した本や雑誌がありそうだけど。

408 :デフォルトの名無しさん:2012/12/16(日) 06:13:43.37 .net
最近だと『言語実装パターン』辺りが

409 :デフォルトの名無しさん:2012/12/18(火) 10:19:05.86 .net
いやー難しいもんだね。
言語理論自体が一つの学問になっているくらいの難解さなうえに
言語を作るためには何かしらの言語を操れるスキルが必要。
独学でやったら人生を浪費してしまうよ。
素直に大学の専門学部に行くべし。

410 :デフォルトの名無しさん:2012/12/18(火) 10:39:12.78 .net
http://www.amazon.co.jp/dp/4797337958/

411 :デフォルトの名無しさん:2012/12/18(火) 11:13:06.47 .net
大学行っても勉強するのは自分だよ。

412 :デフォルトの名無しさん:2012/12/19(水) 19:45:23.97 .net
>>410
「ふつう」の人にオススメできない本でした。
環境を486・linux・javaに限定しているのでWindowsで動くバイナリを期待した人は落胆するでしょう。
「x86系CPUを選んだ理由は、現在この地上において最も普及しており、、、」と書いているわりには
Windowsを完全にスルーするのはどうかと思います。まあパーサやアセンブラの関係なんでしょうけど、、、。
各章でコンパイラ・リンカ・CPU・実行の仕組みなど多くを扱っている為かページ数だけ増大し、内容が薄いものになっています。
構文解析には既成のパーサを用いている為、その実装や理論・アルゴリズムは他の書籍に丸投げしているので残念ながらこの本1冊でコンパイラを理解するのは無理でしょう。
また486に関しても同様です。
コンパイラ本にはドラゴンブックや中田育男先生の本、486には「はじめて読む486」など名著が存在するのでしょうがないですが、、、。
逆にいうとそれらの名著をすでにお持ちの方は「この」本は必要ないように思われます。
著者はあくまで「現実的な」コンパイラを目指していますが、その「現実的な」コンパイラを実装したところでそれをどうように活用するの?という疑問が沸いてきました。
速い実行速度が必要ならばC言語で事足りるし、柔軟な言語が必要であればperl・rubyやjavaで十分だと思います。
コンパイラの理論を勉強するのであればこの本の存在意義は皆無です。

「俺は天才だからコンピュータ言語に新たなパラダイムを吹き込む!」といった人は読むべき本です。
最後に良心と思ったのは価格です。これが倍以上の値段だったら発狂しているところでした。

413 :デフォルトの名無しさん:2012/12/19(水) 19:47:31.32 .net
馬鹿には無理

414 :デフォルトの名無しさん:2012/12/20(木) 08:29:23.83 .net
構文木理解しろ。

415 :デフォルトの名無しさん:2012/12/20(木) 08:56:41.50 .net
「Cで書いたプログラムがたいてい高速に動作する(中略)
Cはカミソリのように切れ味鋭いツール」

『プログラミング作法』p.105 ブライアン・カーニハン、ロブ・パイク

416 :デフォルトの名無しさん:2012/12/25(火) 00:17:43.00 .net
これはどうかな
言語実装パターン――コンパイラ技術によるテキスト処理から言語実装まで
Terence Parr 著、中田 育男 監訳、伊藤 真浩 訳
原書: Language Implementation Patterns
http://www.oreilly.co.jp/books/9784873115320/

417 :デフォルトの名無しさん:2013/01/05(土) 18:00:54.59 .net
>>412
unix/linux上でjavaって、工学部出身だとすごく平凡な環境
サービスエンジニアが発狂してるのかな?

418 :デフォルトの名無しさん:2013/03/27(水) 12:27:12.50 .net
>>著者はあくまで「現実的な」コンパイラを目指していますが、その「現実的な」コンパイラを実装したところで
>>それをどうように活用するの?という疑問が沸いてきました。
コンパイラを作ってやろうと思ってるなら

>>速い実行速度が必要ならばC言語で事足りるし、柔軟な言語が必要であればperl・rubyやjavaで十分だと思います。
この発想自体がおかしい。
そもそも本を手にした時の発想とピントがずれてますね。
加えてプログラミング言語に目的を絞っている点で視野が狭い。

419 :デフォルトの名無しさん:2013/05/27(月) 16:10:16.07 .net
命令型でもないし関数型でもない言語を考えてる人とか研究室・研究所ってあるん?
あるいは、言語として命令型か関数型以外のタイプは存在し得ないともう分かってるの?

420 :デフォルトの名無しさん:2013/05/27(月) 16:33:04.44 .net
Prolog とか

421 :デフォルトの名無しさん:2013/05/28(火) 13:50:46.37 .net
ああ、述語のやつか。あんまりぱっとせんね

422 :デフォルトの名無しさん:2013/05/30(木) 10:13:32.25 .net
ないものは創れば良い

423 :デフォルトの名無しさん:2013/05/30(木) 10:15:15.47 .net
SQL で 8-Queens 解いてるひといたけど
あれはどういうジャンルなんだろ

424 :デフォルトの名無しさん:2013/06/01(土) 23:45:42.28 .net
劣化関数型言語じゃねーの

425 :デフォルトの名無しさん:2013/06/02(日) 11:53:48.28 .net
集合型とか言ってる人がいたな。

426 :デフォルトの名無しさん:2013/06/07(金) 11:59:52.21 .net
非手続き&非手順、言語に興味ある奴いる?
つまり論理に依存しないプログラムなんだが存在否定するほど無知な奴は
どうでもいい。

427 :デフォルトの名無しさん:2013/06/07(金) 12:21:59.50 .net
>>426
Haskellじゃダメなの?

世の中、手続きが大事だから、それが表現できない言語は失敗するよ。
(通信・ハードウェア制御・UI等)

428 :デフォルトの名無しさん:2013/06/07(金) 13:11:08.91 .net
>>426
興味ある、てか同じような事考えてるかも
どんなの?

429 :デフォルトの名無しさん:2013/06/07(金) 13:20:30.22 .net
>>426
ノシ

430 :デフォルトの名無しさん:2013/06/07(金) 13:57:55.55 .net
>>428
ネットワーク型で非論理を布石のように結ぶことで一定の働きを表現できる。
>>427
いつ誰がやっても同じ結果になるなら、そんな言語は捨てるほどある。
チューリング&ノイマン的な方法論で言語を作るなら
デザインも含め、時間と労力があれば金だせば誰でも発注できるだろ。

431 :デフォルトの名無しさん:2013/06/07(金) 13:58:26.62 .net
言葉に酔ってる

432 :デフォルトの名無しさん:2013/06/07(金) 14:16:31.64 .net
>>430
言っている意味が欲分からない。

何となくだが、LabviewやMATLABのSimulinkみたいなものを作りたいの?

433 :デフォルトの名無しさん:2013/06/07(金) 14:18:29.93 .net
ニューラルネットじゃね。

434 :デフォルトの名無しさん:2013/06/07(金) 14:31:05.07 .net
>>430
非論理で布石ってどんなの?
俺が思ってるのは転置?インデックスで、要はその時々の確率で動くプログラム
チューリング的な意味では同じ様な事かも

435 :デフォルトの名無しさん:2013/06/07(金) 14:41:15.80 .net
普遍性は科学の基盤なのに。
それを捨てたら、応用できなくなる。

というか、そもそも道具としても有用なのか?
砂上に楼閣を建てようとする人なんていないだろ。
アナログコンピュータが消えた理由を考えた方が良い。

436 :デフォルトの名無しさん:2013/06/07(金) 14:44:19.40 .net
>>432
そういう表現するなら無視してくれ、完全に別次元。

>>434
原因と結果が因果していない類とか偶然成立するものとか
ランダムとランダムを重ねることで模様を生み出すとか。
論理思考に捉われるとすべて論理に見えてくる。
非論理なら意味不明な働きで何が悪いのかという話しになる。

論理じゃないんだから、働きが意味不明でもそれはそれで正しい。
何に利用するのみたいな煽りがでてきそうだけど、利用するとか関係ないのに
利用する前提になっているのが痛い。

437 :デフォルトの名無しさん:2013/06/07(金) 14:45:22.21 .net
>>435
応用の必要が無いもの、道具ではないもの。
そんなものを考えるのに何で応用や道具が必要なの?

438 :デフォルトの名無しさん:2013/06/07(金) 14:47:01.37 .net
非論理な言語に向かって論理的じゃないよと突っ込む、その心とは?

439 :434:2013/06/07(金) 14:50:00.18 .net
先に書いちゃっていい?タイミング的に後先なるかもだけど

フリーソフトつくりますってスレの22にも概要的な所書いたんだけど、基本的に普遍性が使いにくい所でしょ?PCとかプログラム言語って
アレして、が通用しない所
でも、特定のタイミングでアレとは何なのか世界中で蓄積したら機械にも分かるんじゃない

機械語の次に高級言語があって、それらって基本的にかぶり倒してるよねやる事。
だからもう高級言語いらないんじゃないかって。学習コストばっかり掛かって世界中のリソースが無駄になってると思う

440 :434:2013/06/07(金) 14:53:16.58 .net
やっぱ後先なったか。

あとほんでそういうのを有用にする為には巨大なデータの蓄積が必要で、
それってGoogleとかカノニカルとかがやって今集めてるような、個人の動きを儲けにする、「道具」にしてしまうのはまずくて、「言語」とかベースになるべきものだと思う

441 :デフォルトの名無しさん:2013/06/07(金) 14:54:01.78 .net
論理に依存しないじゃなくて頭が論理についていけないだけ

442 :デフォルトの名無しさん:2013/06/07(金) 14:57:24.77 .net
非論理言語としてこんな言語=A(従来の論理型言語は@)
@if 条件 then 実行
Amaybe 条件 also 創作

443 :434:2013/06/07(金) 14:57:51.02 .net
>>436
先に語り倒してしまったゴメン

ランダムでも非論理でも利用できるまで集めたら利用出来るでしょ
その"利用する"瞬間がその言語にとってのtrueみたいな。またそれは変わるけど

444 :デフォルトの名無しさん:2013/06/07(金) 15:04:21.75 .net
>>443
偶然の原理において結果が必然に発生するかもしれないって領域。
ゴミを捨てまくれば山になる、これは条件付きで必然になる。

情況において何かをゆがめれば絶対的な結果ではなく可能性が高い誘導が
なされるって話し。

例えばサイコロの中に偏った重りや形状の歪をつければ、サイコロは確率的に
同じ面を出すのではなく歪んだ結果となる。
常に正しい結果になるわけではなく、可能性が歪む。

前提を曖昧に知覚し、それをもって布石(可能性としての)を行う。
結果として可能性はさらに累積して歪む。
これは論理なのかを答えてくれたら嬉しい。

445 :434:2013/06/07(金) 15:06:09.91 .net
>>444
歪んでるのが正解、って考え。
答え先行

っていうので解答になってる??

446 :デフォルトの名無しさん:2013/06/07(金) 15:08:48.68 .net
>>445
論理だと原因が先で結果が後になる、これは科学的思考だと思う。

で私が考えているのは結果が先で、原因が後、
思考としては恐ろしく歪んでいるがそれが何といわれても困るわけで。
新しいアイデアなんてそんなもんじゃないかな。

447 :434:2013/06/07(金) 15:10:53.36 .net
>>446
最初に書いた人?
だったらその辺りは同じだよねきっと考えてる事

448 :オカルト君 ◆cx6qhP6N9k :2013/06/07(金) 15:12:04.28 .net
>>447
そのとおり、

哲学板でオカルトを展開している人ですwwww

449 :434:2013/06/07(金) 15:18:07.64 .net
>>448
おお、やっぱ似たような事考えてる人っているんだねー
結果が先だよね。

演算機って基本、右手に三個・左手に四個ボールを持っていますそれを流し込んだらホラ七個、っていう
それお前が最初から七個ボール持ってない限り出てこんやろその答え、って思う

450 :デフォルトの名無しさん:2013/06/07(金) 15:18:41.38 .net
>>449
もし→ならば(過去の技術
もし→たぶん(ジョンタイターのコンピュータ言語の予言

こんなのも触発されている。

板的に技術板だから、非技術的な言語となるものを妄想するのは
否定されても仕方が無いんだが、そういう類を考えている人が他にいるだけ
面白いかもしれない。
論理だけで成立する仕組みではない何かとなれば当然として変な方向に
至るというのが持論である。技術系の2chではオカルト拒否で終わるのが日常

451 :デフォルトの名無しさん:2013/06/07(金) 15:24:34.27 .net
>>449
思想の根源の原理から表すと布石やら嘘やら錯覚というのがその類となる。
意味や正しさや判断やらは不要という話し。

たとえば嘘という原理で言語を考えてみれば嘘を800付けば、それは現実になる。
半島の技術ニダ(オリジナル)

物事は個と環境によって個の意味が環境に対する関係で成立していると考えている。
つまり従来論では環境を定常と考え普遍に近いものと見なし個の意味が変化することで
世界に対する働きや論理が成立するように受け止められる。だがそれを歪めて
世界のほうが何も変わらない個に対して変化しえれば個の意味が変わってくる。
布石と表現した類は世界の性質を変えることで個の必然性をゆがめ、偶然を
誘導できるはずだと妄想するのです。そんな原理をもとに非論理系の
言語の土台という発想なので論理思考の人にはキモチワルイとしか印象を
与えられない気がします。

452 :434:2013/06/07(金) 15:25:51.73 .net
>>450
具体的には、副作用なし・機械が認識できる全ての情報は関数。そして関数の全ての結果を一つの値を返す関数として再定義する。って所になると思う
実際に使った答えだけを残すのがミソというか、組み合わせ爆発の限界以下を切り捨てつつやる、でどこまでいけるだろう

453 :デフォルトの名無しさん:2013/06/07(金) 15:28:39.85 .net
>>452
関数は受け入れます、しかし関数の元となる素の定義を否定します。
関数が呼ばれるという構造があるとすれば関数が行う論理構造の情報の
関係性はその時点で自己組織化のように自動で場の空気を読むように
自然再生されるべきです。つまり関数のメンバーは不明が羅列されている
ってこと。作られた時点では関数メンバーの働きは全く分からないという
構想です。

454 :453:2013/06/07(金) 15:33:02.08 .net
C言語的に
戻り=function (パラメータ1、パラメータ2)

とする場合、
functionの実行内容は
function (){
不明関数1();
不明関数2();
不明関数3();
不明関数4();
}
であり不明関数の中もさらに不明です。
具体的に不明とは?ですが、不明とはデタラメでもいいのです
function (){
ランダム取得();
一意の意味処理();
ユーザーに処理を聞く();
情報を忘れる();
いいかげんに何かしてみる();
}

455 :434:2013/06/07(金) 15:34:31.61 .net
>>453
それじゃほんとにランダムになってしまわない?現代アートだね

"実際に使われた関数"は次に優先的に選ばれる、一点だけ足したら実際に便利なものになるはず。時間はかかるだろうけど

どっちが良いとかではなくてね勿論
アートと生活は比べられない

456 :453:2013/06/07(金) 15:40:01.85 .net
>>455
そうですよ、技術からみたら「現代アート」という表現でも正しい。
目的は技術の再現ではなく未来への布石、つまり芸術の領域。オカルト的には
予言(ノストラダムス)のような方向性。

ただ、機能の中に意味が99.9999999%だとしましょう。
それは100%の論理性はないですが実効の範囲はかなり狭くなります。
完全チューリングマシンにはなりえず、可能性が100%に至らない部分が
アートになります。単純にみれば作成者が布石で示せない部分が幽霊関数の
ように身勝手に曖昧に振る舞い情況にあわせたアートが生じるはずです、
その評価が評価者としてデタラメにしか見えなくてもそれは機能している
元としては正しい働きだと思います。芸術は爆発だ(岡本太郎)
つまりデタラメそのものがアートであって、芸術が理解できないと言われても
それは芸術なのだから仕方が無いのです。感性で生じる働きなど論理性で
計れるとは考えたくない。

457 :434:2013/06/07(金) 15:43:09.97 .net
>>456
言ってる事は多分、数学の真髄に行くような大事な部分で(全然詳しくないけど)

けど…話し方でビビられるでしょw
オモロイw

458 :434:2013/06/07(金) 15:45:06.10 .net
ちょっと仕事戻ります
自分は"得意言語vbスクリプト"っていう底辺プログラマなので皆さんツッコミ期待してますー!

459 :デフォルトの名無しさん:2013/06/07(金) 15:45:32.68 .net
君らに必要なのはニューラルネットワークとセルオートマトンではないだろうか(適当)

460 :デフォルトの名無しさん:2013/06/07(金) 15:47:05.20 .net
ピタゴラスイッチを作っておいて「これは論理の絡まないアートだと言ってる」ような違和感。

461 :デフォルトの名無しさん:2013/06/07(金) 15:55:54.68 .net
相手にしてもらいたいのに仲間に入れなかった

462 :デフォルトの名無しさん:2013/06/07(金) 16:03:10.66 .net
仲間になりますか?
人間ではない宇宙人ですがいいですか?

463 :デフォルトの名無しさん:2013/06/07(金) 16:10:16.24 .net
        ノ´⌒ヽ,,
    γ⌒´      ヽ,
   // ""⌒⌒\  )
    i /:::::::::⌒  ⌒ ヽ )
    !:::::::::::(○)` ´(○)      新言語!!
    |:::::::::::::::(__人_)  |
   \:::::::::::::`ー'  /
    /::::::::::::    \

464 :デフォルトの名無しさん:2013/06/07(金) 16:26:44.88 .net
おれが最新CPU=Haswellに最適化したスーパー言語を作るから


みてろよ、おれスゲー。

465 :デフォルトの名無しさん:2013/06/07(金) 21:01:17.30 .net
プログラミング言語自体の新しいパラダイムが何かあるのかと思ったけど、方向がちと違うね

466 :デフォルトの名無しさん:2013/06/07(金) 21:15:59.49 .net
>>464
そういう最適化は紙一重の天才たちに任せておけばいい
出来上がった成果を上手く利用するのが凡人の知恵

467 :デフォルトの名無しさん:2013/06/07(金) 22:38:49.06 .net
最適化するのは言語じゃなくてコンパイラじゃなイカ

468 :デフォルトの名無しさん:2013/06/07(金) 22:57:27.93 .net
最適化しやすい仕様の言語とか最適化しにくい仕様の言語というものはあるはずだから、それはそれでいいんじゃないか

469 :デフォルトの名無しさん:2013/06/07(金) 23:09:32.73 .net
ないよ

470 :デフォルトの名無しさん:2013/06/07(金) 23:40:26.11 .net
微妙な問題
例えばC言語はポインタのおかげで低水準で高効率なコードを書ける面もあるが、
別名の問題で最適化を妨げている側面もある

471 :デフォルトの名無しさん:2013/06/08(土) 00:47:17.89 .net
どうせ新しいもの考えるならCPUも込みで考えるのも面白そう。CPU全体でもいいし、ALU部分だけオリジナル追加でもいい。
FPGAでちょっとしたのならアマチュアでも簡単に作れるよ。

472 :デフォルトの名無しさん:2013/06/08(土) 00:48:10.62 .net
CPUまで飛ばなくてもソフト屋ならVMでいいか

473 :デフォルトの名無しさん:2013/06/08(土) 02:26:10.36 .net
BCD演算支援命令まだ?

474 :434:2013/06/08(土) 02:56:57.04 .net
>>451
遅レスだけど流して読んでしまってたので

ざっくり言うと数学だろうが哲学だろうがどこからスタートしても最後は量子論的な所に行き着いてしまう、みたいなとこあるよね
論理、論理って言っても余りにも行き過ぎると最後ボヤってなるんだよね確か。誰が言ってた何て概念か忘れたけど

ほんとそうだと思う。論理でも割と適当さがあるというか。
全ての質問に嘘を答える人が居て云々とかさ、あんなん絶対おかしいじゃん
"全ての質問に嘘を答える人"ってなんでお前分かったんだよって
どう経緯を積んでも「あ、これは全ての質問に嘘を答える人だ」ってならないでしょw
そんなもんお前の妄想と采配一つで何がパラドックスや!って思う

475 :434:2013/06/08(土) 03:09:45.97 .net
>>450
ジョンタイター気になって見てみたら、2011年のアメリカ連邦帝国すでに外してんじゃん!
if / then / maybe になるって書いてるけど微妙に外れて if / then / hey!! とかだったらどうするw?テンションだけ高機能化

476 :デフォルトの名無しさん:2013/06/08(土) 10:28:39.55 .net
>>474
といっても従来の範囲のプログラムという価値観は嘘であっても
適当でおかしくても、それは論理的にしか機能していない。
プログラムが自らの相性や好き嫌いで物事を処理したりするか!
そんなことはない、人が論理ではない要因によって動くか!
論理を無視して本能で機能するのは 知識を持たない動物的な
何かがあるはずと思われる。コンピュータが表現する何かが
何で芸とかデザインじゃいけないのか?誰も評価しない何かを
作り出すような妄想ができるコンピュータがあってはいけないのか!
新言語という別のベクトルを考えれば非論理に向かうのは理解しがたい
何かかもしれないが、そういう何かを否定したら従来型の
派生で無数にあるコンピュータ言語で問題がないと、誰もが考える?

477 :デフォルトの名無しさん:2013/06/08(土) 10:36:31.81 .net
>>475
>if / then / maybe になるって書いてるけど微妙に外れて if / then / hey!!
それは論理に従っていれば、過去の正当性に該当していないものは意味不明だから
あってはならず見たいな方向性を言っているんだろうか!
if / then / maybe が if / then / hey!!で何も問題はない、
それは従来の常識を否定することで新しい"非道具"の能力を得る為のもの
まとめて「if / then / デタラメ 」これがその本質と思っている。
デタラメから生じて得る何か、そんなものはデタラメだといいたいなら
それでもいいとおもう、昆虫からみれば人間社会などデタラメそのものと
思うから。主観的な働きは他は理解される必要は必ずしもないはず。
デタラメという一種の模様を得ようとしてそのデタラメにも質や粗さなど
模様があるはず。それを主観的対象と考えたい。

478 :デフォルトの名無しさん:2013/06/08(土) 12:51:33.76 .net
>>476-477
非論理と称するものはその仕組みが解明されてないだけでその本質は決して非論理ではない。
人間はいたって論理的であり、その行動が非論理的に見えたのだとしたら
論理を構築する材料が観測者の手元に揃っていないだけである。

役に立ってはいけないという目線からのアプローチなら面白いと思う。

479 :デフォルトの名無しさん:2013/06/08(土) 13:39:56.87 .net
科学万能主義だと全てが科学で自然などないってことになる。
自然崇拝だとすべてが自然で科学などないという話し。

人工的が自然ではないというか、人間も自然だから人類の都市も公害も
自然そのものだと言う詭弁もある。

480 :434:2013/06/08(土) 14:16:58.09 .net
>>476
無意味にも意味はあるよね
"ランダムが持つ物"っていうのなんとなく分かる
整然に見える物とランダムに見えるもの、情報量は本来一緒だよね
NASAが作った解読に100年係る暗号データとか、多分ブラウザで見たら偶然深田恭子似のjpgだったりするよ間違いなく

481 :434:2013/06/08(土) 14:27:18.64 .net
それに、言いながら皆そんな論理論理で生きてる訳じゃないよね人間。それはプログラマだろうと

皆エクリプスとemacsとかvimとか、最後はテキストエディタで落とし込んで行く作業すると思うんだけど、これずっと疑問で
なんで完全にアウトライン編集になったエディタが主流にならないんだろうと思う。
どの言語も本来セマンティックがある訳で、キーワードレベルにもそこを外したらシンタックスがあるわけで、
自由にカーソル移動する意味なんか全くないじゃん。完全に入力値制限した方が良いでしょ
んでセミコロン打ち忘れたりするんじゃんw
でそういう人が変数の型が〜動的が〜とか言ってんだからもう

482 :434:2013/06/08(土) 14:34:57.29 .net
んでちょっと話戻すと
そのランダム性とか失敗とかも、一つ一つは無意味でも、かき集めたら別な人には必要な情報だったり、問題化しやすい箇所が分かったりするよね。

これはいわゆるロングテール的な話で珍しくもなんともないんだけど、今世界中で作ってるプログラムってほっっっとんど、多分全部ってくらい一度誰かが作ったものだよね。アルゴリズムとか。言語自体も。そして設計。
これすげえ無駄だと思うんだよね。というかリファクタリングして浮いたリソース集めたら割と国とか世界が救える量の労働力なんじゃないかな。

483 :434:2013/06/08(土) 14:36:47.48 .net
で、論理よりも確率とかランダム性に重きを追いた物世界中で使って統計とればって話に繋がるんだけど疲れた長文…

484 :デフォルトの名無しさん:2013/06/08(土) 14:52:47.62 .net
論理を確立するためにはありったけの時間の中で仮説、実験、検証を繰り返す必要があって、
それが>>434の言うランダム性なんじゃないの。

485 :デフォルトの名無しさん:2013/06/08(土) 15:34:45.74 .net
>>480
すべては無意味 所行無情

すべてが等価なランダムであれば、そこに意味が1つも見出せないなら
世界は1つ、意味もランダムが1つ。

区別が付かないものが無情に続く

だがその世界の住人はどう思うだろうか?世界は意味に満ち溢れている(1つ)
なのに、無数のランダムが存在するのに。
住人は何もない意味などないとしか思わないのでは?

486 :デフォルトの名無しさん:2013/06/08(土) 15:38:43.96 .net
>>485
無も有である。無から有が生まれるのは物理法則。

487 :デフォルトの名無しさん:2013/06/08(土) 15:41:41.60 .net
>>486
じゃあさ
0 × ∞ = を定義してくれ。
ゼロ×無限な。

488 :デフォルトの名無しさん:2013/06/08(土) 15:46:38.45 .net
>>487
ヒント
計算できるなら両方とも値であるから、値は観測できる計れるもの
つまり極限の最小値と極限の最大値の掛け算となる。
そして無限とか値で表せる無限の大きさ(=無限大)で変動する変数ではない。
定数同士の掛け算など論理的に表さなければ論理にはなりえない。
つまりコンピュータの数学専門の計算ソフトでやらせた答えが正しい答えになる。

489 :デフォルトの名無しさん:2013/06/08(土) 15:49:57.12 .net
>>488
それ違うだろ0×無限=不定形、つまり答えは存在しない。
なんでも論理で割り切れると思うから答えがでてくるんだよ。

490 :デフォルトの名無しさん:2013/06/08(土) 16:20:56.55 .net
真のランダムとはランダムではないものと区別がつかない
真のランダムの前ではあらゆる事象は起こりうる存在だからだ

491 :デフォルトの名無しさん:2013/06/08(土) 16:30:20.18 .net
時空連続体が有限なら世界は決定論に支配される。
起こり得るなどは現象の予測にすぎない。

世界で起きることは過去が変更できないように未来も自由意志で変更することは
不可能である。
可能性という自由意志が存在証明できるなら決定論は否定できる。

492 :デフォルトの名無しさん:2013/06/08(土) 16:46:56.14 .net
要するに今論じている言語には何があるのかがわからない。

493 :デフォルトの名無しさん:2013/06/08(土) 16:56:42.65 .net
サンプルは無いのか。サンプルは。

494 :デフォルトの名無しさん:2013/06/08(土) 17:11:31.64 .net
>>492
よく気が付いた、たんなる釣り。
>>493
おまえバカだろ。

495 :デフォルトの名無しさん:2013/06/08(土) 19:38:25.45 .net
言語どころかこんぴゅーたのしくみから違う気がする

496 :デフォルトの名無しさん:2013/06/08(土) 21:58:36.10 .net
無視しとけよ

497 :434:2013/06/09(日) 04:18:51.15 .net
0 * ∞ = 「0*∞」(←一文字に詰め込んだフォント)でしょ
または function zeroKakeruMugen(null){return true} とか

ステップ数が1以上の論理はそもそも可能性の話なんじゃないかな
x=1
-------(ここでハイバネート)--------
x=x+1
とか出来るしね機械だと
てかそれを上手く活用できないんだろうか

498 :434:2013/06/09(日) 04:30:30.24 .net
だいぶ観念論になっちゃったけど、
例えば 2 * 4 = 8 とかってのも、それぞれ数字と関数の公理性を疑わずに済むから使ってる訳じゃない
それにまず10進である事も前提だし。

逆にプログラムだと、例えば変数の型に「人(アドレス帳的な意味で)」とか「都道府県」とか、誰かが一度プログラムを作って充分使えるものってもう公理にしてしまって良いと思うんだけどそっちはなかなかならない

499 :デフォルトの名無しさん:2013/06/09(日) 10:46:45.65 .net
より抽象的な観念論が出来ない奴は、創作も創造も開拓もできないから
パクリが安易な理解しやすい具体性が無いとたたき出すのが2chの法則

500 :デフォルトの名無しさん:2013/06/09(日) 12:37:17.99 .net
日曜になると必ず涌いて出て来るな
公務員か?それとも生協職員か?

501 :デフォルトの名無しさん:2013/06/09(日) 12:39:21.38 .net
私が神です

502 :デフォルトの名無しさん:2013/06/09(日) 12:45:26.76 .net
ぶっちゃけDって将来性ある?

503 :デフォルトの名無しさん:2013/06/09(日) 12:48:36.09 .net
プラットフォームや開発環境がキラーアプリ創出に寄与した事実は確認されていない

504 :デフォルトの名無しさん:2013/06/09(日) 13:08:05.52 .net
>>502
習得しておいて損はないが本格的なアプリとか作るのには向かない

505 :デフォルトの名無しさん:2013/06/09(日) 13:36:28.59 .net
>>500
ヒント スルー力

506 :デフォルトの名無しさん:2013/06/09(日) 13:48:37.31 .net
>>501
神を神というとそれに気が付けば恨病になるぞ。

507 :デフォルトの名無しさん:2013/06/09(日) 21:05:29.59 .net
恨病て火病のことか?

508 :デフォルトの名無しさん:2013/06/10(月) 11:26:12.63 .net
巣に帰れ

509 :デフォルトの名無しさん:2013/06/10(月) 16:41:35.21 .net
>>508
荒らすかコピペするしか能のない無能は黙っていろ。

510 :デフォルトの名無しさん:2013/06/11(火) 07:35:37.96 .net
多重仮想マシンを見ると分かりやすい。プログラム言語は無限に再発明できる
好みや使い心地などバリエーションの為には再発明が必要だが、プログラム言語の発展というのは横方向より縦方向であるべき
そういう考えると初心者用と言われるscratchが全く違う物に見える

511 :デフォルトの名無しさん:2013/06/11(火) 13:35:30.77 .net
ブレイクスルーのない発明などゴミ

512 :デフォルトの名無しさん:2013/06/11(火) 21:14:20.14 .net
なんでーつまんねーの。

513 :デフォルトの名無しさん:2013/06/12(水) 11:31:10.23 .net
>>512
おまえがつまんねーの。

514 :デフォルトの名無しさん:2013/06/12(水) 12:15:26.05 .net
言語はライブラリだのフレームワークだのビジュアルなツールだのといったもので多重に隠蔽される。
言語によって改善されるべき領域などもはや無いのだ。

515 :デフォルトの名無しさん:2013/06/12(水) 20:38:17.85 .net
つまんねーの

516 :デフォルトの名無しさん:2013/06/13(木) 18:33:21.89 .net
http://d13n9ry8xcpemi.cloudfront.net/photo/odai/400/debb710822534507b5695c886af49184_400.jpg

517 :デフォルトの名無しさん:2013/06/17(月) 00:45:12.56 .net
あほかと

518 :デフォルトの名無しさん:2013/06/19(水) 09:09:42.38 ID:9qak2Ypt!.net
スレの流れぶった切って悪いんだけど、相談聞いてくれ藻前ら。

いま、オレ言語の処理系をピュアC++で書いてて、コアはできてきて、
A.実用に使うために、IOとかのCライブラリのバインディングを書く。
B.高速化のために、ネイティブコンパイラを書く。
あたりをやろうと思ってる。

しかし、どっちを実現するのにも、サポートしてる各OSのローダーの実装に深く依存しないといけないし、普段使ってないOSについて調べるのはめんどい。

アイディアとしては、今までのコードを捨ててJavaかJavascript上に移動すること。
メリットは上に書いたような点でOS非依存なこと、ネイティブコードを生成するのが容易なこと。
デメリットは、OSのサポートが減るから起動が遅くなる、#!が使えないとか。

どっちがいいかなぁ?

519 :デフォルトの名無しさん:2013/06/19(水) 10:19:56.19 .net
>>518
いきなりネイティブにしなくても、C言語あたりに変換できれば
後はgccで多様なプラットフォームに対応できる。
I/O周りは標準C関数でもいいし、用途とプラットフォームを限定できるなら
qtやSDLなどの外部ライブラリを利用できる。

520 :デフォルトの名無しさん:2013/06/19(水) 10:26:08.21 .net
中間言語ならDが医院で内科医

521 :デフォルトの名無しさん:2013/06/19(水) 11:35:19.89 .net
精神科をおすすめする

522 :デフォルトの名無しさん:2013/06/19(水) 11:50:58.98 .net
性的言語と動的言語どっちよ。

静的言語じゃないとCに変換するのは難しいんじゃない?

523 :デフォルトの名無しさん:2013/06/19(水) 12:04:40.22 .net
実行環境にJavaを選ぶとしても、そのコンパイラをJavaで書かなきゃいけない理由はない
C++で書かれたコンパイラがJavaのクラスファイルを生成したっていい
必ずしも今までのコードを捨て去る必要はない

524 :デフォルトの名無しさん:2013/06/19(水) 18:12:32.04 .net
>> 522
後出しでごめん、めっちゃ動的言語です。
JavaScriptとPythonとRubyをあわせた感じの言語になってます。

>>519
gccにバイナリを吐かせるのは良いアイディアだと思うけど、
できれば、コンパイルされたのとインタプリタのと混ぜて動作させたい。
クラスAとクラスBがあって、お互いにお互いに依存しているような場合、
クラスAは実行ファイルにあって、そいつがgccを呼んでクラスBを含むライブラリを作り、読み込む場合、
AをBから見つける方法がないと思う。
少なくともUnix系OSのローダーはAからBへの呼び出しはできてもBからAへの実行時リンクはしてくれないと思う。
ちょっとググったら、自前でローダーを書けっていう話を見つけた。

525 :デフォルトの名無しさん:2013/06/19(水) 18:13:50.82 .net
>>523
うん。もしJavaを選んだらそうするつもり、
オレ言語のインタプリタをオレ言語で書いて、それをオレ言語で書いたオレ言語からJavaへのコンパイラに通すと、
JVMで動くオレ言語インタプリタができて、次の世代のコンパイラはC++部分無しでいけると思う。
上のGCCのアイディアに近いけど、javaのソースを出力するつもりで、オレ言語からJavaへのコンパイラは少し書いてる。
継続とかの実装が難しくて挫折気味だけど。GCとかが不要な分楽。
インタプリタ内で継続を使わないようにすれば最後まで行けると思う。
(つまりインタプリタとコンパイラはオレ言語じゃなくてオレ言語liteで書く。)

526 :デフォルトの名無しさん:2013/06/20(木) 17:21:37.10 .net
ドライバーがやることを高級言語ややっちゃダメ。

527 :デフォルトの名無しさん:2013/07/08(月) NY:AN:NY.AN .net
新言語はどこで公開すべきか迷ってる。
ネットで公開するとパクられそうだし、
情報処理学会の会員からは会費未納で除名されてるし。

528 :デフォルトの名無しさん:2013/07/09(火) NY:AN:NY.AN .net
>>527
どこで後悔しても朴李はある。
なぜって?パクられるような規模でコテ先の技は世界には通用しねー

529 :デフォルトの名無しさん:2013/07/09(火) NY:AN:NY.AN .net
小手先のパクリはできないと思う。小手先の技ではないから。
言語仕様がシンプル過ぎるので全体をパクられる可能性を心配している。

530 :デフォルトの名無しさん:2013/07/09(火) NY:AN:NY.AN .net
公開しない、というのがいいと思います。

2ちゃんねるへの書き込みから推測されるかもしれませんから、今後2chへの
書き込みも止めた方がいいです。できればインターネットにパソコンを
接続するのもやめましょう。

531 :デフォルトの名無しさん:2013/07/09(火) NY:AN:NY.AN .net
そうしましょう。やはり他人というのは他人に対して神経質に反感を持つものですね。

532 :デフォルトの名無しさん:2013/07/10(水) NY:AN:NY.AN ID:VDDkRd5t!.net
俺も公開しない派だな。

半年に一個ぐらい言語作ってるけど、自分で使う以外公開してない。
せっかく、便利な言語を使って差別化要因になってるのに、人に分け与える必要ない。

良さげなアイディアで、自分には実装力が足りない時だけ、誰かが実装してくれることを期待して公開することはあるがな。

533 :デフォルトの名無しさん:2013/07/10(水) NY:AN:NY.AN .net
>>531
違います。あなたの妄想が酷いので、やめとけと言ってるのです。

534 :デフォルトの名無しさん:2013/07/10(水) NY:AN:NY.AN .net
妄想が何割なのかは自分でもわからないが、
しかし常識的観点からいきなり見下してくる人が居る。しかも常識的でそんなに頭が悪そうじゃない。
頭が悪くないということはそれなりに立場のある人間。
そんな業界ならなおさら妄想も膨らむw

535 :デフォルトの名無しさん:2013/07/11(木) NY:AN:NY.AN ID:RlQmowg8!.net
そんなことより、おまいら Java仮想マシン仕様ってどこ行ったかしらね?
あちこち見たけどリンク切れで。

536 :デフォルトの名無しさん:2013/07/11(木) NY:AN:NY.AN .net
ttp://docs.oracle.com/javase/specs/jvms/se7/html/index.html

537 :デフォルトの名無しさん:2013/07/12(金) NY:AN:NY.AN ID:8aVXfAu1!.net
d

538 :デフォルトの名無しさん:2013/11/24(日) 03:58:49.37 .net
無関心なのか。膠着状態なのか。秘密にしてるのか。待っているのか。
よくわからないけどスレが止まってますね。

539 :優しい名無しさん:2013/11/26(火) 08:43:55.31 .net
>>538
不完全な状態なら秘密にするだろ、曖昧な話ではたたかれるだけ、
既出な言語を作る話なら別だけどね。

コンピュータ言語なんて発表されないものを含めれば万単位であるとは思わない?

540 :デフォルトの名無しさん:2013/11/26(火) 09:14:31.20 .net
そうやね

541 :優しい名無しさん:2013/11/26(火) 21:45:55.92 .net
もし画期的な新言語を設計しているなら2chで漏らすわけねぇだろ。
ここでそれを漏らすとかバカか天然ぐらいだ。

542 :優しい名無しさん:2013/12/02(月) 05:21:09.04 .net
どうでもよいレベルの既存パクリな新言語をここで話題にすと
変なのが沸いてきて二度と来るなみたいになるのかな?

543 :デフォルトの名無しさん:2013/12/06(金) 15:15:36.10 .net
言語とは「コトノハ」から派生したものだから、本質を悟らないと
歪んだ目的に特化するだけかと思うわ。

544 :デフォルトの名無しさん:2013/12/06(金) 15:32:23.13 .net
自然言語と形式言語は全く違うものですが

545 :デフォルトの名無しさん:2013/12/08(日) 18:04:58.97 .net
で?

546 :デフォルトの名無しさん:2013/12/09(月) 11:16:01.04 .net
つまり >>543 の言ってることは全く頓珍漢、だということもわからないのか。
バカだな。

547 :デフォルトの名無しさん:2013/12/09(月) 22:20:08.93 .net
これが人格障害ったやつか。

548 :デフォルトの名無しさん:2013/12/10(火) 01:13:26.61 .net
自己紹介か?

549 :デフォルトの名無しさん:2013/12/10(火) 20:13:56.35 .net
幻想が見えるらしい。

550 :デフォルトの名無しさん:2013/12/12(木) 16:57:54.97 .net
>>546
あんたバカ?

551 :デフォルトの名無しさん:2013/12/12(木) 19:18:46.35 .net
バカってのは「本質を悟らないと歪んだ目的に特化するだけ」とか、
全く何の内実もないたわごとを得意気に言う奴のことを言います。

552 :デフォルトの名無しさん:2013/12/12(木) 19:37:59.84 .net
おまえらの喧嘩をみるとアリンコの餌の取り合いの方がまだマシにみえるw

553 :デフォルトの名無しさん:2013/12/13(金) 23:32:32.64 .net
だよな、真理的なこと言われたら逆切れしちゃう火病にはなりたくない。

554 :デフォルトの名無しさん:2013/12/14(土) 18:59:57.04 .net
既知しか学べない奴に何をいっても無意味なんだけどw

555 :デフォルトの名無しさん:2013/12/14(土) 22:06:01.43 .net
人格障害がいるようだねw

556 :デフォルトの名無しさん:2013/12/16(月) 13:15:07.62 .net
>>551

557 :デフォルトの名無しさん:2013/12/16(月) 15:52:27.35 .net
>>551
おまえだw

558 :デフォルトの名無しさん:2013/12/20(金) 21:03:43.55 .net
だな

559 :デフォルトの名無しさん:2014/01/01(水) 05:15:27.47 .net
単に形骸化していることに気が付いていないのが形式だけコピーして
うはうは言う時代だからな。動けばいい、でもパクリだよ。
完璧にパクリしてもそれって部品をパッチワークしているだけで
著作権に問題がでないように書き換えしているだけ。

560 :デフォルトの名無しさん:2014/01/08(水) 05:15:30.92 .net
アナログ的な言語って抽象的観念だけ扱えばいいかと思っていたが
完全な大間違いだった、その辺の本やら論文はみんなその流れだから
流されるところだった。

561 :デフォルトの名無しさん:2014/01/11(土) 01:17:17.36 .net
高級言語は抽象的なクラスというか意味を少なく記述することで
より多くの難解な類を表現できる言語なんだろうか?

562 :デフォルトの名無しさん:2014/01/13(月) 16:19:10.09 .net
1行ですべてが記述できるのがいいね。

563 :デフォルトの名無しさん:2014/01/14(火) 05:45:01.00 .net
言葉の力は1行でも一言でも

564 :デフォルトの名無しさん:2014/06/09(月) 20:19:03.04 ID:LwT2fAi6.net
ビジュアル表現に特化したProcessingみたいな感じの言語はどうかの

565 :デフォルトの名無しさん:2014/06/09(月) 22:45:36.15 ID:0wp3BeLp.net
Proce55ingみたいなのはそれなりにけっこうよくある。

ビジュアルとか言うならVisulanないしVisulanインスパイア系みたいに、
絵でプログラミングするんだ、ぐらいの気合いが欲しい。

566 :デフォルトの名無しさん:2015/02/03(火) 13:59:39.21 ID:MEFJpjl6.net
誰か作ってる人いないの?

567 :デフォルトの名無しさん:2015/02/03(火) 14:49:25.30 ID:PEE4K+0t.net
>>21-23 辺りを読んで理解できるアタマがあればこんなクソスレがグダグダ続かずにすんだのに

568 :デフォルトの名無しさん:2015/02/05(木) 08:36:22.95 ID:K5QDW3WF.net
おっぱいを揉むような言語くれ

569 :デフォルトの名無しさん:2015/02/05(木) 10:04:57.71 ID:dw372v9O.net
おっPython

570 :デフォルトの名無しさん:2015/02/22(日) 21:43:30.39 ID:kwuMCZZa.net
Nim Nim...

571 :デフォルトの名無しさん:2015/02/23(月) 23:50:28.02 ID:4rKozWD+.net
強い性的型付けで
Pythonライクな文法で
Traitがあって
DIが言語サポートされてて
ラムダ式が扱える
LLVMで動く言語ください

572 :デフォルトの名無しさん:2015/02/25(水) 08:45:51.63 ID:nKN7f0Au.net
CoffeeScript

573 :デフォルトの名無しさん:2015/02/27(金) 00:01:36.16 ID:XVyWVran.net
if文いらない
全部switch文にしてくれ

574 :デフォルトの名無しさん:2015/02/27(金) 00:08:24.94 ID:Cetf0wgO.net
switch文ってcaseに定数しかもって来れないんだろ?
全然機能足りないじゃん

575 :デフォルトの名無しさん:2015/02/27(金) 00:34:04.54 ID:my+0u8IU.net
だからつくればいいじゃん

576 :デフォルトの名無しさん:2015/02/27(金) 09:10:58.50 ID:cP25/4mO.net
>>574
Ruby とかあるし
そもそも switch は syntactic sugar

577 :デフォルトの名無しさん:2015/02/28(土) 18:01:07.64 ID:GSGD9F3x.net
switch (x == y) {
case 0:
stmt0;
break;
default:
stmt1;
break;
}

if (x == y) {
stmt0;
} else {
stmt1;
}

578 :デフォルトの名無しさん:2015/02/28(土) 18:56:05.45 ID:st/D/r/c.net
勤怠管理システムで残業0
http://www.fsas.fujitsu.com/service/idlm/
定時で強制ログオフシャットダウン
省エネ効果抜群

579 :片山博文MZ ◆T6xkBnTXz7B0 :2015/03/03(火) 02:33:58.70 ID:t6l1EelO.net
>>577
それは逆

580 :デフォルトの名無しさん:2016/03/29(火) 10:05:15.88 ID:/c8bAcK4.net
サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート

581 :デフォルトの名無しさん:2017/08/13(日) 15:18:48.45 ID:KfX/mNRe.net
分数型って欲しいよな
1/3が保持できないんだぜ

582 :デフォルトの名無しさん:2017/08/13(日) 19:15:47.47 ID:QQDgwtib.net
HaskellのRatio

583 :デフォルトの名無しさん:2017/08/13(日) 23:47:12.49 ID:WikyJvVl.net
朝鮮語ですべておkニダ

584 :デフォルトの名無しさん:2017/08/25(金) 06:09:33.28 ID:vC6ff47f.net
分数型用意しても
要素の中の根号の扱い格納方法
入れ子要素を許すか、いけるとこまで入れ子するか実用限界を決めるか等
ごちゃごちゃあるから言語側でのサポートや仕様制約は現実的じゃないね

585 :デフォルトの名無しさん:2017/08/25(金) 15:11:22.88 ID:0nrK3Ckt.net
四元数型用意してくれ

586 :デフォルトの名無しさん:2017/09/08(金) 01:33:26.83 ID:vejTPLe0.net
分数型って標準ライブラリにあるプログラミング言語ってそれなりあるような気がしますが

587 :デフォルトの名無しさん:2017/09/08(金) 07:18:26.27 ID:dKW77BeH.net
>>585
あるよ? 実際に必要性を感じてるの?

588 :デフォルトの名無しさん:2017/09/08(金) 08:00:19.77 ID:YgrD2OSX.net
分数リテラル、1|3 (1/3の意)というのはどうか?

589 :デフォルトの名無しさん:2017/09/08(金) 08:02:50.36 ID:wEpLuy5k.net
>>23
今日初めて読んだので
何年も前のレスに何だが

吉里吉里でGOTOなんか使わない
吉里吉里(TJS)はオブジェクト指向言語だよ

590 :デフォルトの名無しさん:2017/09/08(金) 08:08:31.94 ID:xNU/5dSp.net
juliaにはたしか、標準であるよ分数型
正しい呼び名は有理数型だけどね
演算子は、//
3文の1が 1 // 3

591 :デフォルトの名無しさん:2017/09/24(日) 10:48:26.39 ID:1ldIsTy4.net
1行に1トークンなら出力
2トークンなら定義
3トークンならif文

という言語を考えた

a 500
a => 500
sq(x) x*x
fact(x) (x=1 1 x*fact(x-1))

みたいなん

592 :デフォルトの名無しさん:2017/09/26(火) 10:43:16.96 ID:7ABpskwx.net
fifth

593 :デフォルトの名無しさん:2018/02/16(金) 06:49:59.50 ID:W1XJdyx1.net
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

594 :デフォルトの名無しさん:2018/05/23(水) 21:40:45.03 ID:Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

YMGMQ

595 :デフォルトの名無しさん:2018/07/05(木) 00:19:36.84 ID:RfoszcD2.net
FAZ

596 :デフォルトの名無しさん:2019/03/18(月) 01:05:36.49 ID:BO4wFGSe.net
あげ

597 :デフォルトの名無しさん:2019/03/23(土) 04:18:17.14 ID:eMvfaY+j.net
>>1
キーワード、演算子変更程度の簡単なものなら誰でも Ring でプログラミング言語を作れるようになったな。
平成最後の四月バカまつりに変な言語つくるのはどうだろうか?

シンタックスの柔軟性 — プログラミング言語 Ring 1.10 取扱説明書
ttp://ring-lang-081.osdn.jp/docs-1.10/syntaxflexibility.html

598 :デフォルトの名無しさん:2019/03/24(日) 18:02:04.38 ID:EcEauTzH.net
CとPythonで言語自作の練習してるが、Cはやっぱきついな
かと言ってPythonで作った言語なんて遅いだろうし
プロトタイプをPythonで作って言語の仕様が固まってきたらCで書くというのが賢い方法かもしれん

599 :デフォルトの名無しさん:2019/03/28(木) 08:10:22.90 ID:I1dquAY4.net
やっぱPythonだと楽でいいわ
動的型付けって素晴らしい

600 :デフォルトの名無しさん:2019/07/07(日) 16:44:38.03 ID:hqXlVeni.net
マークダウンを独自拡張して使ってるんだが、やりたいことが増えてきてマークダウンじゃ物足りなくなってきた
かといってXML書くのもだるいし
なにかうまい方法ない?

601 :デフォルトの名無しさん:2019/07/08(月) 09:23:44.86 ID:I6P8kv1Q.net
Emmet

602 :デフォルトの名無しさん:2019/07/08(月) 11:58:43.34 ID:ibRWBgM5.net
Emmetって独自文法も登録できるの?

603 :デフォルトの名無しさん:2019/07/16(火) 07:32:38.37 ID:j7CHwFHB.net
DOS、VB、VBS、VBA、。NET、パワースクリプト
どんどん増やさないで、DOSをネイティブコンパイルできるオブジェクト指向まで進化させてエクセルに乗せるべきだった

604 :デフォルトの名無しさん:2019/07/16(火) 17:04:22.32 ID:bAxKUzhw.net
事務処理用で、フロントが固定ソースのエクセルで、各画面個別の動作は全部DBにマスタ登録するシステムなら作ったがね
各動作で発行するSQLもマスタ登録した設計書風のデータから動的生成

エクセルが増えるとバージョンアップ時の動作確認が大変だからVBAを1か所に集約して固定するのと
設計書と実装を一石二鳥で終わらせるのと
計算式中の項目も分解して登録するので、項目の影響関係が即座に検索できるのと
あらゆる処理が中央を通るため苦労しなくてもユーザーログが全部取れるので、問合せ時になんでそうなったか即答できる

画面・帳票を増やす場合はレイアウトだけのエクセルのテンプレとDB登録のみなので、ある意味独自の言語を作ったような
(外部連携のような特殊な要件だけはソース追加するが、その呼び出しはやはりマスタ登録したキーワードから)

605 :デフォルトの名無しさん:2019/07/16(火) 17:19:29.28 ID:bAxKUzhw.net
関数内に関数が書ける言語はるのかな
C#に子クラスはあるけど、もっと気軽にスタティックで
関数管理もしたくないような、内部的に隠蔽したい部分的な共通動作
そういうのがいちいち立派な立場で並んでると邪魔っていう

606 :デフォルトの名無しさん:2019/07/16(火) 19:58:32.42 ID:6+TKArvY.net
PythonやJavaScriptは関数内に関数を書けるよ

607 :デフォルトの名無しさん:2019/07/16(火) 21:24:30.19 ID:bAxKUzhw.net
function outer(){
function inner(){
alert("hello");
}
inner(); //←コレ
}
outer(); // "hello"と表示された!

おおw
VBAもこれができれば

608 :デフォルトの名無しさん:2019/12/23(月) 21:08:13.59 ID:vH2gMMqF.net
いま開発してる言語にポインタを導入しようか迷ってる
いまのところ全部コピーになってるんだが、これだと困るしな

609 :デフォルトの名無しさん:2019/12/23(月) 21:10:04.84 ID:yUC4LEa+.net
配列があればなんとかなる
なしでがんばれ

610 :デフォルトの名無しさん:2020/02/12(水) 12:26:40 ID:DWihvkH4.net
いや配列はもう実装してる
ただ参照じゃなくてコピーになってる

611 :デフォルトの名無しさん:2020/02/12(水) 15:05:37.00 ID:a1w2Xqz0.net
副作用なし(キリっ

612 :デフォルトの名無しさん:2020/03/01(日) 02:12:53 ID:KJRyWF55.net
負数を実装したいんだが実装方法に迷う
1-1
を-1の負数と見るか+1の正数と見るかで計算式変わるし
この判定をするには構文木で確認しないといけないか
字句解析の段階じゃ難しいかな

613 :デフォルトの名無しさん:2020/03/01(日) 03:34:17.01 ID:KJRyWF55.net
-は単独で演算子か

614 :デフォルトの名無しさん:2020/03/01(日) 04:44:11 ID:wjTinnpB.net
単項マイナスは毎回扱いに悩む

615 :デフォルトの名無しさん:2020/03/01(日) 04:56:07.46 ID:KJRyWF55.net
構文解析のほうで実装してみた
しばらく様子見\(^o^)/

616 :デフォルトの名無しさん:2020/03/01(日) 12:08:03.80 ID:rykl778t.net
1--1
1-+1
1+-1
1++1
これが全部エラーにならなければOK

617 :デフォルトの名無しさん:2020/03/01(日) 12:11:42 ID:7BIH7/M6.net
むしろエラーにすべき

618 :デフォルトの名無しさん:2020/03/01(日) 17:04:58 ID:KJRyWF55.net
>>616
単項+は実装してないな
実装しなくてもいいよね?
あれ使う人いるの?

619 :デフォルトの名無しさん:2020/03/01(日) 17:16:02 ID:uCYLr/KI.net
そういうのも含めて自分で開発するメリットなんじゃないの

620 :デフォルトの名無しさん:2020/03/01(日) 18:27:06.13 ID:wjTinnpB.net
>>618
数式としては不要だけど、オペレーターオーバーロードで何か使い途があるかもしれん
ないかもしれん

621 :デフォルトの名無しさん:2020/03/01(日) 20:07:05 ID:KJRyWF55.net
オペレーターオーバーロードか
それを実装できるまで開発できればいいな

622 :デフォルトの名無しさん:2020/03/02(月) 11:24:05 ID:glnmwhpK.net
C++で「.」を置き換えたいときってあるよね

623 :デフォルトの名無しさん:2020/03/04(水) 15:07:44 ID:OVwEz4W2.net
>>616
Scalaは連続した記号列をまとめて演算子として扱う
1++1 は 1 ++ 1
1+ +1 は 1+(+1)
と解釈される

624 :デフォルトの名無しさん:2020/04/20(月) 22:56:31 ID:RmTF1U13.net
import文実装した
これでモジュールが作れるようになった

625 :デフォルトの名無しさん:2020/04/23(木) 02:45:15 ID:/FC0LGbb.net
おめでとう。私は未だに脳内妄想言語でプログラミング中。そろそろ仕様が固まってきたけど,知り合いに「コーディング規則を構文に持ち込んだだけじゃん」言われた。それでもさくさくプログラム組めるのはうれしい。

626 :デフォルトの名無しさん:2020/04/23(木) 02:46:50 ID:/FC0LGbb.net
未完なのでハンドアセンブルでC++に変換して実行。これが面倒。しかも自分の都合の良いようにハンドアセンブルなので先は遠い。

627 :デフォルトの名無しさん:2020/04/23(木) 03:55:23.89 ID:/FC0LGbb.net
私は良いと思ったが批判された仕様。
var n=10
{
var n=n
pl #(1)$n
set n=5
pl #(2)$n
}
pl #(3)$n
(1)10
(2)5
(3)10

628 :デフォルトの名無しさん:2020/04/23(木) 04:29:51.79 ID:lusTU/GG.net
>>625
ありがとう
テストを書いても書いてもエラーが出るよ

>>627
plってなに?

629 :デフォルトの名無しさん:2020/04/23(木) 08:54:54 ID:lusTU/GG.net
たぶんprint lineか

630 :デフォルトの名無しさん:2020/04/23(木) 12:15:18.28 ID:7IPPlwOj.net
>>627
変数のシャドーイング?をやりたいんだろうけど、専用の文法を用意するより無名関数を使う方が応用範囲が広がると思う
n=10
function(n) {
pl(n)
n=5
pl(n)
}(n)
pl(n)
をもうちょっといい感じの文法になるように

631 :デフォルトの名無しさん:2020/04/24(金) 02:45:59.69 ID:PbpLsPOI.net
「意味は同じだけど値を変えちゃうから後で戻さないと」ってことが良くあって,C++だと変数名を変えるか,保存して元に戻すかなんだけど,これが面倒。で言語仕様に入れたら,コーディング規則を…て言われた。
方法1.{int k=n
while(k-->0){k?kって何?nじゃないの?}
}
方法2.{int save_n=n
while(n-->0){nだよねやっぱり}
n=save_n // 保存して戻すの面倒くせー
}
方法3(妄想).{int n=n
while(n-->0){nだよねやっぱり}
}判りやすいけどC++だとダメって言われる。

632 :デフォルトの名無しさん:2020/04/24(金) 02:48:29 ID:PbpLsPOI.net
>>630
無名関数調べたらクロージャが出てきてクロージャが理解できなくて(クロージャを使ってプログラムを組めない)
私の頭では「クロージャ=メソッドが1個のクラス」に落ち着いた。
あってます?

633 :デフォルトの名無しさん:2020/04/24(金) 03:36:21.85 ID:C8KCXRw9.net
>>631
その用途だとアセンブラ的なpush/popが近いかもね
確かにあっても良さそうな気もするけど他人からは読みにくくなるかな

634 :デフォルトの名無しさん:2020/04/24(金) 21:24:00 ID:PbpLsPOI.net
>>633
↓これも考えたけど他にも仕様があったので,n=n 方式に落ち着いた。
方法4(妄想).{save n
while(n-->0){nだよねやっぱり}
}block を外れたら元に戻す
私は見やすいと思ったけど見難いって思う人もいるんだね。多分作っても自分以外使う人はいないだろうから自分の使いやすさを優先。

635 :デフォルトの名無しさん:2020/04/25(土) 12:36:22.20 ID:8zx+uG+T.net
オブジェクトの代入をコピーから参照に変更した
ガーベジコレクション実装したからコピーじゃなくても良くなった

636 :デフォルトの名無しさん:2020/04/28(火) 16:36:13.39 ID:0ndGBSxH.net
bool値が計算式の文脈で整数に暗黙的に変換される言語ってけっこうある?
pythonとかCはそうだけど

637 :デフォルトの名無しさん:2020/04/28(火) 17:25:19 ID:ZNkTbKCD.net
javascript perl ruby

638 :デフォルトの名無しさん:2020/04/29(水) 04:58:37.79 ID:OU7gofh4.net
>>637
javascriptもそうか

639 :デフォルトの名無しさん:2020/04/29(水) 08:35:38 ID:SQgN1Iil.net
rubyは違うんじゃないかな

640 :デフォルトの名無しさん:2020/05/08(金) 03:15:45 ID:axHleTaa.net
>>636
個人的には、論理値は論理演算の結果であって欲しいことが多い。I/Oの時だけ関数を使って変換すれば良いのにと思う。
論理値はたまに true false だけじゃなく unknown が欲しくなる。4値を欲しくなったことはまだない。

641 :デフォルトの名無しさん:2020/05/08(金) 09:53:46 ID:I+XSb0yz.net
型が無いBCPLあたりが整数と論理値を区別しない仕様を導入

Cがその特徴を引き継いだまま大ヒットしてしまう

これじゃまずいとboolを導入したけど後の祭り
Cの真似する言語も出てきて収拾不能

642 :デフォルトの名無しさん:2020/05/08(金) 10:05:18 ID:oIDbptWL.net
boolがintでも特に問題は無い
Cの時点では崩壊はしていない
崩壊を決定的にしたのはperl

643 :デフォルトの名無しさん:2020/05/08(金) 10:45:08 ID:0sjMHJ2y.net
Rubyは、整数の1だけでなく、0もtrue扱いになってしまうのが衰退した1つの原因
だと思う。
後は複数行コメントの書きにくさ。

644 :デフォルトの名無しさん:2020/05/08(金) 11:34:24 ID:I+XSb0yz.net
Cのやり方が普通だと刷り込まれてしまった人がそれだけ多いってことかも

645 :デフォルトの名無しさん:2020/05/08(金) 13:17:31.24 ID:0sjMHJ2y.net
・trueとfalseは、キーワードの長さが違っているので面倒。
 むしろ、0/1 の方が楽。
・トグル動作などは、
 bXxx = 1 - bXxx;
 と書くと楽だし分かり易い。
 しかし、これは、true/false ではなく、0,1 であるからこそ出来るテクニック。
・逆に、bXxx = 2 などと 0/1 以外を入れてしまった場合には問題となるが。

646 :デフォルトの名無しさん:2020/05/08(金) 13:18:36.96 ID:0sjMHJ2y.net
#if 0
・・・
#endif
でコメントアウトできるのは凄くありがたい。
Ruby だと、
if false
end
と書かざるを得ないのが凄く辛い。

647 :デフォルトの名無しさん:2020/05/08(金) 13:21:11.70 ID:0sjMHJ2y.net
>>646
#if 0 だと、#if 1 に変更するのが 1 文字変えるだけだから簡単。
Ruby だと、false を true に書き換えなくてならないのでとても辛い。
グローバル変数で、
$bXxxSwitch = false

$bXxxSwitch = true
に書き換えることが面倒なこといったらこの上ない。

648 :デフォルトの名無しさん:2020/05/08(金) 13:36:55 ID:0sjMHJ2y.net
昔から、Cだと、TRUE/FALSEなどは余り使わずに、コンパイルスイッチをマクロで
#define XXXX 0

#define XXXX 1
で切り替える文化だった。
これだと、0と1を切り替えるのがわずか1文字の修正ですぐに出来るので
開発効率が上がる。
それに対して、Rubyだと、true/false と書き換えなければならないので面倒な
ことこの上ない。Rubyだと
if false
・・・
elsif true
・・・
elsif false
・・・
elsif false
・・・
end
となっているところを、trueの位置を変えようとしたときにすこぶる面倒になる。
それに対してCのやり方はとても効率的だ。

649 :デフォルトの名無しさん:2020/05/08(金) 14:11:41.56 ID:Fn4yfVbS.net
各型に、真偽値を持ってる言語は、テストがやっかい。
JavaScript, Python, PHP など

0, 0.0, 空文字列、空配列、空辞書とか、
こういうのは各型で、true?, false? みたいなメソッドを作るべき!

各型において、真偽値の意味は決まっていないから、メソッドで定義すべき。
"abc".true?

標準で、真偽値に変換されるのは迷惑。
真偽値は、true/false のみ。例外的に、nil

テストで気づかずに、パスしてしまったら大変!
Ruby だけは、間違わないようにしてる

650 :デフォルトの名無しさん:2020/05/08(金) 17:00:38 ID:iOEjZYuS.net
C# の & とか | (一個の方) って bit 演算かと思ったら
論理演算もこれなんだな

二個の方は論理演算と言わずに実行時の最適化で短縮とか違う目的で使うんだな

651 :デフォルトの名無しさん:2020/05/08(金) 19:49:26 ID:I3Mp5evD.net
>>650
そういえば、もともと、マシン語レベルで見れば、and や or という命令で、
本当は、bit演算も論理演算も、真の値を1、偽の値を0としている限りは
評価結果に限定すれば同じ。
ただ違うのは、&& や || は、以後の値を副作用も含めて完全に SKIP して
全く評価し無い事があるかもしれないということ。
このことは、ANSI Cの仕様には書いて無いかも知れないが、MSが決めた
Standard Cには書いてある。

652 :デフォルトの名無しさん:2020/05/08(金) 19:53:32 ID:59El8zT0.net
個人的には真偽値と整数は別物で暗黙の型変換もしない方が好み
利便性より読みやすさ

653 :デフォルトの名無しさん:2020/05/09(土) 07:00:49 ID:LY1UFL2t.net
>>652
言語仕様とは関係ないが、最近
if( a!=b) {
...
}
のようなコーディングをしないで
if( a==b) {
}
else {
...
}
と書くことが増えてきた。
昔はやらなかったけど、最近この方が見やすく感じることがある。年のせいかな。

654 :デフォルトの名無しさん:2020/05/09(土) 09:31:34 ID:3rxWY8lS.net
if( a==b) else {
...
}
とか
if( a==b) ; else {
...
}
って描けないんだっけ

655 :デフォルトの名無しさん:2020/05/09(土) 11:30:27 ID:G1m2Vl9B.net
rubyにはunlessがあるね

656 :デフォルトの名無しさん:2020/05/09(土) 13:44:34 ID:LY1UFL2t.net
>>654
if( a==b) else {...} はエラー。
if( a==b) ; else {...} は a==b にコメントを書かない時はやってます。

657 :デフォルトの名無しさん:2020/05/09(土) 13:46:24 ID:LY1UFL2t.net
以下のような文を書きたいと常々思っている。
int a[]={5,2,3,7,2};
int imax=, imin=;
for( int i=0; i< 5; i++) {
if( a[i]< imin) {
imin=a[i];
}
if( a[i]> imax) {
imax=a[i];
}
}
未定義との比較は true にしてくれる言語ってあるのかな。

658 :デフォルトの名無しさん:2020/05/16(土) 06:19:12 ID:Sb1DC7SK.net
>>655
undef って日常生活の中で使わないと思っていたが,
雨が降らなければ外出する
というような使い方をすることがある。
この場合
晴れたら外出する
ような言い方もするけど,曇りや雪とかの色々場合分けすると
ライトついてますか?
みたいになってしまうので,言語云々の話では無く設計の問題になってしまう。

659 :デフォルトの名無しさん:2020/05/16(土) 06:20:35 ID:Sb1DC7SK.net
>>658
undef じゃなくて unless だった

660 :デフォルトの名無しさん:2020/06/30(火) 21:17:21.34 ID:M4U6Kwpw.net
自作言語の新機能を考えてるけど、いまいち確信が持てず実装がはかどらない

661 :デフォルトの名無しさん:2020/07/01(水) 11:03:25 ID:IfUrt5hg.net
無いものを創るのってそんなもんだろ
とりあえず進めて間違ったらやり治せば良い

662 :デフォルトの名無しさん:2020/07/01(水) 14:51:57.49 ID:xctfYLeY.net
そうだな
Gitもあるしな

663 :デフォルトの名無しさん:2020/10/09(金) 05:25:08.17 ID:bdkjFn4I.net
自己参照ってどうやるんだろう
2回パースさせるのか?

664 :デフォルトの名無しさん:2020/10/09(金) 22:44:45.83 ID:bdkjFn4I.net
解決した

665 :デフォルトの名無しさん:2021/01/22(金) 23:33:09.87 ID:hRbCIOLy.net
・言語もデータにならんかな?
→全コードがDBの1テーブルに入る
・テキストエディタもうやめない?
→GUIで作成可能
・メタ的にコードからコードを作れる
・誰でもどこからでも読み込める
・誰でもどこからでも実行可能
・言語のパーサ仕様はCSV
・GUIで見るとc言語っぽく見える
・他言語から容易に呼べる

よっしゃ、作るぜ

666 :デフォルトの名無しさん:2021/01/30(土) 20:58:36.36 ID:RuyxT2u7W
中学数学からはじめる微分積分
https://www.youtube.com/watch?v=4p1rwfXbCoY&t=4341s
中学数学からはじめる相対性理論
https://www.youtube.com/watch?v=voFHToRM4xI&t=10s
中学数学からはじめるAI(人工知能)のための数学入門
https://www.youtube.com/watch?v=7A05OamqCyc
中学数学からはじめる三角関数
https://www.youtube.com/watch?v=OLqgs4fJl7Y&t=3803s
中学数学からはじめる複素数
https://www.youtube.com/watch?v=IQaYyFboK48&t=20s

総レス数 666
154 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200