About Cosense
Help
Log in
mrsekut-p
C
+
+
1
9
8
3
年
に
ベ
ル
研
究
所
の
B
j
a
r
n
e
S
t
r
o
u
s
t
r
u
p
が
開
発
C
+
+
の
t
e
m
p
l
a
t
e
C
+
+
の
C
o
n
c
e
p
t
G
o
o
g
l
e
の
C
+
+
の
コ
ー
ド
規
約
h
t
t
p
s
:
/
/
t
t
s
u
k
i
.
g
i
t
h
u
b
.
i
o
/
s
t
y
l
e
g
u
i
d
e
/
c
p
p
g
u
i
d
e
.
j
a
.
h
t
m
l
t
u
t
o
r
i
a
l
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
c
h
a
n
g
k
u
n
/
m
o
d
e
r
n
-
c
p
p
-
t
u
t
o
r
i
a
l
h
t
t
p
s
:
/
/
e
z
o
e
r
y
o
u
.
g
i
t
h
u
b
.
i
o
/
c
p
p
-
i
n
t
r
o
/
あ
と
で
読
む
h
t
t
p
s
:
/
/
m
a
g
a
z
i
n
e
.
r
u
b
y
i
s
t
.
n
e
t
/
a
r
t
i
c
l
e
s
/
0
0
1
8
/
0
0
1
8
-
L
e
g
w
o
r
k
.
h
t
m
l
ム
ー
ブ
セ
マ
ン
テ
ィ
ク
ス
h
t
t
p
s
:
/
/
y
o
h
h
o
y
.
h
a
t
e
n
a
b
l
o
g
.
j
p
/
e
n
t
r
y
/
2
0
1
2
/
1
2
/
1
5
/
1
2
0
8
3
9
h
t
t
p
:
/
/
w
w
w
.
k
h
.
r
i
m
.
o
r
.
j
p
/
~
n
a
g
a
m
u
r
a
/
m
i
s
c
/
s
t
r
o
u
s
t
r
u
p
-
i
n
t
e
r
v
i
e
w
.
h
t
m
l
B
j
a
r
n
e
S
t
r
o
u
s
t
r
u
p
へ
の
イ
ン
タ
ビ
ュ
ー
h
t
t
p
s
:
/
/
w
w
w
.
i
p
a
.
g
o
.
j
p
/
s
e
c
/
p
u
b
l
i
s
h
/
t
n
1
6
-
0
0
7
.
h
t
m
l
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
r
i
g
t
o
r
p
/
a
w
e
s
o
m
e
-
m
o
d
e
r
n
-
c
p
p
g
c
c
で
コ
ン
パ
イ
ル
で
き
る
h
t
t
p
s
:
/
/
k
a
m
o
c
y
c
.
h
a
t
e
n
a
b
l
o
g
.
c
o
m
/
e
n
t
r
y
/
2
0
2
0
/
0
1
/
2
3
/
0
7
5
3
3
1
g
+
+
と
い
う
コ
マ
ン
ド
を
使
う
実
体
は
g
c
c
#
プ
ロ
グ
ラ
ミ
ン
グ
言
語
Related
Sort by
Related
Modified
Created
Last visited
Most linked
Page rank
Title
Links
Bjarne Stroustrup
[C++]の開発者[website http://www.stroustrup.com/]
C++のtemplate
from [C++]C++を全く知らないので、盛大に間違っているかもしれない[mrsekut.icon]Genericsを実現するための機能テンプレートの種類関数テンプレート
プログラミング言語
一覧系[https://pldb.io/ PLDB: a Programming Language DataBase]めっちゃある生まれた年も書いてるググラビリティ終わってる言語でも見つけられる。嬉しい[mrsekut.icon]
C++のConcept
エラーメッセージの質の改善につながるテンプレートを必要とするインターフェースを持っていない型を用いるときにコンパイラによって吐かれるエラーの量が膨大で、かつ指摘する場所が離れすぎていて理解し辛いものになっている期待した式が有効でない場合コンパイルエラーとする機能concept同士の入れ子や、論理演算もできる「最低の条件を満たす型」を定義する
ベル研究所
[AT&T]の研究開発支援のために設立「新しいアイデアは新しいモノに結びついてこそ意味がある」という企業文化アイディアだけではだめ絶頂期1960年代末1万5千人が働いてた
プログラミング言語の歴史
プログラミングの魔導書 Vol.1
2010/08/07http://longgate.co.jp/books/grimoire-vol1.html創刊に向けて[Bjarne Stroustrup]へのインタビュー (1 2) [江添亮]boost::serializationの紹介 前編 (1 2 3 4) [近藤貴俊]
Clang
from [LLVM][C]/[C++]/[Objective-C]/[Objective-C++]のLLVMのフロントエンド実装↑これらのコードを[LLVM IR]にコンパイルする[LLVM Core]をバックエンドとして使用するコンパイルが高速で省メモリ
Carbon
[C++]の後継を目指すJSに対するTS、Javaに対するKotlin、という感じでC++に対するCarbonという位置づけ[C++]の既存のエコシステムを活用できる[C++]と相互運用できるC++のlibraryを使用できる
オブジェクト指向プログラミングの歴史
[OOP]の[歴史]↓微妙にOOPに関係ないところや時系列が謎なところがあるので修正しよう[mrsekut.icon]「オブジェクト」の概念が生まれたのは[Simula]言語が最初ノルウェー計算センターの[Kristen Nygaard]が1957年からコンピュータシミュレーションの開発を始める既存の言語([ALGOL]や[FORTRAN])は科学技術計算向けの言語であり、シミュレーションをプログラムするのには不向きであった
言語仕様
[プログラミング言語]の言語仕様の形式実装による仕様公式文書としての仕様[形式意味論]を使って言語の意味を正確に記述する実装による仕様
asm.js
システムプログラミング言語
システムプログラミング言語とは?って感じではあるが[システムプログラミング][C][C++][Rust]
『Masterminds of Programming』
『オブジェクト指向コンピューティング』
S4TF
「オブジェクト指向プログラミング」その起源からの検証
#論文メモ[OOP]の[論文]OOPの真意、必要性、方向性について[PDF https://core.ac.uk/reader/34000413][山本雅昭]
LLVM
CTFE
[/ Compile Time Function Execution]コンパイル時に関数を実行して得た値を使うコンパイル時間は少し長くなるが、実行時の処理速度が向上[Pragma]などを用いて、「この関数はコンパイル時にのみ計算する」ことの指定もできたりするhttps://keens.github.io/blog/2021/08/22/konpairutokiniteisuuwoshorishiteshimauare/
ONNX
Open Neural Network eXchangeDeepLearningモデルを表現するためのフォーマットDLモデルをフレームワーク間で利用するもの各フレームワークがONNXフォーマットでのモデルの保存・読み込みに対応してれば相互利用ができる[TensorFlow]で作ったモデルを[Chainer]で使える。みたいな
Linux
1991年にスウェーデンの学生だった[Linus Torvalds]が開発[Unix]と同じ機能の持った[OS]を独自に開発し、コードをオープンにしたhttps://qiita.com/okuoku/items/e3e7e73d9d5e4ff92112http://oldlinux.org/download/ECLK-5.0-WithCover.pdfhttps://www.slideshare.net/mao999/0-linux
Mark Sweep GC
日本語では「印掃式ゴミ集め」とかって言うらしいスライド[Mark Sweep GCについて]概要世界初のGC
WebAssemblyをサポートする言語
[WebAssembly]をサポートする言語どっかの記事に「すでに30言語ぐらいある」って書いてたな[mrsekut.icon][LLVM]で実装された言語は基本いける、それ以外の言語はそれ用の処理系が開発されればいけるという認識でいいのかな?[mrsekut.icon]大きく分けると2種類ある [ref https://qiita.com/chikoski/items/47ca7bbfe5bfb5fe0f66#%E9%96%8B%E7%99%BA%E3%81%AB%E4%BD%BF%E3%81%88%E3%82%8B%E8%A8%80%E8%AA%9E]
define-by-run
モデルを直接実行する計算グラフの構築をデータを流しなら行う実際に計算が行われたタイミングで計算グラフを作っていく異なるデータを入れたときに、異なる計算グラフを作成することができるデータによって条件分岐ができたりするのも利点なのか? [ref https://www.hellocybernetics.tech/entry/2017/01/14/060758]
Menoh
[ONNX]形式の学習済みモデルを動作させる推論用ライブラリ様々な言語で利用できるつまり[Python]で書いた[Chainer]などの学習済みモデルを[Haskell]上で使える[PFN]製[github https://github.com/pfnet-research/menoh]
Emscripten
[C]や[C++]を[JavaScript]にコンパイルしたりする[LLVM IR]を[WebAssembly]に変換できる[Alon Zakai]氏が2010年に始めたプロジェクト
ベル研究所
C
1972年に[ベル研究所]の[Dennis MacAlistair Ritchie]が開発[静的記憶域期間][自動記憶域期間]https://www.atmarkit.co.jp/ait/articles/1104/26/news107_2.html2次元配列の動的確保の例
『世界の技術を支配する ベル研究所の興亡』
Lillian F. Schwartz
[ベル研究所]
Rob Pike
Kenneth Lane Thompson
UNIX V6
1975年に[ベル研究所]からリリースされた最初の[Unix]開発者[Kenneth Lane Thompson][Dennis MacAlistair Ritchie]
Bourne Shell
[sh]とも呼ぶもっとも基本的な[Shell]どの機械にも(?)、defaultで入っている[bash]や[ksh]の派生元[ベル研究所]の[Steven Bourne]氏が開発
Unix
1969年に[ベル研究所]の[Kenneth Lane Thompson]や[Dennis MacAlistair Ritchie]らによって開発された[OS][タイムシェアリングシステム]のOS名前は[Multics]からもじっているMultiではなくUni現在は[The Open Group]が仕様を管理している
Plan 9
[分散OS][OS][ベル研究所]https://thedorkweb.substack.com/p/a-week-with-plan-9https://www.google.com/search?q=p2p&rlz=1C5CHFA_enJP873JP873&oq=p2p&aqs=chrome..69i57.729j0j4&sourceid=chrome&ie=UTF-8
SCCS
[/ Source Code Control System]最初の[バージョン管理システム]バグの原因を追跡するのが楽になった1972年[ベル研究所]の[Marc Rochkind]が開発
Richard Wesley Hamming
[ベル研究所]
Bjarne Stroustrup
『Clean Code』
C++のtemplate
意図せずチューリング完全になったもの
C++のConcept
NimのConcept
[Nim]の[Concept]Genericsの型パラメータに制約を与えるイメージ[docs https://github.com/nim-lang/Nim/blob/devel/doc/manual_experimental.rst#concepts]例: `Comparable`conceptを定義 `Comparable`は、`int`等と同様に一種の型として利用できる
Google
page rank
[Google]検索のアルゴリズム[ランキングシステム]の一つ検索クエリとの関連性だけでなく人気度などもスコア化論文[The PageRank Citation Ranking: Bringing Order to the Web]
Reproducible Builds
登録したPasskey
[GitHub]をやってみた2023/11/2[https://github.com/settings/security ここ]から設定できる実際のログインの手順は、ブラウザ上でQRコードが表示される
ざっくりAssemblyScript
Jeff Dean
濱野純
[Git]のメンテナ最初のリリースから2ヶ月後の2005年7月26日からメンテナ[Google]の人https://github.com/gitsterhttps://twitter.com/jch2355
WebAssembly
Erik Meijer
WebContainers
[Web Browser]上で[Node.js]を動かす[Next.js]と[Google]のチームがやっているらしいlocalhostを立ち上げずに開発する感じかhttps://github.com/stackblitz/webcontainer-core[StackBlitz]
Google Caffeine
2010~[Google]のインデックスシステムインデックスをDBに保存する以下のような情報も一緒に保存するページに含まれるキーワード
Patri Friedman
元[Google]エンジニア[David D. Friedman]の息子[自由のためのメカニズム]https://ja.wikipedia.org/wiki/デヴィッド・フリードマン[Milton Friedman]の孫
Contact Tracing API
[COVID-19]の陽性者と接触したかどうかを追跡する技術[Apple]と[Google]が一緒にやる追跡時にどうプライバシーを守るかが重要になる2020/5にAPIとして公開され、そのうちOSアップデートでOS自体に入る?この2企業だからiOSとAndroidに入れられる。すごい[mrsekut.icon]
Portals
from [JSConfJP2019のmemo][Google]https://jp.techcrunch.com/2019/05/08/2019-05-07-google-rethinks-navigation-with-launch-of-portals-on-chrome-cana/htmlのタグにportalsみたいなのが増えるたぶん
Bringing the Web up to Speed with WebAssembly
#論文[spec/pldi2017.pdf at master · WebAssembly/spec https://github.com/WebAssembly/spec/blob/master/papers/pldi2017.pdf]要約[Google], [MicroSoft], [Apple], [Mozilla]の人たちの共著ブラウザ上でバイトコードを実行する[WebAssembly]という仕様を提唱
PNaCl
from [WebAssembly]Portable Native Clientポータブルな[NaCl]Chrome上でバイナリを動かす機能[LLVM IR]をクライアント側でネイティブコードに[AOT compile]する
gcc
『Binary Hacks Rebooted』
gcc-14
なんでC, C++が常に高速な言語なのか
なんでそれより速い言語が出てこない?あと比較要素としてメモリ使用量の話が出てくるC++の方がRustよりメモリ使用量が少ない回答その1[https://www.quora.com/What-is-the-present-state-of-Rust-Is-it-now-faster-than-C++ What is the present state of Rust? Is it now faster than C++? - Quora]
コンパイラ基盤
from [『きつねさんでもわかるLLVM ~コンパイラを自作するためのガイドブック』]コンパイラを作るためのフレームワークコンパイラ作成のためのモジュール群フロントエンドさえ独自で作れば、あとは既存のものを再利用してコンパイラを作れる逆も然り
コンパイラドライバ
以下を制御するプログラム[Compiler][アセンブラ][リンカ][gcc]はコンパイラドライバ
プログラミング言語
Search 312 pages
New Links
ムーブセマンティクス
Created
6 years ago
by
mrsekut
Updated
5 years ago
by
mrsekut
Views: 73
Page rank: 34.6
Copy link
Copy readable link
Start presentation
Hide dots
C++
1983年に
ベル研究所
の
Bjarne Stroustrup
が開発
C++のtemplate
C++のConcept
Google
のC++のコード規約
https://ttsuki.github.io/styleguide/cppguide.ja.html
tutorial
https://github.com/changkun/modern-cpp-tutorial
https://ezoeryou.github.io/cpp-intro/
あとで読む
https://magazine.rubyist.net/articles/0018/0018-Legwork.html
ムーブセマンティクス
https://yohhoy.hatenablog.jp/entry/2012/12/15/120839
http://www.kh.rim.or.jp/~nagamura/misc/stroustrup-interview.html
Bjarne Stroustrup
へのインタビュー
https://www.ipa.go.jp/sec/publish/tn16-007.html
https://github.com/rigtorp/awesome-modern-cpp
gcc
でコンパイルできる
https://kamocyc.hatenablog.com/entry/2020/01/23/075331
g++
というコマンドを使う
実体は
gcc
#プログラミング言語