Skip to content

12.1 プログラミングについて

この章では、Python開発のコツやベストプラクティスを学び、本物の「パイソニスタ」になるための習慣を探っていきます。まずは、著者の個人的な経験に基づく「プログラミング」そのものについての考察から始まります。

プログラミングの魅力:論理と創造のバランス

Section titled “プログラミングの魅力:論理と創造のバランス”

著者はもともと科学者であり、データの分析や表示のために独学でプログラミングを身につけました。当初は経理の仕事のように「正確だけれども退屈なもの」だと想像していましたが、実際にやってみると非常に面白いことに気づいたそうです。

その面白さの理由は、以下の2つの要素が絶妙なバランスで含まれている点にあります。

  1. 左脳的思考(論理): パズルを解くような論理的な側面。正しい結果を得るためには、プログラムを正確に書かなければなりません。
  2. 右脳的思考(創造): どのようにプログラムを書くか(アプローチの仕方)は、プログラマーが好きなように選ぶことができる自由があります。

【補足コード例】方法を選ぶ自由(創造性)

Section titled “【補足コード例】方法を選ぶ自由(創造性)”

(※本章の本文中にコード例はありませんが、「同じ結果を得るための多様なアプローチ」の例として補足します)

# 課題:「1から5までの数字の二乗のリストを作る」
# アプローチ1:論理的で基本的な手順(forループ)
squares_1 = []
for i in range(1, 6):
squares_1.append(i ** 2)
print(squares_1) # [1, 4, 9, 16, 25]
# アプローチ2:Pythonらしい創造的で簡潔な手法(リスト内包表記)
squares_2 = [i ** 2 for i in range(1, 6)]
print(squares_2) # [1, 4, 9, 16, 25]

このように、同じ結果を求める場合でも、どのようなコードを書くかにはプログラマーの個性や工夫が反映されます。

プログラミングと一口に言っても、その分野にはさまざまなニッチが存在し、バラエティに富んだ仕事と色々なタイプの人々がいます。

  • コンピュータグラフィックス
  • オペレーティングシステム
  • ビジネスアプリケーション
  • 科学計算 など

プログラマーに必要な資質とは?

Section titled “プログラマーに必要な資質とは?”

これからプログラミングを学ぼうとする人にとって、数学の能力はそれほど重要ではありません。 本当に重要になるのは、以下の3つの能力です。

  1. 論理的な思考能力(もっとも重要)
  2. 言語的な才能(役に立つ要素)
  3. 忍耐力(つかみどころのないバグを追跡しているときに最も試されます)