TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
Excel VBA 質問スレ Part66
Regular Expression(正規表現) Part14
【分散型バージョン管理】 Mercurial 2【hg】
Kotlin 4
C#は糞2.0
Prologでまったり Part5
Flutterやろうよ!!!
Visual Studio 2012 Part8
C言語なら俺に聞け 146
2ちゃんねる互換P2P匿名掲示板の実装を考える 1
【超高速】C/C++に代わる低級言語を開発したい 8
- 1 :2012/08/23 〜 最終レス :2020/02/17
- 70年代、Cは生まれ、それから30余年、現代においてもなお、低レベルなシステム開発に広く使われている。
しかし、2010年の今、もしもCが発明されていなかったとして、低レベルなシステム開発のためのプログラミング言語を
新たに作るとしたら、Cとは違う言語になるだろう。少なくとも、全く同じにはならないはずだ。
そこで、このスレッドでは、
低レベルなシステム開発のためのプログラミング言語
を一から考えたい。
既存の言語を使って何かをすることが目的ではなく、新たなプログラミング言語を考えることが目的であるから、
「既存のXX言語を使えばいい。」という類の発言は無意味である。
「既存のYY言語のZZ機能は、WWと言う点で有用だから採用したい。」という発言は歓迎だ。
現代の一流のプログラミング言語研究者が、最先端の研究成果を盛り込んで、
一から低レベルなシステム開発のためのプログラミング言語を作るとしたら、どのような言語になるだろうか、
という観点で考えたい。
◆前スレ
【超高速】C/C++に代わる低級言語を開発したい 7
http://toro.2ch.sc/test/read.cgi/tech/1275235018/l50
- 2 :
- ◆新言語の要件 v0.1◆
(1)ハードウェアを直接操作する低レベルの記述が可能
(2)プログラマーが勘違いしてプログラマーの意図と違う動作をしないように言語仕様が直感的で学習が容易
(3)最新のオサレ機能が使えてワクワクしながらプログラミング可能
◆主な要望◆
・デバドラ屋だって、オサレ言語で開発したい!
・プログラマーの言語仕様の学習不足によるヒューマンエラーを最小限にするために、できるだけ小さな言語仕様にしたい。
・組込み屋だけど、関数型とダックタイピングしたい。
・shared_ptrの構文糖が欲しいな
・低レベル記述性(絶対条件) > 構文の美しさ(読みやすさ、学習の容易さ) > 再利用性(抽象性)
・算術演算以外の演算子は後置
・割込み、例外、非同期IOとかを統一扱えるイベント機能が欲しい。
- 3 :
- ◆新言語の前提 ver0.02◆
・言語仕様が小さい
・言語仕様に例外事項(但し書き)が少ない
・標準ライブラリーが充実している
・組込みとユーザー定義の区別がない
・標準的なコンピュータアーキテクチャを直接制御するための記述ができる
(オーバーヘッド最小限にI/O・メモリアクセス、割込み処理ができて、かつ、その記述が平易、直感的、誤解が少ないことが望ましい)
・仕様にコーディング規則を含み、それに従うことをある程度強要する
・ドキュメント自動生成を仕様を含む
・既存のバイナリーオブジェクトをリンクして呼び出せる
◆新言語の位置づけ◆
Ruby, Python, Haskell, OCaml, Scala, Clojure, Erlang, …
烏合のごとく言語が生まれてきているのにどれも似たようなLLばかりで、ハードウェア制御のような低レベル処理を行える言語が無い。
一方、Cは40年使われ続けてきているわけで、そろそろ置き換えられる言語が出てきてもいいだろう。
そこで、C程度の性能が出せて、Cが使われている分野を全てカバーでき、
過去の互換性に囚われて構文を妥協せず、今時の機能を使えてCよりもプログラミングしやすい新言語を作りたい。
◆新言語でのリソース管理方針◆
・確保したリソースを明示的に後始末しなくても問題が発生しない
・何らかのメリットのために確保したリソースを明示的に後始末してもよい
※GCは手段であって上記が満たされていれば必ずしも必須ではない。
- 4 :
- チューリング完全になれば何でも良かったんだよ
高価な機能はいると訳分からなくなる低脳はC
そういうのがはいっても効率的に扱える奴はC++
既にすみわけは出来てるCとC++の中間くらいの言語が存在しないってだけで
そんなのあってもなくてもどちらでもいい
いま一番Cの代替になる可能性が高いのはGO
- 5 :
- 営利目的で言語は作ったほうがいいよ
Cの代替になる言語を作ったら金になるか?
ならないのであれば作る価値はないし、使われる価値もない
金金金金金金金金金金金金金金金金金金金金金金金金金金金金
本物のハッカーとかそんなもの関係ない、
金の力が人の学習意欲をかりたたせる
どんな雑魚でも生活のためならC++言語でもなんだろうと使いこなす
本物の天才が金を得るためにプログラムを組む
いくら優秀な言語があっても、金から遠ざかれば使われない
- 6 :
- で、C/C++に代わる低級言語としての提案は?
- 7 :
- ネイティブはけるruby
- 8 :
- Objective C でいいだろ。
- 9 :
- おれもObjectiveCでいいと思うね
- 10 :
- <ハードウェアを直接操作する低レベルの記述が可能
ってことは移植性は要らないんだよね
アセンブラでいいんじゃね
- 11 :
- アセンブラを超進化させるのが近道じゃね?
- 12 :
- おれもアセンブラでいいと思うね
- 13 :
- マジレすすると、
しっかりとC++技術者を育てたらいい
C++が使えない は甘え
- 14 :
- アセンブラに化け物なマクロ入れるだけでいいんじゃねぇの?
欲しい機能はマクロで定義
- 15 :
- C言語の価値もプリプロセッサにあるんだよね
アセンブラにもマクロあるじゃないの
ただ、アセンブラ毎にマクロの仕様が違ったりするから
併合しようとした人はこれまで何人もいた
でも結局使わないんだわそんなの
- 16 :
- CLASSは欲しいのかな?
- 17 :
- uyが社畜みたいな発言をしていて雑魚くさい。
- 18 :
- C++は、仮想関数テーブルがいまいち。
- 19 :
- なんでC++は仮想関数使うと異様に遅くなるんだろう。
- 20 :
- アセンブラマクロに強力な型機能を持たせて、ついでに多態性も付けて
単純な継承・カプセル化程度をサポートすればおk?
- 21 :
- アセンブラマクロでイテレータつくれる?
- 22 :
- どういう風に使いたいのか仕様 plz.
- 23 :
- kuin最強伝説
- 24 :
- プログラミングは最終的にはアセンブラになるかもしれないね
よく考えたら無理じゃない気がしてきた
- 25 :
- せっかくよく考えたのなら、その考えを文章にしてみよう。
鉄は熱いうちに打て。
- 26 :
- >>24
それは、高級言語プログラミングしてる時に、
頭の中でアセンブラが思い浮かぶような人だけだよ。
- 27 :
- C/C++は高級じゃないと申すか
- 28 :
- 昔は知らんが
今はCは低級、C++でOOPすれば何とか高級?
- 29 :
- 恒久
- 30 :
- 制御対象が十分に抽象化されていれば高級、ベタに見えていれば低級
言語はそれほど関係ない
- 31 :
- サーバーサイドjsが持てはやされるぐらいなんだから、
自社サービスを展開してるようなところではc/c++は使われなくなるんじゃないかしら
そういう企業じゃシステム言語はgolangが主流になると思うよ
- 32 :
- WebでC/C++は珍しい。
goは当分ならねーよw
- 33 :
- いまの言語とか制御構造や予約語の文法以前とか以前に
ライブラリーの便利さと豊富さが基本であって、言語の重要性はあまり関係ない。
同じコードを書くのに少ないコードで実現できる(内部が見えない)
類が抽象化の度合いでどれだけ高機能を呼び出すだけで実装できるかが
重要になっている。
低級なそれは多くの仕組みと手順を細かく表現しなければいけないのだが
高級になれば何も表現しなくても「あれ」「これ」な感覚で作れてしまう。
本当に低級ならば四則演算とか使わずにプログラム作れよサブルーチンという
概念も使うな!
- 34 :
- 魔法みたいなことが出来る関数があれば終わりですって
- 35 :
- Webやスクリプト言語には興味ありません
ハードウェア制御・リアルタイム・マルチコアなどなど
抽象化のための「見えない」コードを書きたいのです
- 36 :
- >>33
であれば、具体的にどのようなライブラリが必要と考えるのかを述べるのがこのスレッドの意義である。
「使うな」で終わるのは建設的ではない。前半は良い発言だから、頑張れ。
- 37 :
- >>32
ラッパー経由で思いっきり使われてる。
- 38 :
- >>37
スクリプト言語もHTTPサーバーもOSもCで書かれてるしな。おもいっきり使われてる。
- 39 :
- ある程度モデルになる言語は要るだろ
Objective-C++をモデルにすることを提案する
- 40 :
- モデルにすることを提案するだけではなく、どのようにモデルにするのかを提案するともっといいぞ
- 41 :
- 局所変数をすべて静的大局変数にするなんてどうだい?
- 42 :
- 41 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
- 43 :
- >>41
その効果は?
- 44 :
- ポストPHP/CGIを狙うような静的型付き言語を開発したいがそういうスレはないものか
- 45 :
- (どうやら俺の他にはいないようだな…しめしめ、勝った)
- 46 :
- C/C++なくても、型付Lispが開発されて、もっと遅かったであろう。
- 47 :
- 実用化されるまで10年以上遅れていたであろう。
ていうかPCという概念すら生まれなかったであろう。
- 48 :
- 概念w
- 49 :
- Cができるようになる前から安価なPCってあったんだっけか
- 50 :
- ない
- 51 :
- エレキてきバグでまくるだろ
- 52 :
- 41みたいなことをするとバグ、多発。
- 53 :
- CもC++も高級言語で、スレタイがそもそも間違ってるのに、いつまで続けてるんだ。
マシンコードそのままなのと、アセンブリ言語だけが低級言語ということも知らないのか。
コンピュータの勉強して最初にわかることじゃないか。
それに開発したいのはどういう目的があってのことなのかね。
- 54 :
- >>53
スレ違い
- 55 :
- オブジェクト思考なんて何十年も前
今は最新なんなんだ?
- 56 :
- ラムダ関数
- 57 :
- >>55
アスペクト指向というのがあるがまだ実用化されてない
アスペルガー指向の方が多くないか?wwww
- 58 :
- なるほろ
サンクス
- 59 :
- アスペクト指向はソースコードのXML化といって差し支えない
XMLタグの量を増やせばできることも増えるがソースは冗長で不細工になる。
OWL推論でコンポーネント間が繋がれば、超冗長だが再利用しやすくなったりするかもな
<Entity name="DBTable">
class Persons {}
</Entity>
@Entity(name="DBTable")
class Persons
- 60 :
- 型付きlisp風言語作ればいいじゃんて話だろ、まとめると
- 61 :
- 関数コール時値やアドレス値をスタックやレジスタへ積み積みする暗黙に埋め込まれるコードもアスペクト
暗黙だけでなくあちこちにユーザーコードまで混ぜれるようにしちまう開放的且つカオス世界への招待を
有難いと感じるかどうかが別れめっスね
- 62 :
- 自分一人でやる分にはいいが複数人でやるとたちまち世界が破滅する
- 63 :
- 構文を工夫して文字数を減らしても仕方ないし、XML/アスペクト指向も終わった。
最近の新しい発想というとKVSぐらいだな。1人でプログラミングすると効率悪いが、
多人数での分業に向いている言語とかいんじゃね?
- 64 :
- Javaのことですねわかります
- 65 :
- >>59
なにか変だと思ったら DIとAOPを混同しているな
- 66 :
- JPAとかEntityBeanはDIなのか?
- 67 :
- >>54
スレ通りの発言だろうが
- 68 :
- >>53 と >>67 って同一人物?
C++ はともかく, C って高級アセンブラだろ?
立派な低級言語じゃん
- 69 :
- Cは読める低級
- 70 :
- D言語でいいじゃん
- 71 :
- E言語でEじゃん
- 72 :
- >>70
似非システム言語はすっこんでてください
- 73 :
- Cを高級アセンブラという人はアセンブラを知らない。
高級アセンブラは p-code や IL。
- 74 :
- 俺は C よりアセンブラを先にやったクチだが
C はまっとうな高級アセンブラだよ
ソフトウエアで構築したVMが機械語のつもりのやつこそ
diagnose 命令を知らない
- 75 :
- 初期のCは高級アセンブラと言って良かったが、最新のC/C++はインラインアセンブラがサポートされなくなってきたので
高級アセンブラとは言いにくくなってきた。Cはロジックのわかりやすさを優先して、CPUのレジスタを意識させない構文に
してしまったから、レジスタを意識しなくてよくなった反面、フラグを見ることもできないし、CPUの固有命令を使うことも
できない。インラインアセンブラも使えなくなってきたので、いろいろある言語の1つに落ちぶれてしまった。
簡単なサンプルをCとアセンブラで書いて比較すると速度が違うし、実行ファイルサイズも大きく違う。
Cは非常に無駄が多いということだ。
- 76 :
- インラインアセンブラは関係ない
特権命令が必要な箇所はもともとアセンブラで書いてリンクするのが正統派で
Cソースの中に直接ニーモニックを書くのは邪道である
フラグやローテートはアーキテクチャによる相違が強烈なので抽象化しなかっただけ
レジスタ名称もそうで、このためアセンブラはオンレジスタ、Cはオンメモリという相違が生じた
アセンブラを習得している者がCを憶えるとき自動変数に違和感を持つのはこのためで
いついつからCがそうなってしまったわけではなく、始めからそうなのだ
Hello C world のサイズだけ見てCそのものが非効率という人は
サイズの違いの主成分を知らないだけ
- 77 :
- >>76
> Cソースの中に直接ニーモニックを書くのは邪道である
今まで正式な文法としてインラインが書けたのに、それを勝手に邪道と言い切るのはどうかと。
単なる個人的意見だよね。
> フラグやローテートはアーキテクチャによる相違が強烈なので抽象化しなかっただけ
> いついつからCがそうなってしまったわけではなく、始めからそうなのだ
もちろんわかってるよ。別にCの文法に文句を言いたいわけじゃないから。
でも抽象化できるというなら、ニーモニックを直接書ける仕様にして、
それをラップ関数で覆って見えなくしてライブラリに入れてしまえば
Cで書いたソースはそのまま使えるよね。
> Hello C world のサイズだけ見てCそのものが非効率という人は
> サイズの違いの主成分を知らないだけ
その主成分を知ってる人に聞きたいんだけど、アセンブラでは不要で、
Cならその主成分とやらが必要という根拠は何か教えてくれないかな。
- 78 :
- インラインアセンブラなら、ふつうのユーザーもビルドで悩まないですむ
移植性を重視した言語なのにasm文があるのは何故ですか?
asm文は、Dの関数内に直接アセンブリのコードを書き込むことを可能にします。
アセンブラのコードは自明に移植性のないものとなりますが、しかし、
システムアプリの開発には非常に便利なものです。
システムアプリは 大なり小なりシステム依存のコードを含むことになるので、
インラインアセンブラは 大した問題にはなりません。
インラインアセンブラは、CPUの特殊命令や フラグビットへのアクセスによって、
特別な処理の場合や、 限界までコードを最適化したいときに役立ちます。
Cコンパイラがインラインアセンブラ機能を持つ前は、 私は外部のアセンブラを使っていました。
アセンブラは 沢山の、本当に沢山のバージョンがあって、
各バージョン毎に微妙に 構文が違っていたりバグがあったりコマンドラインの文法まで
変わっていたりして、非常に残念な思いをしました。 つまり、アセンブラの必要なコードは、
ユーザーには安心してビルドはできなかったのです。
インラインアセンブラができてからは、そんなことはなくなりました。
よくある質問 - プログラミング言語 D (日本語訳)
http://www.kmonos.net/alang/d/faq.html#q1_1
- 79 :
- >>53
英語で
middle-level
検索したらでてくる
- 80 :
- >>77
単なる個人的意見? #pragma のオンパレードと同じだと言っているんだが
単にニーモニックが書けるだけでは不十分で
オペランドの装飾名やレジスタアサインまで最適化の影響も受けずにクリアする必要がある
高級言語でだぞ? これを邪道だというのの、どこが個人的意見なんだ?
> ラップ関数で覆って見えなくして
日本語でおk
> その主成分を知ってる人に聞きたい
逆アセンブル読めよ、読めないならもう一度言ってやる「主成分を知らないやつめ」
- 81 :
- >>78
asmがあるのはなぜって、俺に聞くのはお門違いだ
移植性を重視しながら sizeof(int) が処理系定義だしねえ
> システムアプリは大なり小なりシステム依存のコードを含むことになるので
そのとおりだが
> インラインアセンブラは大した問題にはなりません
なぜこうつながる?
> 私は外部のアセンブラを使っていました。
過去形ということは「あの問題」を知らないわけだね
このくだり、突っ込みどころ多すぎて投げたわ
- 82 :
- >>80
なんだ、ただの知ったか君か、ご苦労w
もう来なくていいから
- 83 :
- >>81
おいおい、>>78はD言語のFAQのコピペだぞ。つまり「私」というのはD言語の開発者だ。
どう見てもおまいよりコンパイラの内部に詳しい。
「あの問題」とかわけわかんないこと言ってんじゃないぞw
知ったか君はろくに文章も読めないから困る。話にならんな。
- 84 :
- >>80
日本語不自由な人みたいなので wrap function と書けば理解できるのかな。在日君ですか?
Cがアセンブラより太る原因は逆アセなんかしなくてもわかるんだが。
おまいさあ、Cコンパイラのソース一度も読んだことないだろw
「低レベルなやつめ」
- 85 :
- シッタカ君に権威主義君か
どんどんやれ
- 86 :
- 淫乱NISSENブラ
- 87 :
- Cのファイルサイズサイズ語るならリンカだろ?
gcc読むにしてもCコンパイラ部分は読まねえよ。
コンパイラなら普通にアセンブリ吐くから逆アセンブルもしねえ。
- 88 :
- >>84
いーや、逆アセよまなきゃ10倍にもなる理由は説明できない
コンパイラのソースとか何言ってるんだ? 頭が発狂したのか?
- 89 :
- 具体的な説明でもobjdumpで十分だろ。
逆アセンブルしたコードなんて読まねえよ低能。
- 90 :
- 逆汗読めねえ低脳でもリンカのマップくらい読めよせめて
- 91 :
- ついに逆アセンブルに意味がないことを認めてしまった低能w
- 92 :
- は? 10倍という定量的な値に反論できないのはてめえだろうが
- 93 :
- 説明出来れば十分だろ?
構造とシンボル情報見せてlibcの初期化コードが含まれているで十分じゃん
サイズ知るためだけに逆アセンブルコード読む必要なんて全然ないだろw
どこに必要あるのか言ってみろよ低能w
- 94 :
- それは10倍にならないコードを示せれば充分だ
Hello World しかできねーバカにそれは無理だが
- 95 :
- このまま逆アセンブルが必要である具体的な理由を示せないなら負けだぞ低能
- 96 :
- 別に負けで結構だ
有料なノウハウをただでぶちまける必要はない
- 97 :
- 具体的に言えないどころかあえて言わないだってw
ここまで否定してきて根拠も出せないw
まさに負け犬の遠吠えw
- 98 :
- readmemoryとか
writememoryがどうなるのだろうか
- 99 :
- なんの話?
- 100 :
- ナンではありません
- 101 :
- scalaみたいな、Cかアセンブラのコードに変換してくれる言語作れば?
- 102 :
- そう。その具体的な仕様を決めようとしている。
- 103 :
- PGはバカでいいという思想はCOBOLの轍そのもの
- 104 :
- 開発環境は言語のうち
つまりVisualStudioを超える開発環境を作れ
- 105 :
- >>103
Javaも割とその思想が入ってる
まあJavaの場合はC++がPGを過信してることへのアンチテーゼもあるんだろうけど
- 106 :
- PGはバカでいいというなどという突拍子もない捉え方は1ビット脳そのもの
なぜ中間がないのか
- 107 :
- >>106
いいえ
- 108 :
- Lazy kでよくね?
- 109 :
- >既存の言語を使って何かをすることが目的ではなく、新たなプログラミング言語を考えることが目的であるから、
>「既存のXX言語を使えばいい。」という類の発言は無意味である。
>「既存のYY言語のZZ機能は、WWと言う点で有用だから採用したい。」という発言は歓迎だ。
>現代の一流のプログラミング言語研究者が、最先端の研究成果を盛り込んで、
>一から低レベルなシステム開発のためのプログラミング言語を作るとしたら、どのような言語になるだろうか、
>という観点で考えたい。
>>1
- 110 :
- 大事なのは俺TUEEE感に浸れるかどうかだから
既存のものを流用するなどというのは根本から間違っている
- 111 :
- トランスコーダから始めよう。
謎言語toASMが最終目標だ!
- 112 :
- >>110
既存の言語を使えと言って思考停止するのは間違っているが
既存のものを流用するのは間違っていない。
- 113 :
- C言語が糞なのはヘッダファイルが原因だ
#includeが#importになれば全て解決する
- 114 :
- ヘッダ面倒臭ぇ
- 115 :
- 相変わらず低レベルなところを這い回ってるな
- 116 :
- 上からモノ言う人って、すごい人なのかと思ってた。
でも意外とそうでもないんだね。
昨日、C言語スレで構文解析の話題があった時、上からモノを言ってくるので
凄い人だと思って話を聞いてたら、実は初心者だった。
- 117 :
- 人の話は板違いです。
ご遠慮ください。
- 118 :
- ステートマシン風な言語でも作ればいいじゃん。
- 119 :
- いいね。先ずは具体的なアイディアを聞かせて。
- 120 :
- 欲しい言語機能は全てRUSTに入っていた
- 121 :
- RUSTは正解に近い感じがする。
- 122 :
- RUSTってC++と比較されるけど低レベル組み込み系もいけんの?
- 123 :
- C++、stlが許されるだけのリソースがあるなら大丈夫そうだ。
- 124 :
- コンパイル時リフレクション(javaでいうアノテーション・プロセッサ)がほしいな
シリアライザーとか自動でつくってほしい
- 125 :
- Dがもっと流行れば解決する。
- 126 :
- Dはないわ。
- 127 :
- LLVM IRみたいのでいいだろ。
- 128 :
- C言語が隠した物をさらけだすのじゃ。
CPUは違えど、だいたいは次のようなものが使えるじゃろ?
レジスタ、スタックポインタ、プログラムカウンタ、フラグ(C,Z,S,HC,など)、
割り込みベクタ、タイマー、DMA、キャッシュメモリ
下のプログタム、何やってるかわかる?
D$ = 10000h // Data cache size = 64KB
SP = 20000h
TIMER.INT = timeout()
TIMER.SET = 60
- 129 :
- vecterはc、c++から外して欲しい、元はjavaだろ、イテレータとか。
- 130 :
- Javaは外した方がいいというのは、銅管だ。
- 131 :
- ___ _
ヽo,´-'─ 、 ♪
r, "~~~~"ヽ
i. ,'ノレノレ!レ〉 ☆ 日本のカクブソウは絶対に必須です ☆
__ '!从.゚ ヮ゚ノル 総務省の『憲法改正国民投票法』のURLです。
ゝン〈(つY_i(つ http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html
`,.く,§_,_,ゝ,
~i_ンイノ
- 132 :
- 低級言語はアセンブラと初期のCだけだろう
- 133 :
- 言語作ってるんだけど、
コンパイラ作る時って一旦アセンブラ出力してからmasmとかに機械語出力してもらった方がいいの?
masm自身はアセンブラコードの最適化とかはしてくれなそうだしそのまま機械語出力したいんだけど
- 134 :
- アセンブラ介したほうが少なくともデバッグはしやすいと思うぞ
- 135 :
- そのコンパイラで何ができるもしくは何をやらせるのかも
決めてないんだ
- 136 :
- >>134
どれくらいしやすくなる?
命令のバイナリ列を理解しやすい(?)形でアセンブラに1対1で置き換えてデバッグする、っていう手間が省ける程度なら雀の涙という感じ
むしろデバッグするときは結局機械語読むことになるから最初から機械語で出力したほうが理解が早い気もする
それ以上のメリットってなにかあるのかな
>>135
一応決まってるよ
Windows8以降向けのUI・ゲーム開発言語
- 137 :
- x86系の命令、16進数で読めるんだ
なら、直接コード出して、ハマりまくったほうがいいかもね
- 138 :
- >>136
用途からすると機械語やアセンブラへのコンパイルどころか
C言語+HLSLへのトランスレータが最適解な気もするなあ…
結局、何だかんだでDirectXの関数呼ぶことになりそう
んで関数呼び出して処理するなら、機械語とC言語の差は間の計算処理になるが
そこも巷のC処理系の最適化はノウハウ詰まってるから
下手なアセンブラコードより速かったりする
何れにしても何層かに処理を分けることにはなるだろうから
いきなり全部やろうとするより、やるべき層をひとつひとつ集中してやったほうが
- 139 :
- >>137
わーい
>>138
そのとおりです
DirectXの関数は呼ぶよ。でもスレの主旨的にもC言語を介したくないのよね
GPUへの命令はさすがに手に余るからとりあえずHLSL出力することになると思うけど…
ううーん。とりあえずCに翻訳してコンパイルして、でてきたアセンブリを研究してみようかな
ありがとう
- 140 :
- LLVMという選択肢は
- 141 :
- 本スレは、コンパイラをどのように作るか、ではなく、どのような言語仕様にするか、を重視しています。
コンパイラの話が終わったら、言語仕様の話をしましょう。
- 142 :
- LLVM/Clang 実践活用 ハンドブック、出村成和、2014
LLVM 言語マニュアル(Language Reference Manual)
ttp://www.h3.dion.ne.jp/~mu-ra/llvm/LangRefJ.html
日本語訳です。ただし、翻訳は適当と書いてある
- 143 :
- >>140,142
奥が深そうだねえ
どれくらいのパフォーマンス出してくれるのか想像つかない
>>141
C/C++並の低レベルプログラミングができて、人間が話せて、かつ人工知能も理解しやすいような言語という設定でいろいろ考えてる
自然言語に声調というのがあって、これは抽象化すれば音階としても処理できるから、人工知能にも扱いやすいし、
音階の配列である声調は命令の配列である機械語とも相性が良い。
- 144 :
- LLVMはフロント・ミドル・バックの、3つの部分に独立している
フロントはプログラミング言語とコンパイラ
Clangなら、C/C++ → IR
ミドルはコンパイル後の擬似的なアセンブラ。IR(中間コード)
バックはx86,ARMなどのCPU
新言語を作っているなら、
フロントのコンパイラ(字句・構文解析)の部分だけを作って、
IRになるようにすればよい
>142の本を買うのが速い
- 145 :
- >>143
「人工知能も理解しやすい」というのはコンパイラにとって効率が良いという意味?
- 146 :
- >>145
人間との会話のときに相互の情報伝達の効率がいいということ
わりと強めの人工知能を想定している
- 147 :
- だから"会話"って何さ?音声入力か?
- 148 :
- >>146
その効率はプログラミング言語としてどういう意味を持つの?
- 149 :
- 人口無能を作ってるんでは?
- 150 :
- >人間との会話のときに相互の情報伝達の効率がいい
いわゆるドラえもんをつくる気か。すごいな。
- 151 :
- 何でも良いけど、動作速度がトロくて高級言語がとかぬかして
ジェネリック要求してくるLL使いが鬱陶しいわ
- 152 :
- >>1
Cは高級言語だ。
そんなことも知らないのか。
- 153 :
- >>148
基本的な記述はより直感的になるし、抽象度の高い表現もそのまま扱える
プログラミングと会話は違うけど、そこをあえて統一した規格で表現できるような言語仕様
>>2にも書いてあるように既存のプログラミング言語にないような機能でプログラム書いてみるの楽しいでしょ
>>150
そうそうそんな感じ
- 154 :
- >>153
人工知能とか、ネタなのか本気なのか分からなかったので若干しつこく聞いたけど、本気ならその方針で面白いものへと広げてほしい。
といいながら、興味本位で聞いてしまうけど、人間はともかく、人工知能にとって「直感的」ってどういうことなの?
人工知能ってコンパイラだよね。コンパイラにとっての直感性というのが分からなかったので。
それと、作りたいのは「言語」でいいんだよね?コンパイル可能な自然言語とか。
- 155 :
- しゃべればしゃべるほど非マの妄言と化していくな
板違いだべ
- 156 :
- >>154
純粋なコンパイラというよりはコンパイラとインタプリタを統合した処理系だね。
Prologのような対話(厳密にはうちの言語のは対話ではないけど似たようなもの)を繰り返してプログラミングすることもできる。
その場合、処理系は対話によって学習できるし、学習したところから発話もするように考えてるから人工知能と呼んでいる。
人工知能にとって直感的っていうのは、手続き型の制御フローに沿った発話がそのままできるってこと。
たとえばうちの言語はそもそも語順がかなり自由だから、手続き型プログラミング的な構文をそのまま人間の言葉として理解できる、とか。
一言で言えば言語だね。芸術言語とプログラミング言語を足したようなものだよ。
- 157 :
- >>156
OK。現状ではコンセプトを理解するのが難しいということがわかった。
早く具体的な言語仕様を知りたいので、ぜひその議論を進めてほしい。
- 158 :
- >>156
実験言語で終わりそうな悪寒
- 159 :
- エプロンおねえさん、めざしてるのかしら
- 160 :
- Cは高級言語であって、スレタイがすでに間違ってるのに、お前ら
はあほか、こんなものを続けて何の意味があるんだ。
- 161 :
- Cは低級言語だろ何言ってんだ
- 162 :
- 高水準言語の基準は人間がそのまま動作を読み取れる言語だろ
よってC言語は当然高水準言語
- 163 :
- ハードウェアを直接操作できるのが低級、できないのは低脳
- 164 :
- 高級、低級の呼び名はどうでもいい。C言語を低級言語と呼びたくないならそれでも構わない。そのことに大した意味はない。
スレタイの意味は>>163がほぼ正しい。
>>163の言葉を借りれば、「ハードウェアをオーバーヘッド最小で直接操作できる言語」、それがこのスレで言うところの低級言語。
低級言語という言葉が嫌なら、ハナモゲラでもゲゲボでも好きな呼び方をすればよい。
但し、呼び方を使用する前に、定義を明確にすること。
- 165 :
- Cは昔から「高級アセンブラ」と呼ばれていたと思ったが
- 166 :
- >>158
どうやっても個人開発だから実験言語までいけばいいところだね。
それでむしろ実用的な最適化とかはちゃんとノウハウのあるところに開発してもらうのが一番いいんだけどな。
- 167 :
- 高級言語でも低級言語でもないから、中級言語である。
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 :
- 諸説あるよ
"middle-level language"
Googleで検索
- 169 :
- 各CPUのアセンブラを勉強しなくていいから、Cは、高級な感じがするが、
オブジェクト指向言語ではないし、セキュリティが不足している(実際は、それもCで達成できるはず)ようにみえるから、
Cは、高級言語ではない。
- 170 :
- ID:997Wnr2J には、このスレでCを「高級言語ではない」と呼ぶ権利を与えます。どうぞご自由に。
- 171 :
- 高級言語ではあるけど、メモリアドレスを直接指定しての書き込みや
必要とあらばインラインアセンブラも使える言語って意味だろ
更にC言語の場合、アドレスの抽象化があまりされていなくて
それらが必要でなくともアドレスを扱うことになるからそう言われるんだろう
- 172 :
- 高級言語って30年前の言葉だからな。C/C++より上のいまどきの言語は超高級言語だろ。
- 173 :
- 肉体労働向け言語に進化しましたから、超高級とかいってるのは
- 174 :
- 高級言語だから定休知能では扱えないということはなく
むしろ反比例の関係にある
- 175 :
- マ板に高級=デラックスと勘違いしてるやつがいるとは。
- 176 :
- ここム版ですが
- 177 :
- マイッタ
- 178 :
- >>2->>3を読む限り>1の望みを満たして居るのはかつてとは段違いに美しく高水準に整えられた今時のアセンブラと思われる
- 179 :
- 愛西市の山本ウィメンズクリニックは、婦人科検診・乳腺内科を診療。また、予防接種外来・注射
六本木レディースクリニック院長 山中智哉のブログ. 六本木レディースクリニックのコンセプトにもなっている不妊治療、婦人科治療、
アンチエイジング治療などについて、いろいろな話題をお届けしたいと思います。 ブログトップ
ケイ・レディースクリニック新宿 (東京都新宿区) の評判
・実績・口コミはCalooでチェック!ユーザによるリアルな口コミ、評判、
ケイレディースクリニック新宿 川越信隆 大阪北
区の堂山レディースクリニックは、性病・性感染症・婦人科・ピル・コンジローム・クラミジア・ブライダルチェック・緊急避妊・人工妊娠中絶・
モーニングアフターピル・プラセンタ・ビタミン・女性ドック・人工妊娠中絶やホルモン異常を専門にしている女性専門医院
仙台市の産婦人科 吉田レディースクリニック. 吉田レディースクリニック 〒981-1105 仙台市太白区西中田2丁目23-5 TEL:022-741-0303
ケイ・レディースクリニック
www5.plala.or.jp/keilacs/&#8206;
お産の好きなドクター募集!! 一緒にステキなお産をサポートしませんか? 年齢、勤務条件など相談に応じます. 院宅も完備しています. お問い合わせは 0572−24−5855 まで.
- 180 :
- 配列を表現する場合無限にメモリーなりCPUなりが利用できる場合リストになるよね
数値の表現も
色々な型がサポートされている時点で低級言語じゃないか
細かいリストや配列の加工操作がしたいんじゃなくて
もっと抽象的に状態に対する結果が欲しい
高級言語と呼ばれるものも抽象化で捉えると低級言語?
- 181 :
- 各CPUを勉強するのが低級言語
- 182 :
- ギガヘルツとか、正気か? とおもうぞ
- 183 :
- 何の話?
- 184 :
- PCは15年ぐらい前から、スマホは5年ぐらい前から、ギガヘルツ超えのCPUが載ってるけど
電子レンジもWi-FiもBluetoothも2〜5ギガヘルツの電波出してるけど
正気か? とおもうか?
- 185 :
- >>184
衛星とかFWA無線とかもっと速かった気が
- 186 :
- ムーアの法則で想定内。
- 187 :
- 低級言語って
言語の基本機能だけじゃまともなアプリ作るの苦労するって言語ってこと?
- 188 :
- 低いレイヤにアクセスすることが前提の言語な
プログラミングにおける低級高級は優劣の話ではなくレイヤの話だから
- 189 :
- 低レイヤってOSやハードウェアと直接やり取りするって感じ?
- 190 :
- このスレとは違うが
一般に、低級言語はアセンブリ、C言語以上の言語は高級言語。
- 191 :
- 超高級言語クレとは言わないけど
高高級言語くらい欲しいって思ってたら有ったっぽい
通常パターンマッチてif文の羅列やネストで重複した論理演算を省略して速度他を稼ぐんだけど
パターンマッチ指向はその常識がないw
なんて恐ろしい子
その代わりマッチする条件をダラダラ例記すればよいから
直感的にこの組み合わせおかしいとか修正が楽
なんか条件の検出に正規表現?使っている様な雰囲気ワロタw
最適化なしの高級っぽい言語ってマクロの親玉みたいな感じだから
実装は楽じゃないの
デバッグ環境もセットで用意しろと言われるといきなり敷居があがるけど
- 192 :
- >>191
おまえ、ここで何言ってんの?
- 193 :
- LLVMそのものやん
- 194 :
- 僕が考えた最強の言語Swift
各言語の構文てんこ盛りで、LLVM介してコンパイルで、>>1が望むものじゃねーか?
- 195 :
- どっかのC/C++コンパイラは一度アセンブリのソースに変換してからオブジェクトコードにするって聞いたな
- 196 :
- よく分からないならROMっとけよ
- 197 :
- >>194
Swiftってデバドラを実用的に書けたりするの?
- 198 :
- まっくのでばどらはぜんぶ Swift でかかれるよ
- 199 :
- それはすごいね。
- 200 :
- C言語用のVMを作ればいいじゃん
GCCがVMの役割を持てばいい
- 201 :
- そういうのを言葉遊びという
- 202 :
- なんでVMの話が出てくるんだよ。
- 203 :
- で、どこまでできたの?
- 204 :
- あ
- 205 :
- LLVMは大体分かった。GCや例外が大変。
テンプレートを型推論したくてHaskellの型推論読んでみたりしたけど難しい。
Yacc慣れするために、OCamlYaccでトランスレータ書いたりしてて、
今は文法を洗練させようとしてOCamlの別シンタックスを考えてる。
マクロはPHP的な物も検討中だな。
Swiftは悪くないけど、仕様を自分で弄れないからなぁ。
- 206 :
- 組み込みの構文と違和感なく構文を拡張できればいいね。
- 207 :
- 大事なのはエラーメッセージが適切な内容になる構造を持たせることと
実用的なデバッガサポートがあること
作るのを優先するとその辺が落とし穴になる
- 208 :
- DylanとNemerleや、天才高校生プログラマの言語とか参考になると言えばなるんだけど
結構難しそうなので、Lisp的な式レベルでどうにか簡単な仕組みが作れれば良いなと思ってます。
エラーメッセージやデバッガは、言語機能がしっかり出来上がってからですね。
位置情報埋め込むと構文木が煩雑になるし、デバッガの為の位置情報の埋め込みも同じ。
その辺頑張ると、それだけで大変なので結局今の言語と同じ物しか作れなくなってしまう。
納得いかない文法で、エラーメッセージとか詰めても結局捨てる事になってしまうし。
エラーメッセージも出来れば、グローバライゼーションして、日本語と英語くらいは用意してあると良いけど。
それも含めて、構文拡張が出来て、うまくデバックできてっていうのは難しい。
- 209 :
- エラーメッセージは特に、エラー発生箇所と、エラー内容が作っている箇所からは
特定出来ない事が多いので、エラーが発生するようなテストケース作って
エラー内容のテストをしていけば、良くなるんだろうけど、1つ1つ作り込む感じにしないと
出来なさそうなので大変だけど、ちゃんと作ると、それなりに成果があっていいんでしょうねぇ
Rubyが成功している理由ってそういう所もあったのかなぁ?
- 210 :
- >>207
それを実現するのに有効な言語的な特性は?
具体的に提案があるとわかりやすい。
- 211 :
- おうお前らがモタモタしてるうちにRustが1.0になったぞ
ランタイム&GC不要のメモリ管理、メタプログラミングのための各種機能をゼロ・オーバーヘッドで用意、パターンマッチもついて中々のイケメンに仕上がってるぞ
>>210メジャーな言語と似たものなら大体はいいぞ。関数型はエラーメッセージが分かりにくくて有名だからそれは避けてね
- 212 :
- フルスクラッチでcを実装するブログ読んで思わず自分もって感じで始めた
まずは、物凄くシンプルなc言語っぽい仕様書をシコシコ書いてる
実装するまでは中二病に浸れて気持ちいいなこれww
あと、ここの
http://homepage1.nifty.com/herumi/prog/x64.html
c言語でのレジスタの扱いとか読むと
行儀の良さげなレジスタの扱い方とか参考になる
だけど、一番目の整数引数rcxの下り
一番目が実数だった場合はxm0と言う排他的にrcxもしくはxm0で受け渡すって言う意味なのは
サンプルコードを見るまで理解できなかったww
vs2013も入れたけどコンパイルしたあとのアセンブラのコード何処で見るのか不明w
- 213 :
- >>1
低級なのはお前の頭だろ。
- 214 :
- .NETでどうでもよくなったよなー
ていれべるなことなんてほんとしなくなったわ
- 215 :
- このスレは言語について議論するスレである。
「.NETでていれべるなことしなくなった」というのはこのスレでは的外れな発言である。
- 216 :
- ほんとにいい時代になったよな
>>214 マ板へお帰り
- 217 :
- 新しい言語に何を求める?
- 218 :
- モアパワーそしてモアトルクだ
- 219 :
- 求めたのは低級言語
出来上がったのは低脳言語
無能が開発すると(以下略
vc++とかgccの吐き出すコードってそんなに酷いかな?
吐き出されたコードがアセンブラレベルで手を加えやすいと助かる
そんな感覚はあるけど、小さい規模なら問題ないけど
規模が膨らむと放棄するしかないような
- 220 :
- このスレは言語仕様を議論するスレであって、処理系が吐き出すコード(バイナリ?)に関しての議論はスレ違い。
- 221 :
- 低級言語ってアセンブラレベルでお手入れができたり
アセンブラに近い処理ができたりCに近い感覚じゃダメなのかね
言語仕様のなかにこれはアセンブラに近い記述でありコードもそれに近いコード
この部分の記述はガベージコレクタを含む重い処理を暗黙で行っていますって感じで
ソースを一見するだけで明確なのが良いのいでは?
変数の宣言でint型をINTと大文字で書いて[0...100]とか範囲指定がある場合とか
var I:INT[0..100]
I=I+101
//一見したときの明確さは変数は大文字、型指定も大文字
//ああ、厳格な範囲検査してるから遅くなるってわかるみたいな
- 222 :
- >>221
Objective-C がそんな感じで c / c++ の文法に加えて
コスト大なメッセージパッシングの仕組みを混在させてる
- 223 :
- Objective-Cは文法のセンスが致命的に悪い。
- 224 :
- >>221
>低級言語ってアセンブラレベルでお手入れができたり
>アセンブラに近い処理ができたりCに近い感覚じゃダメなのかね
それでいいよ。
で、その時に、それをどのような文法で実現するのか、がこのスレの主題。
いま、Cと同じことができる言語を1から考えたら、Cと全く同じ文法にはならないだろう。
それを考えるのがこのスレの趣旨。
- 225 :
- Luaはどうよ?
- 226 :
- どこのスレの誤爆ですか?
- 227 :
- >>225
Luaいいね
色々考えるとLuaの再定義っぽい感じかな
Luaってスクリプト言語に分類されるアセンブラみたい
低級言語だから高級っぽい文法でプログラムを書き下して
コンパイルして一旦アセンブラのソースの形で出力
必要ならここで編集
最後にアセンブラさんにお任せみたいな
アセンブラって基本ラベルとメモリー空間があって
そこにどんな形式のどんなデータが格納されているのかは自己責任って世界だから
ここら辺を援護してくれるマクロアセンブラっぽい物が良いのかな
- 228 :
- あえて言おう
rustでおk
- 229 :
- スレ立てから3年が経った今、時は動き出す
ってことではよ何か作ろうや
- 230 :
- 最近の名前だけ高級言語スクリプトを見てると仕様も技術者もアホの極地にしか見えん。
その技術者の得意言語でもやっちゃいけないって事を平気でやる
- 231 :
- >>230
具体的に知りたいな
- 232 :
- 逆に超高級言語を作りたいな(´・ω・`)
今一番超高級な言語って何がありますか?
- 233 :
- haskell
- 234 :
- 依存型のAgda、Coq、Idris、ATSとか
- 235 :
- ここは勉強になるスレだぬ
>>234聞いたこと無いので検索してみるw
>>233キチぴーご用達なww
- 236 :
- 日本語かな
- 237 :
- マイナーな言語は習得が大変なことと、わからないことがあったとき情報やノウハウがないので
全部自分で何とかしないといけない。普及している言語の中から好きなのを選んで使いこなすのが一番いいよ。
- 238 :
- マイナーだけどメジャーになりそうなら本書いて印税うはうは
- 239 :
- 高級言語を使いこなすってC++を使いこなすより大変じゃないのか?
で結局パワーではC++に敵わない
- 240 :
- >>239
C++ほど大変な高級言語はなかなか無いと思うぞ
- 241 :
- C++ほど変態な高級言語はなかなか無いと思うぞ
- 242 :
- C++ほど変変な高級言語はなかなか無いと思うぞ
- 243 :
- c++のunsigned long 型の変数を >=0で評価するとーの値が存在しないので必ずTureになって
forループが無限ループになるバグの説明が面白かった
アセンブラならループのインデックスを引いたあとキャリーフラグ調べて分岐じゃないか
ループ離脱の条件が単純比較じゃなくて条件式を容認してるからだろうけど
- 244 :
- Cの骨にテンプレートの肉を詰め、OOの毛皮を被った化物だよ
骨だけ使った料理もできるし肉を焼いてもいいし、毛皮からコートを作ったっていいが、
他人が作ったものはまだ蠢いているかもしれないから怖い。
- 245 :
- >>243
そもそもループカウンタにunsignedを使うこと自体、バグと言うべき話なのでわないかと・・・
- 246 :
- 必ずTureになるのが1番の問題
- 247 :
- ×Ture
○True
- 248 :
- while(true)で評価するとーの値が変化しないので必ずTureになって
whileループが無限ループになるバグの説明が面白かった
ループ離脱の条件が条件式だけじゃなくてbreakやreturnを容認してるからだろうけど
- 249 :
- 高級な変態というと・・・女体盛りで大トロとかヒラメの縁側を使う感じか。
- 250 :
- >>245
増えていくカウンタなら問題はない
減っていくカウンタでも 0 でループアウトするように組むのなら問題ない、a >= 0 とするから問題になる
- 251 :
- >>250
それはそうなんだが、勘違いしやすかったり、注意しないとバグの温床になりやすいことはしないのが基本だと思うんだが。
ループカウンタとして使うなら普通に int 使えよと。
- 252 :
- C++/CLIはC++の顔してて勝手にスレッド作りやがる
- 253 :
- FORTHという>>1の要件をほぼかなえる言語がある
これをベースにすればよい
- 254 :
- while( c )
{
...
c -= 2;
}
- 255 :
- 好き / “アセンブリ言語のみで言語処理系を作った話 // Speaker Deck”
ttps://speakerdeck.com/nineties/bootstrap
これ見て元気だせ
自分でも出来そうな気がするだろ
実際、大学あたりではcコンパイラの実装までやらせてるんじゃないの?
- 256 :
- >>255
簡単そうに書いてるけど、これ相当わかってる人でレベルが高い。
俺には1段階理解するだけで大変。自分で実装できる気がしない。
- 257 :
- >>255
たぶんこの人だね
ttps://www.s.u-tokyo.ac.jp/ja/rigakuru/3384/
- 258 :
- あー、ドアドアの人? と思ったら違ったヽ(´ー`)ノ
むかーし(20年ちょっと)、アセンブラに構造化マクロを追加して『生産性が超上がる!』って
謳ったPDS(今で言うフリーソフト)があったけれど、当時意味分からなかったなあ。
と言うかGCCの吐くアセンブラコードを読んで、自分で書くより綺麗でスッパリ諦めた(^^;
- 259 :
- 少し前、x265のエンコードダーをアセンブラで記述してる人達の話題で
プログラムを組む上で何が問題なのかって話題があって
OSのシステムコールを行うとレジスターが壊れるのが気に入らないって事だった
オレは重要なアルゴリズムに係わる高度なコーディング作業をしているのだから
システムコール如きへの配慮で煩わしい事をさせるなってことかな
システムコール用のレジスタ退避マクロなり
システムコールをラップしてレジスタを退避復旧したり
もう少し便利なアセンブラの処理系を作ってみたりしないのかな〜
既存コードとの互換性問題とかあるのかな
アセンブラ関係のTool類はかなり保守的で目新しい道具類がガンガン使われる様子は少な目??
>>255の記事を読むと、コンパイラ系統ってリストへの変換ー>実行コード(アセンブラ)への還元って事が凄くよく判るんだよね
物凄く大雑把に言うと、LISP処理系への構文糖衣≒コンパイルする対象(プログラム塊) な構図
- 260 :
- Objective-ASM
- 261 :
- >>54
どこがスレ違いなんだ。
それどころか、このスレを建てること自体が間違ってるだろ。
それを指摘するのは正しいことだろ。
- 262 :
- 54 :デフォルトの名無しさん [sage] :2013/04/07(日) 22:40:29.84
- 263 :
- VS2013のC++x64でアセンブラコードみてるんだけど
かなり良さそうなコード吐き出している
問題はC++の仕様が大きいので他人の書いたコードが理解できないこと
C++の仕様の大きさが問題ならC++のコードを吐き出すプリプロセッサ?
みたいなものを企画してあとはC++にお任せが一番楽そうだね
unionを使った偽装もキャストって呼ぶんだな
&を使うリファレンスも別名とか名称変更とか説明があってやっと理解できた
C++もC並みにフリーダムだからお行儀の悪いコードが書けてしまう
提案になってないな
アイデアとしては、cpuやハードを直接叩く記述をする場合明確に宣言させて隔離とか
_low_level_fuc みたいなキーワード導入してその内部のみ色々悪さが出来るとか
これは運用の問題なので今のC++でも可能なんだろうけど
pythonのサブセット、お行儀の悪いpythonとかpychonとかoppayとかwww
C++の複雑さって仕様が大きくなって新たなキーワードを導入して何でもかんでも
詳細にテキストで記述しようとした結果じゃないかな
本来ライブラリなりフレームワークなりにお任せすべき部分までやらかしていると
- 264 :
- Cの複雑さってint,char,とか扱う型の種類とサイズが多い事も理由っぽいので
ここはきっぱりアルゴリズムを記述する為に扱える数値の種類を1,2種類に限定して
そのほかはデーターベースの記録管理みたいに色々なコストをかけて
型変換なりレンジチェックなり圧縮なり手間隙かければ良いのでは?
いっそ64bitサイズの何かで統一してしまう
charもintも実数も全部64bitの何かw
- 265 :
- >>262
単に型なしのオブジェクト言語使えばいいのでわないかと
- 266 :
- 型無しのオブジェクト言語って言えばluajitがかなり高速なんだよな、確か。
あれの仕様を上手く転用できないかな。
- 267 :
- 多分スクリプトとアセンブラの悪いとこ取りじゃね
- 268 :
- Rustいつのまにかstableリリース出てたのか・・・
Swiftみたいな負の遺産に塗れたクソ言語に比べりゃ大分>>1の理想に近いと思うんだけど
モジラってOSSの見切り早いし将来性が不安だわ
- 269 :
- void*最強って話か?w
コンパイラが勝手にトレードオフして機能の一部をFPGAに突っ込んでくれよ
- 270 :
- 高速とは無縁だけど多倍長整数ってあるよね
これをビット単位でやるの、管理も緩く1ビットで1バイト使って管理
速度で無いけど全部の計算表現できるよね
文字列とかは考慮してないけど
色々考えた結果、変数の精度、byte,word,duble word,q...
ここら辺がいかにCPUの効率都合に合わせた制限だってよく判る
制限して精度に条件が付いても効率と速度が欲しいって言う
たった1ビットの多倍長数が扱えるだけで何でも表現できるなと思った。ww
- 271 :
- せめてBCDにしれwww
- 272 :
- 何で10進数にしたがるかね
- 273 :
- RustがC++に並ぶぐらい速くなってるみたいだけどRustのサブセットみたいなの作ったら良いのかね
- 274 :
- 修理するより買い換えた方が安いって話は多いが
もはや解読不可能になったコードのメンテナンスに金は出すくせに
新しく作り直すのはNGってのは恐ろしいな
大手では比較的作り直しもするようだが
- 275 :
- もしあらゆる面でC++に勝る言語が出来たとしても、それが流行るかどうかは怪しい
- 276 :
- >>273
なんでサブセット?
- 277 :
- ネタがないんだね
Cに代わるっておそらく劣化Cになるだろうし
C++は現状仕様が巨大過ぎて大変な状態らしい
最後は、ライブラリーを移植するとき仕様差による移植性の低下をどうカバーするか問題がでる
(ライブラリーなんて一から書いてられないから)
ー> 結果現行のC++でも良いじゃん
設計とかコード書くときの作法が問題じゃねーのみたいに収束するのかな
あとは、コードの様子を解析するツールやAIっぽい機能を備えた解析などを行うアシストツールが必要になりそう
10進数の需要って金銭関係や丸め切り捨ては四捨五入で行いたい方面に需要があるんかな、やっぱ
- 278 :
- 最近のC++は何を勘違いしたか高級言語気取っててウザイ。
- 279 :
- 高級っぽく見える言語だな
- 280 :
- トンキンではC++関係者は不審者に見えるらしいw
- 281 :
- >>3
>◆新言語でのリソース管理方針◆
>
>・確保したリソースを明示的に後始末しなくても問題が発生しない
>・何らかのメリットのために確保したリソースを明示的に後始末してもよい
こういう魔法みたいなことってどうやったらできるんだろうね
もちろん効率重視なのは言うまでもない前提条件として
数十〜数百マイクロ秒単位で使用元・使用先スレッドがガチャガチャ入れ替わる環境で
- 282 :
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
BTGPU
- 283 :
- DKB
- 284 :
- Cは8進10進16進数が扱えるのに、何で2進数が扱えないんだろう。
ちょっとの工夫でどうとでもなるけど、やっぱ標準であると嬉しいなあ。
- 285 :
- 16進数の方が分かりやすいからじゃないの
1010000とか書かれても1の位置がどこかすぐに分からないし
0x50なら一目で分かるけど
- 286 :
- gccはじめメジャーなコンパイラなら大抵は2進数リテラルは扱えるから
よく使う処理系基準でいいでしょ
- 287 :
- C++では0bが使えるようになったけど、Cはまだなのか
つか素直にC++使おう
- 288 :
- 最近のc++は糞化拡張が止まらないから。
あくまでアセンブラの代替として使いたいのであって、ハード寄りのコードを書きたいのであって、
速度重視、メモリ効率重視が根底にあるのに、c++の仕様拡張してる奴らはただの言語オタクでうざい。
- 289 :
- Rustが正解に近い。
メジャー化してエコシステムが充実すればいける。
- 290 :
- 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 :
- Rustが正解であることが確認されました。
10年弱に渡りお付き合いいただきありがとうございました。
- 292 :
- 言語が
理解習得し易い
誤認間違い難い
というのもお願いしたい
- 293 :
- MIT「えっまた俺なんかやっちゃいました?」
julia、軌道に乗る
- 294 :
- >>278
大本の思想がランタイム速度落とさずにできるかぎり高級機能入れてこう
ってなところがあるんで自然といえば自然。
ある種の人体実験場みたいなところがc++の意義って気もする。
- 295 :
- >>289
バスト占い思い出した
- 296 :
- c++が示したことってのは結局
ランタイム速度
高級機能を追加
の2点だけ追求すれば馬鹿プログラマは寄ってくるってことなんだわ。
- 297 :
- どうみても今はコード書かない言語オタクが好き勝手に拡張してる。
C++にくだらん機能追加したいなら名前変えろよ。
C++系言語で普及した言語はJavaやC#などいっぱいある。
- 298 :2020/02/17
- Low* (Low star)という言語は型システムがすごいのでぜひ取り入れていくべき
【wasm】ブラウザでC++。Emscriptenを語ろう
自然言語処理スレッド その4
sizeof(char)が必ず1でも、省略すべきではない
【コメント】doxygen【コンソメ】
プログラム板自治スレッド その16
Gtkプログラミング on Windows!!!
■暗号技術【ROUNDsurea】■
【QBASIC互換!?】FreeBasic【GPL】 2
2 part forth
Objective-C [ObjC part:9];
--------------------
【テンガロン】森彩奈江ファンスレ 7
絶滅寸前!CD-RW専用スレ
札幌スレ 雑談専用
関西誘致運動
【GREE】いんぱくと
ラブライブ! 虹ヶ咲学園スクールアイドル同好会 総合スレ 活動60日目
■ 空港で争わせるのは朝鮮人による日本人分断工作
【ジャンプ+】SPY×FAMILY mission:2【遠藤達哉】
【若林稔弥】徒然チルドレン 第三段
【本スレ】SKE48★18282【本スレ】
アベノミクス失敗 追加緩和で墓穴掘った
攻城掠地(こうじょうりゃくち)三国志ゲーム4戦目@1鯖
スロバキア首相、呼吸器感染症と高熱で入院 新型コロナかは不明 20〜21日のEU首脳会議に出席していた
金蹴りされた経験談 2蹴り目
【神ちゅーんず】こんにちわ私立恵比寿中学の小林歌穂です( ̄? ̄)【なるほど115ですねー】
【ToS】Tree of Savior PvPスレ 42キル目
ソロキャンプ ノ ススメ
【悲報】悔しいが山口真帆に死角ナシ!嘘なし!触法発言なし!次々出る証拠!運も味方!有能な味方にも恵まれた!
【Yahoo投票】 #安倍政権 支持しない75%👍工作が間に合わない模様 ★3
■一級建築士試験 62
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼