不定期戯言

戻る

2019.04.03 (Wed)

Hello WorldとMakefileの間

・TypeScript勉強会の最後の討論で少し発言した話を整理してみる。

・大抵の言語を勉強するとき,とりあえずはHello Worldから始めることになる。しかし,一つのプロダクトを作ろうとした場合には,複数のソースファイルに整理したりとか,いろんな設定を整えたりとかいった作業が必要になる。たとえばC言語ならMakefileを書かなくちゃ,みたいな。そのHello WorldとMakefileの間のギャップをどうやって越えるのがいいんだろう。

・私はわりとガリガリ書くことが苦にならないので,Hello Worldにどんどん毛をはやして一つのプロダクトに仕上げていくことがある。実際PenFlowchartやWaPENなんかはそれに近い作り方をしてきた。そう言うやり方だと,実はみんなうまいやり方で楽をしてるのに,それを知らずに手癖で面倒なことをやっている場面がいくらかあるような気がしてしまう。C#なんかだとVisual Studioに任せてしまうので,最初から適当な雛形の上で作業するのだけど,その違いは一体何なんだろう…そのギャップをどうやって越えるのがいいんだろう。

・一応はネットでいろいろ検索してみるわけだが,「正統な方法」があるならそれを最初に試したい。もちろんいろんな流派があるのはわかっているが,だったらそれぞれの方法で,なぜそれが正統だと考えるのかを知りたい。

・高校の授業でやるのはHello Worldに毛が生えた程度のものになるのだけど,だからといってその先を知らなくていいということにはならないと思うのだ。

コメント(3)

中西通雄 wrote at 2019-04-05 13:24:

私どもの情報科学部3年の授業の中で、make のことも教えています。
2つのソースファイルから1つの実行モジュールを作るという簡単な例を unix 環境でやります。

まずは、1ファイルずつコンパイルしてオブジェクトを作り、リンクする。コマンドを3つ打つのはめんどうだよねぇ。

次に、シェルスクリプトをもちいて(いわゆるバッチファイル的に)、2つのコンパイルと1つのリンク命令を書く。楽になったけれど、無駄があるよね。
(なお、この過程で chmod +x がわからない/忘れている 学生多し(涙))

さらに、makefile を使ってみる。touchコマンドで最新講習日時を変更してやってみる。

こんな具合です。正統な流儀って何でしょうねぇ。

わたやん wrote at 2019-04-05 19:02:

中西先生,ありがとうございます。
「1つずつコンパイル」してから「リンク」する手順の方が本当は楽でいいやん,って思うのはある程度大きいものを作るようにならないと実感としてはわからない気がしています。そうなるといちいちMakefile作るとかの方がめんどくさいじゃん,という思いを説き伏せるために必要なのはもっとファイルが増えたりしたときのことを想像する力なのかなとか。

わたやん wrote at 2019-04-05 19:04:

そういうのを教えてもらう機会のある学生さんは幸せだと,我が身を振り返って思ったりもします。

コメントの受付は終了しました。

TypeScript勉強会

・名古屋フロントエンド勉強会が表題の勉強会をやるということで参加。私にとってはレベルの高い話が多かったが,自分の作業のために参考になる話がいくつかあった。いきなりLint使うのはハードル高いし,いきなりTypeScriptに移行するのも同様なので,とりあえずということでJSDocをきちんと書いてみることにした。そうするとそこにきちんと書けないくらい忘れてしまってることがあるのが明らかになって,なかなかいい。

コメント(0)

コメントの受付は終了しました。