54
66

<この項は書きかけです。順次追記します。>
This article is not completed. I will add some words in order.

はじめに(forward)

C言語を理解するとはCコンパイラが書けるようになって、C言語の拡張、縮小ができるようになることでどうでしょうと言うお話です。

英語もプログラミング言語も文法から教える方々がお見えになることは存じ上げています。

最初のTwitterは、実話に少し手を加えたものです。C言語の12日間の研修で、Cコンパイラの写経をしてコンパイラを書けるようになるのが一番早道だと説明した際の話です。文法は覚える必要がないことを言い添えて。 

カーニハン、リッチーの「Cプログラミング言語」という本は一切使いません。この文章をお読みいただく際には、文法をお忘れいただくか、ソースコードのコンパイルを先にお願いします。

プログラミング言語教育のXYZ。 仮説(52)
https://qiita.com/kaizen_nagoya/items/1950c5810fb5c0b07be4

コンパイルエラーを取るのに文法を知らなくてもとれることを経験してもらうことがねらいです。

12日間の研修は、毎週1日、3ヶ月かけるもので、ちょうど、3ヶ月あれば、コンパイラが書けるようになるという説明をしました。

WEBをやっているから、C言語は関係ないとお思いの方もおみえかもしれません。C言語さえやっておけば、HTMLも、CSSも、JAVAも、PHSも、Rubyも、Pythonも、ありとあらゆる言語を自動生成できるかもしれません。

私が一番得意な言語はアセンブラです。 Cコンパイラはアセンブラも自動生成してくれます。(あたりまえとおもわないで)

アセンブラへの道 
https://qiita.com/kaizen_nagoya/items/46f2333c2647b0e692b2

アセンブラの自動生成もできます。それコンパイラやん!

目次(content)

はじめに(forward)
目次(content)
背景(back ground)
写経の意義
1. Cコンパイラの写経
・portable C compilerとMatlab
・CPU, OS, 言語
・未定義(undefined)、未規定(unspecified)
・CPU(論理回路)とverilog HDL
2.Lode Runnerの写経 
・エラー(コンパイル、リンク、実行)
・・1) 入力誤り 
・・2) 版違い 
・・3) ライブラリ違い。
・・4) OS違い(Windows, macOS, Linux, OSEK/VDX等) 
・・5) CPU違い 
・・6) コンパイラの提供元の違い
3.The C puzzle bookの写経
・MISRA
・CERT
まとめに代えて 
・自己関連記事
・蛇足
・参考資料(reference)
・連携(link)
文書履歴(document history)

背景(back ground)

私がC言語でコンパイラの書き方を覚えたのは1990年頃です。電総研(現在の産総研)の言語システム研究室に研修生として3ヶ月おじゃましていた際に、コンパイラの書き方を覚えました。最初は写経です。

電総研:電子技術総合研究所
産総研:産業総合研究所

C言語の文法を覚えるつもりはありません。御免なさい。 

プログラム初心者が知らなくてもいいこと。仮説(63)
https://qiita.com/kaizen_nagoya/items/3eaeb88e583898b8aae7

最初に覚えるプログラミング言語は何がいいですか?
https://qiita.com/kaizen_nagoya/items/590704e76e287707637b

当時は、Small Cという本のCソースコードを1ヶ月でコンパイルし、次の1ヶ月は、Pascalで書かれたコンパイラをC言語に書き直しました。Pascalのプログラム経験ゼロでした。最後の1ヶ月は、LISPで書かれたOBJという抽象データ型言語のsyntax checkerをC言語で書きました。

使ったコンパイラはSunOS上のSUNのコンパイラだったり、GNU Cコンパイラだったりしました。 

C Puzzle Bookをコンパイルした時には、東芝の16Bit CPUのUnixだったり、HPのUnixだったりしました。PCのTurbo-c, Lattice C, MSCなどでもコンパイルしました。

Cコンパイラをコンパイルしていると、ソースコードのコンパイラとコンパイルしているコンパイラの違いがよくわかるようになるかもしれません。

smallc.png
https://www.amazon.com/Small-C-Compiler-2nd/dp/1558511245/

この後yacc lexでcコンパイラ書こうとしました。じつさいにはbisom(gnuのyacc)とべた打ちのCでCコンパイラを書いて拡張を試みていました。

その後、20年以上が過ぎ、オープンソースのCコンパイラも増えました。C言語を習う人のCコンパイラの写経は、だいた3週間でできるようになりました。あ、もともと4週間で写経して、その後の2ヶ月は応用問題だったから、元々写経自体は4週間だった。

C言語教育で3段階を想定します。

写経の意義 

写経は、文法理解ではなく、意味理解を中心とする手法と唱える人がいます。 写経しながら文法のことを考えていけないという規則があるわけではありません。文法のことを考えながら何度も何度も写経をしてもいいです。文法のことを考えずにひたすら膨大な量の写経をしてもいいです。後者は母語方式という言語習得の試みです。 

写経をせずに、写経について語る自由はあります。写経をしない人に写経の意味を語らない自由もあります。 

やればわかることをやらない人に、説明する時間を無駄時間と呼ぶ人がいるかもしれません。

1. Cコンパイラの写経

3週間かけられるときはCコンパイラの写経をお願いしています。 

半分くらいのC言語の仕事は、コンパイラがかければ、自動生成でおきかえることができる気がするからです。 

半分くらいは、コンパイラを書いただけでは解決しない課題かもしれないと思い、別の方法を推奨しています。 
http://www.cpm.z80.de/small_c.html
https://mdfs.net/System/C/BBC/
https://github.com/ncb85/SmallC-85
https://github.com/rui314/chibicc

portable C compilerとMatlab

C言語は、UNIXと同様に、アメリカの通信会社の研究所であるBell研究所に由来しています。Portable C Compilerの作者Stephen C. Johnsonがいました。のちにMatLabのコンパイラを書いたり、Mathworksに転職したことを長らく知らずにいました。やっぱりね、Cコンパイラかければ、いろんな会社で重宝される。いろんなツールの心臓部になれる。

A history of MATLAB
https://dl.acm.org/doi/10.1145/3386331

Stephen C. Johnson and Cleve Moler. 1994. Compiling MATLAB. In Proceedings of the USENIX Symposium on Very High Level Languages (VHLL). USENIX Association, Berkeley, California, USA (Oct.), 119–127.
https://www.usenix.org/legacy/publications/library/proceedings/vhll/index.html
https://www.usenix.org/legacy/publications/library/proceedings/vhll/full_papers/vhll94_paper_johnson.pdf

CPU, OS, 言語

写経する対象のCコンパイラと、写経したCコンパイラをコンパイルコンパイラが同じものだという前提には立っていません。Cコンパイラを書いたら、そのCコンパイラのソースをコンパイルして、さらにそのソースをコンパイルしたコンパイラでコンパイルするという作業は、コンパイラの自己試験として大事です。 
 
ここでは写経した対象のコンパイラが大事なのではなく、そのソースコードをコンパイルするコンパイラになれるためにコンパイルする場合もあることにお気づきでしょうか。 
 
コンパイラの違い、CPUの違い、OSの違い、版(version)の違いなどによるコンパイルエラーを経験することにより、言語設計のあり方について考えるきっかけになればよいでしょう。 

C言語には、Freestanding環境とHosted環境の2種類あることをご存知でしょうか。Freestanding 環境は、OSのないまたはPOSIX対応OSでないOSとともに用いるC言語です。
割り込み処理があるCPUを示します。。
 
C言語は直接CPU叩くことも可能です。割り込みがあるCPUであれば、割り込みを呼び出すのも手でしょう。

posixc.png

C言語規格はPOSIX規格と相互関係を持った規格だという印象が伝われば十分です。

どういうOSを設計するか。
どういう言語を設計するか。 
どういうCPUを設計するか。
この3つの課題を一体的に検討するのがC言語です。 

個々の文法は時々のCPU、OSの設計に依存し変遷していきます。
https://pubs.opengroup.org/onlinepubs/9699919799/

OSは、通信規約と対で使うと便利です。TCP/IP, Ethernetなら、Unix/Linux/Posix。 
CANならOSEK/VDXという感じです。

ethernet. TCP/IPをハードウェアでどこまで実現するかは課題かもしれません。

posixcether.png

CANとOSEK/VDXの場合は、OSの機能を使わない割り込み処理(ISR: Interrupt service routine)を分類(category)1という名称をつけています。 

osekc.png

この図差し替え予定

文法よりも、C言語を使う環境の違いを調べられないと、コンパイルエラーは取れないかもしれません。C言語で書いたプログラムのコンパイルエラーを撮るための資料のうち、文法はほとんど、限りなく小さいことが推測できるでしょうか。

未定義(undefined)、未規定(unspecified)

C言語規格で、CPUの発展の妨げにならないように定義しない事を定義している画期的定義が、未定義(undefined)です。

複数の定義が可能な仕様でCPUの性能を発揮するのに選択できる画期的仕組みが未規定(unspecified)です。

C言語(C++)に対する誤解、曲解、無理解、爽快。
https://qiita.com/kaizen_nagoya/items/3f3992c9722c1cee2e3a

CPU(論理回路)とverilog HDL

verilog-HDLは論理回路を記述する言語です。HDL(Hardware description Langauge)ではソースコードを書くことが設計(design)、コンパイル以降の配置配線(ソフトウェアでいえば連携(link)と配置(location)が実装(implementation)といいます。

programの本質は計画だ。programは設計だ。
https://qiita.com/kaizen_nagoya/items/c8545a769c246a458c27

2.Lode Runnerの写経 

2週間くらいしか時間がなく、コンパイラがひょっとしたら必要ないかもしれない仕事の場合には、Lode Runnerの写経を勧めることがあります。

Lode-Runnerで学ぶ実践C言語-ビー・エヌ・エヌ企画部
51JaGIOM+4L._SL500_SX351_BO1,204,203,200_.jpg

エラー(コンパイル、リンク、実行)

写経しているとビルド(コンパイル・リンク)エラーに遭遇します。 
ほとんどのエラーは文法を覚えていなくても解決できるかもしれません。

1) 入力誤り 

大文字小文字の違い、
spelling mistaken、いわゆるtypo.
記号の間違い。. , ;
1バイト、2バイト文字の勘違い。空白2バイトが一番みつけにくいかも。

コンパイルエラーがなくなっても、リンクエラーが出ることがあります。リンクエラーがなくなっても、たまたま間違えた関数、変数、定数が存在して、実行時エラーがでることがあります。そして、最後に実行時エラーがなくなっても、期待する動きをしないときの治し方です。

空間が問題か、時間が問題かを切り分けます。 
空間が問題の場合には、期待する値のassert文を入れたり、printfデバッグしたりします。 
時間が問題の場合には、順番を出力するprintfデバッグしたり、時刻を表示するprintfデバッグしたり、profilerを使って、時間がかかりすぎている関数で、なにか不穏な動きがあるかを確かめます。

2) 版違い 

新しい言語仕様ではコンパイルエラーになる。 
古い言語仕様だとコンパイルエラーになる。 
一緒にコンパイルするソースのバージョン違いを含む。

3) ライブラリ違い。

リンクするライブラリが違い、リンクエラーになる。
ライブラリだけでなく、一緒にコンパイルするソースが違う場合も含む。

4) OS違い(Windows, macOS, Linux, OSEK/VDX等) 

バージョン違いの一種かもしれない。 
POSIX系OSであっても、個々のOSごとにPOSIX対応がすごく違うことを知った。 

PCTS:151-2, POSIX Test Suite

Windows(cygwin), macOS, Linuxの3種類の結果をもとに、ソフトウェア品質指標の分類に基づいて分析し、世界ソフトウェア品質会議(ドイツ開催)で発表したことがある。 

5) CPU違い 

8bit CPU, 16bit CPU, 32bit CPU, 64bit CPUはじめ、各種これら以外の論理回路群用のコンパイラでコンパイルしてみると、違いがまざまざとわかるかも。アセンブラがわかると乗り切れることがあるかもしれない。 

C言語のマクロ定義や、アセンブラのマクロ定義を使って、同じソースで違うCPUでコンパイルエラーがでなくする方法がいろいろある。 

アセンブラへの道
https://qiita.com/kaizen_nagoya/items/46f2333c2647b0e692b2

プリプロセッサをもう一つ作って、C言語ソースを出力する方法を取ったこともあるような気がする。 

6) コンパイラ提供元の違い

gcc, clang, visual C(C++)で、こんなにコンパイルエラーが違うなんて。せっせとエラーの記録を取っている。エラーが出たとに、ネット検索で自分の記録が出てくるように。

C++/C コンパイルエラーを記録するとよい理由7つ
https://qiita.com/kaizen_nagoya/items/85c0e92b206883140e89

Clang/Clang++(LLVM) gcc/g++(GNU) コンパイラ警告等比較
https://qiita.com/kaizen_nagoya/items/9a82b958cc3aeef0403f

C言語規格は審議文書をネットに公開している。 

N3054 Working Draft, Standard for Programming Language C
http://www.open-std.org/jtc1/sc22/wg14/docs/papers/2022/n3054.pdf

このコード断片をコンパイル中です。

3.The C puzzle bookの写経

1週間しかかけられない時は、C Puzzle Bookの写経をお勧めします。 

これは、写経というよりパズルを解くだけで、数百行ですぐに終わります。 

The C Puzzle Bookがやってあれば、CPUの違い、コンパイラの違いなどによるコンパイルエラーは万全。っていうか、The C Puzzle Bookは、16bit コンパイラでもコンパイルしておくとわかりやすい。 

Watcom C, Intel Cは利用者の方に規格断片などをコンパイルして、エラー、警告などを教えていただきました。1990年代当時、見たことのあるコンパイラで一番規格に適合していたのがWatcom Cでした。現在ではオープンになっています。16ビットコンパイラの振る舞いを確認するのに利用しています。
https://github.com/open-watcom/open-watcom-v2

Cパズルブック
改訂版, Alan R. Feuer/アラン・R. フューアー 2000-12
51QQZNVK6JL._SX374_BO1,204,203,200_-3.jpg
https://www.amazon.co.jp/dp/4877830294/
https://bookmeter.com/books/1357557
https://booklog.jp/item/1/4877830294

C Puzzle Bookの有り難み5つ、C言語規格及びCコンパイラの特性を認識
https://qiita.com/kaizen_nagoya/items/d89a48c1536a02ecdec9

Cパズルブック。文法書より先に動かそ。
https://qiita.com/kaizen_nagoya/items/408869e685d8b6272fce

C puzzleBookの著者も、Portable C Compilerの著者Stephen C. Johnson同様、Bell研究所での仕事です。

Bell研究所というと、Programming Language CというC言語規格ができる前の仕様書が有名です。この文法書を読まなくても、Cコンパイラのソースを入力してコンパイルし、The C Puzzle bookを入力してコンパイルし、最後に時間があれば、C言語規格のコード断片をコンパイルすれば、読まなくてもいいと断言してみたいです。

MISRA

MISRA C まとめ #include
https://qiita.com/kaizen_nagoya/items/f1a79a7cbd281607c7c9

misra Cのコード断片を最初にコンパイルした時は、The C puzzle bookのマクロを参考にしました。 

C言語の#define文マクロをC++のTemplateか何かにする方法
https://qiita.com/kaizen_nagoya/items/20c3f5964cef1da037cb

どなたか、ご指導いただけると幸いです。  

MISRA C 2012 -組み込みプログラミングの高信頼性ガイド
https://webdesk.jsa.or.jp/books/W11M0090/index/?bunsyo_id=430006

上記書籍の共著者です。中身について、ご意見、ご質問いただけると幸いです。

MISRA C++, AUTOSAR C++について
https://qiita.com/kaizen_nagoya/items/3436fbd49865e0da7d35

AUTOSAR 検索結果 C++ 関連文書, AUTOSAR(14)
https://qiita.com/kaizen_nagoya/items/d2086fba5c1154455524

Autosar Guidelines C++14 example code compile list
https://qiita.com/kaizen_nagoya/items/8ccbf6675c3494d57a76

CERT

重要度が低いと考えられているか、参考文献がリンク切れになっていたことがある
2015年の時点のリンクの張りなおしは小川清が担当。
https://wiki.sei.cmu.edu/confluence/plugins/servlet/mobile?contentId=87152170#content/view/87152170

OSEK

OSEK OS のソースコードを写経するのもいいかも。
https://www.toppers.jp/osek-os.html

※ 開発スタッフの名前は、掲載を了承された方のみ記載しています。

掲載を了承しているが掲載されていない人もいるかもしれない。知らんけど。

まとめに代えて 

C言語, C++は、毎日のようにどちらかはコンパイルするように努めています。主に、規格の断片を確認する作業を含めて。 

文法を学ばずに、写経とコンパイルエラーから学ぶ方式を母語方式とよんで学会発表などをしてきました。 

[C][C++]の国際規格案の例題をコンパイルするときの課題7つ。
https://qiita.com/kaizen_nagoya/items/5f4b155030259497c4de

自己関連記事

日本のプログラマが世界で戦える16分野・事例。仮説(53)統計と確率(25)
https://qiita.com/kaizen_nagoya/items/a7e634a996cdd02bc53b

コンパイラを書くのは難しいか。仮説(175)
https://qiita.com/kaizen_nagoya/items/a87c65d487bc7a67da11

連立微分方程式のPade近似と、Cコンパイラとモデルに基づく設計
https://qiita.com/kaizen_nagoya/items/5e50b3c9c0004fe92bd9

The C Puzzle Bookは、次の記事でも紹介させていただいています。

人生で影響を受けた本100冊
https://qiita.com/kaizen_nagoya/items/16af53acbb147a94172e

蛇足

老害よりたちが悪いか若害は皆で渡れば怖くないから

社会現象では、立場によって逆も真であることが大事。
一つの立場の主張は、一つの立場にとっては意味があっても、別の立場では意味がないかもしれないことがわかっていればよい。

老害、若害と年齢で発想することが無意味で、コンパイラを書くかどうかが大事という意味にたどり着いてもらうには、次の資料が役立つかも。やくだたないかも。
 
新人(学生)を指導するよりも新人(学生)に指導してもらった方が効率的。仮説(139)
https://qiita.com/kaizen_nagoya/items/db993b1536055029f7c8

若害を主張したいわけではないことが感じられれば大丈夫かも。

12日間の別のプログラミング言語教育では、課題を設定して12日でアプリを作ってもらうようにしました。一番機能が多いアプリを、一番最初に作成したのは60歳の技術者の方でした。他の参加者は、20代と30代で。 

いつもそうというわけではありません。verilog-HDLの場合には、大会社の技術者の方が、12日でアプリを作成されました。初めての言語で。 

目的、目標がしっかりしていれば、年齢は関係ないという例です。

IT業界でやめるとよいかもしれない3つの習慣(年齢・学歴(大学名)・理系文系)
https://qiita.com/kaizen_nagoya/items/f0d252d1e70ccea18efc

プログラマにも読んでほしい「QC検定にも役立つ!QCべからず集」
https://qiita.com/kaizen_nagoya/items/d8ada7b7fceafe2e5f0e

データサイエンティストの気づき!「勉強して仕事に役立てない人。大嫌い!!」『それ自分かも?』ってなった!!!
https://qiita.com/kaizen_nagoya/items/d85830d58d8dd7f71d07

技術を極める。近寄りたい人。近寄りたくない人。三分類、五集合。
https://qiita.com/kaizen_nagoya/items/aefd732bcd2518b93ae3

経験と勘と度胸。裏打ち可能な分布と確率。証拠能力が高い。統計と確率(12)
https://qiita.com/kaizen_nagoya/items/f5ec32472774d17e46ec

立場が違えば、見え方が真逆という例を少し記録。
老害だと言った対象の方は、実は20歳頃からそんなんだったことをあなたが知らないだけかもしれません。50年前は、1チップCPUを使った計算で仕事をしている人は1%以下で、99%がメインフレームで計算していたかもしれません。今は、99%が1チップCPUを使った仕事をしており、1%の人がメインフレームで計算しているかもしれません。昔99%だった人がやってた振る舞いが、1%の人たちを貶すことがったとすれば、今、1%になったのに99%の人をけなしていても、同世代の人間から見れば、同じことをやっているだけで老害でもなんでもない。50年間、同じことを言い続けていただけだから。同世代で言われ続けた人間にとって、老害でもなんでもない。若い頃から権威主義なだけだったりするかもしれない。若い人から見ると、年寄りだからそういっているように見えるが、同い年でそういいつづけていない人間からすれば、見方が偏っているだけかもしれない。
私たち新人類と言われ始めた世代にとって、「今の若者は」といわれたことを、50年やりつづけているだけだし。今の若者はと言われる人と同じようなことをしているかもしれない。

例:
自分より少し若い人の発言「今の若者は仕事場で横になって仕事する。」
わい「ごめんなさい。50年前、仕事場で横になって仕事してました。私、昔、若者でしたから。昔の若者もしてました。あなたがしてなかっただけではないのですか。」
確率や分布の形が変わっているかもしれない。統計、分布を調べればわかることだろう。時間と空間をさまざまな評価関数を軸にとり11次元空間をはれば、01論理も社会現象には適用できるだろう。逆も真かもしれないという仮定をおいて。

参考資料(reference) 

育児していたからこそエンジニアのお仕事に役立ったこと10選 @e99h2121
https://qiita.com/e99h2121/items/db7e54c111ffcd3c3957

新人の方によく展開している有益な情報 @kazuo_reve
https://qiita.com/kazuo_reve/items/d1a3f0ee48e24bba38f1

1年以上かけて生産性倍増+成長し続けるチームになった施策を全部公開 @kojimadev
https://qiita.com/kojimadev/items/4b28f801863cf4e8f0da

連携(link)

リンクC.png

リンクいただきありがとうございます。上の2つはすぐに消えるため、ここにURLを記録させてください。  

@kai_kou Qiita週間ストック数ランキング【自動更新】からリンク 9 hours ago
https://qiita.com/kai_kou/items/180a91fd88dbbbd746f6

@koki_develop Qiita 週間いいね数ランキング【自動更新】からリンク 12 hours ago
https://qiita.com/koki_develop/items/b6cfc81906990b3a3e72

@torifukukaiou 【毎日自動更新】AdventCalendar2022 タグ LGTMランキング!からリンク 1 day ago
https://qiita.com/torifukukaiou/items/6cbea79ccf0eea8777d2

twitter driven posting からリンク 1 day ago
https://qiita.com/kaizen_nagoya/items/8bcef58c94dc690f252f

いつもいいねをくださる小寺浩司さん頼みでないQiita記事の新しい市場誘導方法を試みています。Twitterで10個呟いて、いいねが多かった内容を記事にする。第二弾です。

関連資料

' @kazuo_reve 私が効果を確認した「小川メソッド」
https://qiita.com/kazuo_reve/items/a3ea1d9171deeccc04da

' @kazuo_reve 新人の方によく展開している有益な情報
https://qiita.com/kazuo_reve/items/d1a3f0ee48e24bba38f1

' @kazuo_reve Vモデルについて勘違いしていたと思ったこと
https://qiita.com/kazuo_reve/items/46fddb094563bd9b2e1e

Engineering Festa 2024前に必読記事一覧

登壇直後版 色使い(JIS安全色) Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜 スライド編 0.15
https://qiita.com/kaizen_nagoya/items/f0d3070d839f4f735b2b

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

逆も真:社会人が最初に確かめるとよいこと。OSEK(69)、Ethernet(59)
https://qiita.com/kaizen_nagoya/items/39afe4a728a31b903ddc

統計の嘘。仮説(127)
https://qiita.com/kaizen_nagoya/items/63b48ecf258a3471c51b

自分の言葉だけで論理展開できるのが天才なら、文章の引用だけで論理展開できるのが秀才だ。仮説(136)
https://qiita.com/kaizen_nagoya/items/97cf07b9e24f860624dd

参考文献駆動執筆(references driven writing)・デンソークリエイト編
https://qiita.com/kaizen_nagoya/items/b27b3f58b8bf265a5cd1

「何を」よりも「誰を」。10年後のために今見習いたい人たち
https://qiita.com/kaizen_nagoya/items/8045978b16eb49d572b2

Qiitaの記事に3段階または5段階で到達するための方法
https://qiita.com/kaizen_nagoya/items/6e9298296852325adc5e

出力(output)と呼ばないで。これは状態(state)です。
https://qiita.com/kaizen_nagoya/items/80b8b5913b2748867840

coding (101) 一覧を作成し始めた。omake:最近のQiitaで表示しない5つの事象
https://qiita.com/kaizen_nagoya/items/20667f09f19598aedb68

あなたは「勘違いまとめ」から、勘違いだと言っていることが勘違いだといくつ見つけられますか。人間の間違い(human error(125))の種類と対策
https://qiita.com/kaizen_nagoya/items/ae391b77fffb098b8fb4

プログラマの「プログラムが書ける」思い込みは強みだ。3つの理由。仮説(168)統計と確率(17) , OSEK(79)
https://qiita.com/kaizen_nagoya/items/bc5dd86e414de402ec29

出力(output)と呼ばないで。これは状態(state)です。
https://qiita.com/kaizen_nagoya/items/80b8b5913b2748867840

これからの情報伝達手段の在り方について考えてみよう。炎上と便乗。
https://qiita.com/kaizen_nagoya/items/71a09077ac195214f0db

ISO/IEC JTC1 SC7 Software and System Engineering
https://qiita.com/kaizen_nagoya/items/48b43f0f6976a078d907

アクセシビリティの知見を発信しよう!(再び)
https://qiita.com/kaizen_nagoya/items/03457eb9ee74105ee618

統計論及確率論輪講(再び)
https://qiita.com/kaizen_nagoya/items/590874ccfca988e85ea3

読者の心をグッと惹き寄せる7つの魔法
https://qiita.com/kaizen_nagoya/items/b1b5e89bd5c0a211d862

@kazuo_reve 新人の方によく展開している有益な情報」確認一覧
https://qiita.com/kaizen_nagoya/items/b9380888d1e5a042646b

ソースコードで議論しよう。日本語で議論するの止めましょう(あるプログラミング技術の議論報告)
https://qiita.com/kaizen_nagoya/items/8b9811c80f3338c6c0b0

脳内コンパイラの3つの危険
https://qiita.com/kaizen_nagoya/items/7025cf2d7bd9f276e382

心理学の本を読むよりはコンパイラ書いた方がよくね。仮説(34)
https://qiita.com/kaizen_nagoya/items/fa715732cc148e48880e

NASAを超えるつもりがあれば読んでください。
https://qiita.com/kaizen_nagoya/items/e81669f9cb53109157f6

データサイエンティストの気づき!「勉強して仕事に役立てない人。大嫌い!!」『それ自分かも?』ってなった!!!
https://qiita.com/kaizen_nagoya/items/d85830d58d8dd7f71d07

「ぼくの好きな先生」「人がやらないことをやれ」プログラマになるまで。仮説(37) 
https://qiita.com/kaizen_nagoya/items/53e4bded9fe5f724b3c4

なぜ経済学徒を辞め、計算機屋になったか(経済学部入学前・入学後・卒業後対応) 転職(1)
https://qiita.com/kaizen_nagoya/items/06335a1d24c099733f64

プログラミング言語教育のXYZ。 仮説(52)
https://qiita.com/kaizen_nagoya/items/1950c5810fb5c0b07be4

【24卒向け】9ヶ月後に年収1000万円を目指す。二つの関門と三つの道。
https://qiita.com/kaizen_nagoya/items/fb5bff147193f726ad25

「【25卒向け】Qiita Career Meetup for STUDENT」予習の勧め
https://qiita.com/kaizen_nagoya/items/00eadb8a6e738cb6336f

大学入試不合格でも筆記試験のない大学に入って卒業できる。卒業しなくても博士になれる。
https://qiita.com/kaizen_nagoya/items/74adec99f396d64b5fd5

全世界の不登校の子供たち「博士論文」を書こう。世界子供博士論文遠隔実践中心 安全(99)
https://qiita.com/kaizen_nagoya/items/912d69032c012bcc84f2

小川メソッド 覚え(書きかけ)
https://qiita.com/kaizen_nagoya/items/3593d72eca551742df68

DoCAP(ドゥーキャップ)って何ですか?
https://qiita.com/kaizen_nagoya/items/47e0e6509ab792c43327

views 20,000越え自己記事一覧
https://qiita.com/kaizen_nagoya/items/58e8bd6450957cdecd81

Views1万越え、もうすぐ1万記事一覧 最近いいねをいただいた213記事
https://qiita.com/kaizen_nagoya/items/d2b805717a92459ce853

自己記事一覧

Qiitaで逆リンクを表示しなくなったような気がする。時々、スマフォで表示するとあらわっることがあり、完全に削除したのではなさそう。

4月以降、せっせとリンクリストを作り、統計を取って確率を説明しようとしている。
2025年2月末を目標にしている。

物理記事 上位100
https://qiita.com/kaizen_nagoya/items/66e90fe31fbe3facc6ff

量子(0) 計算機, 量子力学
https://qiita.com/kaizen_nagoya/items/1cd954cb0eed92879fd4

数学関連記事100
https://qiita.com/kaizen_nagoya/items/d8dadb49a6397e854c6d

統計(0)一覧
https://qiita.com/kaizen_nagoya/items/80d3b221807e53e88aba

図(0) state, sequence and timing. UML and お絵描き
https://qiita.com/kaizen_nagoya/items/60440a882146aeee9e8f

品質一覧
https://qiita.com/kaizen_nagoya/items/2b99b8e9db6d94b2e971

言語・文学記事 100
https://qiita.com/kaizen_nagoya/items/42d58d5ef7fb53c407d6

医工連携関連記事一覧
https://qiita.com/kaizen_nagoya/items/6ab51c12ba51bc260a82

自動車 記事 100
https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5

通信記事100
https://qiita.com/kaizen_nagoya/items/1d67de5e1cd207b05ef7

日本語(0)一欄
https://qiita.com/kaizen_nagoya/items/7498dcfa3a9ba7fd1e68

英語(0) 一覧
https://qiita.com/kaizen_nagoya/items/680e3f5cbf9430486c7d

転職(0)一覧
https://qiita.com/kaizen_nagoya/items/f77520d378d33451d6fe

仮説(0)一覧(目標100現在40)
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df

音楽 一覧(0)
https://qiita.com/kaizen_nagoya/items/b6e5f42bbfe3bbe40f5d

@kazuo_reve 新人の方によく展開している有益な情報」確認一覧
https://qiita.com/kaizen_nagoya/items/b9380888d1e5a042646b

Qiita(0)Qiita関連記事一覧(自分)
https://qiita.com/kaizen_nagoya/items/58db5fbf036b28e9dfa6

鉄道(0)鉄道のシステム考察はてっちゃんがてつだってくれる
https://qiita.com/kaizen_nagoya/items/26bda595f341a27901a0

安全(0)安全工学シンポジウムに向けて: 21
https://qiita.com/kaizen_nagoya/items/c5d78f3def8195cb2409

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

Ethernet 記事一覧 Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794

Wireshark 一覧 wireshark(0)、Ethernet(48)
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0

線網(Wi-Fi)空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

OSEK OS設計の基礎 OSEK(100)
https://qiita.com/kaizen_nagoya/items/7528a22a14242d2d58a3

Error一覧 error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

++ Support(0) 
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514

Coding(0) Rules, C, Secure, MISRA and so on
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0

coding (101) 一覧を作成し始めた。omake:最近のQiitaで表示しない5つの事象
https://qiita.com/kaizen_nagoya/items/20667f09f19598aedb68

プログラマによる、プログラマのための、統計(0)と確率のプログラミングとその後
https://qiita.com/kaizen_nagoya/items/6e9897eb641268766909

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

プログラムちょい替え(0)一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394

Python(0)記事をまとめたい。
https://qiita.com/kaizen_nagoya/items/088c57d70ab6904ebb53

官公庁・学校・公的団体(NPOを含む)システムの課題、官(0)
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3

「はじめての」シリーズ  ベクタージャパン 
https://qiita.com/kaizen_nagoya/items/2e41634f6e21a3cf74eb

AUTOSAR(0)Qiita記事一覧, OSEK(75)
https://qiita.com/kaizen_nagoya/items/89c07961b59a8754c869

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

LaTeX(0) 一覧 
https://qiita.com/kaizen_nagoya/items/e3f7dafacab58c499792

自動制御、制御工学一覧(0)
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b

Rust(0) 一覧 
https://qiita.com/kaizen_nagoya/items/5e8bb080ba6ca0281927

100以上いいねをいただいた記事16選
https://qiita.com/kaizen_nagoya/items/f8d958d9084ffbd15d2a

小川清最終講義、最終講義(再)計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53

<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
This article is an individual impression based on my individual experience. It has nothing to do with the organization or business to which I currently belong.

文書履歴(document history)

ver. 0.01 初稿  20240728

最後までおよみいただきありがとうございました。

いいね 💚、フォローをお願いします。

Thank you very much for reading to the last sentence.

Please press the like icon 💚 and follow me for your happy life.

<この項は書きかけです。順次追記します。>
This article is not completed. I will add some words in order.

<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
This article is an individual impression based on the individual's experience. It has nothing to do with the organization or business to which I currently belong.

文書履歴(document history)

ver. 0.01 初稿 20221023
ver. 0.02 電総研加筆 20221024
ver. 0.03 SmallC, 参考資料追記 20221025
ver. 0.04 Bell研究所、Portable C Compiler, Matlab追記 20221026 昼
ver. 0.05 コンパイルエラー、母語方式、MISRA C追記 20221026 夕
ver. 0.06 写経の意味を考える前に写経しよう。CPUの設計、OSの設計と言語の設計を同時に刷新できるかもしれない。 20221027
ver. 0.07 目次追加 20221028
ver. 0.08 実行時エラー、printfデバッグ追記 20221029
ver. 0.09 POSIX, hosted, freestanding, 割り込み処理(ISR), OSEK VDX 図追記 20221030
ver. 0.10 アセンブラ、計算機に勝てること 追記 20221102
ver. 0.11 未定義、未規定 追記 20221104
ver. 0.12 誤植訂正 20221107

最後までおよみいただきありがとうございました。

いいね 💚、フォローをお願いします。

Thank you very much for reading to the last sentence.

Please press the like icon 💚 and follow me for your happy life.

54
66
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
54
66