未来を創る、テックコミュニティー

代表通信~Haskellを始めるよ

草場代表
2020/11/24

こんばんは。代表の草場です。

Haskell、始めます。やる必要あるのかよ、と思いますが、龍lileaさんの点群の取り組みで使われているそうで、やることにしました。以下の手順のようです。

1.ptsを色と座標の画像ファイル化
2.点の数だけポリゴンの用意
3.画像ファイルを使ってポリゴンを移動
4.円を描画

詳細は点群ビジュアライゼージョン ~点群のVR化~に詳しいです。このGitHubのコードがそれを実現しているみたいです。こちらを書いているPhi16さんのブログ、めちゃ勉強になります。世界観がありますね。
とりあえず、オライリーの無料枠で読める、Get Programming with Haskellにて、勉強することにしました。

本の説明
Get Programming with Haskellは、Haskellを自分のものにするために設計された短いレッスン、例題、練習問題を通してあなたを導きます。わかりやすいイラストとガイド付きの練習問題が用意されています。数十種類の興味深いプログラムを書いてテストし、カスタムHaskellモジュールに飛び込みます。あなたは、プログラミングの新しい視点に加えて、日常の世界でHaskellを使用するための実用的な能力を得ることができます。(80点のIQは保証されていません!)

まずは関数型プログラミングに関して

ユニット1. 関数型プログラミングの基礎
プログラミングという行為を理解するには、大きく分けて2つの方法があります。1つ目は、歴史的に一般的なもので、プログラマーがコンピュータをある方向に動作させるために一連の命令をコンピュータに提供するという考え方です。このプログラミングのモデルでは、プログラマはプログラミングのための特定のツール、すなわちコンピュータの設計に結び付けられています。このタイプのプログラミングでは、コンピュータは入力を受け取り、メモリにアクセスし、処理装置に命令を送り、最終的にユーザに出力を提供する装置です。このようなコンピュータのモデルは、有名な数学者で物理学者のジョン・フォン・ノイマンにちなんで、フォン・ノイマン・アーキテクチャと呼ばれています。

このようなプログラムの考え方を最も体現しているのがC言語である。C言語のプログラムは、オペレーティングシステムが制御する標準入力からデータを取り込み、必要な値を手動で管理しなければならないことが多い物理メモリに格納・取得し、特定のメモリブロックへのポインタの取り扱いを要求し、最終的にOSが制御する標準出力を介してすべての出力を返す。Cプログラムを書くとき、プログラマーは目の前のコンピュータの物理的なアーキテクチャと同じくらい、目の前の問題を理解していなければなりません。

この記事を書いた人
草場代表
エディター