dhrnameのブログ

プログラミング関連を語るよ

大学教授にも理解できないたった19行のコード

結論から言うと、構造化プログラミングには、大学教授ですら理解できないようなコードが存在する。しかも、それはたったの数十行である。 今回はそのコードを紹介するとともに、「ソフトウェアの専門家を育てること」の重要性を訴えていきたい。読者はこの記…

重大な疑義について

いろいろと数学やプログラミングについて調べているが、いくつかの点で重大な疑義が生じてきた。 もし、時間があれば、このブログで何らかの報告ができるかもしれない

SVGを拡張した言語を使った勘定科目の集計について

仕訳を集計できるSVGの拡張言語 SVGはXML文書なので、独自にタグを定義して、仕訳の簡単な集計ができるSVGベースの言語を作ってみた。とはいっても、貸借対照表は作ることができず、借方と貸方それぞれの勘定科目をJavaScrpitで合計して、テキストで表示でき…

β正規形をもたない単純な型付きラムダ計算

ラムダ計算の文法に着目すれば、ラムダ計算は一つのゲーデル数で表すことができることを示す。 例えば、λx.xというラムダ式があって、次のように文字ごとに自然数を割り振っていこう。ただし、空白は無視できるものとする。 "λ" - 1"x" - 2"." - 3"(" - 4")"…

ダイクストラ不変量とクラスの抽象化 - 構造化プログラミングの覚え書き その6

はじめに 目次 はじめに 目次 前回までのおさらい 記事の注意点 ダイクストラ・メッセージの構造化原理 ダイクストラが提唱したダイクストラ・メッセージ ダイクストラ・メッセージの構造化原理 手続き型プログラミングから構造化プログラミングへ 数え上げ(…

Mavenの導入手順メモ

Java言語のビルドツール「Maven」 Java言語で開発するために、ビルドツールのMavenを導入したので、自分用にメモしておく。開発環境はCygwin(Windows11)、Geany1.38 ダウンロードして解凍 まず、 Maven – Download Apache Maven から「apache-maven-3.9.3-bi…

PASCALのポインタを通じて難解な構造化プログラミングを理解してみよう

はじめに 今回の記事では、PASCAL言語*1のポインタについて解説していく。ポインタを通じて、ややこしい構造化プログラミングを理解しよう。 記事の注意点 初期段階のチャーチの提唱 (Church's Thesis)「計算可能=再帰的」は非構造化 チャーチの定理 (Church…

構造化プログラミングに関わった人たちの出身国をWikipediaで調べてみた

構造化プログラミングに関係する科学者たちの出身国 はじめに この記事では、Wikipediaを使って、構造化プログラミングの関係者たちの出身国を調べた。Wikipediaの記事が出典不明だった場合、国名の後ろに?(疑問符)を付けておく また、敬称は略す。国家名…

構造化プログラミングの歴史年表をまとめてみた

はじめに ダイクストラの「構造化プログラミング」について歴史を年表としてまとめてみた。 技術革新は基礎研究の積み重ねによるものだ。このことをもっと理解してもらいたいという考えが、この年表をつくった私の動機である。(初版2023/02/02) 注意事項とし…

goto文+if文=while文、ただし、オブジェクトでgoto文は有害

goto文+if文=while文、ただし、オブジェクトでgoto文は有害 用語について 以下、「オブジェクト (対象、object)」、「クラス (class)」、「サブクラス (部分クラス、subclass)」、「インスタンス (実例、instance)」、「this」、「new」は1972年版の構造化プ…

ブログのタイトルを変更

「dhrnameのブログ」に名前変更 このブログの名前を「dhrname's diary」から「dhrnameのブログ」へ変えました。よろしくお願いします。名前は変更しましたが、ブログで取り扱う話題は同じままです。

データ構造化における抽象化の定義 - 構造化プログラミングにおける覚え書きその5

データ構造化における抽象化の定義 前回 オブジェクトクラス同士でのダイクストラ連接 - 構造化プログラミングの覚え書きその4 - dhrnameのブログ ホーアの「データ構造化序論」 75年に翻訳され出版された『構造化プログラミング』*1の第二部で、ホーアは「…

オブジェクトクラス同士でのダイクストラ連接 - 構造化プログラミングの覚え書きその4

この記事について 前回 データ構造化理論の型選択演算子によるダイクストラ選択 - 構造化プログラミングの覚え書きその3 - dhrname’s diary 今回は構造化プログラミングで触れられているオブジェクトクラス同士のダイクストラ連接について考察を加える。なお…

データ構造化理論の型選択演算子によるダイクストラ選択 - 構造化プログラミングの覚え書きその3

第二部のデータ構造化序論を取りあげる。制御構造であるダイクストラ選択の型選択子について見ていこう

型のブール数展開でデータ型を符号化

型の定義 べき集合から型 (type)を作り出して、さらにそのべき集合のそのまたべき集合を型と見なして階層的に作りだしていく。 Xのべき集合をP(X)と書くこととする。 例えば、集合Xに対して、 X := {a, b, c} A型 := P(X) = { ∅, {a}, {b}, {c}, {a, b}, {b,…

ダイクストラの構造化プログラミングの書籍版は三部構成 - 構造化プログラミングの覚え書きその2

前回 構造化プログラミングの覚え書き - dhrname’s diary 構造化プログラミングの72年書籍版は三部構成 1972年に出版された構造化プログラミングは以下のように三部構成である。 ダイクストラの構造化原理(原理) ホーアのデータ構造化(理論) ダールのク…

プログラミング言語の開発について

まだ、計画の段階なのだが、ちょっとしたプログラミング言語のコンパイラを開発している。計画倒れにならないことを祈りつつ、ここで追って報告したい。

Windows11にアップデート

昨日、Windows11へアップデート 昨日の1月31日に、Windows10 Home からWindows11へアップデートした。今のところ、問題はなさそうだ。 その際のPCの仕様は以下の通り。なお、この仕様でアップデートを保証するわけではない。 PCの仕様 CPU: Intel Core i5-11…

VirtualBox6.1+Windows10の組み合わせに関する問題点をメモ

Ubuntu(64ビット版)をVirtualBox6.1の仮想環境で動かそうとして、問題となった点をメモ。 環境は、Windows10 (Home)、Intel core i5 (11400)。マザーボードがPRIME B560M-A。 UEFIとBIOSの設定 まず、UEFIかBIOSをチェックしてみて、「CPU mode」の「Int…

日本におけるソフトウェアの危機について

今、現在、日本で起きているソフトウェアの危機とは、以下の疑似コードを理解できない人がいると言うことだと思う。 { int x = 0; { int y= 1; int f (int n) { int g (int m) { return n+m+x+y; } return g(12); } printf("%d\n", f(10) ); // 23を出力 }} …

構造化プログラミングの覚え書き

構造化プログラミングに関するメモ

書きかけ

まだ、書きかけだけど https://joestar.sakura.ne.jp/objectorientedstructured.txt

メールアドレスを変更

メールアドレスが新しく 古いメールアドレスから、さくらのメールアドレスへ変更した。新しいメールアドレスは以下の通り 新メールアドレス dhrname@joestar.sakura.ne.jp 古いメールアドレスは使わないことに 古いメールアドレスの方は、もう使用せず、応答…

クラスとデータ型の分離

クラスとデータ型を分離させてみた シンプルなアイデアなので、ここにメモ。オブジェクト指向プログラミングのクラスと、データ型を分離させてみようという考えで、あまり、難しいことはしない 疑似コードで以下のとおり、書いてみた 疑似コード class List …

MSYS2を導入

Windows 10 (64ビット)の環境に、MSYS 2を導入してみた。当初は、Cygwinをインストールしてみたが、色々とあって、MSYS 2をインストール。 いろいろと試してみたいので、pacmanでいろんなソフトを導入したいと思う。

ちょっと試したいことがあったので

C言語で開発中

linuxBeanの導入

古いPCにlinuxBeanをインストールしてみた 以下のプロジェクトサイトから、linuxBeanのISOファイルを手に入れて、古いWindows PCにインストールした。 linuxBeanのプロジェクトページ linuxBean Project Top Page - OSDN Windows PCの仕様 FMV NF40T CPU: イ…

はてなブログにSVGタグを直接埋め込む

この記事を見て、はてなブログで、SVGタグを直接、表示できたので、報告を。インラインSVGを表示させることに成功したよというお話 やり方 「記事を書く」-> 「HTML編集」を選ぶ code要素でsvg要素を囲む<code><svg ..></svg></code>のような感じ 「プレビュー」で確認して公開する 注意…

一番プログラミングで役に立った書籍

SIE プロジェクトで開発をしている最中に、買った本が4冊ある。 そのうち、一冊は、Kernighanの「プログラミング作法」(アスキー社)で、コードの書き方を覚えるのに役立った。コードのスタイルだけではなくて、テストの際に気を付けるべき点も記されてあっ…

このブログで使う用語を定義してみた

このブログだけで通用する用語について 次に定義する用語は、このブログだけで使用する。よそで使っても、意味は通じないので、ご注意ください。 定義 計算書 計算の手順を書いたドキュメント。または、その手順を実装するためのソースコード 計算書き 計算…