タグ

programmingに関するendorのブックマーク (85)

  • PHPは駄目な言語なのか? | スラド デベロッパー

    Ruby開発者のまつもとゆきひろさんの日記に「PHPがいかに駄目な言語か、という話」があり、たくさんのコメントが付いている。このエントリはもともとAttacking PHPというページに関して書かれたもので、その反論としてDefending PHPというページもある。Perl Hackerのdankogaiさんも、「PHPなめんな」と「(Perl|Python|Ruby)をなめんな」の違いというエントリで、PHPの問題点に関して別の視点から言及している。PHP当に駄目な言語なんだろうか? (つづく...) いろんなものがfalseだったりするせいで、新たな比較演算子「===」が必要 hashやlistがobjectが区別できない オブジェクト指向機能が壊れている lambda(無名関数)がない。create_functionはlambdaじゃない short_open_tagsやらsa

  • (= arc (+ lisp perl)) : 404 Blog Not Found

    2008年01月31日10:30 カテゴリLightweight Languages (= arc (+ lisp perl)) な、なんですとー。 1つの言語に囲い込まれるリスク @ 2008年01月 @ ratio - rational - irrational @ IDM arcリリースおめでとう! というわけで覗いてみた。 Arc Forum | Arc Arc Forum | Installation http://ycombinator.com/arc/tut.txt ちょwww これ、Lisp Fundamentalist ほど拒絶反応強そう。でも私はちょっと萌えちゃった。 以下、Tutorialからぶっとび箇所だけぴっくあっぷ。 defvar は = まずはこれ。 arc> (= foo 13) 13 arc> foo 13 defun は def Scheme方式の(de

    (= arc (+ lisp perl)) : 404 Blog Not Found
  • 「PHPなめんな」と「(Perl|Python|Ruby)をなめんな」の違い : 404 Blog Not Found

    2008年01月29日16:00 カテゴリLightweight Languages 「PHPなめんな」と「(Perl|Python|Ruby)をなめんな」の違い Matzさんの意見に、想定内の反応が返って来ている。 Matzにっき(2008-01-26) - [言語] Attacking PHP PHPがいかに駄目な言語か、という話。 どの言語で書いてもおかしなコードを書く奴は書く。perlでもjavaでもrubyでも、どの言語で書いてもSQLインジェクションやらXSS脆弱性やらを作りこむ奴は作りこむ。ただそれだけの話というか、別な話だろう。 両方とも事実だし、foo言語のuserがbar言語がいかに駄目かを語るというのは有史以前(コンピューター言語以前に自然言語でもある)からの話題なのだが、しかし"PHP sucks"には他とかなり異なる点が一つあるように見受けられる。 それは、PHP

    「PHPなめんな」と「(Perl|Python|Ruby)をなめんな」の違い : 404 Blog Not Found
  • C言語入門、東京大学情報科学科の場合 | スラド デベロッパー

    C言語入門、書籍だろうが講議だろうが、この業界なら誰もが通る道ではあるが、 sumiiの日記経由で実に興味深いC言語入門を見付けた。 東京大学理学部情報科学科の学部2年生向けのアルゴリズムとデータ構造演習内でのC言語入門 なのだが、 C入門第1回では、シェルを実装、データを圧縮・解凍するプログラムを実装、スパムフィルタを実装というお題目が並んでいる。 これだけで一瞬ひるんでしまったが、解説PDFを見ると、 「最低でもジョブ管理、リダイレクト、(多段)パイプラインの機能は実装すること」などと書かれている。 UNIXへの理解がかなりないと難しい気がするのだが、これをくぐり抜けてくる学生はどれくらいいるのだろう?

  • お手軽プログラミング言語は教育によくない | スラド デベロッパー

    少々前の家/.の記事より。ニューヨーク大学(NYU)の名誉教授で、GNU Ada95コンパイラ(GNAT)の開発者として知られるEdmond Schonberg氏とRobert B.K. Dewar氏が、NYUを始めとする最近のアメリカの大学におけるプログラミングの授業のあり方に苦言を呈して話題になっている。「計算機科学教育: 明日のソフトウェアエンジニアはどこに?」と題した彼らの論説では、最近の大学の授業ではCやC++、Lisp、(そしてもちろん)Adaと言った格的な言語、数学やアルゴリズム、ハードウェアとの密接な関わり方といった難解なテーマを教えず、Javaのような簡単で人気が高く、近年減少気味の受講者数を増やせそうなお手軽な言語とカリキュラムしか教えなくなっていると主張。このままでは海外の安価なアウトソース先にたやすく置き換えられてしまう程度の能力しかない「プロフェッショナル」し

  • 404 Blog Not Found:コマンディングと呼んではどうか

    2008年01月24日16:45 カテゴリArt コマンディングと呼んではどうか 長いと言えば長いし、とりとめもないといえばとりとめのない記事なのだけど、面白い。こういうのはblogならではと思う。 So-net blog:港区赤坂四畳半社長:非言語型プログラミング言語 非言語型プログラミング、とでもいうべきものになにか可能性はないだろうかと一年以上考えています。 で、ここで言うところの「非言語型プログラミング」なのだけど、コマンディング(commanding)とよんではどうか。 まず「非言語型プログラミング」というのはあまりに広く、しかもどちらかというと、「ヴィジュアルプログラミング」を想起してしまうということ。 次に、来であれば一番適切に思える「アプリケーション(application)」という名前空間(namespace)もすでにとられてしまっていること。 コンピュータを使う事その

    404 Blog Not Found:コマンディングと呼んではどうか
  • perl, python & ruby - ord() vs. Unicode : 404 Blog Not Found

    2006年11月26日02:45 カテゴリLightweight Languages perl, python & ruby - ord() vs. Unicode というわけで、ord篇はこちら。 404 Blog Not Found:perl, python & ruby - chr() vs. Unicode とりあえずchrが長くなったのでordは別entryということで。 文字から数値へ(ord) まずはPerlの例。 #!/usr/local/bin/perl use strict; use warnings; use utf8; binmode STDOUT, ':utf8'; sub say { print @_, "\n" }; say ord "\x{61}"; say ord "\x{3b1}"; say ord "\x{5F3E}"; say ord "\x{2A6

    perl, python & ruby - ord() vs. Unicode : 404 Blog Not Found
  • perl, python & ruby - chr() vs. Unicode : 404 Blog Not Found

    2006年11月23日22:00 カテゴリLightweight Languages perl, python & ruby - chr() vs. Unicode というわけで、404 Blog Not Found:There's more than one language to cook your problemsでPython & Ruby Cookbooksを一気読みしたので、気になる点を少しずつ書いて行くことにする。 まずは、文字の扱い。文字列でない点に注意。 少なくとも、文字列をバイト列と見なして相互変換することは、LLに限らずたいていの言語で出来るようになったのだけど、文字を文字として扱うという点に関しては各言語ともまちまちで、多言語派の私としては結構頭のいたいところ。 ここでは、私が一番流暢なPerlを軸に、RubyPythonではどうなっているのかを調べてみた。 数値

    perl, python & ruby - chr() vs. Unicode : 404 Blog Not Found
  • スラッシュドット ジャパン | 分散型バージョン管理システムはどれが良い?

    ゲームエミュレータMAMEをMac OS Xに移植したことで知られるDave Dribin氏が、自身のブログ記事で、分散型のバージョン管理システム(DVCS)を検討しています。Git、Mercurial、Bazaarの三者を比較した結果、氏はMercurialを選んだそうです。GitWindowsサポートが弱く、Bazaarはただでさえまだ普及していないDVCSの中でもさらにシェアが小さすぎるのが問題だとのこと。 そもそも日ではまだ(分散型ではない)CVSやSubversionが主流で、DVCSはほとんど普及していないように思いますが、使っている方がおられれば感想を聞かせてください。

  • スラッシュドット ジャパン | プログラミングのカルト宗派

    ざっと訳してみました 間違いあったら訂正よろしく #タレコミ時には訳もつけとけよ ■経験カルト 経験カルトのメンバーは、昔にやったことしかできないと信じています。 彼らを識別するには、彼らの手に余る問題を提示することです。 未使用APIへの恐怖にも似た反応や、サンプルコードの提示要求という特徴的な反応から識別できます。 対処:新しいことも実現できることを提示できれば、カルトからの解脱へ導けるかもしれません。 訳者からの追加セリフ: 「やったことないからできません」 「使えるサンプルコードを提示してください」 ■最適化カルト 最適化カルトのメンバーは、他のどんな価値観よりも速さに価値を見出します。 掲示板で「最速の方法は?」とよく質問しています。 速さの価値観にマッチしない意見を提示されると、狂ったような反応を示します。 同様に、どの操作が速くて、どんな操作が速くないかということに関して誤っ

  • http://ja.doukaku.org/

  • xuldev.org :: Software Design サポートページ

    Software Design 2009年1月号 第2特集「Firefox徹底カスタマイズ術」 » 「6章:FireGesturesで軽快マウスジェスチャ!~使い方から自作スクリプト作成まで~」に掲載のソースコードはこちらからダウンロード可能です。 ソースコード 特集:Firefox 3ではじめる拡張機能開発|gihyo.jp … 技術評論社 gihyo.jp の特集「Firefox 3ではじめる拡張機能開発」 に掲載のソースコードはこちらからダウンロード可能です。 「第1回 最小構成でインストール」 完成版ソースコード 「第2回 機能を実装する(前編)」 完成版ソースコード 「第3回 機能を実装する(中編)」 完成版ソースコード 「第4回 機能を実装する(後編)」 完成版ソースコード 「第5回 localeパッケージによるローカライズ」 完成版ソースコード 「第6回 skinパッケージに

  • 自分のコードに誇りを持っていますか? | スラド デベロッパー

    私は自分のコードの品質のせいで、ひどく恥ずかしい思いをしています。私の書くコードはバギーで、遅くて、脆弱で、保守するのも一苦労です。同じような思いをしている方はいませんか? もしあなたもそうなら、何があなたの潜在能力の開花を阻んでいるのでしょうか? もっと大事なこととして、こうした状況を打破するために何かやろうとしていますか? 私は若いころからプログラミングを楽しんでいて(Apple IIe上のBASICで覚えました)、いろいろな言語やプラットフォームを使い、大小様々な企業で働いてきました。悲しいことに私のキャリアで一定していたのは、私が割り当てられるプロジェクトは、プロジェクトの開始からお客さんの資金が無くなるまで、あてどなく漂流してしまうということです。ここ/.に集う開発者で、自分の企業を説得して「カウボーイ風コーディング」を止めさせるか縮小させるかし、ベストプラクティスを導入させるの

  • y2software - BLOG 解説:au端末の「あしあとデータ」

    auの2007年夏モデルには、一部機種を除き、「地図ビューアー」というアプリがプリセットされています。このアプリは「EZガイドマップ」や「災害時ナビ」なんかで利用されるわけですが、それらのコンテンツを利用しない裏ワザ的使い方があるんですよ。それが「簡易ハンディGPS」機能。これを使うと、自分が移動した軌跡をテキストファイルとしてデータフォルダに出力できるんですな。 で、このテキストファイルを「あしあとデータ」ファイルと呼ぶんですが、実際にどういう内容なのかというと、↓こんな感じ。 -------- ファイルは、地図ビューアーにより出力されたGPS情報ファイルです。 出力日時:2007/07/29 10:21:16 +0900 +++GPSログ+++ 869730563,139.705147,35.539886 869730570,139.705184,35.539838 86973058

  • 404 Blog Not Found:惰訳 - プログラムは大変だ、スクリプトにしよう - 過去篇

    2007年12月13日00:15 カテゴリ翻訳/紹介Lightweight Languages 惰訳 - プログラムは大変だ、スクリプトにしよう - 過去篇 ああ、訳しきれないとわかりつつも訳さずにいられない。 perl.com: Programming is Hard, Let's Go Scripting... by Larry Wall とりあえず過去篇だけ。現代篇と未来篇はちょっと大変すぐる.... Dan the Perl-Monging Translator 過去 もし過去にさかのぼってAda Lovelaceにスクリプトとプログラムの違いについて尋ねたら、彼女はけげんな顔でこう答えたでしょう。「そうね、スクリプトは俳優に渡すものよ。プログラムは、観衆に渡すもの」。Adaは聡明な淑女でした。 彼女の時代から時を経て、「スクリプティング」という言葉の持つ意味は混沌としてきています

    404 Blog Not Found:惰訳 - プログラムは大変だ、スクリプトにしよう - 過去篇
  • 404 Blog Not Found:WEB API - Google Code Chart キター

    2007年12月07日11:30 カテゴリiTechLightweight Languages WEB API - Google Code Chart キター 久々に使い出のあるAPIが登場! Google Code Blog: Embed charts in webpages with one of our simplest APIs yet Developer's Guide - Google Chart API - Google Code Query Parameterを適当に設定してURIを叩くだけでグラフを描いてくれる。 だから、JavaScriptでグラフを書くのもちょちょいのちょい。 chs cht chxt chxl chd uri ここでサンプルで入れてあるデータは東京の月平均気温そのままなのだけど、見てのとおりExcelみたく正規化まではしてくれない。あくまで下が0で上

    404 Blog Not Found:WEB API - Google Code Chart キター
  • 404 Blog Not Found:Google Code Chart - 折れ線グラフうぃざ〜ど

    2007年12月08日01:00 カテゴリLightweight Languages Google Code Chart - 折れ線グラフうぃざ〜ど 絶対もっと美麗な類似品が登場するはずではありますが、とりあえずこさえたので。 Google Code Chartで折れ線グラフを勘弁、もとい簡便に作るツールです。 うーん、IE6だとうまく行かない。とりあえずFirefox/Opera/Safariでお試しを。 Step 1でtsvを(tabがわりに2つ以上のスペースでもよい)コピペして、Step 2で諸元を微調整。 体調ぼけぼけでリハビリ代わりに作ったのでコードはぐしゃぐしゃですが、この段階でもそれなりに使えるでしょう。Enjoy! Dan the Chartist Step 1 東京 札幌 Jan 5.8 -4.1 Feb 6.1 -3.5 Mar 8.9 -0.1 Apr 14.4 6.

    404 Blog Not Found:Google Code Chart - 折れ線グラフうぃざ〜ど
  • アルゴリズム百選 - 迷ったらbenchmark : 404 Blog Not Found

    2007年12月09日03:30 カテゴリアルゴリズム百選 アルゴリズム百選 - 迷ったらbenchmark この話題、以下の答えとしても適度なのでそのまま。 アルゴリズム百選 - フィボナッチ数列にO()を学ぶ - www.textfile.org 「O()が小さいからといって速いとは限らない」が抜けている。ベキ乗アルゴリズム再考 ベキ乗のやり方として、すぐに思いつくのは以下の方法です。 function power(b, n){ var result = 1; while(n--) result *= b; // b を n 回掛け算 return result; } これがO(n)であることは、直感的にわかります。 ところが、これをO(log n)でやる方法も比較的すぐに思いつきます。 例えばbを21乗したいとします。21=16+4+1なので、b21はb(16 + 4 + 1)とも書

    アルゴリズム百選 - 迷ったらbenchmark : 404 Blog Not Found
  • アルゴリズム百選 - ユークリッドの互除法 : 404 Blog Not Found

    2007年12月11日16:30 カテゴリアルゴリズム百選Math アルゴリズム百選 - ユークリッドの互除法 今回は、ユークリッドの互除法を取り上げます。 ユークリッドの互除法とは何か。小学校の時に実は習っているはずですが、忘れている方は思い出してみてください。最大公約数(Greatest Common Divisor)を確実に計算する方法です。古代から有名なこのアルゴリズムは、かつては"The Algorithm"といえばこれをさすほど有名なアルゴリズムです。 それは、コードではなく普通の言葉でも簡単に書くことが出来ます。gcd(m, n)を出すには、 mをnで割り、余りがrだとする 余りrが0なら、nがGCD。 そうでなければ、nとrのGCDを求める 互い違いに割っていくので、互除法というわけです。 function gcd(m, n){ if (m < n) return gcd(

    アルゴリズム百選 - ユークリッドの互除法 : 404 Blog Not Found
  • プログラミング世界のモンスターたち | スラド

    ・文字コード子(多重人格) SJIS とか EUC とか UTF-8 とかいろんな性格を持っている。 ・仕様子(電波少女) 日々電波を受信し、言葉足らずな事ばかりを言う。しばしば突拍子もない事も言う。 ・関数子(努力家) 日々努力を積み重ね色々なものを吸収するが、何でも自分でやろうとして潰れる。 ・金満子(お嬢様) クライアント環境の事を考えずにリッチでファットなライブラリとかを愛用する。 あまりに大きすぎるライブラリで処理をしようとして一日かかったりする。 ・暴走初心者子(バカ) 初心者なので無茶をする。無駄も多くすごいバグも残っているプログラムを書いてしまったりする。 それだけならいいが、パワーは有り余っているので全プログラムの半分ぐらいを書いたりする。 ・現実逃避子(ヤンデレ) デスマというナイフで刺しに来る時限爆弾を抱えている。 ・谷口(忘れ物) しばしばセミコロンを忘れて文法の境