【超高速】C/C++に代わる低級言語を開発したい 8
1 :デフォルトの名無しさん :2012/08/23(木) 23:03:00.69 .net 70年代、Cは生まれ、それから30余年、現代においてもなお、低レベルなシステム開発に広く使われている。 しかし、2010年の今、もしもCが発明されていなかったとして、低レベルなシステム開発のためのプログラミング言語を 新たに作るとしたら、Cとは違う言語になるだろう。少なくとも、全く同じにはならないはずだ。 そこで、このスレッドでは、 低レベルなシステム開発のためのプログラミング言語 を一から考えたい。 既存の言語を使って何かをすることが目的ではなく、新たなプログラミング言語を考えることが目的であるから、 「既存のXX言語を使えばいい。」という類の発言は無意味である。 「既存のYY言語のZZ機能は、WWと言う点で有用だから採用したい。」という発言は歓迎だ。 現代の一流のプログラミング言語研究者が、最先端の研究成果を盛り込んで、 一から低レベルなシステム開発のためのプログラミング言語を作るとしたら、どのような言語になるだろうか、 という観点で考えたい。 ◆前スレ 【超高速】C/C++に代わる低級言語を開発したい 7 http://toro.2ch.net/test/read.cgi/tech/1275235018/l50
2 :デフォルトの名無しさん :2012/08/23(木) 23:07:31.21 .net ◆新言語の要件 v0.1◆ (1)ハードウェアを直接操作する低レベルの記述が可能 (2)プログラマーが勘違いしてプログラマーの意図と違う動作をしないように言語仕様が直感的で学習が容易 (3)最新のオサレ機能が使えてワクワクしながらプログラミング可能 ◆主な要望◆ ・デバドラ屋だって、オサレ言語で開発したい! ・プログラマーの言語仕様の学習不足によるヒューマンエラーを最小限にするために、できるだけ小さな言語仕様にしたい。 ・組込み屋だけど、関数型とダックタイピングしたい。 ・shared_ptrの構文糖が欲しいな ・低レベル記述性(絶対条件) > 構文の美しさ(読みやすさ、学習の容易さ) > 再利用性(抽象性) ・算術演算以外の演算子は後置 ・割込み、例外、非同期IOとかを統一扱えるイベント機能が欲しい。
3 :デフォルトの名無しさん :2012/08/23(木) 23:08:53.74 .net ◆新言語の前提 ver0.02◆ ・言語仕様が小さい ・言語仕様に例外事項(但し書き)が少ない ・標準ライブラリーが充実している ・組込みとユーザー定義の区別がない ・標準的なコンピュータアーキテクチャを直接制御するための記述ができる (オーバーヘッド最小限にI/O・メモリアクセス、割込み処理ができて、かつ、その記述が平易、直感的、誤解が少ないことが望ましい) ・仕様にコーディング規則を含み、それに従うことをある程度強要する ・ドキュメント自動生成を仕様を含む ・既存のバイナリーオブジェクトをリンクして呼び出せる ◆新言語の位置づけ◆ Ruby, Python, Haskell, OCaml, Scala, Clojure, Erlang, … 烏合のごとく言語が生まれてきているのにどれも似たようなLLばかりで、ハードウェア制御のような低レベル処理を行える言語が無い。 一方、Cは40年使われ続けてきているわけで、そろそろ置き換えられる言語が出てきてもいいだろう。 そこで、C程度の性能が出せて、Cが使われている分野を全てカバーでき、 過去の互換性に囚われて構文を妥協せず、今時の機能を使えてCよりもプログラミングしやすい新言語を作りたい。 ◆新言語でのリソース管理方針◆ ・確保したリソースを明示的に後始末しなくても問題が発生しない ・何らかのメリットのために確保したリソースを明示的に後始末してもよい ※GCは手段であって上記が満たされていれば必ずしも必須ではない。
4 :uy :2012/08/23(木) 23:52:58.78 .net チューリング完全になれば何でも良かったんだよ 高価な機能はいると訳分からなくなる低脳はC そういうのがはいっても効率的に扱える奴はC++ 既にすみわけは出来てるCとC++の中間くらいの言語が存在しないってだけで そんなのあってもなくてもどちらでもいい いま一番Cの代替になる可能性が高いのはGO
5 :uy :2012/08/23(木) 23:55:19.82 .net 営利目的で言語は作ったほうがいいよ Cの代替になる言語を作ったら金になるか? ならないのであれば作る価値はないし、使われる価値もない 金金金金金金金金金金金金金金金金金金金金金金金金金金金金 本物のハッカーとかそんなもの関係ない、 金の力が人の学習意欲をかりたたせる どんな雑魚でも生活のためならC++言語でもなんだろうと使いこなす 本物の天才が金を得るためにプログラムを組む いくら優秀な言語があっても、金から遠ざかれば使われない
6 :デフォルトの名無しさん :2012/08/24(金) 00:28:39.62 .net で、C/C++に代わる低級言語としての提案は?
7 :uY :2012/08/24(金) 01:38:47.62 .net ネイティブはけるruby
8 :デフォルトの名無しさん :2012/08/24(金) 06:57:07.24 .net Objective C でいいだろ。
9 :デフォルトの名無しさん :2012/08/24(金) 08:36:44.50 .net おれもObjectiveCでいいと思うね
10 :デフォルトの名無しさん :2012/08/24(金) 08:39:30.70 .net <ハードウェアを直接操作する低レベルの記述が可能 ってことは移植性は要らないんだよね アセンブラでいいんじゃね
11 :デフォルトの名無しさん :2012/08/24(金) 09:17:19.82 .net アセンブラを超進化させるのが近道じゃね?
12 :デフォルトの名無しさん :2012/08/24(金) 09:19:05.28 .net おれもアセンブラでいいと思うね
13 :uY :2012/08/24(金) 10:04:10.55 .net マジレすすると、 しっかりとC++技術者を育てたらいい C++が使えない は甘え
14 :デフォルトの名無しさん :2012/08/24(金) 11:14:03.28 .net アセンブラに化け物なマクロ入れるだけでいいんじゃねぇの? 欲しい機能はマクロで定義
15 :デフォルトの名無しさん :2012/08/24(金) 11:51:37.60 .net C言語の価値もプリプロセッサにあるんだよね アセンブラにもマクロあるじゃないの ただ、アセンブラ毎にマクロの仕様が違ったりするから 併合しようとした人はこれまで何人もいた でも結局使わないんだわそんなの
16 :デフォルトの名無しさん :2012/08/24(金) 13:31:30.10 .net CLASSは欲しいのかな?
17 :デフォルトの名無しさん :2012/08/24(金) 13:55:21.91 .net uyが社畜みたいな発言をしていて雑魚くさい。
18 :デフォルトの名無しさん :2012/08/24(金) 15:08:59.25 .net C++は、仮想関数テーブルがいまいち。
19 :デフォルトの名無しさん :2012/08/24(金) 15:23:43.08 .net なんでC++は仮想関数使うと異様に遅くなるんだろう。
20 :デフォルトの名無しさん :2012/08/24(金) 15:26:50.19 .net アセンブラマクロに強力な型機能を持たせて、ついでに多態性も付けて 単純な継承・カプセル化程度をサポートすればおk?
21 :デフォルトの名無しさん :2012/08/24(金) 15:30:13.75 .net アセンブラマクロでイテレータつくれる?
22 :デフォルトの名無しさん :2012/08/25(土) 21:09:56.18 .net どういう風に使いたいのか仕様 plz.
23 :デフォルトの名無しさん :2012/08/27(月) 01:11:28.07 .net kuin最強伝説
24 :uy :2012/08/28(火) 01:52:32.53 .net プログラミングは最終的にはアセンブラになるかもしれないね よく考えたら無理じゃない気がしてきた
25 :デフォルトの名無しさん :2012/08/28(火) 02:11:48.33 .net せっかくよく考えたのなら、その考えを文章にしてみよう。 鉄は熱いうちに打て。
26 :デフォルトの名無しさん :2012/08/28(火) 09:08:24.23 .net >>24 それは、高級言語プログラミングしてる時に、 頭の中でアセンブラが思い浮かぶような人だけだよ。
27 :デフォルトの名無しさん :2012/08/28(火) 09:23:08.58 .net C/C++は高級じゃないと申すか
28 :デフォルトの名無しさん :2012/08/28(火) 10:18:55.39 .net 昔は知らんが 今はCは低級、C++でOOPすれば何とか高級?
29 :デフォルトの名無しさん :2012/08/28(火) 21:32:53.34 .net 恒久
30 :デフォルトの名無しさん :2012/08/28(火) 23:32:52.57 .net 制御対象が十分に抽象化されていれば高級、ベタに見えていれば低級 言語はそれほど関係ない
31 :デフォルトの名無しさん :2012/08/29(水) 21:10:23.64 .net サーバーサイドjsが持てはやされるぐらいなんだから、 自社サービスを展開してるようなところではc/c++は使われなくなるんじゃないかしら そういう企業じゃシステム言語はgolangが主流になると思うよ
32 :デフォルトの名無しさん :2012/08/30(木) 09:11:23.27 .net WebでC/C++は珍しい。 goは当分ならねーよw
33 :デフォルトの名無しさん :2012/09/07(金) 12:59:14.71 .net いまの言語とか制御構造や予約語の文法以前とか以前に ライブラリーの便利さと豊富さが基本であって、言語の重要性はあまり関係ない。 同じコードを書くのに少ないコードで実現できる(内部が見えない) 類が抽象化の度合いでどれだけ高機能を呼び出すだけで実装できるかが 重要になっている。 低級なそれは多くの仕組みと手順を細かく表現しなければいけないのだが 高級になれば何も表現しなくても「あれ」「これ」な感覚で作れてしまう。 本当に低級ならば四則演算とか使わずにプログラム作れよサブルーチンという 概念も使うな!
34 :デフォルトの名無しさん :2012/09/07(金) 15:55:23.51 .net 魔法みたいなことが出来る関数があれば終わりですって
35 :デフォルトの名無しさん :2012/09/07(金) 21:58:26.62 .net Webやスクリプト言語には興味ありません ハードウェア制御・リアルタイム・マルチコアなどなど 抽象化のための「見えない」コードを書きたいのです
36 :デフォルトの名無しさん :2012/09/08(土) 23:31:28.52 .net >>33 であれば、具体的にどのようなライブラリが必要と考えるのかを述べるのがこのスレッドの意義である。 「使うな」で終わるのは建設的ではない。前半は良い発言だから、頑張れ。
37 :デフォルトの名無しさん :2012/09/09(日) 10:25:22.63 .net >>32 ラッパー経由で思いっきり使われてる。
38 :デフォルトの名無しさん :2012/09/09(日) 10:41:47.62 .net >>37 スクリプト言語もHTTPサーバーもOSもCで書かれてるしな。おもいっきり使われてる。
39 :デフォルトの名無しさん :2013/02/04(月) 16:57:39.03 .net ある程度モデルになる言語は要るだろ Objective-C++をモデルにすることを提案する
40 :デフォルトの名無しさん :2013/02/04(月) 22:40:20.04 .net モデルにすることを提案するだけではなく、どのようにモデルにするのかを提案するともっといいぞ
41 :片山博文MZパンク ◆0lBZNi.Q7evd :2013/02/24(日) 22:49:04.87 .net 局所変数をすべて静的大局変数にするなんてどうだい?
42 :デフォルトの名無しさん :2013/02/24(日) 22:50:35.00 .net 41 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
43 :デフォルトの名無しさん :2013/02/24(日) 23:04:15.58 .net >>41 その効果は?
44 :デフォルトの名無しさん :2013/03/21(木) 16:10:03.33 .net ポストPHP/CGIを狙うような静的型付き言語を開発したいがそういうスレはないものか
45 :デフォルトの名無しさん :2013/03/21(木) 16:47:09.32 .net (どうやら俺の他にはいないようだな…しめしめ、勝った)
46 :デフォルトの名無しさん :2013/04/01(月) 00:11:54.06 .net C/C++なくても、型付Lispが開発されて、もっと遅かったであろう。
47 :デフォルトの名無しさん :2013/04/01(月) 11:36:10.71 .net 実用化されるまで10年以上遅れていたであろう。 ていうかPCという概念すら生まれなかったであろう。
48 :デフォルトの名無しさん :2013/04/01(月) 23:04:46.27 .net 概念w
49 :デフォルトの名無しさん :2013/04/02(火) 14:56:01.95 .net Cができるようになる前から安価なPCってあったんだっけか
50 :デフォルトの名無しさん :2013/04/03(水) 00:57:47.82 .net ない
51 :デフォルトの名無しさん :2013/04/05(金) 23:47:23.21 .net エレキてきバグでまくるだろ
52 :デフォルトの名無しさん :2013/04/07(日) 05:37:26.11 .net 41みたいなことをするとバグ、多発。
53 :デフォルトの名無しさん :2013/04/07(日) 22:19:02.62 .net CもC++も高級言語で、スレタイがそもそも間違ってるのに、いつまで続けてるんだ。 マシンコードそのままなのと、アセンブリ言語だけが低級言語ということも知らないのか。 コンピュータの勉強して最初にわかることじゃないか。 それに開発したいのはどういう目的があってのことなのかね。
54 :デフォルトの名無しさん :2013/04/07(日) 22:40:29.84 .net >>53 スレ違い
55 :デフォルトの名無しさん :2013/04/10(水) 19:39:49.93 .net オブジェクト思考なんて何十年も前 今は最新なんなんだ?
56 :デフォルトの名無しさん :2013/04/10(水) 19:46:59.55 .net ラムダ関数
57 :デフォルトの名無しさん :2013/04/10(水) 21:27:07.91 .net >>55 アスペクト指向というのがあるがまだ実用化されてない アスペルガー指向の方が多くないか?wwww
58 :デフォルトの名無しさん :2013/04/11(木) 05:53:27.68 .net なるほろ サンクス
59 :デフォルトの名無しさん :2013/04/11(木) 07:32:56.17 .net アスペクト指向はソースコードのXML化といって差し支えない XMLタグの量を増やせばできることも増えるがソースは冗長で不細工になる。 OWL推論でコンポーネント間が繋がれば、超冗長だが再利用しやすくなったりするかもな <Entity name="DBTable"> class Persons {} </Entity> @Entity(name="DBTable") class Persons
60 :デフォルトの名無しさん :2013/04/11(木) 21:45:02.95 .net 型付きlisp風言語作ればいいじゃんて話だろ、まとめると
61 :デフォルトの名無しさん :2013/04/11(木) 22:22:45.21 .net 関数コール時値やアドレス値をスタックやレジスタへ積み積みする暗黙に埋め込まれるコードもアスペクト 暗黙だけでなくあちこちにユーザーコードまで混ぜれるようにしちまう開放的且つカオス世界への招待を 有難いと感じるかどうかが別れめっスね
62 :デフォルトの名無しさん :2013/04/12(金) 12:58:38.54 .net 自分一人でやる分にはいいが複数人でやるとたちまち世界が破滅する
63 :デフォルトの名無しさん :2013/04/13(土) 13:20:43.36 .net 構文を工夫して文字数を減らしても仕方ないし、XML/アスペクト指向も終わった。 最近の新しい発想というとKVSぐらいだな。1人でプログラミングすると効率悪いが、 多人数での分業に向いている言語とかいんじゃね?
64 :デフォルトの名無しさん :2013/04/14(日) 01:15:12.51 .net Javaのことですねわかります
65 :デフォルトの名無しさん :2013/04/14(日) 16:08:49.81 .net >>59 なにか変だと思ったら DIとAOPを混同しているな
66 :デフォルトの名無しさん :2013/04/14(日) 23:03:21.36 .net JPAとかEntityBeanはDIなのか?
67 :デフォルトの名無しさん :2013/04/24(水) 19:52:56.12 .net >>54 スレ通りの発言だろうが
68 :デフォルトの名無しさん :2013/04/24(水) 20:03:03.76 .net >>53 と >>67 って同一人物? C++ はともかく, C って高級アセンブラだろ? 立派な低級言語じゃん
69 :デフォルトの名無しさん :2013/04/26(金) 09:31:25.15 .net Cは読める低級
70 :デフォルトの名無しさん :2013/04/28(日) 02:58:49.44 .net D言語でいいじゃん
71 :デフォルトの名無しさん :2013/04/28(日) 10:17:28.30 .net E言語でEじゃん
72 :デフォルトの名無しさん :2013/05/23(木) 12:53:53.21 .net >>70 似非システム言語はすっこんでてください
73 :デフォルトの名無しさん :2013/08/06(火) NY:AN:NY.AN .net Cを高級アセンブラという人はアセンブラを知らない。 高級アセンブラは p-code や IL。
74 :デフォルトの名無しさん :2013/08/24(土) NY:AN:NY.AN .net 俺は C よりアセンブラを先にやったクチだが C はまっとうな高級アセンブラだよ ソフトウエアで構築したVMが機械語のつもりのやつこそ diagnose 命令を知らない
75 :デフォルトの名無しさん :2013/08/25(日) NY:AN:NY.AN .net 初期のCは高級アセンブラと言って良かったが、最新のC/C++はインラインアセンブラがサポートされなくなってきたので 高級アセンブラとは言いにくくなってきた。Cはロジックのわかりやすさを優先して、CPUのレジスタを意識させない構文に してしまったから、レジスタを意識しなくてよくなった反面、フラグを見ることもできないし、CPUの固有命令を使うことも できない。インラインアセンブラも使えなくなってきたので、いろいろある言語の1つに落ちぶれてしまった。 簡単なサンプルをCとアセンブラで書いて比較すると速度が違うし、実行ファイルサイズも大きく違う。 Cは非常に無駄が多いということだ。
76 :デフォルトの名無しさん :2013/08/25(日) NY:AN:NY.AN .net インラインアセンブラは関係ない 特権命令が必要な箇所はもともとアセンブラで書いてリンクするのが正統派で Cソースの中に直接ニーモニックを書くのは邪道である フラグやローテートはアーキテクチャによる相違が強烈なので抽象化しなかっただけ レジスタ名称もそうで、このためアセンブラはオンレジスタ、Cはオンメモリという相違が生じた アセンブラを習得している者がCを憶えるとき自動変数に違和感を持つのはこのためで いついつからCがそうなってしまったわけではなく、始めからそうなのだ Hello C world のサイズだけ見てCそのものが非効率という人は サイズの違いの主成分を知らないだけ
77 :デフォルトの名無しさん :2013/08/25(日) NY:AN:NY.AN .net >>76 > Cソースの中に直接ニーモニックを書くのは邪道である 今まで正式な文法としてインラインが書けたのに、それを勝手に邪道と言い切るのはどうかと。 単なる個人的意見だよね。 > フラグやローテートはアーキテクチャによる相違が強烈なので抽象化しなかっただけ > いついつからCがそうなってしまったわけではなく、始めからそうなのだ もちろんわかってるよ。別にCの文法に文句を言いたいわけじゃないから。 でも抽象化できるというなら、ニーモニックを直接書ける仕様にして、 それをラップ関数で覆って見えなくしてライブラリに入れてしまえば Cで書いたソースはそのまま使えるよね。 > Hello C world のサイズだけ見てCそのものが非効率という人は > サイズの違いの主成分を知らないだけ その主成分を知ってる人に聞きたいんだけど、アセンブラでは不要で、 Cならその主成分とやらが必要という根拠は何か教えてくれないかな。
78 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net インラインアセンブラなら、ふつうのユーザーもビルドで悩まないですむ 移植性を重視した言語なのにasm文があるのは何故ですか? asm文は、Dの関数内に直接アセンブリのコードを書き込むことを可能にします。 アセンブラのコードは自明に移植性のないものとなりますが、しかし、 システムアプリの開発には非常に便利なものです。 システムアプリは 大なり小なりシステム依存のコードを含むことになるので、 インラインアセンブラは 大した問題にはなりません。 インラインアセンブラは、CPUの特殊命令や フラグビットへのアクセスによって、 特別な処理の場合や、 限界までコードを最適化したいときに役立ちます。 Cコンパイラがインラインアセンブラ機能を持つ前は、 私は外部のアセンブラを使っていました。 アセンブラは 沢山の、本当に沢山のバージョンがあって、 各バージョン毎に微妙に 構文が違っていたりバグがあったりコマンドラインの文法まで 変わっていたりして、非常に残念な思いをしました。 つまり、アセンブラの必要なコードは、 ユーザーには安心してビルドはできなかったのです。 インラインアセンブラができてからは、そんなことはなくなりました。 よくある質問 - プログラミング言語 D (日本語訳) http://www.kmonos.net/alang/d/faq.html#q1_1
79 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net >>53 英語で middle-level 検索したらでてくる
80 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net >>77 単なる個人的意見? #pragma のオンパレードと同じだと言っているんだが 単にニーモニックが書けるだけでは不十分で オペランドの装飾名やレジスタアサインまで最適化の影響も受けずにクリアする必要がある 高級言語でだぞ? これを邪道だというのの、どこが個人的意見なんだ? > ラップ関数で覆って見えなくして 日本語でおk > その主成分を知ってる人に聞きたい 逆アセンブル読めよ、読めないならもう一度言ってやる「主成分を知らないやつめ」
81 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net >>78 asmがあるのはなぜって、俺に聞くのはお門違いだ 移植性を重視しながら sizeof(int) が処理系定義だしねえ > システムアプリは大なり小なりシステム依存のコードを含むことになるので そのとおりだが > インラインアセンブラは大した問題にはなりません なぜこうつながる? > 私は外部のアセンブラを使っていました。 過去形ということは「あの問題」を知らないわけだね このくだり、突っ込みどころ多すぎて投げたわ
82 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net >>80 なんだ、ただの知ったか君か、ご苦労w もう来なくていいから
83 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net >>81 おいおい、>>78 はD言語のFAQのコピペだぞ。つまり「私」というのはD言語の開発者だ。 どう見てもおまいよりコンパイラの内部に詳しい。 「あの問題」とかわけわかんないこと言ってんじゃないぞw 知ったか君はろくに文章も読めないから困る。話にならんな。
84 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net >>80 日本語不自由な人みたいなので wrap function と書けば理解できるのかな。在日君ですか? Cがアセンブラより太る原因は逆アセなんかしなくてもわかるんだが。 おまいさあ、Cコンパイラのソース一度も読んだことないだろw 「低レベルなやつめ」
85 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net シッタカ君に権威主義君か どんどんやれ
86 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net 淫乱NISSENブラ
87 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net Cのファイルサイズサイズ語るならリンカだろ? gcc読むにしてもCコンパイラ部分は読まねえよ。 コンパイラなら普通にアセンブリ吐くから逆アセンブルもしねえ。
88 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net >>84 いーや、逆アセよまなきゃ10倍にもなる理由は説明できない コンパイラのソースとか何言ってるんだ? 頭が発狂したのか?
89 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net 具体的な説明でもobjdumpで十分だろ。 逆アセンブルしたコードなんて読まねえよ低能。
90 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net 逆汗読めねえ低脳でもリンカのマップくらい読めよせめて
91 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net ついに逆アセンブルに意味がないことを認めてしまった低能w
92 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net は? 10倍という定量的な値に反論できないのはてめえだろうが
93 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net 説明出来れば十分だろ? 構造とシンボル情報見せてlibcの初期化コードが含まれているで十分じゃん サイズ知るためだけに逆アセンブルコード読む必要なんて全然ないだろw どこに必要あるのか言ってみろよ低能w
94 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net それは10倍にならないコードを示せれば充分だ Hello World しかできねーバカにそれは無理だが
95 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net このまま逆アセンブルが必要である具体的な理由を示せないなら負けだぞ低能
96 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net 別に負けで結構だ 有料なノウハウをただでぶちまける必要はない
97 :デフォルトの名無しさん :2013/08/26(月) NY:AN:NY.AN .net 具体的に言えないどころかあえて言わないだってw ここまで否定してきて根拠も出せないw まさに負け犬の遠吠えw
98 :1 :2013/09/25(水) 16:34:17.92 .net readmemoryとか writememoryがどうなるのだろうか
99 :デフォルトの名無しさん :2013/09/26(木) 02:16:01.75 .net なんの話?
100 :デフォルトの名無しさん :2013/09/26(木) 10:13:38.72 .net ナンではありません
101 :デフォルトの名無しさん :2013/09/26(木) 12:16:43.48 .net scalaみたいな、Cかアセンブラのコードに変換してくれる言語作れば?
102 :デフォルトの名無しさん :2013/09/27(金) 02:45:38.68 .net そう。その具体的な仕様を決めようとしている。
103 :デフォルトの名無しさん :2013/09/28(土) 21:30:08.11 .net PGはバカでいいという思想はCOBOLの轍そのもの
104 :デフォルトの名無しさん :2013/09/29(日) 17:46:09.34 .net 開発環境は言語のうち つまりVisualStudioを超える開発環境を作れ
105 :デフォルトの名無しさん :2013/09/29(日) 21:16:37.17 .net >>103 Javaも割とその思想が入ってる まあJavaの場合はC++がPGを過信してることへのアンチテーゼもあるんだろうけど
106 :デフォルトの名無しさん :2013/09/30(月) 00:01:04.26 .net PGはバカでいいというなどという突拍子もない捉え方は1ビット脳そのもの なぜ中間がないのか
107 :デフォルトの名無しさん :2013/09/30(月) 01:15:30.99 .net >>106 いいえ
108 :デフォルトの名無しさん :2013/10/09(水) 19:11:24.01 .net Lazy kでよくね?
109 :デフォルトの名無しさん :2013/10/12(土) 11:56:24.18 .net >既存の言語を使って何かをすることが目的ではなく、新たなプログラミング言語を考えることが目的であるから、 >「既存のXX言語を使えばいい。」という類の発言は無意味である。 >「既存のYY言語のZZ機能は、WWと言う点で有用だから採用したい。」という発言は歓迎だ。 >現代の一流のプログラミング言語研究者が、最先端の研究成果を盛り込んで、 >一から低レベルなシステム開発のためのプログラミング言語を作るとしたら、どのような言語になるだろうか、 >という観点で考えたい。 >>1
110 :デフォルトの名無しさん :2013/10/12(土) 15:22:36.71 .net 大事なのは俺TUEEE感に浸れるかどうかだから 既存のものを流用するなどというのは根本から間違っている
111 :デフォルトの名無しさん :2013/10/12(土) 23:17:49.12 .net トランスコーダから始めよう。 謎言語toASMが最終目標だ!
112 :デフォルトの名無しさん :2013/10/13(日) 20:21:01.89 .net >>110 既存の言語を使えと言って思考停止するのは間違っているが 既存のものを流用するのは間違っていない。
113 :デフォルトの名無しさん :2013/10/14(月) 05:47:13.59 .net C言語が糞なのはヘッダファイルが原因だ #includeが#importになれば全て解決する
114 :デフォルトの名無しさん :2013/10/14(月) 06:23:07.84 .net ヘッダ面倒臭ぇ
115 :デフォルトの名無しさん :2013/10/14(月) 07:07:22.83 .net 相変わらず低レベルなところを這い回ってるな
116 :デフォルトの名無しさん :2013/10/14(月) 08:30:40.79 .net 上からモノ言う人って、すごい人なのかと思ってた。 でも意外とそうでもないんだね。 昨日、C言語スレで構文解析の話題があった時、上からモノを言ってくるので 凄い人だと思って話を聞いてたら、実は初心者だった。
117 :デフォルトの名無しさん :2013/10/14(月) 10:14:02.62 .net 人の話は板違いです。 ご遠慮ください。
118 :デフォルトの名無しさん :2014/01/24(金) 09:22:14.15 .net ステートマシン風な言語でも作ればいいじゃん。
119 :デフォルトの名無しさん :2014/01/25(土) 10:49:14.98 .net いいね。先ずは具体的なアイディアを聞かせて。
120 :デフォルトの名無しさん :2014/01/25(土) 22:33:43.03 .net 欲しい言語機能は全てRUSTに入っていた
121 :デフォルトの名無しさん :2014/01/28(火) 00:09:58.48 .net RUSTは正解に近い感じがする。
122 :デフォルトの名無しさん :2014/01/29(水) 08:34:22.46 .net RUSTってC++と比較されるけど低レベル組み込み系もいけんの?
123 :デフォルトの名無しさん :2014/01/29(水) 22:00:57.19 .net C++、stlが許されるだけのリソースがあるなら大丈夫そうだ。
124 :デフォルトの名無しさん :2014/02/03(月) 13:34:51.37 .net コンパイル時リフレクション(javaでいうアノテーション・プロセッサ)がほしいな シリアライザーとか自動でつくってほしい
125 :デフォルトの名無しさん :2014/03/22(土) 23:40:16.72 ID:kAjP8TsQ.net Dがもっと流行れば解決する。
126 :デフォルトの名無しさん :2014/06/22(日) 12:30:37.05 ID:K+9brE5n.net Dはないわ。
127 :デフォルトの名無しさん :2014/06/22(日) 15:43:07.83 ID:M7LQdNqY.net LLVM IRみたいのでいいだろ。
128 :デフォルトの名無しさん :2014/08/14(木) 02:59:53.86 ID:gB2O79x4M C言語が隠した物をさらけだすのじゃ。 CPUは違えど、だいたいは次のようなものが使えるじゃろ? レジスタ、スタックポインタ、プログラムカウンタ、フラグ(C,Z,S,HC,など)、 割り込みベクタ、タイマー、DMA、キャッシュメモリ 下のプログタム、何やってるかわかる? D$ = 10000h // Data cache size = 64KB SP = 20000h TIMER.INT = timeout() TIMER.SET = 60
129 :デフォルトの名無しさん :2014/09/01(月) 15:52:05.30 ID:nQghNeel.net vecterはc、c++から外して欲しい、元はjavaだろ、イテレータとか。
130 :デフォルトの名無しさん :2014/09/01(月) 16:52:48.36 ID:PsPID0hw.net Javaは外した方がいいというのは、銅管だ。
131 :デフォルトの名無しさん :2014/09/01(月) 19:20:16.43 ID:HFXNgtth.net ___ _ ヽo,´-'─ 、 ♪ r, "~~~~"ヽ i. ,'ノレノレ!レ〉 ☆ 日本のカクブソウは絶対に必須です ☆ __ '!从.゚ ヮ゚ノル 総務省の『憲法改正国民投票法』のURLです。 ゝン〈(つY_i(つ http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html `,.く,§_,_,ゝ, ~i_ンイノ
132 :デフォルトの名無しさん :2014/09/02(火) 03:13:01.39 ID:CRzNoeOm.net 低級言語はアセンブラと初期のCだけだろう
133 :デフォルトの名無しさん :2014/09/18(木) 13:31:28.77 ID:f9spcQ/x.net 言語作ってるんだけど、 コンパイラ作る時って一旦アセンブラ出力してからmasmとかに機械語出力してもらった方がいいの? masm自身はアセンブラコードの最適化とかはしてくれなそうだしそのまま機械語出力したいんだけど
134 :デフォルトの名無しさん :2014/09/18(木) 14:08:33.42 ID:xVnvrnxl.net アセンブラ介したほうが少なくともデバッグはしやすいと思うぞ
135 :デフォルトの名無しさん :2014/09/18(木) 14:10:35.16 ID:H4lZxv/t.net そのコンパイラで何ができるもしくは何をやらせるのかも 決めてないんだ
136 :デフォルトの名無しさん :2014/09/18(木) 15:04:00.60 ID:f9spcQ/x.net >>134 どれくらいしやすくなる? 命令のバイナリ列を理解しやすい(?)形でアセンブラに1対1で置き換えてデバッグする、っていう手間が省ける程度なら雀の涙という感じ むしろデバッグするときは結局機械語読むことになるから最初から機械語で出力したほうが理解が早い気もする それ以上のメリットってなにかあるのかな >>135 一応決まってるよ Windows8以降向けのUI・ゲーム開発言語
137 :デフォルトの名無しさん :2014/09/18(木) 15:09:30.18 ID:H4lZxv/t.net x86系の命令、16進数で読めるんだ なら、直接コード出して、ハマりまくったほうがいいかもね
138 :デフォルトの名無しさん :2014/09/18(木) 15:51:05.20 ID:6/jIYBiS.net >>136 用途からすると機械語やアセンブラへのコンパイルどころか C言語+HLSLへのトランスレータが最適解な気もするなあ… 結局、何だかんだでDirectXの関数呼ぶことになりそう んで関数呼び出して処理するなら、機械語とC言語の差は間の計算処理になるが そこも巷のC処理系の最適化はノウハウ詰まってるから 下手なアセンブラコードより速かったりする 何れにしても何層かに処理を分けることにはなるだろうから いきなり全部やろうとするより、やるべき層をひとつひとつ集中してやったほうが
139 :デフォルトの名無しさん :2014/09/18(木) 16:29:47.38 ID:f9spcQ/x.net >>137 わーい >>138 そのとおりです DirectXの関数は呼ぶよ。でもスレの主旨的にもC言語を介したくないのよね GPUへの命令はさすがに手に余るからとりあえずHLSL出力することになると思うけど… ううーん。とりあえずCに翻訳してコンパイルして、でてきたアセンブリを研究してみようかな ありがとう
140 :デフォルトの名無しさん :2014/09/18(木) 17:02:46.70 ID:R7gYP1+N.net LLVMという選択肢は
141 :デフォルトの名無しさん :2014/09/19(金) 02:00:51.26 ID:hElo33NJ.net 本スレは、コンパイラをどのように作るか、ではなく、どのような言語仕様にするか、を重視しています。 コンパイラの話が終わったら、言語仕様の話をしましょう。
142 :デフォルトの名無しさん :2014/09/19(金) 02:50:49.06 ID:uVs1JVYc.net LLVM/Clang 実践活用 ハンドブック、出村成和、2014 LLVM 言語マニュアル(Language Reference Manual) ttp://www.h3.dion.ne.jp/~mu-ra/llvm/LangRefJ.html 日本語訳です。ただし、翻訳は適当と書いてある
143 :133 :2014/09/19(金) 13:25:22.42 ID:NxcXgwij.net >>140 ,142 奥が深そうだねえ どれくらいのパフォーマンス出してくれるのか想像つかない >>141 C/C++並の低レベルプログラミングができて、人間が話せて、かつ人工知能も理解しやすいような言語という設定でいろいろ考えてる 自然言語に声調というのがあって、これは抽象化すれば音階としても処理できるから、人工知能にも扱いやすいし、 音階の配列である声調は命令の配列である機械語とも相性が良い。
144 :142 :2014/09/20(土) 02:06:52.74 ID:U6pDraTi.net LLVMはフロント・ミドル・バックの、3つの部分に独立している フロントはプログラミング言語とコンパイラ Clangなら、C/C++ → IR ミドルはコンパイル後の擬似的なアセンブラ。IR(中間コード) バックはx86,ARMなどのCPU 新言語を作っているなら、 フロントのコンパイラ(字句・構文解析)の部分だけを作って、 IRになるようにすればよい >142の本を買うのが速い
145 :デフォルトの名無しさん :2014/09/21(日) 17:41:47.69 ID:ReekRvFB.net >>143 「人工知能も理解しやすい」というのはコンパイラにとって効率が良いという意味?
146 :133 :2014/09/22(月) 19:53:03.15 ID:czCyS6sZ.net >>145 人間との会話のときに相互の情報伝達の効率がいいということ わりと強めの人工知能を想定している
147 :デフォルトの名無しさん :2014/09/22(月) 20:44:12.43 ID:bhnOQqWGU だから"会話"って何さ?音声入力か?
148 :デフォルトの名無しさん :2014/09/22(月) 21:27:22.05 ID:Q0QJp/T/.net >>146 その効率はプログラミング言語としてどういう意味を持つの?
149 :デフォルトの名無しさん :2014/09/22(月) 21:58:15.46 ID:EiJEHJdV.net 人口無能を作ってるんでは?
150 :デフォルトの名無しさん :2014/09/22(月) 22:47:26.85 ID:LvPIFofq.net >人間との会話のときに相互の情報伝達の効率がいい いわゆるドラえもんをつくる気か。すごいな。
151 :デフォルトの名無しさん :2014/09/22(月) 23:14:21.82 ID:ufGb4z7Y.net 何でも良いけど、動作速度がトロくて高級言語がとかぬかして ジェネリック要求してくるLL使いが鬱陶しいわ
152 :デフォルトの名無しさん :2014/09/23(火) 00:44:54.05 ID:75K7vBZU.net >>1 Cは高級言語だ。 そんなことも知らないのか。
153 :133 :2014/09/23(火) 00:48:58.01 ID:fk2c4+Og.net >>148 基本的な記述はより直感的になるし、抽象度の高い表現もそのまま扱える プログラミングと会話は違うけど、そこをあえて統一した規格で表現できるような言語仕様 >>2 にも書いてあるように既存のプログラミング言語にないような機能でプログラム書いてみるの楽しいでしょ >>150 そうそうそんな感じ
154 :デフォルトの名無しさん :2014/09/23(火) 09:43:28.68 ID:D7BulMBA.net >>153 人工知能とか、ネタなのか本気なのか分からなかったので若干しつこく聞いたけど、本気ならその方針で面白いものへと広げてほしい。 といいながら、興味本位で聞いてしまうけど、人間はともかく、人工知能にとって「直感的」ってどういうことなの? 人工知能ってコンパイラだよね。コンパイラにとっての直感性というのが分からなかったので。 それと、作りたいのは「言語」でいいんだよね?コンパイル可能な自然言語とか。
155 :デフォルトの名無しさん :2014/09/23(火) 12:57:04.95 ID:RZgQ8Ezi.net しゃべればしゃべるほど非マの妄言と化していくな 板違いだべ
156 :133 :2014/09/23(火) 13:48:39.80 ID:fk2c4+Og.net >>154 純粋なコンパイラというよりはコンパイラとインタプリタを統合した処理系だね。 Prologのような対話(厳密にはうちの言語のは対話ではないけど似たようなもの)を繰り返してプログラミングすることもできる。 その場合、処理系は対話によって学習できるし、学習したところから発話もするように考えてるから人工知能と呼んでいる。 人工知能にとって直感的っていうのは、手続き型の制御フローに沿った発話がそのままできるってこと。 たとえばうちの言語はそもそも語順がかなり自由だから、手続き型プログラミング的な構文をそのまま人間の言葉として理解できる、とか。 一言で言えば言語だね。芸術言語とプログラミング言語を足したようなものだよ。
157 :デフォルトの名無しさん :2014/09/23(火) 19:40:06.05 ID:D7BulMBA.net >>156 OK。現状ではコンセプトを理解するのが難しいということがわかった。 早く具体的な言語仕様を知りたいので、ぜひその議論を進めてほしい。
158 :デフォルトの名無しさん :2014/09/23(火) 22:25:50.92 ID:11MYg8X9.net >>156 実験言語で終わりそうな悪寒
159 :デフォルトの名無しさん :2014/09/23(火) 23:09:33.36 ID:beG9zooH.net エプロンおねえさん、めざしてるのかしら
160 :デフォルトの名無しさん :2014/09/24(水) 22:12:59.34 ID:1vKhut4O.net Cは高級言語であって、スレタイがすでに間違ってるのに、お前ら はあほか、こんなものを続けて何の意味があるんだ。
161 :デフォルトの名無しさん :2014/09/24(水) 23:07:20.55 ID:EketT0f3.net Cは低級言語だろ何言ってんだ
162 :デフォルトの名無しさん :2014/09/24(水) 23:11:42.12 ID:B6bZpcqc.net 高水準言語の基準は人間がそのまま動作を読み取れる言語だろ よってC言語は当然高水準言語
163 :デフォルトの名無しさん :2014/09/24(水) 23:14:48.57 ID:uTgX/qQw.net ハードウェアを直接操作できるのが低級、できないのは低脳
164 :デフォルトの名無しさん :2014/09/25(木) 01:17:10.50 ID:erkjRt9/.net 高級、低級の呼び名はどうでもいい。C言語を低級言語と呼びたくないならそれでも構わない。そのことに大した意味はない。 スレタイの意味は>>163 がほぼ正しい。 >>163 の言葉を借りれば、「ハードウェアをオーバーヘッド最小で直接操作できる言語」、それがこのスレで言うところの低級言語。 低級言語という言葉が嫌なら、ハナモゲラでもゲゲボでも好きな呼び方をすればよい。 但し、呼び方を使用する前に、定義を明確にすること。
165 :デフォルトの名無しさん :2014/09/25(木) 03:06:49.15 ID:Izg0GKzf.net Cは昔から「高級アセンブラ」と呼ばれていたと思ったが
166 :133 :2014/09/25(木) 03:14:33.45 ID:8qvU6Kt5.net >>158 どうやっても個人開発だから実験言語までいけばいいところだね。 それでむしろ実用的な最適化とかはちゃんとノウハウのあるところに開発してもらうのが一番いいんだけどな。
167 :デフォルトの名無しさん :2014/09/25(木) 04:07:23.07 ID:997Wnr2J.net 高級言語でも低級言語でもないから、中級言語である。 There are following reason that C is called Middle Level Language as: C programming language behaves as high level language through function, it gives a modular programming and breakup, increased the efficiency for resolvability. C programming language support the low level language i.e. Assembly Language. C language also gives the facility to access memory through pointer. Its combines the elements of high-level languages with the functionalism of assembly language. So, C language neither a High Level nor a Low level language but a Middle Level Language. C Programming: Middle level Language http://cprogrammingcodes.blogspot.jp/2011/12/middle-level-language.html
168 :デフォルトの名無しさん :2014/09/25(木) 04:09:06.54 ID:997Wnr2J.net 諸説あるよ "middle-level language" Googleで検索
169 :デフォルトの名無しさん :2014/09/25(木) 04:18:01.41 ID:997Wnr2J.net 各CPUのアセンブラを勉強しなくていいから、Cは、高級な感じがするが、 オブジェクト指向言語ではないし、セキュリティが不足している(実際は、それもCで達成できるはず)ようにみえるから、 Cは、高級言語ではない。
170 :デフォルトの名無しさん :2014/09/25(木) 06:36:29.36 ID:erkjRt9/.net ID:997Wnr2J には、このスレでCを「高級言語ではない」と呼ぶ権利を与えます。どうぞご自由に。
171 :デフォルトの名無しさん :2014/09/25(木) 09:38:34.27 ID:H7xxDOL8.net 高級言語ではあるけど、メモリアドレスを直接指定しての書き込みや 必要とあらばインラインアセンブラも使える言語って意味だろ 更にC言語の場合、アドレスの抽象化があまりされていなくて それらが必要でなくともアドレスを扱うことになるからそう言われるんだろう
172 :デフォルトの名無しさん :2014/09/25(木) 12:42:03.78 ID:FK6wklg/.net 高級言語って30年前の言葉だからな。C/C++より上のいまどきの言語は超高級言語だろ。
173 :デフォルトの名無しさん :2014/09/25(木) 12:46:26.61 ID:GQOH8SqT.net 肉体労働向け言語に進化しましたから、超高級とかいってるのは
174 :デフォルトの名無しさん :2014/09/25(木) 12:58:54.18 ID:aCIY3SmK.net 高級言語だから定休知能では扱えないということはなく むしろ反比例の関係にある
175 :デフォルトの名無しさん :2014/09/25(木) 13:15:02.54 ID:FK6wklg/.net マ板に高級=デラックスと勘違いしてるやつがいるとは。
176 :デフォルトの名無しさん :2014/09/25(木) 13:24:45.09 ID:GQOH8SqT.net ここム版ですが
177 :デフォルトの名無しさん :2014/09/25(木) 13:56:45.69 ID:aCIY3SmK.net マイッタ
178 :デフォルトの名無しさん :2014/09/25(木) 20:29:44.52 ID:q7N5Q3ZR.net >>2 ->>3 を読む限り>1の望みを満たして居るのはかつてとは段違いに美しく高水準に整えられた今時のアセンブラと思われる
179 :4 :2014/09/25(木) 22:48:56.68 ID:SDYrnzm/.net 愛西市の山本ウィメンズクリニックは、婦人科検診・乳腺内科を診療。また、予防接種外来・注射 六本木レディースクリニック院長 山中智哉のブログ. 六本木レディースクリニックのコンセプトにもなっている不妊治療、婦人科治療、 アンチエイジング治療などについて、いろいろな話題をお届けしたいと思います。 ブログトップ ケイ・レディースクリニック新宿 (東京都新宿区) の評判 ・実績・口コミはCalooでチェック!ユーザによるリアルな口コミ、評判、 ケイレディースクリニック新宿 川越信隆 大阪北 区の堂山レディースクリニックは、性病・性感染症・婦人科・ピル・コンジローム・クラミジア・ブライダルチェック・緊急避妊・人工妊娠中絶・ モーニングアフターピル・プラセンタ・ビタミン・女性ドック・人工妊娠中絶やホルモン異常を専門にしている女性専門医院 仙台市の産婦人科 吉田レディースクリニック. 吉田レディースクリニック 〒981-1105 仙台市太白区西中田2丁目23-5 TEL:022-741-0303 ケイ・レディースクリニック www5.plala.or.jp/keilacs/&#8206; お産の好きなドクター募集!! 一緒にステキなお産をサポートしませんか? 年齢、勤務条件など相談に応じます. 院宅も完備しています. お問い合わせは 0572−24−5855 まで.
180 :デフォルトの名無しさん :2014/10/17(金) 03:52:20.34 ID:DGojcH6F.net 配列を表現する場合無限にメモリーなりCPUなりが利用できる場合リストになるよね 数値の表現も 色々な型がサポートされている時点で低級言語じゃないか 細かいリストや配列の加工操作がしたいんじゃなくて もっと抽象的に状態に対する結果が欲しい 高級言語と呼ばれるものも抽象化で捉えると低級言語?
181 :デフォルトの名無しさん :2014/10/17(金) 09:18:32.72 ID:Z0zTp1Pd.net 各CPUを勉強するのが低級言語
182 :デフォルトの名無しさん :2014/10/17(金) 09:23:07.84 ID:Z0zTp1Pd.net ギガヘルツとか、正気か? とおもうぞ
183 :デフォルトの名無しさん :2014/10/18(土) 20:13:08.37 ID:ugB2Qpg9.net 何の話?
184 :デフォルトの名無しさん :2014/10/19(日) 13:43:57.95 ID:2X3kG3QA.net PCは15年ぐらい前から、スマホは5年ぐらい前から、ギガヘルツ超えのCPUが載ってるけど 電子レンジもWi-FiもBluetoothも2〜5ギガヘルツの電波出してるけど 正気か? とおもうか?
185 :デフォルトの名無しさん :2014/10/19(日) 13:51:13.18 ID:NuKVNm4T.net >>184 衛星とかFWA無線とかもっと速かった気が
186 :デフォルトの名無しさん :2014/10/19(日) 14:13:12.90 ID:Y2JhTmAB.net ムーアの法則で想定内。
187 :デフォルトの名無しさん :2014/10/20(月) 02:31:53.48 ID:QkxWZYWv.net 低級言語って 言語の基本機能だけじゃまともなアプリ作るの苦労するって言語ってこと?
188 :デフォルトの名無しさん :2014/10/20(月) 04:08:06.24 ID:WXuTs7FD.net 低いレイヤにアクセスすることが前提の言語な プログラミングにおける低級高級は優劣の話ではなくレイヤの話だから
189 :デフォルトの名無しさん :2014/10/20(月) 04:37:34.43 ID:QkxWZYWv.net 低レイヤってOSやハードウェアと直接やり取りするって感じ?
190 :デフォルトの名無しさん :2014/10/20(月) 08:37:55.31 ID:4bxYYw/L.net このスレとは違うが 一般に、低級言語はアセンブリ、C言語以上の言語は高級言語。
191 :デフォルトの名無しさん :2014/10/20(月) 11:11:46.78 ID:ysyLgJvq.net 超高級言語クレとは言わないけど 高高級言語くらい欲しいって思ってたら有ったっぽい 通常パターンマッチてif文の羅列やネストで重複した論理演算を省略して速度他を稼ぐんだけど パターンマッチ指向はその常識がないw なんて恐ろしい子 その代わりマッチする条件をダラダラ例記すればよいから 直感的にこの組み合わせおかしいとか修正が楽 なんか条件の検出に正規表現?使っている様な雰囲気ワロタw 最適化なしの高級っぽい言語ってマクロの親玉みたいな感じだから 実装は楽じゃないの デバッグ環境もセットで用意しろと言われるといきなり敷居があがるけど
192 :デフォルトの名無しさん :2014/10/20(月) 11:53:18.42 ID:VnfuINao.net >>191 おまえ、ここで何言ってんの?
193 :デフォルトの名無しさん :2014/10/20(月) 11:54:48.29 ID:nHn9rVxH.net LLVMそのものやん
194 :デフォルトの名無しさん :2014/10/20(月) 12:28:54.91 ID:LQcjTm7E.net 僕が考えた最強の言語Swift 各言語の構文てんこ盛りで、LLVM介してコンパイルで、>>1 が望むものじゃねーか?
195 :デフォルトの名無しさん :2014/10/20(月) 14:44:33.49 ID:QkxWZYWv.net どっかのC/C++コンパイラは一度アセンブリのソースに変換してからオブジェクトコードにするって聞いたな
196 :デフォルトの名無しさん :2014/10/20(月) 15:00:11.99 ID:LUozctHl.net よく分からないならROMっとけよ
197 :デフォルトの名無しさん :2014/10/22(水) 02:10:55.06 ID:J+sywfss.net >>194 Swiftってデバドラを実用的に書けたりするの?
198 :デフォルトの名無しさん :2014/10/23(木) 15:28:13.97 ID:eDVkHXcG.net まっくのでばどらはぜんぶ Swift でかかれるよ
199 :デフォルトの名無しさん :2014/10/26(日) 15:52:31.81 ID:NBo7Xiri.net それはすごいね。
200 :デフォルトの名無しさん :2014/10/26(日) 17:44:29.89 ID:16PtYm9d.net C言語用のVMを作ればいいじゃん GCCがVMの役割を持てばいい
201 :デフォルトの名無しさん :2014/10/26(日) 19:34:17.91 ID:8S4QBfQC.net そういうのを言葉遊びという
202 :デフォルトの名無しさん :2014/10/26(日) 21:59:29.74 ID:NBo7Xiri.net なんでVMの話が出てくるんだよ。
203 :デフォルトの名無しさん :2014/10/30(木) 17:21:21.48 ID:6ICFY1Et.net で、どこまでできたの?
204 :デフォルトの名無しさん :2014/11/01(土) 02:45:09.97 ID:nLN9HWuZ.net あ
205 :デフォルトの名無しさん :2014/11/01(土) 02:55:02.59 ID:nLN9HWuZ.net LLVMは大体分かった。GCや例外が大変。 テンプレートを型推論したくてHaskellの型推論読んでみたりしたけど難しい。 Yacc慣れするために、OCamlYaccでトランスレータ書いたりしてて、 今は文法を洗練させようとしてOCamlの別シンタックスを考えてる。 マクロはPHP的な物も検討中だな。 Swiftは悪くないけど、仕様を自分で弄れないからなぁ。
206 :デフォルトの名無しさん :2014/11/01(土) 13:24:54.74 ID:KRbHmgXS.net 組み込みの構文と違和感なく構文を拡張できればいいね。
207 :デフォルトの名無しさん :2014/11/01(土) 15:22:57.68 ID:8KfJEHPC.net 大事なのはエラーメッセージが適切な内容になる構造を持たせることと 実用的なデバッガサポートがあること 作るのを優先するとその辺が落とし穴になる
208 :デフォルトの名無しさん :2014/11/01(土) 16:12:09.26 ID:5yNYNAVX.net DylanとNemerleや、天才高校生プログラマの言語とか参考になると言えばなるんだけど 結構難しそうなので、Lisp的な式レベルでどうにか簡単な仕組みが作れれば良いなと思ってます。 エラーメッセージやデバッガは、言語機能がしっかり出来上がってからですね。 位置情報埋め込むと構文木が煩雑になるし、デバッガの為の位置情報の埋め込みも同じ。 その辺頑張ると、それだけで大変なので結局今の言語と同じ物しか作れなくなってしまう。 納得いかない文法で、エラーメッセージとか詰めても結局捨てる事になってしまうし。 エラーメッセージも出来れば、グローバライゼーションして、日本語と英語くらいは用意してあると良いけど。 それも含めて、構文拡張が出来て、うまくデバックできてっていうのは難しい。
209 :デフォルトの名無しさん :2014/11/01(土) 16:31:00.21 ID:5yNYNAVX.net エラーメッセージは特に、エラー発生箇所と、エラー内容が作っている箇所からは 特定出来ない事が多いので、エラーが発生するようなテストケース作って エラー内容のテストをしていけば、良くなるんだろうけど、1つ1つ作り込む感じにしないと 出来なさそうなので大変だけど、ちゃんと作ると、それなりに成果があっていいんでしょうねぇ Rubyが成功している理由ってそういう所もあったのかなぁ?
210 :デフォルトの名無しさん :2014/11/01(土) 21:11:55.78 ID:KRbHmgXS.net >>207 それを実現するのに有効な言語的な特性は? 具体的に提案があるとわかりやすい。
211 :デフォルトの名無しさん :2015/01/15(木) 15:09:15.49 ID:Tduq/91S.net おうお前らがモタモタしてるうちにRustが1.0になったぞ ランタイム&GC不要のメモリ管理、メタプログラミングのための各種機能をゼロ・オーバーヘッドで用意、パターンマッチもついて中々のイケメンに仕上がってるぞ >>210 メジャーな言語と似たものなら大体はいいぞ。関数型はエラーメッセージが分かりにくくて有名だからそれは避けてね
212 :デフォルトの名無しさん :2015/01/30(金) 15:25:40.49 ID:FZMZtl7q.net フルスクラッチでcを実装するブログ読んで思わず自分もって感じで始めた まずは、物凄くシンプルなc言語っぽい仕様書をシコシコ書いてる 実装するまでは中二病に浸れて気持ちいいなこれww あと、ここの http://homepage1.nifty.com/herumi/prog/x64.html c言語でのレジスタの扱いとか読むと 行儀の良さげなレジスタの扱い方とか参考になる だけど、一番目の整数引数rcxの下り 一番目が実数だった場合はxm0と言う排他的にrcxもしくはxm0で受け渡すって言う意味なのは サンプルコードを見るまで理解できなかったww vs2013も入れたけどコンパイルしたあとのアセンブラのコード何処で見るのか不明w
213 :デフォルトの名無しさん :2015/01/30(金) 19:27:40.42 ID:6KJpuSJC.net >>1 低級なのはお前の頭だろ。
214 :デフォルトの名無しさん :2015/01/30(金) 22:38:21.69 ID:lIZvN3Ub.net .NETでどうでもよくなったよなー ていれべるなことなんてほんとしなくなったわ
215 :デフォルトの名無しさん :2015/01/31(土) 13:48:59.11 ID:8ogYhJDT.net このスレは言語について議論するスレである。 「.NETでていれべるなことしなくなった」というのはこのスレでは的外れな発言である。
216 :デフォルトの名無しさん :2015/01/31(土) 14:20:18.92 ID:1XVXay7T.net ほんとにいい時代になったよな >>214 マ板へお帰り
217 :デフォルトの名無しさん :2015/01/31(土) 22:11:13.99 ID:L/74skj4.net 新しい言語に何を求める?
218 :デフォルトの名無しさん :2015/01/31(土) 22:16:50.25 ID:pKNd4dfq.net モアパワーそしてモアトルクだ
219 :デフォルトの名無しさん :2015/02/01(日) 01:59:02.72 ID:mW2nLdSc.net 求めたのは低級言語 出来上がったのは低脳言語 無能が開発すると(以下略 vc++とかgccの吐き出すコードってそんなに酷いかな? 吐き出されたコードがアセンブラレベルで手を加えやすいと助かる そんな感覚はあるけど、小さい規模なら問題ないけど 規模が膨らむと放棄するしかないような
220 :デフォルトの名無しさん :2015/02/02(月) 01:52:40.02 ID:Ond45CKH.net このスレは言語仕様を議論するスレであって、処理系が吐き出すコード(バイナリ?)に関しての議論はスレ違い。
221 :デフォルトの名無しさん :2015/02/02(月) 06:05:55.27 ID:j5MISSAc.net 低級言語ってアセンブラレベルでお手入れができたり アセンブラに近い処理ができたりCに近い感覚じゃダメなのかね 言語仕様のなかにこれはアセンブラに近い記述でありコードもそれに近いコード この部分の記述はガベージコレクタを含む重い処理を暗黙で行っていますって感じで ソースを一見するだけで明確なのが良いのいでは? 変数の宣言でint型をINTと大文字で書いて[0...100]とか範囲指定がある場合とか var I:INT[0..100] I=I+101 //一見したときの明確さは変数は大文字、型指定も大文字 //ああ、厳格な範囲検査してるから遅くなるってわかるみたいな
222 :デフォルトの名無しさん :2015/02/07(土) 00:44:43.69 ID:4cqwcWM8.net >>221 Objective-C がそんな感じで c / c++ の文法に加えて コスト大なメッセージパッシングの仕組みを混在させてる
223 :デフォルトの名無しさん :2015/02/07(土) 08:58:43.40 ID:vv4w4L4p.net Objective-Cは文法のセンスが致命的に悪い。
224 :デフォルトの名無しさん :2015/02/07(土) 13:22:00.52 ID:opuN7f//.net >>221 >低級言語ってアセンブラレベルでお手入れができたり >アセンブラに近い処理ができたりCに近い感覚じゃダメなのかね それでいいよ。 で、その時に、それをどのような文法で実現するのか、がこのスレの主題。 いま、Cと同じことができる言語を1から考えたら、Cと全く同じ文法にはならないだろう。 それを考えるのがこのスレの趣旨。
225 :デフォルトの名無しさん :2015/02/07(土) 14:23:19.42 ID:1yVP4+Fh.net Luaはどうよ?
226 :デフォルトの名無しさん :2015/02/07(土) 15:44:39.52 ID:TiU3gCM4.net どこのスレの誤爆ですか?
227 :デフォルトの名無しさん :2015/02/07(土) 15:57:46.61 ID:IoYj+0nc.net >>225 Luaいいね 色々考えるとLuaの再定義っぽい感じかな Luaってスクリプト言語に分類されるアセンブラみたい 低級言語だから高級っぽい文法でプログラムを書き下して コンパイルして一旦アセンブラのソースの形で出力 必要ならここで編集 最後にアセンブラさんにお任せみたいな アセンブラって基本ラベルとメモリー空間があって そこにどんな形式のどんなデータが格納されているのかは自己責任って世界だから ここら辺を援護してくれるマクロアセンブラっぽい物が良いのかな
228 :デフォルトの名無しさん :2015/02/19(木) 03:03:32.12 ID:z6pi1paq.net あえて言おう rustでおk
229 :デフォルトの名無しさん :2015/02/26(木) 00:12:09.00 ID:Jk67BKxU.net スレ立てから3年が経った今、時は動き出す ってことではよ何か作ろうや
230 :デフォルトの名無しさん :2015/03/05(木) 23:01:28.56 ID:4N6WK8Zh.net 最近の名前だけ高級言語スクリプトを見てると仕様も技術者もアホの極地にしか見えん。 その技術者の得意言語でもやっちゃいけないって事を平気でやる
231 :デフォルトの名無しさん :2015/03/05(木) 23:02:51.16 ID:rUbEobY5.net >>230 具体的に知りたいな
232 :デフォルトの名無しさん :2015/03/06(金) 18:39:28.57 ID:CTj2h1Ar.net 逆に超高級言語を作りたいな(´・ω・`) 今一番超高級な言語って何がありますか?
233 :デフォルトの名無しさん :2015/03/06(金) 21:17:39.74 ID:k288A3Sb.net haskell
234 :デフォルトの名無しさん :2015/03/06(金) 22:48:44.48 ID:K7+tV1QH.net 依存型のAgda、Coq、Idris、ATSとか
235 :デフォルトの名無しさん :2015/03/07(土) 10:12:36.84 ID:pum8dd/R.net ここは勉強になるスレだぬ >>234 聞いたこと無いので検索してみるw >>233 キチぴーご用達なww
236 :デフォルトの名無しさん :2015/03/08(日) 19:10:07.23 ID:KcdPJfzn.net 日本語かな
237 :デフォルトの名無しさん :2015/03/08(日) 23:03:34.99 ID:52zFOAkV.net マイナーな言語は習得が大変なことと、わからないことがあったとき情報やノウハウがないので 全部自分で何とかしないといけない。普及している言語の中から好きなのを選んで使いこなすのが一番いいよ。
238 :デフォルトの名無しさん :2015/03/08(日) 23:13:29.78 ID:mm6WxmZr.net マイナーだけどメジャーになりそうなら本書いて印税うはうは
239 :デフォルトの名無しさん :2015/03/19(木) 21:48:47.69 ID:QTBsG6tP.net 高級言語を使いこなすってC++を使いこなすより大変じゃないのか? で結局パワーではC++に敵わない
240 :デフォルトの名無しさん :2015/03/20(金) 16:42:34.97 ID:sriWfzYS.net >>239 C++ほど大変な高級言語はなかなか無いと思うぞ
241 :デフォルトの名無しさん :2015/03/20(金) 19:26:50.44 ID:e2IVv9/F.net C++ほど変態な高級言語はなかなか無いと思うぞ
242 :デフォルトの名無しさん :2015/03/20(金) 22:14:20.35 ID:1BR7B8ZR.net C++ほど変変な高級言語はなかなか無いと思うぞ
243 :デフォルトの名無しさん :2015/03/21(土) 00:46:15.62 ID:m0LUk3nX.net c++のunsigned long 型の変数を >=0で評価するとーの値が存在しないので必ずTureになって forループが無限ループになるバグの説明が面白かった アセンブラならループのインデックスを引いたあとキャリーフラグ調べて分岐じゃないか ループ離脱の条件が単純比較じゃなくて条件式を容認してるからだろうけど
244 :デフォルトの名無しさん :2015/03/21(土) 02:54:48.44 ID:x0x7jBK5.net Cの骨にテンプレートの肉を詰め、OOの毛皮を被った化物だよ 骨だけ使った料理もできるし肉を焼いてもいいし、毛皮からコートを作ったっていいが、 他人が作ったものはまだ蠢いているかもしれないから怖い。
245 :デフォルトの名無しさん :2015/03/21(土) 07:42:06.13 ID:zBl3Ii3W.net >>243 そもそもループカウンタにunsignedを使うこと自体、バグと言うべき話なのでわないかと・・・
246 :デフォルトの名無しさん :2015/03/21(土) 10:14:12.91 ID:9V6972Qg.net 必ずTureになるのが1番の問題
247 :デフォルトの名無しさん :2015/03/21(土) 11:05:05.60 ID:rA11USYH.net ×Ture ○True
248 :デフォルトの名無しさん :2015/03/21(土) 12:01:32.67 ID:/IY/BI0W.net while(true)で評価するとーの値が変化しないので必ずTureになって whileループが無限ループになるバグの説明が面白かった ループ離脱の条件が条件式だけじゃなくてbreakやreturnを容認してるからだろうけど
249 :デフォルトの名無しさん :2015/03/21(土) 14:50:37.16 ID:TeX2vL/Q.net 高級な変態というと・・・女体盛りで大トロとかヒラメの縁側を使う感じか。
250 :デフォルトの名無しさん :2015/03/21(土) 15:50:58.96 ID:xKri6eTm.net >>245 増えていくカウンタなら問題はない 減っていくカウンタでも 0 でループアウトするように組むのなら問題ない、a >= 0 とするから問題になる
251 :デフォルトの名無しさん :2015/03/21(土) 20:43:28.09 ID:zBl3Ii3W.net >>250 それはそうなんだが、勘違いしやすかったり、注意しないとバグの温床になりやすいことはしないのが基本だと思うんだが。 ループカウンタとして使うなら普通に int 使えよと。
252 :デフォルトの名無しさん :2015/03/22(日) 00:05:49.26 ID:SsX9i6KK.net C++/CLIはC++の顔してて勝手にスレッド作りやがる
253 :デフォルトの名無しさん :2015/04/13(月) 21:56:18.38 ID:1Ez10RQf.net FORTHという>>1 の要件をほぼかなえる言語がある これをベースにすればよい
254 :デフォルトの名無しさん :2015/06/10(水) 13:56:59.28 ID:/kHDwUM2.net while( c ) { ... c -= 2; }
255 :デフォルトの名無しさん :2015/06/10(水) 23:35:06.95 ID:bjmIAJs7.net 好き / “アセンブリ言語のみで言語処理系を作った話 // Speaker Deck” ttps://speakerdeck.com/nineties/bootstrap これ見て元気だせ 自分でも出来そうな気がするだろ 実際、大学あたりではcコンパイラの実装までやらせてるんじゃないの?
256 :デフォルトの名無しさん :2015/06/11(木) 02:58:17.97 ID:wwX+zBdZ.net >>255 簡単そうに書いてるけど、これ相当わかってる人でレベルが高い。 俺には1段階理解するだけで大変。自分で実装できる気がしない。
257 :デフォルトの名無しさん :2015/06/11(木) 18:03:31.89 ID:mzhQ9y6C.net >>255 たぶんこの人だね ttps://www.s.u-tokyo.ac.jp/ja/rigakuru/3384/
258 :デフォルトの名無しさん :2015/06/13(土) 22:22:22.81 ID:ueb0hiNe.net あー、ドアドアの人? と思ったら違ったヽ(´ー`)ノ むかーし(20年ちょっと)、アセンブラに構造化マクロを追加して『生産性が超上がる!』って 謳ったPDS(今で言うフリーソフト)があったけれど、当時意味分からなかったなあ。 と言うかGCCの吐くアセンブラコードを読んで、自分で書くより綺麗でスッパリ諦めた(^^;
259 :デフォルトの名無しさん :2015/06/14(日) 01:34:40.73 ID:et+uySKI.net 少し前、x265のエンコードダーをアセンブラで記述してる人達の話題で プログラムを組む上で何が問題なのかって話題があって OSのシステムコールを行うとレジスターが壊れるのが気に入らないって事だった オレは重要なアルゴリズムに係わる高度なコーディング作業をしているのだから システムコール如きへの配慮で煩わしい事をさせるなってことかな システムコール用のレジスタ退避マクロなり システムコールをラップしてレジスタを退避復旧したり もう少し便利なアセンブラの処理系を作ってみたりしないのかな〜 既存コードとの互換性問題とかあるのかな アセンブラ関係のTool類はかなり保守的で目新しい道具類がガンガン使われる様子は少な目?? >>255 の記事を読むと、コンパイラ系統ってリストへの変換ー>実行コード(アセンブラ)への還元って事が凄くよく判るんだよね 物凄く大雑把に言うと、LISP処理系への構文糖衣≒コンパイルする対象(プログラム塊) な構図
260 :デフォルトの名無しさん :2015/06/20(土) 16:36:37.21 ID:lPLujLwf.net Objective-ASM
261 :デフォルトの名無しさん :2015/10/31(土) 22:45:31.32 ID:z7pRF+TT.net >>54 どこがスレ違いなんだ。 それどころか、このスレを建てること自体が間違ってるだろ。 それを指摘するのは正しいことだろ。
262 :デフォルトの名無しさん :2015/10/31(土) 23:17:02.36 ID:d1AV3Byr.net 54 :デフォルトの名無しさん [sage] :2013/04/07(日) 22:40:29.84
263 :デフォルトの名無しさん :2015/11/01(日) 07:59:19.09 ID:xEvp3/ht.net VS2013のC++x64でアセンブラコードみてるんだけど かなり良さそうなコード吐き出している 問題はC++の仕様が大きいので他人の書いたコードが理解できないこと C++の仕様の大きさが問題ならC++のコードを吐き出すプリプロセッサ? みたいなものを企画してあとはC++にお任せが一番楽そうだね unionを使った偽装もキャストって呼ぶんだな &を使うリファレンスも別名とか名称変更とか説明があってやっと理解できた C++もC並みにフリーダムだからお行儀の悪いコードが書けてしまう 提案になってないな アイデアとしては、cpuやハードを直接叩く記述をする場合明確に宣言させて隔離とか _low_level_fuc みたいなキーワード導入してその内部のみ色々悪さが出来るとか これは運用の問題なので今のC++でも可能なんだろうけど pythonのサブセット、お行儀の悪いpythonとかpychonとかoppayとかwww C++の複雑さって仕様が大きくなって新たなキーワードを導入して何でもかんでも 詳細にテキストで記述しようとした結果じゃないかな 本来ライブラリなりフレームワークなりにお任せすべき部分までやらかしていると
264 :デフォルトの名無しさん :2015/11/01(日) 08:07:06.43 ID:xEvp3/ht.net Cの複雑さってint,char,とか扱う型の種類とサイズが多い事も理由っぽいので ここはきっぱりアルゴリズムを記述する為に扱える数値の種類を1,2種類に限定して そのほかはデーターベースの記録管理みたいに色々なコストをかけて 型変換なりレンジチェックなり圧縮なり手間隙かければ良いのでは? いっそ64bitサイズの何かで統一してしまう charもintも実数も全部64bitの何かw
265 :デフォルトの名無しさん :2015/11/01(日) 09:17:05.73 ID:v5UlfxKI.net >>262 単に型なしのオブジェクト言語使えばいいのでわないかと
266 :デフォルトの名無しさん :2015/11/11(水) 11:53:35.17 ID:iOpec/0o.net 型無しのオブジェクト言語って言えばluajitがかなり高速なんだよな、確か。 あれの仕様を上手く転用できないかな。
267 :デフォルトの名無しさん :2015/11/11(水) 20:22:43.34 ID:1hY3wyl+.net 多分スクリプトとアセンブラの悪いとこ取りじゃね
268 :デフォルトの名無しさん :2015/12/14(月) 21:02:53.45 ID:LOQs7wcg.net Rustいつのまにかstableリリース出てたのか・・・ Swiftみたいな負の遺産に塗れたクソ言語に比べりゃ大分>>1 の理想に近いと思うんだけど モジラってOSSの見切り早いし将来性が不安だわ
269 :デフォルトの名無しさん :2016/04/08(金) 01:45:14.02 ID:sej0xQjF.net void*最強って話か?w コンパイラが勝手にトレードオフして機能の一部をFPGAに突っ込んでくれよ
270 :デフォルトの名無しさん :2016/05/24(火) 08:42:53.66 ID:67ul01kR.net 高速とは無縁だけど多倍長整数ってあるよね これをビット単位でやるの、管理も緩く1ビットで1バイト使って管理 速度で無いけど全部の計算表現できるよね 文字列とかは考慮してないけど 色々考えた結果、変数の精度、byte,word,duble word,q... ここら辺がいかにCPUの効率都合に合わせた制限だってよく判る 制限して精度に条件が付いても効率と速度が欲しいって言う たった1ビットの多倍長数が扱えるだけで何でも表現できるなと思った。ww
271 :デフォルトの名無しさん :2016/05/24(火) 15:58:40.37 ID:AJNPSyjI.net せめてBCDにしれwww
272 :デフォルトの名無しさん :2016/06/02(木) 01:23:18.32 ID:RwzROqD7.net 何で10進数にしたがるかね
273 :デフォルトの名無しさん :2017/03/25(土) 08:50:12.87 ID:Wiqnaowk.net RustがC++に並ぶぐらい速くなってるみたいだけどRustのサブセットみたいなの作ったら良いのかね
274 :デフォルトの名無しさん :2017/04/03(月) 00:12:39.32 ID:Eo4f9wsY.net 修理するより買い換えた方が安いって話は多いが もはや解読不可能になったコードのメンテナンスに金は出すくせに 新しく作り直すのはNGってのは恐ろしいな 大手では比較的作り直しもするようだが
275 :デフォルトの名無しさん :2017/04/03(月) 00:14:37.85 ID:Eo4f9wsY.net もしあらゆる面でC++に勝る言語が出来たとしても、それが流行るかどうかは怪しい
276 :デフォルトの名無しさん :2017/04/03(月) 00:53:32.18 ID:OlsWZk+G.net >>273 なんでサブセット?
277 :デフォルトの名無しさん :2017/08/25(金) 04:46:53.19 ID:QVMMnsrU.net ネタがないんだね Cに代わるっておそらく劣化Cになるだろうし C++は現状仕様が巨大過ぎて大変な状態らしい 最後は、ライブラリーを移植するとき仕様差による移植性の低下をどうカバーするか問題がでる (ライブラリーなんて一から書いてられないから) ー> 結果現行のC++でも良いじゃん 設計とかコード書くときの作法が問題じゃねーのみたいに収束するのかな あとは、コードの様子を解析するツールやAIっぽい機能を備えた解析などを行うアシストツールが必要になりそう 10進数の需要って金銭関係や丸め切り捨ては四捨五入で行いたい方面に需要があるんかな、やっぱ
278 :デフォルトの名無しさん :2017/08/25(金) 11:22:12.03 ID:KodDhcxm.net 最近のC++は何を勘違いしたか高級言語気取っててウザイ。
279 :デフォルトの名無しさん :2017/08/25(金) 21:39:31.76 ID:BZOsNf+t.net 高級っぽく見える言語だな
280 :デフォルトの名無しさん :2017/08/26(土) 11:55:56.79 ID:lejZryYl.net トンキンではC++関係者は不審者に見えるらしいw
281 :デフォルトの名無しさん :2018/03/25(日) 14:11:56.44 .net >>3 >◆新言語でのリソース管理方針◆ > >・確保したリソースを明示的に後始末しなくても問題が発生しない >・何らかのメリットのために確保したリソースを明示的に後始末してもよい こういう魔法みたいなことってどうやったらできるんだろうね もちろん効率重視なのは言うまでもない前提条件として 数十〜数百マイクロ秒単位で使用元・使用先スレッドがガチャガチャ入れ替わる環境で
282 :デフォルトの名無しさん :2018/05/23(水) 20:03:50.70 ID:Au5e7VGg.net 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 BTGPU
283 :デフォルトの名無しさん :2018/07/05(木) 01:37:35.74 ID:RfoszcD2.net DKB
284 :デフォルトの名無しさん :2018/10/20(土) 20:00:04.70 ID:YPDT0Cqq.net Cは8進10進16進数が扱えるのに、何で2進数が扱えないんだろう。 ちょっとの工夫でどうとでもなるけど、やっぱ標準であると嬉しいなあ。
285 :デフォルトの名無しさん :2018/10/21(日) 14:55:24.25 ID:YTn6F4Fk.net 16進数の方が分かりやすいからじゃないの 1010000とか書かれても1の位置がどこかすぐに分からないし 0x50なら一目で分かるけど
286 :デフォルトの名無しさん :2018/10/21(日) 17:25:58.13 ID:3rYBWp0g.net gccはじめメジャーなコンパイラなら大抵は2進数リテラルは扱えるから よく使う処理系基準でいいでしょ
287 :デフォルトの名無しさん :2018/10/21(日) 20:17:45.60 ID:IbAoaMml.net C++では0bが使えるようになったけど、Cはまだなのか つか素直にC++使おう
288 :デフォルトの名無しさん :2018/10/21(日) 21:24:49.94 ID:y1FMkoBF.net 最近のc++は糞化拡張が止まらないから。 あくまでアセンブラの代替として使いたいのであって、ハード寄りのコードを書きたいのであって、 速度重視、メモリ効率重視が根底にあるのに、c++の仕様拡張してる奴らはただの言語オタクでうざい。
289 :デフォルトの名無しさん :2019/05/25(土) 11:08:30.63 ID:jbgB9jQg.net Rustが正解に近い。 メジャー化してエコシステムが充実すればいける。
290 :デフォルトの名無しさん :2019/06/03(月) 11:49:30.62 ID:561P/qAZ.net armcc, armclang, Linaro GCC ARMR コンパイラ armcc ユーザガイド http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0472jj/index.html armcc は、標準 C および標準 C++ のソースコードを ARM アーキテクチャベースプロセッサのマシンコードにコンパイルする、最適化 C および C++ コンパイラです。
291 :1 :2019/08/13(火) 23:00:51.64 ID:oTlgbS6H.net Rustが正解であることが確認されました。 10年弱に渡りお付き合いいただきありがとうございました。
292 :デフォルトの名無しさん :2019/08/21(水) 20:28:24.91 ID:6xsUkfpB.net 言語が 理解習得し易い 誤認間違い難い というのもお願いしたい
293 :デフォルトの名無しさん :2019/08/31(土) 17:50:09.35 ID:54Etlgy2.net MIT「えっまた俺なんかやっちゃいました?」 julia、軌道に乗る
294 :デフォルトの名無しさん :2019/08/31(土) 22:20:26.54 ID:XxwPKKvU.net >>278 大本の思想がランタイム速度落とさずにできるかぎり高級機能入れてこう ってなところがあるんで自然といえば自然。 ある種の人体実験場みたいなところがc++の意義って気もする。
295 :デフォルトの名無しさん :2019/09/01(日) 01:01:46.09 ID:JdN5NInb.net >>289 バスト占い思い出した
296 :デフォルトの名無しさん :2019/09/01(日) 13:35:22.25 ID:gzRpR9B4.net c++が示したことってのは結局 ランタイム速度 高級機能を追加 の2点だけ追求すれば馬鹿プログラマは寄ってくるってことなんだわ。
297 :デフォルトの名無しさん :2019/09/14(土) 20:38:11.35 ID:IbeHy12P.net どうみても今はコード書かない言語オタクが好き勝手に拡張してる。 C++にくだらん機能追加したいなら名前変えろよ。 C++系言語で普及した言語はJavaやC#などいっぱいある。
298 :デフォルトの名無しさん :2020/02/17(月) 23:02:27.37 ID:R0DiDWe7.net Low* (Low star)という言語は型システムがすごいのでぜひ取り入れていくべき
299 :デフォルトの名無しさん :2021/04/05(月) 03:43:23.54 ID:SDYSIyNbI エンジニア、テクノロジスト、テクニシャンhttp://yoshi-s.cocolog-nifty.com/cpu/2016/08/post-bbd2.html エンジニア、テクノロジスト、テクニシャンの違いについてhttp://ddcph.hatenablog.com/entry/2016/06/08/000000 エンジニアとテクニシャンあるいは技術屋と職人の違いhttp://www.02320.net/technician_or_engineer/ あなたは本当にエンジニアですか?海外で「私はWebエンジニアです」と 名乗ると「経済学部卒なのに?」と聞かれた理由。https://note.com/rdlabo/n/n36a85584edd5 エンジニアとは何か(日本と欧米の違い)https://ce-akimoto.com/archives/1180 はたして3ヶ月でエンジニアになれるのかhttps://tsukamon.com/blogs/7 エンジニアは「技術者」ではない。それは「工学者」である。https://togetter.com/li/915192 技術者と技能者http://www2.kanazawa-it.ac.jp/intreng/engineer/data/about_engineer.html 工学系大学卒業者は皆エンジニアか ?https://webty.jp/staffblog/blog/post-3622/ 第18回:「テクノロジスト」の社会的認知が必要https://xtech.nikkei.com/it/article/COLUMN/20070510/270612/
300 :デフォルトの名無しさん :2021/10/27(水) 10:06:43.69 ID:XE3bmMwX.net 演算子オーバーロードって難読化だよね
301 :デフォルトの名無しさん :2021/10/28(木) 12:18:05.54 ID:VQB5DVZJ.net まあ、もともとCは最適化はあまりやらなくて、プログラマの意思をなるべく素直に伝えるという思想だしな。だから、a=a+1;とa++;は演算後の値は同じでもプログラマの意図は違う。前者は加算命令、後者はインクリメント命令に落ちてほしい。 コンパイラのエラーチェックも最小限で、チェックはlint使えって感じだし。 Rust屋の主張するメモリ安全なんかも「うっせえわ!黙って言う通りにやれ!」って感じ。 あぁ、キャリー/ボローフラグが使えたら良いなあって時はあるかな。
302 :ハノン :2021/10/30(土) 16:29:48.11 ID:nIglmucm.net >>301 >キャリー/ボローフラグが使えたら良いなあ ですよね、ローテート/シフトのときは特に
303 :デフォルトの名無しさん :2021/11/06(土) 14:48:01.13 ID:b1XdA94q.net int と size_t がいつも混在して面倒になる
304 :デフォルトの名無しさん :2021/11/26(金) 11:52:34.78 ID:ARqZ/fb1.net 勝手な整数拡張をやめてくれるある意味cより低級なcが欲しい パフォーマンス的にワード長で扱うのが良いというのもわかるが あえてintより小さい型で計算したい時というのはそれなりの理由があるからやるわけで その型内でオーバーフローしたら切り詰めずに素直に落ちろ
305 :デフォルトの名無しさん :2022/04/19(火) 01:58:13.78 ID:TThcYTpA.net しかしそこまで低級なところに降りていくとマクロアセンブラみたいなのが使いやすい感じになっちゃうんだよね。 言語上の表現がどういう機械語に対応付くのか意識するともう直接書いた方がええわ……となる。
306 :デフォルトの名無しさん :2022/04/19(火) 14:30:56.58 ID:1/h8QBeL.net 呼び出し前後のレジスタ退避と回復だけやってくれれば意外とアセンブラはほぼforthだよね
307 :デフォルトの名無しさん :2022/04/21(木) 17:35:30.02 ID:+ZjRtsOn.net forthは言語とマクロ用言語が同一言語なアセンブラだな gforthみたいなリッチ実装はコンパイル済の定義を参照するとx86の標準文法を曝け出しちゃってなんだかなぁ、と思う
308 :デフォルトの名無しさん :2022/04/21(木) 20:15:20.64 ID:O4XEE7U4.net >>306 forthは呼び出し規約の抽象化じゃなくて、型と引数という概念を捨てて自由になった マシン依存性を排除するためにレジスタを抽象化した汎用dスタックに全ての命令が型と個数の解釈をモラルを守って作用することで成り立ってる (暗黙の)引数渡しに関してはオーバーヘッドは大きくないので普通はマシンの最大スカラー型 floatはさすがにfスタックがあるけど dスタックだけで複雑なデータ操作は厳しいから、最大スカラー型である事が保証されてるrスタック(生ハードウェアスタック)が一時領域に便利なのが闇 制御構造も戻りアドレスや添字を積むだけだから、うっかり積み残しがあると戻りアドレスやデータが添字代わりにインクリメントされ続けたり不可解な事に あとは拡張性が売りの癖に制御構造のポータブルな拡張が難しいのがな… もちろん制御構造と整合性のある単純な命令くらいは添えられてるのであくまで例だけど 指定回数ループをbreakするには最低で添字と戻りアドレスをpopする必要があるけど、たいてい実装拡張として積まれてるデータは不定、何回popしたらセグフォるか試すことになる 規格の制御構造には不備があるから(これは本当)うちの拡張を推奨ってのが普通の世界 制御構造すら定番がなくて、同じ言語といえるのかという疑問すら湧く
309 :デフォルトの名無しさん :2022/04/21(木) 21:15:26.12 ID:O4XEE7U4.net >>307 コメント無くなってたり、埋め込んだ定義が等価な表現に置き換わってたりするから、seeは既存のコードを参照してるのでなくて、ブロブからforthコードへのディスアセンブラ(再構築) ワードを渡せば' でそのワードの指すアドレスは取れるけど、そこから何バイト読むかのオフセット指定をseeは取らない、かなりヒューリスティックだと思う seeで標準される開始-終了アドレスに、読みすぎてそうなら適当に足すか、途中で切れてるようなコードなら適当に足してaddr nbyte discloseと呼べば大体復元できると思う dis、+disとかも入ってたっけ まあ、具体的なレジスタやメモリの名前が分かるだけでforthコードとそんな変わらないという悲しさはあるが
310 :デフォルトの名無しさん :2022/07/30(土) 16:21:32.91 ID:paa5jUiA.net Nim++
311 :デフォルトの名無しさん :2022/08/03(水) 08:36:38.78 ID:G37dUWbH.net 低級言語ならx64特化して構造化アセンブラみたいな感じで ちょっとオシャレだけどやってる事はほぼむき出しのレジスタ操作みたいな?
312 :デフォルトの名無しさん :2022/08/03(水) 11:55:01.67 ID:GLMdE3Py.net masm64でinvokeしまくれば
313 :デフォルトの名無しさん :2022/08/04(木) 05:27:08 ID:Xs8BUVRi.net 例えばループが多重化してループカウンタが複数必要な場合 作法としてRCXを使うけど、処理系が最適化で空いてるレジスタを割り当てたり 退避復帰をしつつRCXを使うとか 固定領域を確保してカウントに使用するとか自動でやってくれるみたいな プログラムコードは雰囲気コーディングだけど最終出力は忖度された何かみたいな感じ
314 :デフォルトの名無しさん :2022/08/04(木) 18:25:34.25 ID:+TMVVsOn.net アセンブリ並みの変態低級言語作る?
315 :デフォルトの名無しさん :2022/08/06(土) 14:07:02.72 ID:eSBCWCwI.net Nim++
316 :デフォルトの名無しさん :2023/09/21(木) 12:59:48.22 ID:7twnyTUv.net もうそろそろ、おしで祭りや
317 :デフォルトの名無しさん :2023/11/01(水) 03:29:10.04 ID:5z6NYMjm.net Nim#
318 :デフォルトの名無しさん :2023/11/05(日) 10:42:59.68 ID:ol9bMVcc.net Rust++
319 :デフォルトの名無しさん :2023/11/05(日) 16:32:02.05 ID:M+aCXIKU.net 最近のCPUのアセンブラはほとんどCと変わらないようだけど
320 :デフォルトの名無しさん :2023/11/06(月) 06:07:34.02 ID:bdWb9xgB.net 昔のCはアセンブラとほとんど変わらなかったから 差は縮まっていない なにも変わってない
321 :デフォルトの名無しさん :2023/11/06(月) 16:20:14.87 ID:cmjYyIPB.net 最近はむしろC標準が直接サポートしてない命令が増えてるからな ローテイトなんていまだにないし
322 :デフォルトの名無しさん :2023/11/11(土) 12:31:46.21 ID:fuGMacjx.net >>321 良いのが入荷 https://www.youtube.com/watch?v=P6KRbjoFdwY
323 :デフォルトの名無しさん :2024/02/11(日) 03:12:32.56 ID:morq3qnL.net >>295 Aカップが好きなアセンブラ君、食わず嫌いはいけません高級言語は恐くありませーん Bカップが好きなBASIC君、少しは毛が生えたけどまだまだ修行が足りません関数に興味はないのですか Cカップが好きな君は正解に限りなく近い。有象無象の言語はたくさん出てきたけれど結局Cが手ごろサイズで限りなく正解に近いです Jカップが好きな君は煩悩に振り回されっぱなしです。たまには太陽だけでなく月にも興味を持ちなさい
324 :デフォルトの名無しさん :2024/04/19(金) 10:13:34.89 ID:uD5nyH4z.net >>1 仮想アセンブラを作ることになるが、かえって誤ったハードウェアと勘違いしそうw
325 :デフォルトの名無しさん :2024/04/19(金) 10:14:46.38 ID:uD5nyH4z.net >>319 アセンブラがわからないのに語る変なやつw
326 :デフォルトの名無しさん :2024/05/02(木) 01:06:39.68 ID:f54xPIPf.net >>323 どうでもいい話だけど、J が Java のことを言ってるようにも見えるので 実際には J 言語てのがあるんだけどね J はJava や JS とは全く関係ない、APL (という言語) の派生言語で APL と違って特殊キャラクタを使用せず ASCII のみで記述可能にしたもの
80 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★
本文 スレッドタイトル 投稿者