この記事は、2011年に記載したもの
https://researchmap.jp/jokq1i60k-45644/
の転載です。
<この項は書きかけです。順次追記します。>
This article is not completed. I will add some words in order.
言語学習
言語学習の実践として
母語方式
外来語方式
の2種類に分けて、体系的に対応してこようとしました。
特に、プログラミング言語教育を
外来語方式
でしか実施しない機関が多いので,
母語方式
を中心に実験してきました。
この5年ほど,大きな壁にぶつかっています。
8086のアセンブラ
C言語
C++
JAVA
は,母語方式でなんとかなってきました。
言語仕様が小さい。
資料がたくさんあり,くりかえし反復利用できた。
最初の壁にぶつかったのが
JAVAでのDB拡張です。
次にC++でのTemplate
時枝学説の継承と三浦理論の展開 (言語過程説の探求)佐良木 昌 (編集)明石書店(2004/12/13)
に
英語の現在時制解明への新視点(矢吹眞康)
を書かれている矢吹さんが,中学、高校での英語教育で,
1つの単語に着目して,1つの単語には1つの意味しかなく、
その意味を,主体と客体の視点(立場)の違いで展開していくというお話をお聞きしたときに,プログラミング言語でも,
CPU
コンパイラなどの処理系
附属のライブラリ群
アプリケーション記述者
ソフトウェアの利用者
の5つの視点で言語を展開する必要性は感じていました。
この5年
verilog-HDL
VHDL
perl
Ruby
spin(promela)
UML
XML
Z
VDM++
uppaal
alloy
B method
Event-B
Coq
system C
と年に3つの言語を理解しないといけない状況に遭遇し,
どう壁を乗り越えたらいいかわからないでいます。
現在のworkaround
1 相互変換ツールで対応する。
UMLの道具がファイルをXML形式で保存している。
あるUMLからコード生成するソフトウェアの設定がXMLでできる。
#Coqにあるextractの機能も強力らしい
2 部分集合で対応する。
C言語におけるMISRA-C
C++におけるMISRA-C++
Verilog-HDL/VHDLにおけるStarc RTL設計スタイルガイド
のような部分集合(subset)定義をてこに部分集合空間が何かから理解する。
#C++ではTemplateでつっかえています。
3 挙動の不具合を記録する(母語方式の一部)
理解することはできなくても,
それそれの処理系に寄与することはできるかもしれないので,
まめに動かし、報告することにより,そのうち分かるようになる。
10の視点
5つの視点だったのが,CPU自体も記述するようになったので,
CPUが
1 HDLの処理系
2 HDLの記述
3 HDLを動かす回路
4 HDLを動かす回路の記述
の4つに分解され,
5 コンパイラなどの処理系
6 附属のライブラリ群
7 アプリケーション記述者
8 ソフトウェアの利用者
と合わせるために
9 状態遷移などの抽象的な記述
10 HDLとコンパイラなどの両方の言語の共通部分
を含めた10の視点で言語を展開する必要性は感じています。
関連する事項は順次整理します。
p.s.
Proof Cafeの会場で,「ゆるperl」の勉強会が横でありました。
ET2011の案内を一部お配りしました。
Appleのユーザ会(AUMG2011)の発表を聞いたといってくださった方がおみえでしたので,名刺も配ってしまいました。
OSC Nagoya2011の時に、perlのブースでパールうまく書けないんだけどという相談をした方もおみえでした。
コミュニティのまわりをうろついて,そのうち,知らないうちに言語が伝染してくるとうれしい。
<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
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 初稿 20221121
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.