Ruby 天気予報編 (1) イントロ 【計算数学 I】

更新日時:

何を作るの?

天気予報を Twitter に投稿するプログラムを作ります。

教材としては、以下の内容を学ぼうと思います。

  • Ruby のハッシュを理解する
  • 天気予報 API を利用し、返却値の主な形式である JSON を理解する
  • Twitter の Gem を通して、Gem の利用する方法を理解する

前提知識

Ruby 画像ダウンロード編 一覧 #ks1-ruby-downloadを学び終えていることを前提とします。前回の教材に挑戦した人は、半分くらいの人は 1 回で学び終えていました。この教材はその続編のつもりで書いています。

目標

前回は Ruby の仕様を理解し、それを利用する という方針で、妥協なく解説しました。 普通の Ruby 入門では飛ばされそうな部分も、基礎から積み上げて解説していきました。 今回も、同じ方針を踏襲しますが、 加えて 他人の作ったプログラムを利用することの重要性を強調する という方針でいきます。

私の経験では、数学科の人だと「自分の利用する内容は仕組みから完全に理解していなくてはならない」と信じている人が多いようです。確かに数学科の方は、河東教授のセミナーの準備のしかたについてをバイブルとしていることと思います。数学の場合、これは事実かと思います。しかし情報科学の場合は、他人の書いたプログラムをブラックボックス的に利用することも同じくらい重要です。

情報科学が巨額のマネーに支えられ急激に進歩してこれたのは、分業化が可能であったという側面が大きいように思います。そもそも計算機を動かすためには、たくさんのソフトウェアが必要です。我々は Ruby で単純にプログラムを書くだけに思うかもしれません。しかし、我々がプログラムを動かすまでに、プロセッサを動かす人、基本ソフトウェアを作る人、コンパイラや処理系を作る人、パッケージを作る人が「間」にいます。普通の人は、この人たちのプロダクトを知らず知らずに利用するだけです。この全ての側面を、ソースコードから万人が理解する必要はありません。通常のプログラマとしては、完全に意味不明なブラックボックスでは問題がありますし、そういう問題は現代にも顕著に存在します。しかし、ブラックボックスの利用をためらってはなりません。どこまで理解し、どこから先はブラックボックスにするか、その折り合いが重要です。この教材では、数学科マインドを持った人のために、いかに他人の書いたプログラムを利用するかというヒントを提供したいと思っています。

ナビゲーション

この教材は、東京大学理学部数学科専門科目「計算数学 I」のために執筆されたものです。 このサイトに掲載する際に、記事を分けてあります。 他の回はRuby 天気予報編 一覧 #ks1-ruby-forecastから御覧ください。

Ruby 入門 (計算数学実習資料集)には他の TA が書いた教材があります。

コメントする