タグ

programmingに関するlenoreのブックマーク (28)

  • 私と型システムとポエム

    最近巷では俄に型システムについての言及が増え、型システムポエマーが増えてる気がするので自分もその時流に乗りたい。 完全にポエムだけどなんかあったら随時指摘ください。直します。 TL;DR 言いたいことはまとめると次 型システムは程度問題なのでちょうどいいところを探すべき 型は万能でも強さが正義でもない(だから未だに研究されてる) よく知りもしないくせに計算機科学を侮辱するのはやめろ 予防線 あくまでポエムですので中身はないです 私は型理論専攻で学位はとったものの研究者ではないのであまり信用しすぎないように 型システムの過去 型システムは大まかに次のような利点があるとされてきた(個人的主観) 「異常」なプログラムを検出する仕組み 静的解析による分かりやすいエラーメッセージ 型そのもののドキュメント性 IDEでのcompletionに貢献 最適化に貢献 (数学に正しく裏打ちされたsemanti

  • TechCrunch

    Five weeks ago, Magic Leap CEO Peggy Johnson joined me onstage at Disrupt. Much of the conversation focused on the augmented reality hardware company’s full pivot into enterprise applications with t

    TechCrunch
    lenore
    lenore 2017/11/23
  • 連載:[完全版]究極のC#プログラミング - @IT

    第2回 簡潔なコーディングのために (2017/7/26) ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21) Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基の「キ」をマスターしよう 第1回 明瞭なコーディングのために (2017/7/19) C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える Presentation Translator (2017/7/18) Presentation TranslatorはPowerPoint用のアドイン。プレゼンテー

  • プログラマの麻疹 - 宇宙行きたい

    id:t-wada と話してた時に出てきた「プログラマの麻疹」 プログラマはみんなどうせかかるんだから早めにかかっておいた方が良い そしてかかっておくと治った後にはさらに良いコードが書けるようになるので 恐れずにかかりましょう 名前 症状 僕の状態 OO 厨 多分、現在一番キャリアが多い。一時期 AOP 厨になってしまった人も含むことがある。Smalltalk を神格化し始める かかり中 function 厨 最近増えてきた。マルチコア時代に最適というわかりやすい感染源ができたことも要因の一つ。LISP が世界を作っていると信じる 挫折中 三項演算子厨 どんどんネストした三項演算子を書いてしまう。気がつくと自分でもよくわからなくなってることもある 治療済み テスト厨 テストのためだけにコードを書いてしまう。プロダクトコードのきれいさよりもテストのしやすさを求めてしまう 治療中 lambda

    プログラマの麻疹 - 宇宙行きたい
    lenore
    lenore 2009/07/07
    「メタプログラミング厨:使用者側が簡潔に記載出来るようにしているつもりが.ただの黒魔術になる.」
  • 実開発で分かったGoogle App Engine for Javaの“すごさ”

    ゴールデンウィークに特に予定のなかった筆者は,「ちまたで噂のGoogle App Engine for Java(GAE/J)とFlexでスケジュール共有ツールでも作ってみよう」と思い立ちました。およそ5日間かけて開発を進めたのち,2009年5月6日に「ご都合.com(画面1)」を公開しました。その後,はてなブックマークやニュースサイトなどでご紹介いただいたおかげで,公開後6日で約2000人の方にご利用いただいています。 そこで稿では,この「ご都合.com」の開発で実際に筆者が得た経験を通じて,GAE/JによるWebアプリケーション開発の実際とそのポテンシャルについて紹介します。 米Googleが2008年4月に発表したGoogle App Engine(画面2)は,「自分が開発したWebアプリケーションをGoogleのデータセンターで運用できるクラウドコンピューティング・サービス」です

    実開発で分かったGoogle App Engine for Javaの“すごさ”
  • ウノウラボ Unoh Labs: Software Design 6月号に「diffの動作原理を知る」の記事を執筆しました

    最近、「何故、君はマウスを2つ同時に使っているんだい?」と聞かれることが多くなったbokkoです。VX Revolution RXは右手用ですが、左手で使うならMicrosoftのArcがオススメです。近頃はフットマウスを買うかどうか真剣に悩んでいます。 Software Designには去年にも「ソースを読み,パッチを作成してみよう~GNU GLOBAL,diff,patchの使い方~」という記事を執筆する機会を頂いたので、誌に執筆するのはこれが二度目になります。 今回の内容は以前当ブログに書いた「diff with C++」の記事をもっと濃くした感じになっていて、編集距離やLCS、SESの解説に始まり、Subversionのdiffエンジンや拙作のdtlで使われているO(NP)という差分アルゴリズムについて解説しています。 O(NP)や、それによく似たO(ND)をはじめとするエディッ

  • KDDI au: 技術情報 > オープンアプリ (Java)

    ■オープンアプリプレイヤーとは 「オープンアプリプレイヤー」とは、J2ME™ Connected Limited Device Configuration (CLDC) 1.1 (JSR 139)上のMobile Information Device Profile (MIDP) 2.0 (JSR 118) の仕様に基づき作成されたJava™アプリを実行する環境です。 KDDIでは便宜的に、オープンアプリ再生環境を「オープンアプリプレイヤー」、オープンアプリプレイヤーで動作するプログラムを「オープンアプリ」、オープンアプリプレイヤーを搭載した端末を「オープンアプリプレイヤー搭載端末」と表現しています。

  • Apache Thrift - Home

    The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages. Getting Started Download Apache Thrift To get started, down

  • 【コラム】Hello Worldコレクション (20) ネットワーククライアント編 - いろんな言語でソケットプログラミング | エンタープライズ | マイコミジャーナル

    ネットワーククライアントのHello World 第20回は、ネットワーククライアントのHello Worldです。これは、特定のホストの特定のポート番号にTCPで接続し、そこから受信した文字列を表示するプログラムです。具体的には、第12回で作成したネットワークサーバのプログラムに接続し、サーバから送られてくるHello Worldの文字列を表示するようなクライアント側のプログラムを作成します。 第12回では、サーバ側の動作をテストするため、クライアント側にはtelnetコマンドまたはnc(netcat)コマンドを使いましたが、今回はそのクライアント側のプログラムを、各種言語で作成してみるという趣向です。 C言語の場合 まずはC言語からです(リスト1)。ここでは、エラー処理はあえて省略しています。クライアント側のプログラムでは、socket()でソケットを作成したあと、connect()で

  • 中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場

    「変数のスコープは狭いほど良い」と妄信する 変数でもメソッド名でもクラス名でも言えることだが、単純に「スコープは狭いほどよい」という方針でプログラムすると、逆に保守性も可読性も悪いプログラムができあがることがけっこうある*1。 実際、「あちこちから頻繁にアクセスするようなオブジェクトやメソッド」は、スコープをぐっと広くしてしまった方が(場合によってはグローバル変数やグローバル関数にしてしまった方が)、いちいちパラメータ渡しのバケツリレーをせずに、オブジェクトや機能を使うことができ、プログラムの可読性も保守性もずっと向上することがけっこうある。 たとえば、プログラムのいろいろな箇所から比較的頻繁にアクセスする必要があるようなオブジェクトや機能がバインド(格納)された変数やメソッドのスコープをクラスやメソッド内のローカルにして、それを使うときは、いちいち各クラスやメソッドにパラメータ渡しのチェ

    中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場
  • プログラミングの6大10項目リスト

    Jeff Atwood / 青木靖 訳 2007年3月22日 以下に私の選ぶプログラミングの6大10項目リストを挙げておく。取り上げた順序には特に意味はない。このエントリを簡潔なものにしておきたいので、それぞれの項目は短い要約を引用するに留める。興味を引くものがあれば、ぜひリンクをたどってオリジナルの作者の考えについてもっと詳しく読むことをお勧めする。 [ 訳注: 要約だけで意味が取りにくいものに簡単な説明をつけた。] ジェラルド・ワインバーグの「エゴレスプログラミングの十戒」 自分が誤りを犯すということを理解し、受け入れること 。 自分と自分のコードは別物である。 どんなに「空手」を学ぼうと、いつでもあなたよりもっと詳しい人間がいる。 相談せずにコードの書き直 しをしない。 自分より無知な人に対しても尊敬と敬意と忍耐を持って接すること。 世界で唯一変わらないのは変わるということだけ。 唯

  • Life with Cygwin

    沖ソフトウェア株式会社は、沖通信システム株式会社および株式会社沖インフォテックと平成22年10月1日をもって合併いたしました。新会社名は、株式会社OKIソフトウェアとなります。3社が行っております事業は新会社にて従来通り継続いたします。

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • まつもとゆきひろのプログラミング言語論(1)

    リスト2 動的型の言語で書いたソースコード<BR>Rubyで記述した。ソースコードで変数の型を宣言していないが,実行時にきちんと型整合性をチェックする。数値と文字列を加算しようとすると,エラーが出る。 プログラムを実行して初めて決まる事項が多い「動的言語」。柔軟性が高い,簡潔な表現が可能など複数の利点を持っている。さらに性能の問題などの欠点がコンピューティング環境の変化で目立たなくなってきた。速く柔軟な開発が求められる中で動的言語の存在感は増すばかりである。(誌) LAMP(Linux,Apache,MySQLPerl/ Python/PHP)という言葉(表1[拡大表示])が注目されています。オープンソース・ソフトウェアを利用したソリューション構築を意味する造語ですが,プログラミング言語の代表として挙げられているのはどれも動的言語です。 以前は,企業システムをPerlPHPのようなイ

    まつもとゆきひろのプログラミング言語論(1)
  • 従うべきでないプログラミングのアドバイス10個 | 秋元@サイボウズラボ・プログラマー・ブログ

    Top Ten of Programming Advice to NOT follow 新人プログラマーにアドバイスを求められた筆者が考えた、「聞くべきでないアドバイス」のリスト。 10) 例外は使うな(by Joel on Software 等) 9) 負にならない値には unsigned int を使え 8) 実世界に対応したクラスを設計せよ 7) チームでコード記法を統一せよ 6) コメントをたくさん書け 5) public フィールドよりアクセサメソッドを使え 4) 一個しかインスタンスができないなら Singleton パターンを使え 3) 入力は寛大に受け付け、出力は厳しくせよ 2) 最初から重箱の隅までプログラムせよ。後でやろう、は実行されない 1) コードを書く前に設計せよ 7), 5) は聞いてもいいと個人的には思う。10), 8) は僕も聞きたくない。3) は聞きたくな

  • 関数、オブジェクト、クロージャ - FAX

    (thanks to id:koyachi、del.icio.us/rtk2106) OOPとFPと。関数、オブジェクト、クロージャの使い分けについて考えます。 関数型が良いのか、オブジェクト指向が良いのか、知りたいと思っていました。色々なページを読み、現時点で一応の答えを得ました。 カウンタを例にして、関数、スコープ、オブジェクト、クロージャの順に見て行きます。関数関数は処理です。入力と出力があります。関数型プログラミングでは、関数同士の入力と出力を連結しプログラムが構成されます。 var current = 0; function next(v){ return v + 1 } function previous(v){ return v - 1 } ok( 1 == ( current = next(current) ) ); ok( 2 == ( current = next(cu

    lenore
    lenore 2006/02/01
    使い分けの指針になる。わかりやすい
  • Amazon.co.jp:Write Great Code〈Vol.1〉ハードウェアを知り、ソフトウェアを書く: 本

    Amazon.co.jp:Write Great Code〈Vol.1〉ハードウェアを知り、ソフトウェアを書く: 本
  • Expired

    Expired:掲載期限切れです この記事は,ダウ・ジョーンズ・ジャパンとの契約の掲載期限(90日間)を過ぎましたのでサーバから削除しました。 このページは20秒後にNews トップページに自動的に切り替わります。

    lenore
    lenore 2005/12/16
    さて、某氏の「仕事と趣味では違う言語を使う」を見習ってみるかな
  • Zopeジャンキー日記 :ソースコード関連の便利サイト

    開発者のための、ソースコードがらみの便利サイトを3つご紹介。 1. Code Snippets - http://www.bigbold.com/snippets/ いろいろなプログラム言語やHTMLSQLなどのコードやTIPSを集めたサイト。 いわゆる「レシピ」「ハック」集だが、タグづけできるのがイマっぽい。 タグ「python」+「google」の例。特定タグをRSSでsubscribeもできる。 2. pastebin - http://pastebin.com/ コードの断片を置いておくためのサイト。Javaのコード例。 IRCやIMなどでコードを共有するという用途を想定しているようだが、 シンタックス・ハイライティング(構文の色づけ)が効いているので(主要な言語はすべてカバー)、 コードを色つきで見せる環境がない場合に広く活用できそう。 3. Koders - http://w

    lenore
    lenore 2005/11/18
    ソースコード置き場のリンク
  • Code Snippets: Store, sort and share source code, with tag goodness

    Penawaran Terkini Situs Slot Online PG Slot – Saat Anda memutuskan untuk bergabung dengan situs slot online PG Slot, ada banyak hal yang perlu Anda pertimbangkan, termasuk kualitas layanan yang mereka tawarkan. Salah satu aspek penting adalah promosi dan bonus yang… Read More

    lenore
    lenore 2005/11/18
    ソースコード共有