今,再びのCへ

今週からC言語の研修が始まった.
C言語の学習は大学の授業以来であったため新鮮に感じた.
当時は面白みを感じられなかったため構造体まで習わず終い.

その後,P2Pの研究のため再びC言語と再会.
ボスがこしらえたダイクストラのプログラムを改修してノードをピアとルータに分離,
有効なリンクを定義して通信経路を推定するをするコンソールアプリを作成.

そこから,卒研の成果物とした可視化アプリをC#で開発した.
基本はダイクストラのプログラムで,ノードとリンクをまとめてリスト管理,
動的にピクチャボックスで接続状況を描画するというのが概要.


ながながと私のプログラミング遍歴を記したが,趣味でコードを書いたことはない.
結局のところ,Cは授業レベル,C#歴は6ヶ月.

この度,C言語を再び研修で習うことになったのだが当時とは印象が異なっていた.
それは,C言語手続き型言語である.ということだ.
僅かな期間であるがC#に触れて,オブジェクト指向型言語を知ったことが大きい.

C#でプログラムを作るときはオブジェクトの処理をフローチャート
手順を明確にしてコーディングに取り組んだ.
それはオブジェクト指向C#の仕様の理解が及んでいなかったこともあるが,
複雑で脳内だけでは整理できなかったためである(私の経験不足もあるが).

それに比べてCは基本的に処理順にコーディングすることが可能である.
どちらが良いかということではないが,感覚的にコードを書けることは面白い.
複雑なプログラム,生産性などなど他言語と比べて実用範囲は狭いかもしれないが,
プログラムの学習においては最も理解しやすい言語であると感じた.