12.1 プログラミングについて
この章では、Python開発のコツやベストプラクティスを学び、本物の「パイソニスタ」になるための習慣を探っていきます。まずは、著者の個人的な経験に基づく「プログラミング」そのものについての考察から始まります。
プログラミングの魅力:論理と創造のバランス
Section titled “プログラミングの魅力:論理と創造のバランス”著者はもともと科学者であり、データの分析や表示のために独学でプログラミングを身につけました。当初は経理の仕事のように「正確だけれども退屈なもの」だと想像していましたが、実際にやってみると非常に面白いことに気づいたそうです。
その面白さの理由は、以下の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 “プログラミングの多様な世界”プログラミングと一口に言っても、その分野にはさまざまなニッチが存在し、バラエティに富んだ仕事と色々なタイプの人々がいます。
- コンピュータグラフィックス
- オペレーティングシステム
- ビジネスアプリケーション
- 科学計算 など
プログラマーに必要な資質とは?
Section titled “プログラマーに必要な資質とは?”これからプログラミングを学ぼうとする人にとって、数学の能力はそれほど重要ではありません。 本当に重要になるのは、以下の3つの能力です。
- 論理的な思考能力(もっとも重要)
- 言語的な才能(役に立つ要素)
- 忍耐力(つかみどころのないバグを追跡しているときに最も試されます)