「関数型言語」を含む日記 RSS

はてなキーワード: 関数型言語とは

2017-10-26

プログラマーのススメ

日本人は全員プログラミング勉強した方が良い。

プログラミング簡単だし、IT企業なら開業資金も少額で済む。(最初パソコン回線プリンターがあれば十分)

 

自己資金で数カ月で軌道に載せれるようなネタしかできない。

 

IT起業の道のりを教えてあげるよ。

  1. 下請け他人が作って欲しいものを作って納品する=資金を増やす自転車操業の段階。
  2. 自社開発:自分で作りたいものを作って売る=自転車操業からストックビジネスに移行する。
  3. レベニューシェア下請けと自社開発の中間ビジネスモデル

 

増田投稿できるってことは、パソコンぐらい持ってるんだろ?

本屋図書館に行って、自分に合った分かりやすプログラミングの本を探してみよう。

 

仕事を取ってくる方法は、ソニックガーデンのやり方を参考にしたら良い。 https://www.sonicgarden.jp/

プログラミング入門

最初に1冊だけ推薦するなら「プログラミングの基礎」という本をお勧めする。 https://www.amazon.co.jp/dp/4781911609/

買う前に、著者のサポートページを見てみると良い。

 

プログラミングパラダイム(考え方)には4種類ある。(【】内は基礎となる計算モデル

計算可能理論で見ると、どれもノイマン型のCPU上で動作する点で同じと言えば同じと言える。(優劣はない)

ただ、筋の良いプログラミング作法を身に付けたいなら、最初関数型を理解しておくことをお勧めする。

関数型の中で一番簡潔かつ強力なのはOCaml」というプログラミング言語だ。(HaskellをやりたければOCamlの次に学ぶスムーズ理解できる。)

関数型言語を学んだ後なら、手続言語はすぐに習得できるだろう。

WEB開発

WebサービスWebアプリを作るのは簡単

  1. HTML
  2. CSS
  3. JavaScript
  4. PHP
  5. MySQL
  6. Linuxサーバー構築)
  7. TCP/IPネットワークセキュリティーの基礎知識

を学べば作れるようになる。3か月勉強すればものになるよ?

 

Webアプリの特徴は、システム構造ネットワークを介して「サーバー側とクライアント側」に分割されていること。(REST - Wikipedia

Webアプリを作るってことは、一言で言えば、データベースラッパーCRUD)を作るだけの話。

アプリ開発

スマホアプリは、GUIの仕組みが分かれば簡単に作れる。

iPhoneアプリ

iPhoneの仕組みは糞だから後回しにしてもOK

XcodeじゃなくてAppCodeで作れるような段階に成熟したら手を出しても良い。

まあ、iPhoneアプリは金のためなら避けられない道だと思うので、苦労覚悟で取り組んでほしいw

Androidアプリ

Androidの中身はLinuxJavaアプリを開発できる。今ならJetBrainsIDEKotlinで楽々開発できる。

日本じゃAndroid貧乏しか使ってないので、あまり金にならないかも。

資金集め

お前偉そうなこと言うのなら、誰か起業してやろうというやつにガッツリ寄り添って手伝ってやりな。

俺はハゲタカじゃないから、無知な奴から搾取することはしない。

というか、自分のことで精一杯だから他人のケツ拭いまでやる体力・気力・理由がないw

 

他人から金をもらうと相手支配下に置かれる。だから資金調達お勧めしない。

自己資金で行けるところまで行って、ダメならまた社畜生活に戻ればいいだけの話。(パソコンインターネットがなくならない限り、プログラマーならIT業界で食っていける)

 

俺は、NPO法人とか社会起業しようとしてる奴だけ無償で手助けすることにしている。(プロボノ

社会起業家は、社会変革の担い手として、社会課題を、事業により解決する人のことを言う。

社会問題認識し、社会変革を起こすために、ベンチャー企業創造組織化経営するために、起業という手法を採るものを指す。

プロボノ(Pro bono)は、各分野の専門家が、職業上持っている知識スキル経験を活かして社会貢献するボランティア活動全般。また、それに参加する専門家自身

 

おまえが将来、社会起業することがあったら増田で呼びかけてくれ。

増田で返答できる範囲アドバイスするよ。頑張れ!

 

(追記)プログラミングパラダイムの4分類は「日経ソフトウェア」という雑誌説明表記しました。

ちなみにSQLチューリング完全なので、問合型言語でもプログラミング可能です。 https://qiita.com/utgwkk/items/20e887645da18e460fee

かに俺は理系だが情報学出身じゃない。独学でプログラミングを学びました。技術的な誤りがあったらブコメで教えてw(夜露死苦

 

(追記2)マイクロソフト関数型言語F#」は、OCamlベースにして開発されました。

現在マイクロソフトで開発中の量子コンピューターではF#が動く予定だそうです。(将来OCaml知識が役に立つでしょう) http://ascii.jp/elem/000/001/569/1569477/

 

(追記3 10/28ブコメレス全部拝見しました。様々なご意見・ご指摘をいただきありがとうございます。大変参考になりました。

「何か既視感があるな」と思ったら、最近ホリエモンが「保育士は誰でも出来る仕事」と言って炎上してたのと似てますね?→「プログラミング簡単」(プログラマーは誰でも出来る仕事

プログラミング学習や実務で苦戦されている方が多いようですね? だとすれば、それを改善支援するサービスニーズがありそう。

具体的にはディアゴスティーニ雑誌みたいに「週刊 プログラミングゲームを作る」みたいな教材があればいい。

https://deagostini.jp/

拝承いたしました。(微力ながら、皆様のお役に立てるよう作ってみたいと思います。)

 

(追記4 10/28OCaml関数型言語メリットについて

ちょっと前に岡部健氏(通称:毛の壁、kenokabe)が、関数型言語を巡りQiita等で論争を巻き起こしていましたが、俺は是々非々岡部氏の意見に一部賛同していました。(全部じゃない)

関数型言語を難しいものとして敬遠するのではなく、まずは使ってみて便利だったら嫌う必要はないと考えています

構造プログラミング命令型、手続型)との対応で言えば、関数型プログラミングは再代入なしでも、

で同じことができます。(優劣はない)

最初関数型プログラミング習得しておけば、参照透過性に注意を払う癖が身につき、テストときに「組合せ爆発」を少なくできます

関数型言語はたくさんありますが、OCamlが良いと思ったのは(自分にとって)分かりやすい教材が揃っており、学習コストが低いと思ったからです。

プログラミングを学ぶとき、独学ではなく、周りに聞ける人がいるなら他の言語でもOKです。

 

(追記5 10/28)「iPhoneの仕組みは糞」=storyboardが使いづらいと思いました。あくま個人の感想なので、Apple関係者信者の方はスルーしていただければ幸甚です。(Swift開発者クリスラットナー氏は、Appleからテスラ転職してしまいましたが、今後もAppleObjective-CからSwiftへの移行を押すのでしょうか?)

幸いiOSアプリ開発は分かりやす教科書がたくさんあるので、初心者でも心配無用です。iOSアプリ開発は(最初簡単なので)気軽に始めてみてくださいw

2017-04-09

経済格差による情報格差の一例かな?がんばって。

長く書きますお金の話の経験とかも、少しでも参考にしてください。

話に一個ずつ答えてく

10年前のVistaが搭載されていた頃の家電量販店で一番安かったCeleron 1コア メモリ1GB グラボなしノートからプログラミングに向いてないのかもしれない

4年前になるけど、高校生の時は1万円くらいのパソコン中古で買って、使いにくいのを我慢してて、実際損だったなと思うこともある。

お金のない環境を整えられない学生はつらいよね。明らかに札束で殴れず時間を使って損してる。

twitterできないメインで使えないのもまず、重すぎるからっていうのもありそう。

スペックが足りてなさすぎる。まずは6,7万出してスペックを整えよう。

すごい人たちについて

すごい人たちは幼少の頃からパソコンがあって、パソコンをいじるだけの時間があって、承認されてる。

しかも、コミュ症だとかなんだかんだ言いながらも、ネットではきちんと弾けてるし、人望もある。

彼らを理解するのはすっごく難しい。

経済格差が多すぎて、彼らが積んできた経験と持っている環境が違いすぎるから

プログラム自体数学を解くようですごく楽しいのだけれど、なぜ苦しい勉強をしながらプログラムをずっとやっていられるのかわからない。

環境はMac(高すぎて揃えるなんてとんでもない)じゃないから、先人たちの簡単に手順化された知恵を受けづらく、プログラム環境をととえるまでが大変だし、

ライブラリ関係エラーコード自分の力で、ライブラリを見つけに行かないとダメで、ウェブ検索しても彼らよりもずっと時間がかかる。

そこをきちんと理解したうえで、自分がどこまでやりたいのか、どうしてやりたいのか

自分プログラマに向いているのか、考えながら、勉強していったほうが良い。

私について

ちなみに私はプログラムを解くの好きだったし、ある程度は得意だった。

ADHD自閉症混じってるから、だから職人的なことをやりたかったし、テストをかけば不注意で大きな損失を出す可能性も低くなる。

からプログラマを目指しているし、プログラマとして就職するつもりなんだよね。

twitterで有名な人てやっぱりSランクとか余裕なのかな

プログラマレベル

私も無名で、プログラム力的にはpaizaのSランクは、後ちょっと足りない、運が良ければ成功するんじゃない?ってレベル

イッタランドのすごい人たちは目指すと疲れるだけなのでほどほどにね。

彼らは多分余裕綽々でS取れる。

paizaの出題は競技プログラムの一種で、競技プログラムっていうのはある程度出題の仕方が似通ってる。

複数回解いていると昔に残ったコードとか再利用できたりするから有利になるっていうのもある。

ゲームで例えるとRPG好きな奴にFPSやらせても全く活躍できないけど、FPSが得意な奴に別のFPSゲーやらせてもできたりするでしょ。

開発のジャンルの違いがあることは覚えといて。

VirtualBox上のubuntuMySQLコンパイルすると2時間20分ぐらいかかった記憶がある。

開発環境OSについて

Mac買えなくて開発環境として選ぶなら,windowsよりlinuxのほうが良い。

windowsだと環境整える前にストレスやばいし、パソコンが死んだ場合ストレスやばい

あと、古いパソコンだとUSBブートができなかったのも割とめんどくさかったし、回線がめちゃくちゃ低速だったから、ISOファイルダウンロードに半日かかってたかな。

ubuntuは良いんだけど、スペック足りてない。

VirtualBoxはすごいスペック持っている人が使うものなので、買い換えないならクリーンインストールデュアルブート推奨。

ubuntuにしとけば、ウイルス系もあんまり構う必要性がなくなるからね。

フリーソフト選択肢は狭まるけど。)

起動にVirtualBox起動に数分待って、端末以外を使おうとすると固まるみたいなことやってると辛さが溜まるから

あとデュアルブートはいいよ

あと、クレジットカード持てないのでAWS上で機械学習するのだけは遠慮したい。

クレジットカードについて

デビットカードでも行ける。

するが銀行に口座を作ってデビットカードを申しこめば、20歳以下でもなんとかなる。(年齢によっては親の同意は必要だけど)

2,3週間かかるけど、デビットカード作っておくことで色々なサービスを体験できるようになるのは選択肢を増やすにあたって重要なことだから是非。

コンビニからお金を入れられるので地方でも安心だしね。


一応著名なプログラマーTwitterフォローしてるけど、ご飯の画像を載せてたり、若者の僕には通じない寒いギャク連発してたり、ロリっぽい画像をRTしてたりと、twitterはメインの情報収集としては利用してない。

SNSについて

ネット上は怖い人もたくさんいるし、まさかりがちょくちょく飛んでくるけど、変にウケる拡散してくれて色々な人が声をかけてくれるのも確かだったりする。

ゆっくり自分の使い方を覚えていけば少しずつ楽しめると思う。

実際、SNSは情報の精度としては当てにならないし、勉強のためってSNSを使うとストレスで辛くなった。

自分好きな人だけをフォローすると精神安定するよ、あとフォロー返しはやる必要はない。やってるとTL荒れるからね。

リストとか使いこなせるなら別なんだろうけどね)

ちなみにここに飛んできた理由ツイッターかな。







何を改善したら昔よりも良くなったかってことだけつらつらと書いていく。


おすすめ度は◎○△であらわす。

ノートパソコンを新調する
おすすめ度:◎
条件:最低で6,7万円のお金必要おすすめlenovoのeシリーズ。
重いけど、コスパは良好比較的安めに上がってキーボードも打ちやすいのが良い。
いまはcorei5, メモリ8GBの使ってて、大体(重めのゲーム以外)したいことはなんとかなる。
SSDはあったら便利だけど、一番重要なのはメモリな。
開発したいなら8GBは必須。
(苦労話:
古すぎてノートなのにキーボード常時接続必要だったり、画像が多いサイトブラウザを選ぶ必要があったり、何よりもIDEが使えなくて辛かった。
windows vistaのupdateで数日固まったりゴミしかなかった。
)

光回線契約にする。
おすすめ度:◎
条件:契約できる年齢か、親の同意(年4万円くらいの出費)が必要
何をするにもまず回線速度が遅いと話にならない。
IDE落としたり、クラウドファイル上げたり、AWS使う時のアップロードとか、音声会話とか。
〇〇をしてみたいと思ったら,ダウンロード時間がかからないことは、モチベーションのためにめちゃくちゃ大切。

(苦労話:
ISOファイルダウンロードするのに半日かかるのが普通だと思ってたけど、
まともな光回線+まともなルータを利用したら、ダウンロードに1時間ちょいになってびっくりした。
特に古いルータだったりするとボルトネックになったりする。
)

ubuntuクリーンインストールする。
おすすめ度:○
条件:linuxで生きていくという覚悟
windowsよりは快適。
他のlinuxISOファイルを焼いたりするときちょっと苦労するかもしれないし、軽いの選ぶと良いかも。
実際普段使うものネットプログラムツールだけだったから、なんとかなったし、ゲーム選択肢強制的排除されるので、
少しはプログラムに触りやすくなるかもしれない。
(苦労話:
エクセルパワポ必要とか言われた時に、officeレイアウトで死んだりする。
資料はPDFな。

買い換えない場合クリーンインストールは↓
昔のパソコンでもLinuxとか入れればそれなりに動くよっていう人はいるけど、やっぱり社会的通信網と平均的なマシンスペックが上がっているせいで、ウェブ自体要求するスペックも上がってて低スペックだとつらい。
ブラウザはw3mとか使って、端末タブを開いてvimで開発してた。
なんでかって言うと普通にブラウザ使うとレスポンスが重すぎたから。
でもその使いづらさの分だけ損してるんだよね。
)

勉強会に行く、もしくはライブ中継を見る
おすすめ度:○
条件:電車代などの交通費を用意可能
できること:
他人に触発されるタイプなら、すごい人たちの興味の方向を見て学ぶ方向が増えるかもしれない。
後は交通費宿泊費の出る勉強会なんてものもあるので応募してみると良いかもしれない。
高校生なら、交通費出してくれるっていう太っ腹な勉強会もちらほらある。
一、二回は顔出し推奨。
欠点はあって、コミュ症は治らないので、友達ができるとは限らない。


パソコンを触れる時間を増やす
おすすめ度:△
条件:家庭環境による
できること:
自分向上心による。
大学生になって一人暮らしになったら、パソコンに触れる時間は多くなったとは思う。
(勉強しているとは言っていない)


デスク椅子の購入
おすすめ度:○
条件:3,4万円の出費
できること:
まず、パソコンを長時間触っていても疲れなくなる。
デスクの高さと椅子の高さはとても大切なもの。
疲れなくなるし、指が攣りそうになることもない。
机の高さはきちんと調べたほうが良い、あってることが重要
今使っているのは1万ちょいの新品デスクニッセンフリーテーブル)と3万弱の中古オフィスチェア
基本的に3000円位のデスク耐久性と高さがゴミだったりするので注意。
机は http://blog.livedoor.jp/itsoku/archives/38727329.html の66のテンプレを見ておくと良いかな。
(苦労話:
しかノートパソコンデスク椅子がなくて狭いこたつの上か100均で買ってきた台の上で、パソコンを使っていたかパソコン位置の高さが合わなくて姿勢がどうしても悪くなるせいで長時間パソコンをいじることもできなかった。

後は寝ながらパソコンをいじるみたいなみたいな堕落生活してたら、筋肉が硬直してまともに手を握れなくなって、医者にかかることになって1万円程度お金がかかったし、
2ヶ月位まともにパソコン触れなくなった。
ちょうどその時期は、筆記用具をほとんど使わない単位だけだったから良かったものの、他の単位とってたらもっと治療時間がかかったかもね。
)



jetbrainsのIDEの使用
おすすめ度:○
条件:それなりのスペックパソコン、それなり大きさのディスプレイ
できること:
設定しなくても、複数ファイルから補完が聞くし、フォルダ内の全てのファイルから検索、置換ができるのが良い。
ただし、ディスプレイが小さいと実際に開発できる範囲が小さくなるのは注意。
(苦労話:
IDEは普通に使えるなら作業効率が全く違って、設定少なくても補完も他のファイルライブラリから保管してくれるたりする。
でも、昔の環境だとeclipseフリーソフトだけど環境整えるまでが辛いし、重いしで、開くとブラウザすらまともに操作できなくのが辛い。
だからブラウザチュートリアルとか見ててもパソコンに待たされてストレスだった。
まともに使うには設定がめちゃくちゃ必要なのは実際疲れた。

(ac.jpメールアドレス必要だけど)学生無料なIDEでjetbrains製品があるけど、設定しなきゃダメなvimとかと違ってマウス操作できるのがすごい良い。
端末ではコピペ簡単にできなくて、数は少ないけどよくあるミスが、間違えてcommandモードで貼り付けてやり直したり、vimのline numberの設定をいじらずにvimからコピペができる。
コレだけでイライラ具合が全然変わる。
)

図書館からコーディングの本を借りてきて読む(できれば、実践すること)
おすすめ度:◎
条件:図書館や図書室で本を注文できるか、本があるか
できること:
プログラム能力が向上する。
おすすめされている本を探すと良い。
プログラム学者なら、ネットだけで勉強するよりは効率がある。
とりあえず、やりたいことなくて、プログラム力をただ上げておきたい場合は、
競技プログラムやりたいとしても下の順番で進めると良いかもしれない。
あと、プログラムには自分が到達しているところまでで言うと、次の順で壁があって能力が足りないと行き詰まることがある。
>> 関数化 → クラス化 (→ ポインター) → 再帰 → 関数型言語 <<
数年かけて勉強して次の段階に勧めないならプログラマは諦めたほうが良いかもしれない。
(能力が足りないのは上司自分もつらくなるよ)


パソコンディスプレイを買うこと
おすすめ度:○
条件:1万円弱のお金
できること:
ノートパソコンなら2個の画面を使えると作業効率が違う。
特に手打ち系のコーディング練習とかがめちゃくちゃ捗るようになる。
(苦労話:
IDE系列は画面を割と占拠するので、ノートパソコンの狭い画面だと辛い。
でも大きすぎる画面だと持ち運べなくなるのでダメ画素数が上がればその分だけ小さく表現ができるので、画面サイズが同じでも画素数が違うとかなり大きさが違って見えたりする。
)

大学に入って時間を稼ぐ
おすすめ度:○
条件:学力があること努力すること、覚悟
できること:
奨学金を利用して環境を整えたり、時間が増えるから更に勉強できる。
プログラム関係もそれ以外も就職先が増える。
また、これから転職したくなった時に逃げ道が増える。
欠点国立は安いけど、入学にそれ相応の努力必要私立行けるなら、苦労してないと思う。
あと免除制度っていうのがあるから、そういうのも利用しつつ費用を安く上げよう

デビットカードを持つこと
おすすめ度:○
条件:年齢(か、親の同意)
できること:
ちょっとした電子払いができるようになる。
多重債務は起こらない。
欠点としては、定期払いはできないので携帯の契約とかはできないことに注意。




終わりに

スペックパソコンしか無いのは、多分家庭環境のせいでもあって、

君がアルバイトもできるかどうかわからないし、アルバイトしてもそのお金が君のもとに入ってくるかはわからない。

お金無限にあるわけじゃないし、時には経済格差を感じて辛くなることもあるだろう。

少ないお金の中でうまくやりくりして、それでも自分の力にしていってほしい。

お金が潤沢にあるなら親を説き伏せることをがんばって)

応援してるよ。

http://anond.hatelabo.jp/20170407112743

2016-12-05

本当に自分技術が好きなのかわからなくなった

高校時代からプログラミングに興味を持ち、ショボいCGIなんかを書いていた。

んで、大学時代バイト学業に勤しんでいた(情報科には行かなかった)。

就活自己分析してやっぱり自分ITだね!とか思ってSIerになった。

あれから10年、何もしていなかった。

Ajax関数型言語クラウドモバイル統計機械学習色んなトレンドが来たが、自分で何かをやろうとしたことはほぼなかった。

やろうとしたが、マシンスペックがしょぼいと言って何もしなかったり、失敗したり、身につかなかった。

致命的だったのは何かを作ろうという意欲が自分には全くなかった。あんツールがあったら便利だなとか、こんなサービスがあったら楽しそうだとかという気持ちがまったくなかった。

人見知りの性格と、何も作れていない自分が惨めでSNSにも勉強会にも参加できなかった。

この10年、仕事でやっていたプログラミング技術は少しは向上したけど、ただそれだけだった。

プログラマ定年説まで半年向上心も枯れて、人見知りは治らないし、仕事はできない。おまけに鬱持ち。

QiitaGitHubには毎日のように大量のポストが送られる。自分もそのうちの一人になりたかったなぁ。

2016-05-28

http://anond.hatelabo.jp/20160523005052

FRP関数型言語も、誰も合意があるなんて言ってない。岡部氏の藁人形論法

藁人形に加えて「合意がないから僕の独自理論は正しい!」という詭弁

2016-05-24

http://anond.hatelabo.jp/20160524133941

このように何か処理を実行した際に、入力として受けつけたデータ以外の物が変化することを"副作用がある"と表現するようです。

関数型言語はこの副作用のないプログラムを目指します。

引数データを受け取り、それ以外の情報を使わず戻り値を返す」関数を作ることを考えましょう

外部に依存しないよう関数の入出力を定める

この辺でさ、岡部氏のFRPは、時間軸を持つストリームとしての値っていうのを、特別扱いして外部に持ってるわけじゃん?

反対してる人は、状態を外部(関数引数でも戻り値でも無い所)に持つの関数型的でない、って言ってたわけじゃん?

岡部氏は時間グローバルなのが当たり前、引数戻り値で表す必要はない(全てを引数戻り値表現する「状態渡し」ではアプリは作れない)って立場じゃん?

上で引用してるのは「状態渡し」推奨の立場じゃないの?

なんで状態渡し否定派の岡部氏の路線になるの?

2016-05-23

http://anond.hatelabo.jp/20160520093920

仮にCが純粋関数型言語で、岡部FRPのx.t=x.t+1;も関数型なんだったら、C言語のx=x+1;も関数型だよね。

岡部氏の本でさんざん「x=x+1;は論理破綻」って批判してたのは何だったんだろう。

というか普通のCやJavaScript関数型なんだったら、岡部関数型の存在意義は……

http://anond.hatelabo.jp/20160520093920

岡部氏は当該部分を引用していませんが、元記事をちゃんと読むと

Cの「プリプロセッサが」Cプログラムを生成する純粋関数型言語

という話ですね。

2016-05-22

http://anond.hatelabo.jp/20160520083417

「滅多なことが言えなくなった」としたら、nonstarter氏のブログのように

岡部氏に反する意見を言うと激しく荒らされるからですね。

迷惑がかかるといけないのでリンクしませんが、

住井氏は関数型言語に関する世界最高峰の国際会議委員長ですね。

エリオット氏のブログは、岡部氏が引用していない部分を読むと、

C言語の「プリプロセッサが」Cプログラムを「生成する」ので、

HaskellのIOモナドがIOアクションを生成するのと同様に

純粋関数型言語とみなせる、という主旨のことが書かれていますね。

岡部氏は「プリプロセッサ」という部分を引用していないようですが。

2016-05-21

岡部健劇場

おう、今度はC言語純粋関数型言語だ、と言い始めたぞ

それも凄いが、今頃そんな事を言い出して、お前がQiitaで書いてきたことは何だったんだよ(笑)

http://kenokabe-techwriting.blogspot.jp/2016/05/c.html

C言語純粋関数型?

岡部健が「C言語純粋関数型だ」と言い始めたんだけど、この人正常なんだろうか。

&gt;ttp://kenokabe-techwriting.blogspot.jp/2016/05/c.html

俺は最初レトリックのつもりで書いたタイトルだと思って読んだんだが、違うみたいなんだよね。

(多分、今後責め立てられたらそう言いだすんだろうけど・・・・)

ただ、この人はJavaScriptを使った関数型言語の本を出しているんだけど、そのような珍妙な説には触れていない。

最近そういう持論を持つようになったのかな。

2016-05-20

http://anond.hatelabo.jp/20160520143856

再束縛OKの関数型言語はあるよ

> (let [t 1, t (+ t 1)] t)
2

http://www.tryclj.com/

Elixirもそうみたい

t = {x: 1, y: 2}

のあとで

t.x = 10

t.y = 15

とか直接書き換えられたら問題かな

2016-05-19

http://anond.hatelabo.jp/20160518171946

何度も指摘されているが「岡部氏のFRP」は同じメンバ変数tに何度も値を上書きしてるだけの

FRP以前に関数型でもない普通命令プログラムいくら論文曲解したり哲学とか言い訳しても

客観的には単なるメンバ変数への破壊的代入。オブジェクトconstをつけたところで

メンバ変数constにはならない。

 

じゃあOCaml純粋関数型や(本当の)FRPで複雑なGUIアプリが書けるかと言うと、

理論的には不可能ではないかもしれんが、もともと非純粋なので

誰もそういうライブラリを整備してないから、ライブラリから作るのは

まあ面倒だろうし、わざわざ非純粋関数型言語純粋関数型のGUIを作る動機

現時点ではまずないだろう。これもすでに指摘されているとおり。

 

もっとも「岡部氏」は「お絵かきアプリ」も「FRP実装が必ず必要となります。」と自分ブログで断言し、

その反例としてOCamlやらHaskellやらのコード直ちに書かれた以上、また話を逸らすのも大概ではある。

2016-05-16

http://anond.hatelabo.jp/20160302090242

ああ。住井@東北大かな?

&gt;(分析哲学ではなく関数型言語意味で)参照不透明なので、関数型プログラミングメリット享受できない、命令型の破壊的代入と等価ですね。

君の役にもたたない机上の空論は皆そろそろ聞き飽きていると思うので、適当なハッタリではなく、timeengine(FRP)がいったいどのような局面で、参照不透明名実ともになり「破壊的代入」のデメリット顕在化し、関数型プログラミングメリット享受できなくなるのか、具体的に示せよ?100%無理だろうけどね。机上の空論じゃないなら、やれるもんならやってみな?w

http://anond.hatelabo.jp/20160516112619

ああ。住井@東北大かな?

&gt;(分析哲学ではなく関数型言語意味で)参照不透明なので、関数型プログラミングメリット享受できない、命令型の破壊的代入と等価ですね。

君の役にもたたない机上の空論は皆そろそろ聞き飽きていると思うので、適当なハッタリではなく、timeengine(FRP)がいったいどのような局面で、参照不透明名実ともになり「破壊的代入」のデメリット顕在化し、関数型プログラミングメリット享受できなくなるのか、具体的に示せよ?100%無理だろうけどね。机上の空論じゃないなら、やれるもんならやってみな?w

http://anond.hatelabo.jp/20160516112619

ああ。住井@東北大かな?

&gt;(分析哲学ではなく関数型言語意味で)参照不透明なので、関数型プログラミングメリット享受できない、命令型の破壊的代入と等価ですね。

君の役にもたたない机上の空論は皆そろそろ聞き飽きていると思うので、適当なハッタリではなく、timeengine(FRP)がいったいどのような局面で、参照不透明名実ともになり「破壊的代入」のデメリット顕在化し、関数型プログラミングメリット享受できなくなるのか、具体的に示せよ?100%無理だろうけどね。机上の空論じゃないなら、やれるもんならやってみな?w

http://anond.hatelabo.jp/20160516053746

kenokabeさんの心の中ではそうなのかもしれませんが、ライブラリユーザから客観的に見れば(分析哲学ではなく関数型言語意味で)参照不透明なので、関数型プログラミングメリット享受できない、命令型の破壊的代入と等価ですね。

2016-05-15

http://anond.hatelabo.jp/20160514101709

&gt;しかもその結果が微塵もFRPでない(どころか関数型ですらない)単なる

お気の毒様な命令型のウンコードじゃあねえ……

「微塵もFRPでない」、ってのと

命令型のウンコード」、っての、具体的にコード引用して説明どうぞ?100%無理だろうがな。

FRPのための純粋関数型言語だった Elm?アホが。

Elmは、そもそもFRPじゃねーよ、情弱

&gt;Neither Rx nor Elm are FRP. If you want FRP, look at Conal Elliott's work.

https://news.ycombinator.com/item?id=7965027

2016-05-14

http://anond.hatelabo.jp/20160506231736

自分から言い出した「実用性皆無のトイコード」を1年かけて書き上げて

しかもその結果が微塵もFRPでない(どころか関数型ですらない)単なる

お気の毒様な命令型のウンコードじゃあねえ……

そもそもFRPのための純粋関数型言語だった Elm ですら

なんと FRP廃止してしまったので

http://elm-lang.org/blog/farewell-to-frp

FRP関数型プログラミング過渡期の産物だったということになりそうな気配

まあFRPどころか関数型すら書けない岡部さんには関係のないことだけど

2016-03-15

http://anond.hatelabo.jp/20160306072616

今回のように、

----------------------------------------------------------------------------------

オブジェクト指向関数型は対立していますか?」について権威論証のきらいがありますし、

関数型プログラミングオブジェクト指向パラダイムとしての対立 国内の【自称関数コミュニティ海外論調の違いというブログ記事

http://kenokabe-techwriting.blogspot.jp/2015/04/blog-post.html

では、

以下が広く一般的国際的な【「関数型言語」に関する一般的説明】です。

として、正反対見解提示されています。ご参考までに。

----------------------------------------------------------------------------------

----------------------------------------------------------------------------------

SaitohMDMA_Love

0 contribution

その方は万能感・誇大妄想のきらいがある電波系として別の意味で有名な人ですよ。

----------------------------------------------------------------------------------

かいうヤジがコメントされた。

このコメントに対しては、

----------------------------------------------------------------------------------

@SaitohMDMA_Love 私が示したのは見解なので。そのような中傷行為や個人攻撃、悪意が見て取れる属人性の主張をしながら、その論者による見解否定する試みは、属人論法であり権威論証だと言えます。(蛇足ですが、MDMAというのは違法薬物なので中傷行為同等に良俗に反するHNだとも思います)

----------------------------------------------------------------------------------

。。。。。。。。。。。。。。。。。というのは、「荒らし」とは言わない。

荒らし」というのは、@SaitohMDMA_Loveであり、「荒らしコメントそのままで、「荒らしコメントを叱る、妥当技術論を削除したQiita問題だということ。

そのおまえが念仏唱えてるとおり、「300以上の荒らしコメント」という文言実態として虚偽であり、実態として虚偽であることをわかってわざとデマ流してるよな?

Qiita社長コメント」という「弁明」があったことも捻じ曲げて念仏唱えながらさ。

@SaitohMDMA_Loveみたいな「荒らし」をはじめ、おまえみたいな異常な念佛教徒は「異常者」であり、技術論にわいてでてきてしきりに念佛を唱えるおまえら荒らし

犯罪」の実態もあり、「異常者」「犯罪者」というのも妥当表現

2016-02-27

http://anond.hatelabo.jp/20160226093209

関数型言語」に関するFAQ形式一般的説明

http://qiita.com/esumii/items/ec589d138e72e22ea97e#comment-0bad8d4aabf92ec70352

ってのをストックしてるんだが、先日からメールで、

投稿が通知されてくる」って、これは本当に通知があったから知った話なの?

あんたのところにメールが届いたのか?

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん