ProgrammingのTipなど

雑記


ObjectPascal
いろんなプログラミング言語に触るんですが
ObjectPascalはやっぱり好きですね
結構、型を自由に設定できる強力さを持っているんです
C++の型は名前を変えただけですが
ObjectPascalの型は独自に作れるので厳格にチェックできる
Haskellももちろん型が厳格かつ強力なんですが
ObjectPascalはポインタがあり
このポインタとさらに汎用ポインタを使った型を合わせて
継承も合わせて型キャストしたりすると
とても柔軟なプログラミングができて
それがDelphiのVCLの強みにもなっています
もちろんアカデミックな型としての強力さと表現力ならHaskellが上ですが
実務としての型としての使いやすさはObjectPascalも結構イケてるんじゃないかと思うんですね
型無しラムダ計算と型有りラムダ計算
ラムダ計算論には型無しラムダ計算と型有りラムダ計算があります
もともとは型のなかったラムダ計算になぜチャーチが型を導入したかというと
いわゆる決定不能がラムダ計算に起きてしまうので型を導入したらしい
これは大雑把な捉え方ですが
lispは型無しラムダ計算に影響を強く受けており
Haskellは型有りラムダ計算に影響を受けていると思います
(もちろんlispもHaskellも他にもさまざまな概念も取り入れています)
なのでYCombinatorがそのままHaskellで書けないのはチャーチの思想に
合致しているからかもしれない

YouTube文化
最近ではTVはすっかり存在感を消しYouTubeなどのネット文化が中心なようです
これには大賛成なんですが
しかし今YouTubeで一体何が流行っているのか今ひとつわかりにくい
この点昔のニコニコなどはわかりやすかったんですがね

イミュータブルについて
最近のプログラミング言語は関数型言語でなくても
関数型言語の影響を受けて
イミュータブルな変数をできるだけ使う傾向が高いようです
ただイミュータブルな変数を使いこなすには
やはりlispのcar,cdr,consのようなものを使って再帰でリストをまわさないと
どうも使いにくいんじゃないかなと思うんですよね
イミュータブルな思想を導入するなら同時に
car,cdr,consと同じような機能も取り入れて欲しいなあ
と思ったりします
まあ自分で作ればいいんでしょうが標準で欲しいんですよね
オブジェクト指向と関数型言語のそれぞれの特徴

ある指摘で
オブジェクト指向はGUIのようなシステムを
記述するのに適しており
それがオブジェクト指向のブームを巻き起こした
しかしGUI以外のものになると
関数型言語の方が適している
というような話だ
これもなるほどと思わせる
GUIのようなものはウインドウもボタンも共通の性質を持っている
それらを扱うならオブジェクト指向の継承の能力が一番適しているだろう
しかし純粋なそして複雑な計算や処理となれば
関数型言語の方が適しているとも思う

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

メニュー2

開くメニュー

閉じるメニュー

  • アイテム
  • アイテム
  • アイテム
【メニュー編集】

管理人/副管理人のみ編集できます