タグ

論とprogrammingに関するch1248のブックマーク (241)

  • 5 Programming Languages Marked for Death - Dice News

    As developers embrace new programming languages, older languages can go one of two ways: stay in use, despite fading popularity, or die out completely. We predict the following languages will likely die: Perl There was a time when everyone seemingly programmed in Perl. But for those of us who used the language regularly, there was something about it that didn’t seem right. One programmer I knew ca

    5 Programming Languages Marked for Death - Dice News
  • 人のコードを引き継ぐときに一番困るのは「使われていないコード」 | mah365

    プログラミングを生業としていると、人のコードを引き継いで開発するなんてこともままある訳ですが、そういうときに一番困るのは「使われていないコード」だなー、としみじみ感じます。 使われていないコードがもたらす弊害 特に動的言語で書かれたコードというのは前触れ無く呼び出される可能性があるため、当に利用されていないのかどうなのか、きっちりと調べあげるのは困難なケースがあります。例えばrubyであれば、method_missingでキャッチしてsendで動的に処理先を振り分けるなんてことをしていると、単純にgrepして利用状況を見るだけでは不十分な場合があります。 そういう意味では「使われていないコード」というよりは、「使われているのか使われていないのかはっきり分からないコード」という方が適切な表現かも知れません。 そういった「はっきりと判断のつかないコード」がある状態だと何が問題なのかと言うと、

    人のコードを引き継ぐときに一番困るのは「使われていないコード」 | mah365
  • Agda による圏論入門

    Menu Menu Agda で証明しながら圏論を学ぶという予定です。あまり入門ではないかも。 Higher-Order Categorical Logic の 0章に相等する内容です。 BitBucket category-exercise-in-agda source code Agda の入門の要約 Agda の入門 Agda の集合の Level Agda の record Agda のReasoning Caategory module と圏の入門 自然変換 IdentityFunctor と Hom Reasoning Monad の結合則 Sets と Monoid を使った Monad の例 Kleisli 圏の構成 ここまでが Monad を理解するための部分。以下は、Adjoint 関連です。 Adjoint から Monad を導く Kleisli 圏による Mona

  • クソコードは人を育てるか? - ミッションたぶんPossible

    結論から言えば、「条件付きで『あり』」になります。 一年くらい携帯コンテンツの開発というか運用保守をやってきていたんですが、最近になってまた業務システムに従事するようになりました。大手企業さんの社内システムで、既に3年ほど稼働しているものですから、システムとしてもそれなりに規模が大きく、仕様も膨大で複雑です。後発のオレとしては覚えることが多くてなかなか大変なんですけれども、昔取った杵柄、まぁそれなりに楽しくやってます。立場的にはPG兼SE。要するに「何でもやりますよ」ってことですね。 このシステムでオレが一番気に入らないのは「ソースコード」。PHPで構築されているんですが、まーーーーー、ひどい。今まで見てきた中で文句なしのブッチギリでNo.1を獲得したクソコードです。オレ自身大したプログラマじゃないので偉そうなことを言えないんですが、その立場をいけしゃあしゃあと棚上げしてでも、このソースコ

    クソコードは人を育てるか? - ミッションたぶんPossible
  • 「オブジェクト指向でなぜつくるのか」を読んだ - ✘╹◡╹✘

    オブジェクト指向でなぜつくるのか 第2版 作者: 平澤章出版社/メーカー: 日経BP社発売日: 2014/03/05メディア: Kindle版この商品を含むブログ (2件) を見る TL;DR 多くの人の「このを読むべきかどうか」という関心事に先に回答しておくと、「万人が読んでおいて損は無いとまでは言い切れないけれど、オブジェクト指向に興味があって元気もあるという奇特な人間は読んでも良い」です。 オブジェクト指向とは何か 平澤 章さんが書いた「オブジェクト指向でなぜつくるのか」というを読みました。オブジェクト指向を「難しいソフトウェア開発を楽に行うための総合技術」と表現しながら、「オブジェクト指向とは何か」という問いに対して現実的な解を与えようという一貫した姿勢に親しみを覚えました。 保守や再利用を目的とした技術 目的という側面では「オブジェクト指向はソフトウェアの保守や再利用をしやす

    「オブジェクト指向でなぜつくるのか」を読んだ - ✘╹◡╹✘
  • 「オブジェクト指向の価値ってよく分からないですよね」について - manie's blog

    そういえばCORBAとかROSEとかUMLとかやってた気がします。 プログラミング勉強中の人にオブジェクト指向とは何なのかを何となく伝えたい話 - かまずにまるのみ。 「オブジェクト指向の価値ってよく分からないですよね。」 誕生の歴史を知ればよい。環境によっては価値がある。 コンピュータは情報数学と電子回路から誕生した。電子回路は半導体によってハードウェアからソフトウェアとなり、機械語(そしてアセンブリ言語)が必要になった。C言語はアセンブリ言語に配列と構造体を加えたものだ。手続型言語ではデータ構造とアルゴリズムを同時に設計するが別々の保守が必要だった。保守は同時にやるべきだ。データ構造とアルゴリズムを同時に同じ場所で実装し保守出来る仕組みがクラスだ。 情報数学と電子回路 情報数学は乱暴に言えばビット演算学だ。NOTとORとANDを使ってあらゆる命題論理を電子回路で置き換え可能な式に書き下

    「オブジェクト指向の価値ってよく分からないですよね」について - manie's blog
  • ソースコードを読むための技術

    $Id: readingcode.html,v 1.13 2003/12/06 00:01:08 aamine Exp $ 2006-05-02 gonzui 追加。thanks: 冨山さん 2003-12-03 ltrace と sotrace を追加 2003-12-03 ツールのところに DDD を追加。thanks: 和田さん 2003-05-27 VCG, SXT などについて追加。thanks: 梅沢さん 2003-05-27 これもすっかり忘れていた strace, ktrace, truss, etags などについて追加 2002-08-30 すっかり忘れていた ctags を追加 2002-07-07 匿名希望さんからメールでいただいた情報を追加 (動的コールグラフ) 2002-06-13 日記経由でいただいた意見をもとに文章を追加。thanks: 柳川さん、まつもとさ

  • UTAUの基本的アルゴリズムと開発経緯 資料

    3月25日、数学ソフトウェアとフリードキュメント XIVで行った講演で使用した資料です 注意:あくまで講演用に作成した資料ですので内容は完全ではありません スライド(pdf) utau_kouen.pdf ※一部判りにくい箇所を修正しました 人力ボーカロイド 接続のみ(mp3) 音程と長さを編集後(mp3) アルゴリズム 元音声(wav) 伸縮のみ(mp3) スペクトラム包絡を直した後(mp3) ※外部のサイトから資料への直リンクはご遠慮ください。 ※これらの資料を上演・配布など二次使用したい場合は飴屋までご一報ください。 ※無断転載禁止 2012.3.27 飴屋/菖蒲

  • 1534夜 『ハッカーと画家』 ポール・グレアム − 松岡正剛の千夜千冊

    先週、小耳に挟んだのだが、リカルド・コッキとユリア・ザゴルイチェンコが引退するらしい。いや、もう引退したのかもしれない。ショウダンス界のスターコンビだ。とびきりのダンスを見せてきた。何度、堪能させてくれたことか。とくにロシア出身のユリアのタンゴやルンバやキレッキレッの創作ダンスが逸品だった。溜息が出た。 ぼくはダンスの業界に詳しくないが、あることが気になって5年に一度という程度だけれど、できるだけトップクラスのダンスを見るようにしてきた。あることというのは、父が「日もダンスとケーキがうまくなったな」と言ったことである。昭和37年(1963)くらいのことだと憶う。何かの拍子にポツンとそう言ったのだ。 それまで中川三郎の社交ダンス、中野ブラザーズのタップダンス、あるいは日劇ダンシングチームのダンサーなどが代表していたところへ、おそらくは《ウェストサイド・ストーリー》の影響だろうと思うのだが、

    1534夜 『ハッカーと画家』 ポール・グレアム − 松岡正剛の千夜千冊
  • コードを引継いでどこから手をつけるか - ワザノバ | wazanova

    http://www.se-radio.net/2009/11/episode-148-software-archaeology-with-dave-thomas/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 他人から引継いだコードを把握するのにどこから着手するかというテーマで、たまたまいくつかのエントリーを見かけました。「コードを読み切れないほど膨大にある。」「前任者、経緯のわかる人がいる/いない。」「ドキュメントがある/ない。」など様々な事情が想定されますが、全部まとめて主な声を拾ってみました。 謙虚な姿勢で臨むこと。そのコードベースがわかりづらいのは、書き方が悪いコードだからかもしれないが、自分がその専門領域の知識がなかったり、ベースにあるアルゴリズムが当に複雑な場合もありうる。それを、全

  • 型安全性とは何か | POSTD

    以前書いた(C言語についての) メモリ安全性について定義した記事 について、型安全性について説明する記事も投稿してほしいというコメントがありました。型安全性についてはかなりよく知られてきていると思いますが、ズバリこうだと簡単に定義できるほどにはまだ理解が浸透していません。特に誰かが”Javaは型安全な言語だ”と言った場合、これは厳密に何を意味するのでしょう。全ての型安全な言語はある意味”同じ”と言えるでしょうか。ある特定の言語について、そして一般的な意味で、あなたを悩ませる型安全性とは何でしょうか。 実際のところ、型安全性が何を意味するのかは言語の型システムの定義によります。最もシンプルなケースでは、型安全性はプログラムの動作が正しく定義されるように保証します。もっと一般的な話をすると(この記事ではそのあたりをカバーするつもりですが)、言語の型システムはそのプログラムの正確さと安全性を推論

    型安全性とは何か | POSTD
  • 自分の好きなプログラミング言語で就職する - モジログ

    教えて!goo - 関数型言語を独学で勉強している学生です(2013/01/17) http://oshiete.goo.ne.jp/qa/7896221.html <情報系の大学3年生です。 僕は関数型言語に興味がありhaskellやlispを勉強しています。 しかしこれらの言語で何か作るのは結構しんどいと思います。 ぶっちゃけ、javaとかrubyとかpythonの方が作りやすいでしょう。 haskellは出力するにも一苦労だしlispはリストが面倒。 関数型言語は実用的だとは思えません。 しかし、楽しいです。 どう表現すればいいかわかりませんが、とにかく関数型言語は面白いです>。 <そこで質問です。 昨今のIT企業は新卒採用の際、学生時代に作ったプログラムを評価し採用の是非を決めると思います。 もし関数型言語で何か作っても評価されるのでしょうか。 僕ができることといえば、やサイトに

  • プログラミング初心者が中・上級者になるためには、GithubのリポジトリをWatchすればいいんじゃないかな - iakioの日記

    よく、プログラミングを学ぶ方法として「まずは何か作りたいものを見つけて、、、」といったアドバイスを見かける。たしかに何かを作り上げることで学ぶことも多いのだけれど、どちらかというとそれは実装方法よりもデプロイだったりライブラリやツールの使い方といったところの方が大きいように感じる。 一方で、実装方法については、自分で問題を解決しているだけだとどうしても自分の考え方にとらわれてしまう。 プログラミングの上達のためにきっと一番大切なことは環境で、近くに良い師匠がいるのであれば様々な問題の解決方法を学ぶことができるだろう。 そうでない場合は、インターネット上でお手を見つけるのが良いと思う。 あまり大きすぎず、ある程度活発なお気に入りのプロジェクトGithubで見つけてWatchする。毎日届くNotificationをざっとで良いので目を通す。最初はほとんど意味がわからないだろうけどかまわない

    プログラミング初心者が中・上級者になるためには、GithubのリポジトリをWatchすればいいんじゃないかな - iakioの日記
  • 専業プログラマーが楽しいわけがない

    プログラムを書くひとが報われやすい時代が近づいているという意見を多く聞くようになりました。 しかしそれは、専業プログラマーが報われるという意味ではないとおもいます。 たとえば社長をやりながら、自分の会社のためのプログラムを書く。 たとえば農場主をやりながら、自分の農場のためのプログラムを書く。 そのように、自分の専門があって、その専門のために兼業でプログラミングをする専門家が、プログラミングをしない専門家よりも、報われやすい、という時代が来るということだとおもいます。 もちろんPHPゴリゴリとかではなく、Railsみたいなフレームワークに依拠して書くことが多いだろうとおもいます。 そういうフレームワークが整った現代は、兼業プログラマーが育ちやすい環境が整備されているとおもいます。 プログラミングが楽しいと思えないのは悪いことなのか という記事を読みました。 これは、他人に売るプログラムを書

  • (情報系の)大学の学生はとても貴重な経験をしていることに気づかず、情報系でないプログラマー(僕)は情報系の学問的知識を、いつか求めるということ - nobkzのブログ

    どもです、nobkzです。昔からずっと考えていることを、うだうだ書きます。 「Prologなんて何でやるんだ!!!」 とある情報系の学生のつぶやきでした。僕は衝撃を受けました。 情報系の人間じゃない僕 ぼくは、福岡のIT系の勉強会に足をよく運び、また主催として開催したりしています。Technical RockstarsにCTOとして就任し、FLOWer言語をTechnical Rockstarsで開発しています。そしていまでは近日中に公開予定のBaaSを開発中であって、LispやHaskell、Prologなどを書いてたりしています。一日中プログラミングの事を考えて生活しています。 そのせいか、他人にはどうも僕が完全に情報系の人間の様に見られるようです。そして、大学では情報系の学部なんだろうと、小さいころからやって来たのだろうと。 しかし、実際は違うのです。僕は九州大学芸術工学部音響設計学

    (情報系の)大学の学生はとても貴重な経験をしていることに気づかず、情報系でないプログラマー(僕)は情報系の学問的知識を、いつか求めるということ - nobkzのブログ
  • PHPでは配列ではなくオブジェクトに状態を持たせよ - なんたらノート第三期ベータ

    アドベントカレンダーを書いたらコメントに面白い課題もらいました。 「Python - すごく簡単なアルゴリズムがphpで書けなくてつらい」のやつ。 id:methane php の array と参照の関係がクソで無いなら、 http://qiita.com/methane/items/41e1376c41d8c15e8894 これを普通に書いてみてください。 id:tanakahisateru 面白そう。やりましょう。 最近ずいぶんPHP成分多めですが、実はPythonも好物なのでホクホクです。 といっても、あのエントリーは「php の array と参照の関係がクソで無い」とは言ってなくて、むしろ逆にそこは腐ってるから避けろ、オブジェクトで囲んでやれ、という話だったので...(^^ そのままやってもPythonの性能にはならないとわかっているので、配列を直接使うのはイヤです。なので、オ

    PHPでは配列ではなくオブジェクトに状態を持たせよ - なんたらノート第三期ベータ
    ch1248
    ch1248 2014/08/02
    重くなりそうな方がより良い実装となるのか。
  • 2009-09-16

    「動けば良い」と言う人はエラーが起きてから「動かないじゃないか」と文句を言う。仮令、その人の操作が間違っていたとしても言う。ある「動けば良い」と言う人が酷いバグで右往左往しているのを見て(少なくともその人の)原因に思い当たった。 その人はコードをデバッガで追うのが大好きだ。で、どこでSEGVが出たかを突き止めて、SEGVの箇所にエラーチェックを追加して修正完了とする。その結果、次々と別の箇所でSEGVが発生したり、エラー時のリカバリに失敗したりしている(ここで右往左往)。 NULL参照のエラーが出たということは、NULLであるべきでない変数にNULLが入っている、という状態になっているはずだ。この場合、NULLが代入された変数を参照した箇所は落ちるべくして落ちたに過ぎない。当のバグはNULLであるべきでない変数にNULLを代入した箇所にある。 つまり、変数が取り得る値は何か、という観点が

    2009-09-16
  • あなたがLispを無視することができない理由 - 八発白中

    (この記事はLisp Advent Calendar 1日目のためのエントリです。) 禅が好んで用いる比喩がある。月を指すには指が必要である。だが、その指を月と思う者はわざわいなるかな。 — 鈴木大拙「禅」 これをLispに例えるなら、こう言うことができるかもしれない。 Lispを書くには括弧が必要である。だが、その括弧をLispと思う者はわざわいなるかな。 Lispを普段書いている身としてはLispについて括弧がどう、というのは些細なものに思えるが、Lispを知らない人からすると自然な考えだろう。人間は知らないものを理解しようとするとき、自分が今まで見たもの、知っているものと比較して手がかりを得ようとする。Lispが他のプログラム言語と比較してユニークなものは、やはりその括弧で表現されたS式だ。 しかし、Lispが括弧を使った奇妙な構文を用いるのは理由がある。そしてそれがLispの強力さ

  • プログラミング言語の使いわけ - アドファイブ日記(ミラー版)

    私は色んなプログラミング言語を触るのが病的*1に好きで、どの言語をどういう場面で使うのが良いのか凄く興味があります。 そこで、今の私の知識範囲でのそれぞれのプログラミング言語の使いどころを(自分用の整理もかねて)書いてみます。 C/C++ - C=OSやミドルウェア、C++=効率化のための再実装 安直に「メモリとスピードが第一優先のとき」と思いたいところですが、同等程度のスピードでもっといい言語はいっぱいあります。計算集約的ならJuliaとか、オブジェクト指向で組むようなソフトならD言語とか。なのでまずC言語は、Swigみたいのを使って他の言語の拡張ライブラリを書いたり、システムコールを使ってOSやミドルウェアを書くときじゃないかと思います。C++はテンプレートを駆使したりして効率を維持しながら抽象度の高いコーディングをするような場面がしっくり来ると思います。既に他の言語で実装したソフトウ

    プログラミング言語の使いわけ - アドファイブ日記(ミラー版)
  • オブジェクト指向は禁止するべき - きしだのHatena

    プログラムがまだ不慣れな人が「プログラムちょっとわかるようになったけど、まだぜんぜんオブジェクト指向とかできてません」のように言ったり、ちょっと慣れた人が「このソース、ぜんぜんだめ。オブジェクト指向ができてない」にようなことを言ったり、まるで、オブジェクト指向ができてるかどうかがよいプログラムかどうかを表すことになってるようだ。 Javaのアルゴリズムのに、「Javaなのにオブジェクト指向ができていない」のような書評がついているのを見たときには、お前は何を求めてるんだと思ったりもした。 そのようなオブジェクト指向は、窓から投げ捨てるべきだ。オブジェクト指向はプログラムのよしあしの基準にならない。 むだにHogeインタフェースとHogeImplクラスがあったり、むだにnewするだけのcreateメソッドがあったり、どこで値が設定されてるかわからないオブジェクトがひきまわされてたり、ソースコ

    オブジェクト指向は禁止するべき - きしだのHatena