タグ

Programmingとprogrammingに関するcoppieeeのブックマーク (303)

  • プログラミングに関するあまり知られていない7つの真実

  • Erlang 入門 - すけ

    何か新しい言語を習得しよう!そうしよう!と思い立ち、話題のモテ系言語 Erlang の勉強を決意しました。 オブジェクト指向プログラミング言語、それも JavaC++ を大学でちょろっと触ってたくらいのペーペーのボクが、関数型言語なんてスマートでアカデミックな雰囲気の言語に触るなんて恐れ多いや! Erlang の素敵なトコロやあまり素敵でないところは Wikipedia:Erlang で。 以下導入に関してのメモと簡単な入門編。楽しく学んでいきたいと思います。 環境 Windows XP SP2 導入 公式サイトから Windows 用のバイナリファイルを落とします インストールします PATH を通します マイコンピュータを右クリック、「プロパティ」を選択 「詳細設定タブ」 → 「環境変数」 を選択 「システム環境変数」の PATH を選択、「編集」を選択 「変数値」に Erlan

    Erlang 入門 - すけ
  • Python初心者によるPythonのいいところ、はまりどころのまとめ - Webtech Walker

    Python勉強し始めて一ヶ月くらいたったんで一度復習を兼ねてまとめてみようと思います。僕が今までPHPとかPerlとかJavaScriptを使っていて、Pythonはこうやるのかーとか、これは便利だなーと思ったところ、開発していてはまったところなどピックアップしてみました。 初めてのPythonを読んで初心者向け勉強会に参加した程度の知識です。とりあえず初めてのPythonがかなりいいのでこれ読むだけで大体基礎は習得できた気がします。基的な文法の説明だけでなく、大事なことは何回も繰り返し書いてあったり、Pythonの思想などにも触れているのでなぜこういう実装になっているかということも理解できます。これオススメ。 尚、このエントリーではPythonのバージョンは2.5をベースにしてます(主にGoogleAppEngineで使ってるので)。間違えなどあったらツッコミお待ちしてます。 文法、

    Python初心者によるPythonのいいところ、はまりどころのまとめ - Webtech Walker
  • ((Pythonで) 書く (Lisp) インタプリタ)

    Peter Norvig / 青木靖 訳 このページには2つの目的がある。コンピュータ言語の実装について一般的な記述をすることと、Lispの方言であるSchemeのサブセットをPythonで実装する具体的な方法を示すことである。私はこのインタプリタをLispy (lis.py)と呼ぶ。何年か前に私はJavaとCommon LispでSchemeインタプリタを書く方法を示した。今回の目標は、アラン・ケイが「ソフトウェアのマクスウェル方程式」と呼んだところの簡潔さと取っつきやすさを可能な限り実現するということだ。 SchemeのサブセットLispy の構文と意味論 コンピュータ言語の多くは様々な構文的な決まり(キーワード、中置演算子、カッコ、演算子優先順、ドット記法、セミコロンなど)を持っているが、Lisp族言語の1つとして、Schemeの構文はすべてカッコ付きの前置記法であるリストを基とし

  • やる夫と Python で学ぶ Twitter の OAuth - 宇宙行きたい

    OAuth 調べてみたら難しくて理解出来なかったので, Python で標準ライブラリだけで 1 から書いてみました. /      \ /  _ノ  ヽ、_  \ / o゚((●)) ((●))゚o \  twitter の OAuth 難しいお… |     (__人__)'    | \     `⌒´     / ____ /⌒  ⌒\ /( ●)  (●)\ /::::::⌒(__人__)⌒::::: \   だからやる夫でやるお! |     |r┬-|     | \      `ー'´     / Python のサンプルコードを付けていますが, 上から順に読めるようにおもいっきり手続き型で書いています. コメントで実際の処理の説明を書いています. Consumer Key と Consumer Secret の入手 / ̄ ̄\ /    u  \      .____ |:

    やる夫と Python で学ぶ Twitter の OAuth - 宇宙行きたい
  • ソースコードで発見した奇妙なコメント集

    ソースコードで発見した奇妙なコメント集コーダー・デベロッパー・プログラマーさん達はそのソースコードにわかりやすい説明書きを「コメント」として残し、後から他の人が修正・編集しやすいようにコードを書いていきます。Stackoverflowの中でなんだそりゃー!というコメントがまとめられていたのでいくつか翻訳してみます! 「クライアントからのムチャぶり迷言集 」に続き久しぶりにネタ系記事です。 プログラマーさん達の名誉のため、先に言っておきますが、全てのプログラマーがこういったコメントを残しているわけではありませんよ!「こんなの書く人いるんだー世の中いろんな人がいるもんだー」くらいに軽く読んでみてください! 自信を失したプログラマー達自虐コメント多数! // ごめん。 /* お願い…動いてくれ… */ // このコードは最低だ。知ってるだろ?俺もわかってんだよ。 // 俺をバカだと呼んでくれ。

    ソースコードで発見した奇妙なコメント集
  • シンプルで高速、Googleの新プログラミング言語「Go」 | エンタープライズ | マイコミジャーナル

    日進月歩のコンピュータ業界だが、C言語が生まれて30年以上経ってもなお、そのプログラミングスタイルは大きく変化していない。だが一方でC/C++の複雑性を排除したJavaやC#が登場したり、最近ではPythonRubyなどのスクリプト言語が人気となるなど、新たな方向性が模索されつつある。そんななか、Googleの開発チームが新たに提案するプログラミング言語、それが「Go」だ。 Goのオフィシャルサイトの記述によれば、シンプルで高速、安全、そして並列処理が可能な点が特徴として挙げられている。C言語風の記述形式ながら異なる文法体系を持ち、ポインタが利用可能なものの、バッファオーバーフローの遠因となる複雑なポインタ演算を排除。 文法体系はシンプルで、ガベージコレクションが用意されているほか、並列実行を考慮して軽量なプロセス間通信を行う手段が提供され、簡易なプログラミングで大規模処理が可能なシステ

  • [VM][JIT]Brainf*ckで学ぶスクリプト言語処理系高速化。インタプリタ→VMインタプリタ→JITコンパイラ。 - hogelogの日記

    スクリプト言語処理系を高速化したくてしたくてたまらない少年少女に届け。表題の通りスクリプト言語処理系の高速化について書きます。対象言語はBrainf*ckにします。Brainf*ckというのは Brainf*ck Brainfuck - Wikipedia というような言語です。要は処理系を実装するのが簡単なおもちゃ言語。おもちゃ言語ゆえに他のどんな実用的スクリプト言語処理系にも出てくるような基的な処理だけでできているので、Brainf*ck処理系の高速化で有用なテクニックは他の処理系でもうんたらかんたら。 じゃあまず叩き台になるような処理系を書いてみましょう。言語はC++です。JavaだのPythonだので高速な処理系を記述するテクニックやらなんやらというのもありますけども、まずはごく簡単にCPUやらメモリといったものと仲の良い言語で記述することで理解を深めましょう。当はC言語の方が

    [VM][JIT]Brainf*ckで学ぶスクリプト言語処理系高速化。インタプリタ→VMインタプリタ→JITコンパイラ。 - hogelogの日記
  • 闇プログラマー - アンサイクロペディア

    プログラマー(やみ-)とは、IPアドレスを改ざんしたり……することのできる高等スキルを持つ者に与えられる称号である。※これはbot処理です 概要[編集] 闇プログラマーは、闇のソフトウェア・テクノロジーを持つ者たちで、闇のインターネット内で暗躍する最高レベルのスキルを持つプログラマーたちに与えられる称号である。 歴史[編集] 伝説では、古代では誰にでも使えるとされた、肥大した言語定義がある手続き型言語COBOLと、単なる機械語ランチャーBASICが、コンピューティングの世界を混沌に貶めており、シンプルな言語定義の関数型言語は弾圧されていた。 そのうち、コンピューティングの世界が大きくなり分化が始まると、古の技術では争いが絶えずデスマーチと呼ばれる紛争が続いた。このとき、北欧からオブジェクト指向がもたらされて世界に秩序がもたらされると思われたが、旧世界の言語使いたちがオブジェクト指向を歪曲

    coppieee
    coppieee 2010/09/11
    おそろしい・・・。
  • 技術仕様 << mixi Developer Center (ミクシィ デベロッパーセンター)

    mixiチェックボタンの設置方法は簡単です。数行の HTML を追加するだけです。 チェックボタン用HTML発行フォームをお使いください。 ただし、効果的に設置するためにはいくつかのポイントがあります。 設置のポイントに関しては、「mixi Plugin 実装のポイント」をご確認ください。 mixiチェックボタンの設置(PC 向け) mixiチェックボタンの設置(PC 向け) <a href="https://mixi.jp/share.pl" class="mixi-check-button" data-key="...">mixiチェック</a> <script type="text/javascript" src="https://static.mixi.jp/js/share.js"></script> a 要素と script 要素には、それぞれ以下の属性を指定できます。 a 要

  • Hoogle(the Haskell API Search Engine)

    Welcome to Hoogle Links Haskell.org Hackage GHC Manual Libraries Hoogle is a Haskell API search engine, which allows you to search the Haskell libraries on Stackage by either function name, or by approximate type signature. Example searches: map (a -> b) -> [a] -> [b] Ord a => [a] -> [a] Data.Set.insert +bytestring concat Enter your own search at the top of the page. The Hoogle manual contains mor

    coppieee
    coppieee 2010/09/07
    Googleはプログラミング言語に対しての検索にもう少し優しくなってもいいのにな。
  • ネームスペース概論 - 言語ゲーム

    ネームスペースについて、色々調べたので今度は自分の考えをだらだら書く。 今思っているのは、ネームスペースを主要な言語の要素として考えたいという事だ。だいたい GC だとかオブジェクトだとか末尾再帰について色々うるさく言う人は沢山いるのに、ネームスペースは日陰者というか、言語開発者が最後に面倒くさそうに付ける物という程度の人気しか無い。モダンなネームスペースが特徴です!とセールスポイントに挙げてる言語に出会った試しが無い。 しかし世の中には名前が原因で起こる問題が沢山あるし、当はネームスペースの問題なのに他の問題と思われている物も沢山あると思う。そういう物にはネームスペースが解決の糸口になると思う。 やりたい事。まずネームスペースがどういう物か、どんな種類があるかを定義したい。そしてプログラミング技術に散在しているネームスペースっぽい問題の共通点を考えたい。 まずネームスペースが取り上げる

    ネームスペース概論 - 言語ゲーム
  • JavaScriptで読む「ラムダ計算基礎文法最速マスター」 - 貳佰伍拾陸夜日記

    以前書いた「ラムダ計算基礎文法最速マスター」(以下「最速マスター」)は, 予想以上に多くの人に興味を持ってもらえたようですが, 同時に難しくてわからなかったという人も多かったようです. 反響から察するに, 構文を見慣れていない(と錯覚してしまう)ことが理解の妨げになっていたように思います. ラムダ計算の構文は, 実際には全く特殊なものではありません. このことがよくわかるように, 「最速マスター」のラムダ計算の簡約の例をすべてJavaScriptの構文で書いてみました. ......という内容になるはずでしたが, 気がついたらラムダ計算のインタプリタをJavaScriptで実装していました! 実際に動かせるものは下記URLにあります. https://tarao.github.io/LambdaJS/#js 動作確認と既知の問題 Firefox 3.6 Google Chrome 4.1

    JavaScriptで読む「ラムダ計算基礎文法最速マスター」 - 貳佰伍拾陸夜日記
  • JavaScript で Lisp の処理系 (と REPL) を実装してみた - mooz deceives you

    MiSPLi: http://mooz.github.com/mispli/ MiSPLi Emacs に出会ったのが三年前. それから一年程して elisp をいじり始めたので, 僕と Lisp との付き合いはかれこれ二年ほどになる. JavaScript を始めたのが一年前だから, 僕の中では C 言語に次いで付き合いの長い言語だ. 必要にかられたときにちょこちょこと elisp を書いて, 終わったらしばらく別れを告げる. そんな中途半端な付き合いを続けていた三月も終盤, 竹内先生の書かれた「初めての人のための LISP」を読み, その内容に深い感銘を受けた. Lisp を Lisp で実装する, といった章があり, これまで何となしに使っていた Lisp の中身を垣間見ることができたような, そんな気分になっていた. その時に, 「ひょっとしたら僕にも Lisp の処理系を実装でき

    JavaScript で Lisp の処理系 (と REPL) を実装してみた - mooz deceives you
    coppieee
    coppieee 2010/09/02
    lispを勉強する前からわくわく
  • 細かすぎて伝わりにくいTopCoderのコーディングスキル向上マジック

    細かすぎて伝わりにくいTopCoderのコーディングスキル向上マジック:最強最速アルゴリズマー養成講座(1/3 ページ) 競技プログラミングはレベルの高い人たちの集まり――そんな考えを持っている初心者の方、TopCoderはあなたのコーディングスキルを爆発的に高める魔法のような場です。今回は、初心者にこそお勧めしたいTopCoderの魅力について考えます。 教育的な観点から見るTopCoder 今回からTopCoderに関する実践的アルゴリズムを解説していく予定でしたが、序盤のうちに触れておきたいことがありましたので、今回の枕は“教育的視点から見るTopCoder”というテーマで少し書こうかと思います。 まず、最初に宣言しておきたいことは、この連載は初心者向きである、ということです。「どう考えても上級者向けだろう」という意見はたくさんの方から寄せられていますが、筆者は、まだプログラミングレ

    細かすぎて伝わりにくいTopCoderのコーディングスキル向上マジック
  • そろそろIDEよりコマンドラインのほうが理解が深まるという有害な妄想は捨ててはどうか? - きしだのはてな

    Java入門ブックガイド(入門編)よりよき入門書と出会うために」を読んで。 第一印象として、よりよきJava入門ブックガイドに出会う必要があるなということ。 コマンドラインでは慣れ親しめない サブタイトルに「慣れ親しむことが上達の秘訣」とあるけども、コマンドラインで慣れ親しむのは難しいと思います。 「慣れ親しむことが上達の秘訣」が正しいのであれば、IDEで慣れ親しんだほうが上達するのではないでしょうか? 現実問題として、書籍を買って勉強する人は強制されて勉強するわけではないです。自分の時間をやりくりして入門書を読んでいます。 そして、まだプログラムの面白さを知りません。 コマンドラインでコンパイルエラーが出たとき、じっくりとそのエラーを読み解くのではなく、そこでくじけてやめる可能性が高いと思われます。 それよりは、IDEでエラーを入力段階で修正しつつ進むほうがいいと思います。 javac

    そろそろIDEよりコマンドラインのほうが理解が深まるという有害な妄想は捨ててはどうか? - きしだのはてな
    coppieee
    coppieee 2010/09/01
    JavaでIDE使わないのは、ありえないよね。
  • http://blog.yuku-t.com/entry/20100829/1283042604

    http://blog.yuku-t.com/entry/20100829/1283042604
  • Scalaの学校

    高木社長「今週の流行は……Scalaだ!」「めだかの学校」という童謡の替え歌です。---- 質問コメントへのお答え・曲自体は替え歌なのでオリジナルというわけではありませんが、音源は私(jgoamakfP)がDTMで作成したものです。・「Erlangの歌」も私の作です。・2011年5月29日追記「IT系替え歌」というマイリストを作りました。mylist/25461341

    Scalaの学校
    coppieee
    coppieee 2010/08/29
    なんだこれw
  • 天空の鯖ラピュタ

    ねこがいました @nekoga_imashita 「バグです! ものすごく大きな!」「バグぅ!?」「納期が近づいてくるわ!」「そいつが工数遅れの中心だ。巻き込まれるよ!」 2011-12-09 22:42:54 骨折飲料 @kossetsu_inryo 「バーンダウンチャートがどんどん上がってるよ、ママ!」「ついてないね、こんなときにバグが出るなんて。納期までは!?」「あと1時間!!」「夜が、明ける…」 http://togetter.com/li/45193 2010-09-02 14:24:46

    天空の鯖ラピュタ
  • JavaScriptのDOM Core基礎 - 三等兵

    Coreの簡易リファレンス。Coreは要素を参照したり、相対位置から周りのノードを参照したり、要素を生成するといった部分。主に利用するであろうプロパティやメソッドはカバーしているつもりですけど、これも入れとけってのあったら教えてください。 このあたりは地味で使いづらくその上理解しにくいという残念な部分。ふと忘れたときに使う個人的なものですが、慢性jQuery拒絶症候群な人よかったらどうぞ。それにしても暑い。ガリガリ君おいしいね。 DOMとは。 Document Object Model (DOM) は、HTML および XML ドキュメントのための API です。これはドキュメントの構造的な表現を提供し、内容や表示形態の変更を可能にします。端的に言えば、Web ページをスクリプトやプログラミング言語とつなぐような機構です。 https://developer.mozilla.org/ja/

    JavaScriptのDOM Core基礎 - 三等兵
    coppieee
    coppieee 2010/08/25
    これはすごい