【スポンサーリンク】

当たり前だけどプログラミング言語の教科書は進歩している(『スッキリわかるC言語入門』のアプローチ)

当ページのリンクには広告が含まれています。

当たり前だけどプログラミング言語の教科書は進歩している(『スッキリわかるC言語入門』のアプローチ)

インターネットを見ていたら、たまたま「堅苦しいCの教科書に疲れたらー」という広告が目に止まりました。

当たり前だけどプログラミング言語の教科書は進歩している(『スッキリわかるC言語入門』のアプローチ)

刺さるキャッチコピーだと思いました。

今回は、『スッキリわかるC言語入門』のアプローチをもとに、プログラミング言語の進歩について考えてみます。

ポイント
  • C言語も使いやすくなっている。
  • 開発環境の準備も手軽になっている。
  • 常識は変わるもの。
当たり前だけどプログラミング言語の教科書は進歩している(『スッキリわかるC言語入門』のアプローチ)

書籍のPR記事ではありませんが、興味があれば手にとって見てください。

\記事が役に立ったらシェアしてね/
【スポンサーリンク】

1. 「堅苦しい教科書」ではない

こちらが広告の大きいサイズです。

「堅苦しい教科書」ではない
「堅苦しい教科書」ではない

本もネット広告を出すんだね。

「堅苦しい教科書」ではない

個人的には、「スッキリ・ドット・ジェイピー」というドメイン名もツボでした。

(お笑い芸人チョコレート・プラネットの「ざっくり・ドット・コム」を思い出しました)
チョコレートプラネット「ざっくり」

確かに、プログラミングの書籍、特にC言語の場合は歴史がある分、「堅苦しく」なりがちなんです。

「堅苦しい教科書」ではない

そういう「堅苦しい書籍」も好きなのですが、すでにそういう書籍はたくさんあるんですよね。

「スッキリわかるC言語入門」は、何が違うのか興味が湧いて、アクセスしてみました。

出典:『スッキリわかるC言語入門』 特徴紹介 – IT入門書籍 スッキリシリーズ
出典:『スッキリわかるC言語入門』 特徴紹介 – IT入門書籍 スッキリシリーズ
「堅苦しい教科書」ではない

そういう意味で、よいキャッチコピーですよね。

スッキリわかるC言語入門 第2版
インプレス
¥2,970(2024/11/25 18:25時点)
対話形式で説明されるので、やや冗長なものの初心者にはわかりやすい。ただし、「文字列型が利用可能になるおまじない」(p.71)と紹介されているtypedef文など、少しスッキリしない箇所も。

1-1. 「何を省くか」(後方互換性)

詳しくは、「『スッキリわかるC言語入門』 特徴紹介 – IT入門書籍 スッキリシリーズ」を読んでもらうとよいと思います。

とはいえ、ここでは、特に定番のトピック「変数宣言文を関数の先頭でするべき」を省いた経緯を、著者の中山 清喬さんが説明している箇所をご紹介します。

昔のC言語標準は、「変数宣言文は関数の先頭でしか行えない」という制約がありました。

(中略)

今でも、「後方互換性を大事にする」っていう考え方はとても大事なことだと思います。
ただですね…「1999年には、もう世界標準(C99)でこの制約は撤廃されている」んです。

(中略)

スッキリCの「変数宣言」の解説章では、「宣言位置縛り」の話題は一切でてきません。きっとはじめて学ぶ人は、関数呼び出しや制御構文同様、「あぁ、必要なときに、書けばいいんだな」としか思わないでしょう。

でも、それでいいと思うんです。

そこで私が、「いやー、昔はだな、ここに制約があってだな、これは恐らく関数宣言のコールスタックとローカル変数のスタック領域を隣接して設計したほうが言語処理系の設計が、、、」なんて嬉しそうに語り始めたら、それはもう「著者が自分が気持ちよくなるための解説」になってしまう

(中略)

それより、ただでさえ敷居が高い(と思われがちな)C言語の学習に取りかかってくれた方が、まだ不安を抱えながら学びはじめたばかりの1章や2章の段階で変な制約に煩わされず、なるべくスムーズに旅をしてもらったらいいと思うんです。

「スッキリC」が少し「ズレた入門書」である理由 – IT入門書籍 スッキリシリーズ

自分が気持ちよくなるための解説」は、モノを教える場合、一番気をつけないといけないことですよね。

「何を省くか」(後方互換性)

私は、つい薀蓄話をしがちなので、要注意です💧

「教える」というのは、
何を伝えるか、ではなく、
何を伝えないか、が大事
と改めて思いました。

「何を省くか」(後方互換性)

最近の商品やサービスは、どれも「引き算の発想」でヒットすることが多いね。

「何を省くか」(後方互換性)

建築家のローエの言葉にも、「Less is More」があります。

2. クラウド開発環境

『スッキリわかるC言語』のもう一つの特長になっていたのは、「クラウド開発環境」です。

パソコンにコンパイラなど開発環境を用意するのではなく、インターネットにアクセスして、そのままコードを実行できる、というものです。

dokoC

出典:『スッキリわかるC言語入門』 特徴紹介 – IT入門書籍 スッキリシリーズ
出典:『スッキリわかるC言語入門』 特徴紹介 – IT入門書籍 スッキリシリーズ

2008年登場のdokojava以来、スッキリわかる入門シリーズで大好評の「クラウド学習用開発環境」。
この2021年冬、スッキリわかるC言語入門 第2版のリリースにあわせ、いよいよdokoCが登場しました!

ただし、執筆時(2022年1月2日)では、「段階公開中(フェーズ1)」ということで、購入読者限定でした。

クラウド開発環境

2-1. Scratchのクラウド開発環境

このような「ウェブサーバ上で、コードを動かしてみる」というプラットフォームは、ほかにもあります。

例えば、プログラミング学習でよく取り上げられる「Scratch」も、インターネットにアクセスできる端末なら、すぐにプログラミングを試すことができます。

Scratch – Imagine, Program, Share
Scratch – Imagine, Program, Share

以前からプログラミングをしていると、「自分のPCではなく、サーバ上にプログラムを保存する」ということに、なんとなく違和感があります。しかし、最近はむしろ こっちのほうが主流になっています。

Scratchのクラウド開発環境

githubのようなレポジトリも、本質的にはコードをオンラインに一元管理しているんですよね。

2-2. JDoodleのオンライン開発環境

通常のプログラミング言語でも試せるサイトもあります。

JDoodleはその一つで、さまざまなプログラミング言語に対応していて、コードを入力して実行結果を確認することができます。

Online C Compiler – Online C Editor – Run C Online
Online C Compiler – Online C Editor – Run C Online

ちょっとした「計算機」として遊べます。

2-3. AtCoder

「競技プログラミング」という分野もあります。

競技プログラミングでは、問題を解くプログラミングを書いて、提出します。

実行結果の正しさ、時間、メモリ効率などで評価されます。

AP1 – 付録1.コードテストの使い方
AP1 – 付録1.コードテストの使い方

これも、オンライン上でプログラミングする仕組みを活用しています。

3. 常識は変わる

プログラミング書籍『スッキリC』の特長を見ていると、プログラミングもどんどん進歩していて、「常識」が変わっていくことを感じます。

Amazonで一部を読むこともできます。もし、興味があれば手にとって見てください。

常識は変わる

プログラミングは、頭の体操としても面白いですよー

こちらもどうぞ

ブログでJavaScriptプログラムを動かしてみよう【カスタムHTMLとscriptタグ】
ブログでJavaScriptプログラムを動かしてみよう【カスタムHTMLとscriptタグ】
ブログの中でJavaScriptを動かして遊ぶ方法をご紹介します。WordPressサイトに直接HTMLコードを入力するために「カスタムHTML」というブロックを挿入します。JavaScriptのコードは最初と最後をのタグで囲んだ中に入力します。
久しぶりにMacでElectronを使えるようにした【node.jsでアプリ自作】
久しぶりにMacでElectronを使えるようにした【node.jsでアプリ自作】
Macで動く自作ツールをJavaScriptでプログラムするために、Electronを使っていました。 久しぶりにプログラムを修正しようとしたら、electronコマンドが通りません。 改めて環境を構築しました。 ポイント electronのインストールで「sudo npm install -g electron --unsafe-perm=true --allow-root」でオプションを付加しないとエラーになった Electronが見つからない Electronは、「HT...
「プロシージャ」で問題解決をする?〜ライトボットのプログラミング教育
Lightbotでは、 「 プロシージャ 」 という考え方を学ぶことができます。プロシージャとはなんなのでしょうか?一緒に見てみましょう。 プロシージャとは? 「プロシージャ(Procedure)」は、「一連の手続き」という意味です。 「メイン」スロットとは別に、「 プロシージャ 」 スロットにもコマンドを追加できるようになります。例えば「 プロシージャ 1 」 に並べてあるコマンドは、「メイン」スロットで「 P1 」 コマンドを追加することで、まとめて実行することができます...

常識は変わる

人におすすめするわけではないですが、私は、ちょっと懐古趣味なので、K&Rの原典が一番好きです。

独自インタープリタ「hoc」の実装で、感動しました。

hocのexecute関数は美しすぎる(出典:hoc/code.c at master · richardfearn/hoc · GitHub)
hocのexecute関数は美しすぎる(出典:hoc/code.c at master · richardfearn/hoc · GitHub

プログラミング言語C 第2版 ANSI規格準拠
共立出版
¥1,540(2024/11/25 18:25時点)
C言語が「抽象化の道具」として揃えられたことがよくわかります
UNIXプログラミング環境 (ASCII海外ブックス)
アスキー
¥347(2024/11/25 18:25時点)
C言語とUNIXの組み合わせのパワフルさを堪能できます

常識は変わる

そういうとこやで……。

QRコードを読み込むと、関連記事を確認できます。

当たり前だけどプログラミング言語の教科書は進歩している(『スッキリわかるC言語入門』のアプローチ)
【スポンサーリンク】
タイトルとURLをコピーしました