8
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

この資料は、下記のyoutubeにあげた資料の補足資料です。

名古屋Reject会議 2011 プログラミング言語教育のXYZ
https://www.youtube.com/watch?v=He1_tg4px-w

プログラミング言語教育のXYZ

<この項は書きかけです。順次追記します。>

目次

  1. あなたはどうやって言語を覚えましたか
    2.1 母語方式
    2.2 外来語方式

  2. 言語教育の課題
    2.2 状態
    2.1 技能(skill)

  3. 言語
    3.1 アセンブラ
    3.2 Fortran
    3.3 COBOL
    3.4 C
    3.5 JAVA
    3.6 PHP
    3.7 Verilog HDL
    3.8 UML
    3.9 Event-B
    3.10 SPIN
    3.11 coq
    3.12 uppaal
    3.13 alloy
    3.14 LaTeX
    3.15 python
    3.16 R
    3.17 その他

4 エディタ
4.1 VZエディタ
4.2 Mule(Emacs)
4.3 Eclipse

  1. 設計指針
    5.1 万能指針(universal design)
    5.2 形の設計指針

  2. 作業
    6.1 HAZOP
    6.2 見直し(review)
    6.3 作業診断(process assessment)
    6.4 検索

  3. 動画

8.参考文献

1. あなたはどうやって言語を覚えましたか

この資料は、名古屋Reject会議の発表を元に、プログラミング言語を覚えるためのいくつかの材料を用意することです。
ABCが入門だとすれば、XYZは技術の最高峰を収める最後の詰めについてを述べようと企画したものです。

発表はグダグダでしたが、現在岐阜大学にいる今井圭吾さんの、適宜説明や突っ込みが絶妙でした。色々補足してくださった。なんとか内容は若いプログラマには伝わったようです。

参加者の大半は20代。

プログラマではない方には、いつものように何を言っているかわからないという、すごい褒め言葉を頂いています。

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

とは思ってもみなかった。

1.1 母語方式

なんども何度も繰り返し言語を使うことにより、徐々に使えるようになる。

写経

新しい言語を覚えるときは、まず10冊その言語のプログラムを入力する

  • OSの版、言語の版による違い
  • 日本語のコード、フォントへの対応の違い
  • ネットワーク、データベースへの対応の違い
  • ライブラリの違い
    などなど、いろいろな違いが分かり、自分に必要な機能は何かが掴める。

キーボード練習ソフトの自作とType Quick
https://qiita.com/kaizen_nagoya/items/421da486b7730ea11514

言語学習母語方式
https://qiita.com/kaizen_nagoya/items/52640bbaff6349db61e2

1.2 外来語方式

母語との対比で、同意語、構造、文法などを理解する。

  • 言語仕様
  • 文法検査(syntax checker)等道具類の作成
  • 検査・証明の記述

2. 言語教育の課題

2.1 状態

言語は覚えても書けない
役に立つモデルが書けない
何を検証、証明すればいいかわからない

2.2 技能(skill)

スキル表が大きくて最初は入力できても保守できない
本当に必要な能力はなんですか。

3. 言語

3.1 アセンブラ

VZエディタのN5200版の移植
https://qiita.com/kaizen_nagoya/items/5551be98dcbed8f41949

Qiitaで組立語・機械語・CPU<アセンブラへの道>https://qiita.com/kaizen_nagoya/items/46f2333c2647b0e692b2

3.2Fortran

連立微分方程式のPade近似解法 Fortran手による最適化とコンパイラの最適化、誤差の評価
https://qiita.com/kaizen_nagoya/items/c55d29f0d7e9ebd07a31

3.3 COBOL

事務処理ではCOBOL。簡易言語という、COBOLよりも行数が短く記述できる、検索、編集、出力用の言語を併用していました。

プログラムちょい替え(4)COBOLを40年ぶりにうごかしてみた:dockerでcobol, docker(81)
https://qiita.com/kaizen_nagoya/items/9d9a216ce1b7b05dbb43

3.4 C

SWESTではMISRA Cについて何度も企画を立ててきた。
講演者も6人以上。

OBJのシンタックスチェッカの試作, ソフトウェアシンポジウム1992,長野
SEA MAIL Vol7. No.1, 1992に渡邊雄一氏が「時間の制約もあっていずれの話題もの今一つ理解できなかった。やはり苦心談というものは、発表しきれない部分を、予稿集にもっと”くどくど”と書いて欲しかった。」と書かれている。ちなみに電総研には3ヶ月滞在。

1)C言語の拡張の仕様を再設計, 2)8086のディスアセンブラの仕様の記述 3) objのシンタックスチェッカの3つの内容の紹介。

1)はC++のexceptionとは異なる実装例。

「項書き換え機能付きプログラム」のディスアセンブラの作成
https://qiita.com/kaizen_nagoya/items/8b8fe645b06bc7eccefb

3)はOBJの言語仕様の対称性がないことの指摘のみで、解決策は提示していない。どれも苦心したことではなく、困ったことを解決しただけで苦心はしていない。困ったことの共感が得られない人には何を説明しても無駄だと悟った時だった。
共著者が、「3ヶ月の滞在でこれだけの仕事をしたのは稀だ」とおっしゃった途端に質問がなくなったのはなんだったんだろう。それを報告して欲しかった。プログラマのすれ違い例@26年前。
表題は当初、「OBJ言語の非対称性」だった。言いたいのはそれだけ。言語の非対称性は今でもEvent-Bの記述の際に、モデル設計の対称性・非対称性をどう設計するかで迷いが生じる事象と相似。まだ解決していない問題。解決していないのだから苦心はしていない。苦心談は解決してから。

TOPPERS オープンソースのMISRA C対応。
https://researchmap.jp/kaizen/MISRA-C愛好会/

組込み開発者におくるMISRA‐C:2004―C言語利用の高信頼化ガイド,MISRA‐C研究会, 日本規格協会, 2006
https://www.amazon.co.jp/dp/4542503461/

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

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

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

どうやって MISRA Example Suiteをコンパイルするか
https://qiita.com/kaizen_nagoya/items/fbdbff5ff696e2ca7f00

MISRA-C 2012 Referenceに掲載している文献の入手可能性を確認
https://qiita.com/kaizen_nagoya/items/96dc8b125e462d5575bb

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

3.5 JAVA

Eclipseも含めて、JAVA系の企画はSWESTでは数度。
特に、下記の書籍での研修は第二回か第三回のSWESTの議論の場で紹介したような気がする。

「基礎からわかるTCP/IP JAVAネットワークプログラミング」Eclipseでコンパイル。Wiresharkでデバッグ。
https://qiita.com/kaizen_nagoya/items/14519536b827fdadb32e

第二章JAVAによるネットワークプログラミング phttpd 三箇所でException収集
https://qiita.com/kaizen_nagoya/items/d1db78d3db0e90c0ff9f

大川知、鈴木大郎 著「コンパイラ 言語処理系の基礎からyacc/lexまで」近代科学社(2008)のソースをMacintoshで実行(java版)
https://qiita.com/kaizen_nagoya/items/1606e97b7f10bf8fe519

Macintosh OS Xにbrew caskでEclipseを導入する(5つの壁+1)
https://qiita.com/kaizen_nagoya/items/b17f03db00aceee41a80

インド、インドネシアとJava、Javascript:接尾辞がついて別物と言うが共通点は多い。
https://qiita.com/kaizen_nagoya/items/2c331ff6654d41d5e157
 

3.6 PHP

WEB, DB等
docker(80)「DockerでPHP7.0×Apacheの環境を構築する@kurkuru」IT業界新人利用時の16の壁(mac mini編)
https://qiita.com/kaizen_nagoya/items/315e8d05a6eef00b56d1

3.7 Verilog HDL

SWESTの企画で、参加いただいた方々に規則の優先順位をつけてもらったら、
必須でないものが2つ優先順位が高かった。
学会等でも発表を重ねたら、規則そのものが変更になり、
必須に変わった。SWESTの参加いただいた方々に感謝します。

RTL設計スタイルガイド Verilog HDL編(System Verilog対応版)
https://qiita.com/kaizen_nagoya/items/4c02f1575db1f28310a7

RTL設計スタイルガイド Verilog HDL編―LSI設計の基本,2011
https://bookway.jp/modules/zox/index.php?main_page=product_info&products_id=809
PDF 3758円, 中古で過大な値付に注意。

RTL設計スタイルガイド Verilog HDL編(System Verilog対応版)https://qiita.com/kaizen_nagoya/items/4c02f1575db1f28310a7

3.8 UML

SWESTで何度か演習を企画した。

UMLモデリング入門,児玉 公信, 2008, ISBN 978-4822283582
https://www.amazon.co.jp/dp/4822283585/

xtUMLを導入する(linux編)
https://qiita.com/kaizen_nagoya/items/297097cc47a6487d9f20

ゼロからはじめる Enterprise Architect
https://qiita.com/kaizen_nagoya/items/31fdc8bcfdad1ad9b98f

3.9 Event-B

SWESTで演習を企画した。
http://www.event-b.org/A_errata.pdf

3.10 SPIN(Simple Promela(Process Meta Language) interpreter)

SWESTで何度か演習を企画した。

SPIN(simple promela interpreter)入門
https://qiita.com/kaizen_nagoya/items/a18a4e1e5493591e76fa

4日で学ぶモデル検査 (初級編) (CVS教程 (1))
産業技術総合研究所システム検証研究センター, 2006
https://www.amazon.co.jp/dp/4860431197/

3.11 coq

「coq入門」の入門
https://qiita.com/kaizen_nagoya/items/13566f0b2083ea8d4998

MacintoshでCoqide
https://qiita.com/kaizen_nagoya/items/0314ca15130bdfa9dce2

3.12 uppaal

SWESTで演習を企画した気がする。
http://www.zipc.com/product/uppaal/

3.13 alloy

alloy analyzer入門
https://qiita.com/kaizen_nagoya/items/b7928e2b8e80b9b00498

サンプルで学ぶAlloy, 斉藤直希
https://www.slideshare.net/NSaitoNmiri/alloy-42500369

3.14 python

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

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

「Python 入門」の入門
https://qiita.com/kaizen_nagoya/items/22c99c5926984ede6573

Windows(MS)にPython(Anaconda)を導入する(5つの罠)
https://qiita.com/kaizen_nagoya/items/7bfd7ecdc4e8edcbd679

3.15 R

R(データマイニング入門) Raspbian(Raspberry PI),Mac OSX, docker/ubuntu 6段階。データ取得・導入・起動・実行・描画・一括実行。
https://qiita.com/kaizen_nagoya/items/e8417310129c2425af59

3.16 LaTeX

確率論及統計論(伏見康司)の数式をTeX(LaTeX)入力するための13の技法
https://qiita.com/kaizen_nagoya/items/9c692c4d3546ffbb70b4

今日LaTeXでpngを取り込んだ
https://qiita.com/kaizen_nagoya/items/3d188cbeeaa844f880b0

LaTeX Ieeeに投稿する準備
https://qiita.com/kaizen_nagoya/items/cd371a58b833bd7b8788

今日LaTeXで調べたこと。
https://qiita.com/kaizen_nagoya/items/31edf224942eb8a692a9

3.17 その他

50歳からのプログラミング言語入門
https://qiita.com/kaizen_nagoya/items/5c7cec79cb3b15237076

仮説(124)IT系勉強会をすべて当たりにする方法
https://qiita.com/kaizen_nagoya/items/9f001a79ab4162220406

4 エディタ

4.1 VZエディタ

VZエディタ移植に当たって実施したことと成果
https://qiita.com/kaizen_nagoya/items/5551be98dcbed8f41949

VZ倶楽部, ビレッジセンター, 1991
https://researchmap.jp/joaglnxz8-50024/

4.2 Mule(Emacs)

マルチリンガル環境の実現―X Window/Wnn/Mule/WWWブラウザでの多国語環境, 錦見美貴子,‎ 戸村哲,‎ 桑理聖二,‎ 吉田智子,
プレンティスホール出版,1996, ISBN 978-4887350205
https://www.amazon.co.jp/dp/4887350201

4.3 Eclipse

Macintosh OS XにEclipseを導入する(5つの壁+1)
https://qiita.com/kaizen_nagoya/items/b17f03db00aceee41a80

5. 設計

5.1 万能設計(universal design)

万能設計.png

5.2 形の設計指針

万能.png

6.作業

6.1 HAZOP

効率的なHAZOPの進め方
https://qiita.com/kaizen_nagoya/items/2b8eae196945b7976446

ちょけねこ たんじょうびのおくりもの 
https://qiita.com/kaizen_nagoya/items/fc9675686c229f7a155e

狙い通り2.png

6.2 見直し(review)

算譜(program)の見直し(review)に必要な志向・技能・技法・手順、上位7
https://qiita.com/kaizen_nagoya/items/6d5962e1a0e4be28405c

居場所、立ち位置、視点

視点.png

6.3 作業診断(process assessment)

作業診断(process assessment)を成功させる5つの鍵。失敗する5つの罠
https://qiita.com/kaizen_nagoya/items/bcdc60db20e8d7081fab

6.4 検索

プログラマに必須な検索技法
https://qiita.com/kaizen_nagoya/items/8ee1f5e241e2aee39f5c

7 動画

名古屋Reject会議 2011
https://www.facebook.com/kaizen.nagoya/videos/142012459202158/

8.参考文献

組込みシステム開発事例集, 産業技術連携推進会議情報電子部会組込み技術研究会, 工業調査会, 2006,ISBN 978-4769351313
https://www.amazon.co.jp/dp/4769351313/

プロセス改善ナビゲーションガイド ベストプラクティス編, IPA, 2008, https://www.amazon.co.jp/dp/4274501752/

SWEST4
https://swest.toppers.jp/SWEST4/report.html#program
組込みソフトウェア開発技術者教育
における議論に基づいています。

参考文献

' @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

ぼくのかんがえた さいきょうの新人研修
https://qiita.com/aosho235/items/23625cdb340eaaeb5b94

新人教育の際に気をつけたこと
https://qiita.com/yu-croco/items/c41aa79a87fdbcf418fb

自己参照

Qiitaで組立語(assembler)・機械語(machine language)・CPU<アセンブラへの道>
https://qiita.com/kaizen_nagoya/items/46f2333c2647b0e692b2

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

量子コンピュータプログラムへの道
https://qiita.com/kaizen_nagoya/items/37c90488c87bbe9f2d71

あなたもdocker, 私もdocker
https://qiita.com/kaizen_nagoya/items/8f2746f10f30b575d0a8

今まで書いてよかった技術書を紹介しよう!
https://qiita.com/kaizen_nagoya/items/d31b7c158541d345a7ef

開発環境を豊かにする開発事例 過去・現在・未来
https://qiita.com/kaizen_nagoya/items/d9bf0c2c671fe7f1c749

Microsoftとの歴史 Cコンパイラを中心に
https://qiita.com/kaizen_nagoya/items/d7c0cc257e99de0573cf

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

自己記事一覧

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

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

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

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

物理記事 上位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. 1.00 初稿 20180206
ver. 1.01 項目追加 20180304
ver. 1.02 URL追加 20180325
ver. 1.03 C言語URL追記 20180329
ver. 1.04 参考文献追記 20180716
ver. 1.05 タグ変更 20180801
ver. 1.06 はてな追記 20190509
ver. 1.07 Youtube 追記 20201229
ver. 1.08 参考資料追記 20210731
ver. 1.09 被参照資料追記 20210808
ver. 1.10 「データサイエンティストの気づき『勉強だけして仕事に役立てない人。大嫌い』それ自分かもってなった。」追記 20210918
ver. 1.11 最初に覚えるプログラミング言語は何がいいですか? 追記 20220228
さいごまでおよみいただきありがとうございました。
https://qiita.com/kaizen_nagoya/items/3387ded65f55a8303817

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

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

Thank you very much for reading to the last sentence.

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

このエントリーをはてなブックマークに追加
http://b.hatena.ne.jp/guide/bbutton

8
15
0

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
8
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?