タグ

プログラミングに関するorangevtrのブックマーク (42)

  • コピペするプログラマに足りないもの 〜 プログラミング脳の鍛え方 | Social Change!

    長くなったので先に三行でまとめておこう。 コピペするプログラマが生まれるのは教育の問題ではないか(仮説) 文法は学んでも処理の流れから考えることは教わっていない(根拠) ロジックを訓練するには脳内プログラミングが良いのでは?(提案) 少し前に私のMediumで、こんな記事を書いた。タイトルが言葉足らずだったおかげで、少し話題になった。「量産型プログラマを撲滅したい」 今回の記事では、この中で書いたコピペするプログラマがなぜ生まれるのか、どうすれば良いのか、考えてみたい。 どうすれば見分けられるのか 書いたプログラムを説明させてみれば、その人が、ちゃんと考えて作れる人か、コピペでしか作れない人か、すぐにわかる。自分の書いたプログラムの流れを説明できるということは「わかって書いた」ということだ。わかっていなければ説明できない。 「わかって書く」という一見すると当たり前のことができない人もいる。

    コピペするプログラマに足りないもの 〜 プログラミング脳の鍛え方 | Social Change!
    orangevtr
    orangevtr 2017/02/16
    あんまコピペした記憶はないんだが、「Numerical Recipies in C」のアルゴリズムは難解すぎてぶっちゃけコピペしたな・・
  • 職業プログラマがFizzBuzz書けない理由

    -- 追記@2012-08-08 09:20JST -- この速さなら言える。この前職場(派遣先)でプログラミングテストがあったのだけど、弊社社員の1/3がFizzBuzz解けなかったんだ… — papamitraさん (@papamitra) 8月 6, 2012 これ読んで工エエェェ(´д`)ェェエエ工となり、書いた。 -- 追記ここまで@2012-08-08 09:20JST -- あるいは、「FizzBuzz書けない奴m9(^Д^)プギャー」のもにょもにょ感。 結論だけ、書く。 要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。そして知らないから。 さて、まずはこの問題解こうか。制限時間5分。 タイトル: Ants 問題

  • JSX - a faster, safer, easier JavaScript

    JSX is a statically-typed, object-oriented programming language designed to run on modern web browsers. Being developed at DeNA as a research project, the language has following characteristics. faster JSX performs optimization while compiling the source code to JavaScript. The generated code runs faster than an equivalent code written directly in JavaScript. The gain may vary, but even the optimi

  • ぼくはこうしてプログラミングを覚えた

    オリジナルはココです。フェイスブックのエンジニアでで史上ベスト3に入るといわれるEvan Priestley氏への質問「どうやってプログラミングを覚えましたか」に対する人からの答えです。 手短かに言えば 何年もの歳月の賜物というか。ぼくはただひたすらプログラミングが大好きで、(フェイスブックで働いていた)過去4年間、ほとんど他のことをしていない。その前も2.5年ほどプログラマーとして働いていたし、そのさらに前も6年くらい趣味でプログラミングをしていた。ぼくは高校も大学も中退しているので、それで空いた時間もプログラミングに費やした。つい最近フェイスブックを辞めたけど、未だに起きている時間のほとんどはプログラミングだ。 もっと詳しく言えば 月並みだが、ぼくはちっちゃい頃からコンピューターが好きで、我が家にあったヤツで(最初はMac Plusで途中からIIsiになった)で散々遊んだ。8歳か9歳

    orangevtr
    orangevtr 2011/07/21
    名文。プログラマー職以外にも当てはまる真理が書いてあると思った
  • 常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)

    TwitterのTLで知ったのだが、少し前に海外掲示板で"sleep sort"というソートアルゴリズムが発明され、公開されたようだ。このアルゴリズムが面白かったので紹介してみる。 Genius sorting algorithm: Sleep sort 1 Name: Anonymous : 2011-01-20 12:22 諸君!オレは天才かもしれない。このソートアルゴリズムをみてくれ。こいつをどう思う? #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait example usage: ./sleepsort.bash 5 3 6 3 6 3 1 4 7 2 Name: Anonymous : 2011-01-20 12:27 >>1 なん…だと

    常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)
    orangevtr
    orangevtr 2011/05/20
    おもしろい!最初?と思ったが氷解したらにやけた
  • プロとしての行為 Act as Proffesional

    1.一般的なコーディング規約に目を通し、エレガントなコードを知る エレガントなコードを書くためには、エレガントなコードを知らなければならい。その土台を築いているコーディング規約について、オープンソースではどのようなものが使われているのか理解しておこう。入社する予定の会社が採用している言語については必ず目を通しておこう。 PHP PEAR 標準コーディング規約 symfony CodingStandards Perl perlstyle Ruby クックパッド株式会社のRubyコーディング規準 Matzスタイル NaClで採用している規約 Python PEP 8 そして、あなたの身近にあるオープンソースのコードを実際に読んでみよう。この時点でコードの仕組みや設計が理解できなくても良い。コードがエレガントかどうか?を感じ取って欲しい。こう書いた方が、良いのではないか?など、考えてみよう。

    プロとしての行為 Act as Proffesional
    orangevtr
    orangevtr 2011/03/28
    すばらしー。つけ加えるなら、周りや自分が楽になるために仕事をしてるという意識を持ってもらいたいなー。ハードワーク前提は本末転倒
  • FF(16進数の掛け算)を覚えよう - やねうらおブログ(移転しました)

    最近、あるプログラマと話していて気づいたのだけど、彼は16進数の2桁と1桁との掛け算(FDh×5とか)が出来ない。やり方自体を知らないのだ。彼はWindowsの電卓を立ち上げて計算していた。 そのときは「プログラマでなくともこんなこと知ってて当然だろ!」と思ったのだけど、その後、10人ぐらいのプログラマに出来るかどうか聞いてみたが誰も出来ない。 結局、「普通は出来ない」のだと私は理解した。しかし16進数の掛け算はそんなに難しくない。私が子供のころには、まわりにFF(1×1=1に始まって、F×F=E1まで)を丸暗記している人がいっぱいいた。情報教育の一環として中学か高校で教えても計算の仕方ぐらい教えればいいのになぁと思っている。 前置きが長くなったが、以下にやり方などを書いておく。 ■ 16進数に馴染もう 16進数では、A = 10 , B = 11 , C = 12 , D = 13 ,

    FF(16進数の掛け算)を覚えよう - やねうらおブログ(移転しました)
  • perl - から未だに目を離せない四つ、あるいはただ一つの理由 : 404 Blog Not Found

    2011年01月31日22:30 カテゴリCultureLightweight Languages perl - から未だに目を離せない四つ、あるいはただ一つの理由 やはりお鉢がまわってきたので。 回答希望。ラクダかわいい以外で。@dankogai さんとか? 「〜今あえてPerlを取る理由というのが個人的には思い浮かばない。生粋のPerl使いならきっと流暢な解答を用意してくれると思う。」 プログラミング言語人気TOP10の簡易解説 http://ht.ly/3NaTkless than a minute ago via HootSuite佐藤 治男 HalSato プログラミング言語人気TOP10の簡易解説用途的にPythonRubyと被るので、今あえてPerlを取る理由というのが個人的には思い浮かばない。生粋のPerl使いならきっと流暢な解答を用意してくれると思う。 ベタ プログラミ

    perl - から未だに目を離せない四つ、あるいはただ一つの理由 : 404 Blog Not Found
    orangevtr
    orangevtr 2011/02/01
    こういうの(元記事)って9割9分がたCPANとかYAPC知らないでイメージで書いてるのがほとんどじゃまいか。mixiとかモバゲーとかLDとかはてな見てると言語ごとのユーザー数とか収益率とか算出すると面白いことになるんじ
  • タブのスペース化はタブ幅よりも重要である : 404 Blog Not Found

    2006年04月30日03:46 カテゴリOpen Source タブのスペース化はタブ幅よりも重要である あえて断言します。君たちは半分しかわかっていないと。 Charsbar::Note - タブとスペースの話 あえて断言しときます。こんなモンはバッドノウハウなんであって、ベストプラクティスでもなんでもない、と。 最速インターフェース研究会 :: タブとスペースと萌ディタの話なんかそもそもタブを使わずにスペース4で統一せよってのはフォントサイズをピクセル単位で指定したがるデザイナの言い分みたいで気にわない。君たちは、patchのことをきれいさぱーり忘れている。 人のコードを直したり、人にコードを直してもらったりしなくてもいいというのであれば、君たちのいい分ももっともだ。しかし、人とコードをやりとりする時にpatchをやりとりする場合、tabは頭が痛い以外の何者でもない。 以下に二つの

    タブのスペース化はタブ幅よりも重要である : 404 Blog Not Found
    orangevtr
    orangevtr 2010/12/24
    個人的にもインデントはスペース派
  • Start! MacBook | gihyo.jp

    第12回(最終回) Macを使い始めた一年―ターミナルからUstream.tvまで―[後編] たつを 2008-04-08

    Start! MacBook | gihyo.jp
  • C言語最大の欠点

    1980年代、筆者が高校生・大学生だったころに「C言語がすごい」という話を友人から聞いていた。しかし、当時の筆者が触れていたのはMSXパソコンのBASICと大学の汎用機のFortranくらいだった。C言語をやっと手に入れたのは、1992年の暮れである。清水の舞台から飛び降りるような気持ちでBorland C++の大箱を買って帰った。 それから20年近くが経過した今でも、C言語は「最強のプログラミング言語」と呼ぶべきポジションを確保し続けている。UNIXオペレーティングシステムとC言語が世界に与えたインパクトの大きさは、実に大きなものがあった。 ただ、C言語を学習したり評価したりする際には、C言語の大きな欠点を知っておく必要があるだろう。筆者が考えるその大きな欠点とは、「文字列の扱いが非常に面倒」であることだ。 「バッファオーバーフロー」を回避するのは大変 例を示そう。図1はC言語で記述した

    C言語最大の欠点
    orangevtr
    orangevtr 2010/10/21
    こわいよーバッファーオーバーランこわいよー(棒
  • perl/Ruby、これから覚えるべきなのは? こんにちは。…

    perl/Ruby、これから覚えるべきなのは? こんにちは。 現在プログラミング未経験者ですが、来春からSEとしてシステム会社(SIer)で働く予定の者です。会社ではJAVAを主に用いるそうなのですが、個人的に趣味でweb関連技術を勉強していきたいなと思っています。 そこで目をつけたのが、表題のperlRubyです。しかし正直言って、どちらを勉強すべきなのか良く分かりません。 もし出来れば、将来的に業務にも使えそうな言語・或いはプログラミングに慣れるという意味も含めて、JAVAに近い言語を選びたいと思っています。そう考えたとき、どちらの言語を勉強すべきなのでしょうか? 個人的には perl・・・少し古いイメージ。またエキスパートが沢山居て、今から身に付けてもあまり価値が無さそう。 Ruby・・・良く分からないけど、今後流行りそう。ただ、非常に敷居が高く難しそう。また、業務で使うことはなさ

    orangevtr
    orangevtr 2010/09/30
    どれが有望とかってどうでもいい気がする。好きなのやれば。/ところでpythonは?
  • ゲームプログラミングもできる、やさしい開発環境「プログラミン」、文部科学省が公開

    文部科学省のWebサイトで、子どもでも簡単にプログラミングできそうな楽しい開発環境「プログラミン」の公開が始まりました。 子ども向けのプログラミング環境では、「LOGO」のようなタートルグラフィックスができるようなものがいくつかありますが、プログラミンはゲームのようなインタラクティブな操作もできて、しかも作ったプログラムを公開することもできます。 オープニングムービーから、どんな機能があるかを紹介しましょう。 ゲームを作って友だちに公開 「プログラミン」のページ。右上にはちゃんと文部科学省のロゴが。私たちの税金で作られているようなので、思う存分活用したいですね。

    ゲームプログラミングもできる、やさしい開発環境「プログラミン」、文部科学省が公開
  • 派遣PG時代の思い出

    @vjroba 某N社で「メソッドを作ると処理が上下に飛んで可読性が落ちるので、出来る限り一つにまとめてください」と言われたことがある。僕は300行で挫折したが、1万行メソッドを書ききった強者がいた。クラスを作るには申請書が必要だった。

    派遣PG時代の思い出
    orangevtr
    orangevtr 2010/08/13
    派遣じゃないけど近いことはさんざんあったなぁ。。こういうの見ると正しいエンジニアが実権をちゃんと握ることがいかに大事かを痛感する。
  • Perl 非同期プログラミング

    1. 非同期プログラミング with Perl 2010/08/07 Japan Perl Association 代表理事 株式会社ライブドア 牧 大 輔 (@lestrrat) 3. 普通の書き方 use strict; use LWP::UserAgent; my @urls = qw( http://www.livedoor.com/ http://www.dena.jp/ http://mixi.jp/ http://www.gaiax.co.jp/ ); my $ua = LWP::UserAgent->new(); foreach my $url (@urls) { my $res = $ua->get( $url ); ... }

    Perl 非同期プログラミング
    orangevtr
    orangevtr 2010/08/09
    これは良い資料
  • Overview — Python v2.6.0 documentation

    Welcome! This is the documentation for Python 2.6.0, last updated Sep 18, 2009. Parts of the documentation: What's new in Python 2.6? or all "What's new" documents since 2.0 Tutorial start here Using Python how to use Python on different platforms Language Reference describes syntax and language elements Library Reference keep this under your pillow Python HOWTOs in-depth documents on specif

  • モダンな Perl の開発環境の構築方法 - tokuhirom's blog

    一般的な OSX 環境および Linux 環境における、モダンな Perl 開発環境の構築方法についてまとめてみたよ。 perlbrew のインストールperlbrew をつかうことにより、簡単に最新版の Perl5 を利用することができるようになる。 perlbrew をいれる。% curl -L http://xrl.us/perlbrew | perl - install % ~/perl5/perlbrew/bin/perlbrew init ~/.bashrc (または ~/.zshrc)に source ~/perl5/perlbrew/etc/bashrc を追記。あたらしいシェルをたちあげる。最新版の perl をインストールする。% perlbrew install perl-5.12.1 % perlbrew switch perl-5.12.1 ここまできたら、she

    orangevtr
    orangevtr 2010/07/16
    すばらしすぎるまとめ。
  • C++の話(本当にあった怖い話)

    The document discusses C++ and its history and features. It describes C++ as an extension of C with object-oriented features like classes. It provides information on the creator of C++, Bjarne Stroustrup, and the evolution of C++ since its introduction as a way to add object-oriented programming to C. It also includes sample C++ code demonstrating the use of arrays and includes from the Boost libr

    C++の話(本当にあった怖い話)
    orangevtr
    orangevtr 2010/07/15
    C++関係ないっていうかPythonも関係ないし他の言語でめちゃくちゃ既視感あるし
  • 文字コード(UTF-8,Shift_JIS,EUC-JP,ISO-2022-JP)についての俺的まとめ - 今日もスミマセン。

    「プログラマのための文字コード技術入門」を読んで自分なりに理解した点をザックリとまとめてみる。 それほど正確性を求めて書いているわけではないので、間違ってる可能性大です。 間違いなどあればコメントなど頂けるとありがたいです。 それぞれの文字コードはどう違うのか? 日語の文字コードは大きく以下の2つに分けられる JIS X 0208 文字集合をベースにしたもの Unicode文字集合をベースにしたもの JIS X 0208 文字集合をベースにした文字コードには、EUC-JP, Shift_JIS, ISO-2022-JP がある。 Unicode文字集合をベースにした文字コードには、UTF-8, UTF-16 などがある。 上で挙げた「文字コード」とは正確には「エンコーディング(文字符号化方式)」の事を指す。 文字符号化方式 文字集合って? 読んでそのまんま”文字の種類の集まり”。「キャラ

    文字コード(UTF-8,Shift_JIS,EUC-JP,ISO-2022-JP)についての俺的まとめ - 今日もスミマセン。
    orangevtr
    orangevtr 2010/07/13
    ここまで分かりやすいのは初めて見たかも
  • デザパタ140文字

    尾野(しっぽ) @tail_y 今なんとなくデザインパターンを見てたけど、どうしてこういう説明って、厳かで分りにくく書かれるんだろうね。噛み砕いて書くと、正確性に欠ける!って怒られるんかな。 2010-04-22 08:29:36 尾野(しっぽ) @tail_y いや、一番いけないのは、デザインパターン完全に理解しないで語るのは恥ずかしいとか、使いこなせないなら使っちゃ駄目とか、そういう雰囲気があるのがいけないんですよ!そんな高尚なものにしてしまうから、解説まで高尚になっちゃって、一部の天才だけのものになっちゃうんですよ。 2010-04-22 08:53:45

    デザパタ140文字
    orangevtr
    orangevtr 2010/04/23
    実はちゃんと座学したことがないかも。でも知らないうちに使ってることが多い。復習大事 "デザパタ140文字"