MMGamesロゴ  MMGames
Twitterシェアボタン  Facebookシェアボタン   
 English 

しんで覚えるC言語
しんで覚えるC言語

苦Cの使用法

リニューアル(2021)
2回目のリニューアルを行いました。
今回のコンセプトは以下になります。

リニューアルコンセプト
・苦しんで覚えるC言語をベースとしつつも、自分のプロダクトのポータルサイトとする
・モダンなウェブデザイン
・より良好なスマホ対応

これまで、個人としてさまざまなアプリやサイトを作ってきましたが、
さまざまな場所に散失してしまっており、ポータルサイトとしてまとめ直す必要性を感じていました。
そこで、自分のプロダクトの中でもっとも有名な「苦C」を中心としつつも、
「MMGamesのポータルサイト」としてゼロからすべてをまとめ直しました。

また、前回のリニューアルでも残っていたちょっと古いデザインを払拭し、モダンなデザインにしました。
おそらく初見で一番違いを感じるのは、背景色が薄茶色から白になったことでしょう。
ブラウン管が主流だったころは、白の背景はギラつくため、薄茶色の背景色を選択しました。
しかし、現在は完全に液晶に移行しており、ギラツキを気にする必要はなくなりました。

また、今回は完全なスマホ対応を前提としました。
前回はすべて手動で対応したため、一部に不自然な箇所が残ってしまいました。
今回はBootstrap5を採用し、最新のフレームワークによって、スマートなスマホ対応を行っています。

このリニューアルの背景として、ウェブデザインがほぼ統一されつつある現状があります。
前回のリニューアル時は、デザインにある程度の個性を残しておきたいと考えたため、
薄茶色の背景を始めとした、装飾性を残したデザインにしました。

しかし、現在では、多くのサイトがシンプルかつ共通化されたレイアウトを採用しており、
デザイン上の差異がほぼなくなっているにも関わらず、
ロゴやメインカラーなどのアクセント要素のみで、十分に差別化できているサイトが多くなりました。
であれば、当サイトもその流れに従うのが自然だと判断しました。

デザインはリニューアルしましたが、本文については、当時のものをそのまま採用しています。
C言語にはそれほど大きな動きがなく、初学者用としては、当時の内容が十分に通用するためです。

当サイトの特徴は、プログラミング初学者を対象としているにも関わらず、
コンピュータそのもの本質的なあり方についての解説に多くのページを割いていることです。
入門でありながら、文字コードに足し算をしたり、配列とポインタを交換したりしていますが、
これはC言語の本質のみならず、コンピュータの本質でもあり、何十年立っても変わりません。
量子コンピュータが実用化されてしまったらその限りではないかもしれませんが・・・

コンピュータとプログラミングをとりまく事情は加速し続けています。
現代では、驚くべき性能をそなえた小型コンピュータを、スマホとして誰もが持ち歩き、
ディープラーニングによって、写真に写っているものの判定まで行えるようになりました。
いずれも、私の予想を20年は上回るペースで進んでおり、本当に驚くべきことです。

しかし、それでもなお、コンピュータ、そしてプログラミングの本質は、
シンプルな計算と、シンプルな条件判断のみによって成り立っていることにはかわりなく、
本サイトは、いつまでも、その本質をプログラミング初学者に伝えるサイトでありたいと思います。

2021 MMGames/森口将憲



生成ツール
内部的に使用している生成ツールも更新しました。

前回は、markdownからHTMLを生成するツールを自作して使用しましたが
markdownにこだわりすぎたせいで、表現力を落としている部分がありました。

今回は、あくまでHTMLをベースとしつつも、
テンプレートを一瞬で適用できるツールを自作しました。
HTMLベースのため、必要であればすべてHTMLで記述でき、表現力が飛躍的に向上しました。



リニューアル(2017)
スマホの台頭、ブラウザの進化などにより、作成当時とは大きくWeb環境が変わりました。
苦Cもそれに合わせて、デザインのリニューアルを行いました。

以前のデザインは、CRTディスプレイが依然として主流であったこと、
とくに、社内からのアクセスでは、支給されているディスプレイが安物のCRTであること、
を想定し、そういったディスプレイでもある程度の読みやすさを得ることを目的にデザインしました。
そういったディスプレイって、背景が白ですとすごくギラつくんですよね。

しかし現在ではほぼすべて液晶ディスプレイになっています。
そこで、文章メインのサイトで主流である、余計な装飾を排除した、なるべくシンプルなデザインにしました。

また、スマホでの読みやすさも重視しています。
以前のデザインでは、スマホではフォントサイズのバランスが取れておらず、
一見してチグハグな印象になっていましたので、正しく表示されるようにしています。

対応ブラウザはIE11以上となります。

色使いやフォントの変更機能はオミットしました。
現在のブラウザでは、ユーザースタイルシートや独自のフォント指定により、
そのようなことはユーザー側で実現できますので、不要と判断しました。

右上隅に表示されるページ移動メニューもオミットしました。
現在では格安のマウスであっても、スムーズに動作するスクロールホイールが搭載されており、
縦スクロールは非常に容易な操作となりましたので、不要と判断しました。

リニューアルにあたり、
Windows上でも日本語フォントをなるべく読みやすく表示すること、
スマホからのアクセスを想定し、なるべくファイルサイズを減らすことを重視しました。
JavaScriptを使わずにCSSのみで、Windows限定で、日本語Webフォントを適用できればもっと良かったのですが・・・*

読者の皆さんにはあまり関係のないことですが、
以前は独自のマークアップ言語で記述した文章を、独自のコンバーターでHTML化していましたが、
独自のマークアップ言語をMarkdownに変換し、それを独自のコンバーターでHTML化するようにしました。
いわゆる静的サイトジェネレーターも試したのですが、HTMLが大げさでムダが多くなってしまいがちなんですよね・・・

ソースコードは、下のように色分けして表示します。

ソースコード
#include <stdio.h>

static int i = 1;

int main(void)
{
	/* 特に意味のないプログラム */
	if (i == 1) printf("%d\n",sizeof(i));
}

また、実行結果は、下の様にして表示します。

実行結果
4

そのほか、重要だと思われるキーワードは

キーワード
【C言語】

一言で説明するなら、構造的アセンブラ?


このようにして表示します。また、ちょっとしたポイントは、

ワンポイント
このサイトでは、ほとんどのページで、右上にミニメニューをつけていますので、
ページをスクロールさせなくても簡単に移動できます。

このようにして表示します。雑ネタなどのコラムは、

コラム例
C言語は、Dennis Ritchie(デニス・リッチー)という人物が、
B言語を改良して作成したプログラミング言語である。

このようにして表示します。

使用するブラウザや紹介するC言語コンパイラは、Windowsを前提にしていますが、
同様の機能を持つブラウザとコンパイラであれば、Windows以外のOSでも利用可能です。


本サイトについて

苦しんで覚えるC言語(苦C)は
C言語入門サイトの決定版です。
C言語の基本機能を体系立てて解説しており、
市販書籍と同等以上の完成度です。

第0部:プログラム概要編
  1. プログラムとは何か?
2章:プログラムの書き方
  1. 書き方のルール
  2. 書き方の慣習
  3. 練習問題2
3章:画面への表示
  1. 文字列の表示
  2. 改行文字
  3. 練習問題3
6章:キーボードからの入力
  1. 入力用の関数
  2. 入力の恐怖
  3. 練習問題6
9章:回数が決まっている繰り返し
  1. 繰り返しを行う文
  2. ループ動作の仕組み
  3. 練習問題9
10章:回数がわからない繰り返し
  1. 回数不明ループ
  2. 入力チェック
  3. 練習問題10
13章:複数の変数を一括して扱う
  1. 複数の変数をまとめて扱う
  2. 配列の使い方
  3. 練習問題13
20章:複数のソースファイル
  1. 最小限の分割
  2. 分割の定石
  3. 練習問題20

コメント
COMMENT

💬 コメント投稿欄を開く