タグ

プログラミングと考え方に関するWK6のブックマーク (21)

  • プログラミングの生産性を上げるには - 聞かれてもいないことを喋る

    Yak Shaving の誘惑に打ち克つ ソフトウェアを作っている途中で、「これを作るのを効率化するためには ○○ が必要だ」と思い、来やっていた作業の手を止めて ○○ を作り始めてしまうことは往々にしてある。 しかしその作り上げた ○○ が最終的に当に(長期的にみて)効率化に役立ったケースは、自分の経験からいって 10 個のうち 1 つくらいではないかと思う。 効率化のための努力をするなということではない。大事なのは、アイデアを寝かせることだ。 人はゴミみたいなアイデアでも、気付かずにこれこそが素晴らしいアイデアだと信じこんでしまう。自分の考えたアイデアには愛着が湧くものだ。 そのアイデアが当に優れているかどうか客観的に判断するには時間が必要だ。最低でも 1 晩、できればもう 2, 3 度は同じ必要性を感じてから作るのがいい。 1 回しか必要性を感じたことのないものをその場の勢いで

    プログラミングの生産性を上げるには - 聞かれてもいないことを喋る
  • システム化の目的は、Excelの焼き直しであってはならない - GoTheDistance

    これは興味深い問題提起。 エクセルでできることができない何百万のシステム・・ 「Excelで出来ることが出来ないシステムとかいうものに、なんで数百万も突っ込む必要があるのか」という話には、キチンと整理して説明できるようにしておきたいもの。 機能面ではExcelには勝てない Excelが提供している豊富な機能群は、世界でも選りすぐりのソフトウエア開発チームが途方も無い期間と金額をかけて作り上げたものです。Excelで出来る機能と同等の機能を提供することは、納期も予算も上限がある業務システム開発プロジェクトにおいて、非常にハードルの高い機能要件でしょう。業者からすると「ウサイン・ボルトに100m走で勝利しろ、期間は2ヶ月で」って言われても的な・・・ でも、「Excelとかいう最強の業務ソフトと同じこと望むなよ、そんなもん無理」で突っぱねてしまうのも違う。Excelには無い価値ってどこにあるかを

    システム化の目的は、Excelの焼き直しであってはならない - GoTheDistance
  • プログラマと漫画家〜「何を作る」のか考えたいプログラマと「どう作る」を追求するプログラマ | Social Change!

    プログラマには「何を作る」のか考えられるプログラマと「どう作る」を追求するプログラマの2種類いる。どっちが優劣ではなく違いがある。漫画家で言うと、独りで全て出来る人と、原作と作画が分かれて作画を追求する人。そう考えてプログラマは漫画家に似てると思った。 http://twitter.com/#!/kuranuki/status/107815093332492289 プログラマという職業は何に似ているか。プログラミングという作業が、ただの単純労働のように思われてる一面があることに、私はとても憤りを覚えます。 私はプログラミングがとても大好きで、プログラミングはクリエイティブな活動だし、高いスキルが必要なものだとも考えていて、それが出来るプログラマは、もっと希少な職業であっても良いはずだと考えています。 では、プログラマという職業はいったい何に似ているか。あるとき「漫画家」が近いのではないか、

    プログラマと漫画家〜「何を作る」のか考えたいプログラマと「どう作る」を追求するプログラマ | Social Change!
  • 一人でコードを書きなさんな - Line 1: Error: Invalid Blog('by Esehara' )

    とりとめのない話をメモがてら。 最近、コードを読むことが多くあるのだけれども、「このコードは一人で書いているな」という感想を覚えることが多い。もちろん、基的にはコードというのは、物理的には一人で書くものであるのは間違いないのだが、たぶん、それとはまた別種のものだ。 僕がこの世界でメシをう数年前に、PHPユーザーは他の言語を知らないから、他の言語の良いプラクティスを知らないという批判が議論を呼んだことがあるようだ。このさいPHPはどうでもよく、問題は「他の言語の良いプラクティスを知らない」ということだ。プログラミング言語というのは、そのときに共存しているお互いのパラタイムと関係している。例えば、最近ならJava8がOption型を導入しようとしているのは、やはり「関数型言語」というのが成熟してきて、その方法論が有益なものとして受け止められるようになってきたからだ。C++もラムダを取り入れ

    一人でコードを書きなさんな - Line 1: Error: Invalid Blog('by Esehara' )
  • プログラマなら人月なんかさっさと超えろ - 矢野勉のはてな日記

    Java, プログラミングノリノリで書いてみる。 人月というのは「人月の神話」以来、現場の技術者にとっては「お金の計算にしか使えない単位」なのですが、発注者側に分かりやすいということでいまでも大はやりしています。というか受注者側もまじめにこの単位で計算しています。 そしてJavaの世界というのは、私のようにJavaが大好きだからやってる、という人間はすごく少数派で、「そろそろJavaでもやっとくか」「Strutsの使い方覚えたからもういいか」「できればJavaなんかいじりたくないなー。俺も早くプログラマに『これやっといて』って言えるようになりたい」という人のほうが多いのが実情なんですね。その点Rubyの世界は、今は「好きだからやってる」人が圧倒的でしょう。プログラム能力の高いJavaプログラマを探すのは、プログラム能力の高いRubyプログラマを探すよりずっと大変だろうと思う。 Javaの世

  • 自分のための code を書こう

    元々小さなベンチャー企業でPHP仕事をしてそこそこに満足していた自分が、Rubyを知ってじわじわと病みつきになっていき永和システムマネジメントに入社、日中のRubyのお仕事では飽きたらず時間さえあれば個人的にプログラミングをしてときどきgemを作って公開するようになった簡単な経緯と、そこでやっていることをお話します。

    自分のための code を書こう
  • 太一のコードの読み方メモ

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    太一のコードの読み方メモ
  • 今までソフトウェア開発について勉強してきたことのふりかえり - アジャイルSEを目指すブログ

    [twitter:@kyon_mm]さんの記事(僕がソフトウェア開発を勉強し始めて3年間でやったこと)を読んでいて、「今までのふりかえりかー。面白いかも」とか思ったので、ブログ書いてみた。 期間は就職(2008年4月)〜現在(2012年5月)の4年間。 1年目(2008年4月〜2009年3月) SIerな会社に入社。 会社の研修でJavaを習った後、会社の技術書棚にあった「Java言語で学ぶデザインパターン入門」を借りた。 たぶん、講義・研修・仕事に関係なく自分で読んだ技術書はコレが初めてだと思う。 ここでデザパタを覚えてから、オブジェクト指向、アジャイル開発に興味を持ち始めました。 読んでた書籍 増補改訂版Java言語で学ぶデザインパターン入門 作者: 結城浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/06/19メディア: 大型購入: 51人 クリック: 762回

    今までソフトウェア開発について勉強してきたことのふりかえり - アジャイルSEを目指すブログ
  • 僕がソフトウェア開発を勉強し始めて3年間でやったこと - うさぎ組

    昨日、@irofさんと飲みながら自分を思い返すと「ちゃんとソフトウェア開発を勉強しはじめてから3年間たった」つまり「@bleisさんを知ってからこの5月でまる3年間たった」 それまでの僕はデザインパターンもオブジェクト指向がなんたるかも、バージョン管理もなにも知らなかった。 毎日言われたことをこなす仕事をして、変えたいけど誰も教えてくれないし、学び方すら教えてくれなかった。 それなりに努力してたけど、よくはわかっていなかった。 そんな状態から抜け出したのが3年前。このブログの先頭でも書いた。当時僕は21歳かな。(ちなみに就職したのは19歳のとき) →【このブログをはじめるきっかけ - うさぎ組】 この3年間でやったことをふりかえってみようと思いました。 ちょっとわかりにくいだろうけど、2009年5月からの12ヶ月周期で書いてみます。 こうやって振り返るのはあくまで僕のためであって、何かを誇

    僕がソフトウェア開発を勉強し始めて3年間でやったこと - うさぎ組
  • コードウォッチ:関数型プログラミングの自惚れ問題

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    コードウォッチ:関数型プログラミングの自惚れ問題
  • 大学に入ってからプログラミングの授業が始まったのですが、最近ついていけません - どんどん未提出のレポートがたまっていきます。... - Yahoo!知恵袋

    まず, あなたはだめな学生ではありません. それは以下のことにより証明できます. 自分がついていけていないと感じている 未提出のレポート課題そのものをここに書いて解決しようとしていない, 自分で学習していこうとしている プログラミング言語のキーワードを身につけようとしている そして一番大事なこと, 他人が簡単にプログラムを書いていると感じている そしてあなたが感じた感情は優秀なプログラマはほぼ皆感じたことのある感情です. プログラミングを学習する最も効率のよいコツ, それをあなたは手にしています. それは自分のセンスで劣等感を感じることです. はっきり言うと, あなたのクラスの誰よりもあなたはプログラムを使いこなせる可能性を秘めた人間の一人です. プログラムが得意な人の中で必ずしも理系が優位なわけではありません. 言語によっては文系のセンスが生かせます. ポインタやら関数なんかの難しい話を

    大学に入ってからプログラミングの授業が始まったのですが、最近ついていけません - どんどん未提出のレポートがたまっていきます。... - Yahoo!知恵袋
  • "プライドに傷がつくことは、山頂からの景色を眺めるためであれば取るに足らない" - naoyaの寿司ブログ

    http://d.hatena.ne.jp/tictac/20120110/p1 を読んで。論とは少し外れちゃうんだけど うまくやる学生はそういう困難にぶつかったとき、自分の力不足と馬鹿さ加減に滅入る気持ちと闘い、山のふもとで小さな歩みを始めます。彼らは、プライドに傷がつくことは、山頂からの景色を眺めるためであれば取るに足らないということを知っているのです。彼らは、自分が力不足であると分かっているので助けを求めます。 このくだりはわかるような気がする。ソフトウェアの開発をやっていると、ときおり新しい言語とか、新しいプラットフォームにチャレンジしようということがある。iPhoneアプリを作りたい、とか、たまには毛色の違う言語を触ってみよう、とか。なんやかんやでもう10年以上、プログラミングはしているので、そういう新しいものを学ぼうと思ったときに、自分の能力を過信してか、いきなりそこそこ質実

  • あなたのソースを汚くして生産性も下げている、たったひとつの間違い - よくわかりません

    この内容には私も全面的に賛成で、クラスやフィールド、メソッド、名前空間など、とにかく文字として表れる名前には、必ず、例外なく、正しく誤解のない命名を徹底することが非常に重要だ。 http://blog.livedoor.jp/lalha/archives/50261226.html 先のエントリは、danさん*1やlalhaさんにまで言及いただき大変光栄で、なにより多くの人に読んでもらえた。多謝。 一方で、自分で読み直すと「先のエントリ」は、いくぶん観念的でいまいちよく分からないところもあるかなと思った。というわけで、より実践に結びつきやすいように、「何に気をつければいいのか」「どういう考え方でコードを書けばいいのか」を書いてみる。 lalhaさんがエントリで強調したかったという (1) 適当に書いたコードは後でとても大きな被害をもたらす可能性が高い への包括的な対策であり、 (2) たく

    あなたのソースを汚くして生産性も下げている、たったひとつの間違い - よくわかりません
    WK6
    WK6 2011/10/25
    「プログラムが汚いとは、語彙の意味があやふやで不安定であること」「プログラムがきれいとは、語彙の意味が明確で一貫していること」
  • [ソフト開発] わかりやすいプログラムの書き方 - よくわかりません

    ※このエントリは、Arata Kojima/NPO法人しゃらく さんが公開しているわかりやすい技術文章の書き方の改変です。 このページは、プログラムやコードなどを書く方々のために、分かりやすいプログラムを書くためにはどうすればよいのかについて説明しています。 1. 自分が伝えたいこと・訴えたいことを誤解しないように相手に読んでもらうにはどうするべきか。 2. プログラムを書くにあたって知っておくべきルールは何か。 3. プログラムを書く前にどのような手順を踏めば、分かりやすいプログラムを作れるか。 などについて参考にしていただければ幸いです。 プログラムを書く前に プログラムを書く前に次のことをしっかりとイメージしておく。 何を書くのか。 書こうとしている物は正確に何であるのか。 仮定して良い、必ず成り立つ前提(状況/状態)は何か。 成り立つ事が単に多いだけ/今はたまたま成り立っている、と

  • プログラミングは「名前」が9割。 - このブログは証明できない。

    プログラミングというのは、名前をつける行為なんだと思う。 プログラミングで一番大切なこと。 もしも、プログラマーじゃない人に、「プログラミングで一番大切なことは?」と聞かれたら、迷わず「名前」だと答える。もちろん、人それぞれだし、自分はスキルの高いプログラマーじゃないよ、と前置きして。 名前が9割と言ったときの、9割という部分は人によってだいぶ差があるんだと思う。もっと小さいかもしれない。けれど、名前が重要だという点に関しては、反対するプログラマーはいないんじゃないだろうか。 時代や環境で変わる名前。 いま僕がイメージしてる名前というのは、変数名だったり関数名だったりクラス名だったり、とにかくいろいろ。さらに、JavaScriptとか高階関数をバリバリ使うような場合など、名前をつけないという選択肢もある。 なんとなくJavaScriptと書いたんだけど、名前はプログラミング言語や開発環境や

    プログラミングは「名前」が9割。 - このブログは証明できない。
  • プログラマーの感覚とデザイン。 - このブログは証明できない。

    プログラミングとデザインにおける論理と感覚って、同じようなものなんじゃないかな。とようやく実感してきた。だからこそ、僕たちがプログラミングに触れてきたようにデザインに触れてきたデザイナーさんの力を借りたいよね。あと、コミュニケーション大事。そんな話。 祝日の朝にカフェでダラダラ書いたので、グダグダで読み返すと何言ってるかわからない。でも、休みの日にカフェでプニプニと文章書いてると、気分転換になってよかった。事をとらずに費を浮かせてカフェラテを注文したかいがあった。 デザインが見えない。 今年の1月ごろからずっと「デザイン」「デザイン」と言ってるけど、まったく何もやってない。とっかかりがわからなくて、手が出せない感じ。デザインという言葉自体、幅が広くて、デザインの対象がコミュニケーションだったりユーザーインターフェイスだったりする。そこも絞れていない感じ。絞れていないというか、共通する基

    プログラマーの感覚とデザイン。 - このブログは証明できない。
  • プロとしての行為 Act as Proffesional

    事を抜く、おざなりにする 朝、昼、夕を熱中しすぎて抜いてしまう。ブドウ糖は蓄えておくことができません。定期的に栄養を取らないと脳がエネルギー不足となって、生産性の低下を招きます。凡ミスが多くなってくる。 きりの良いところで必ず事をとること。事の間隔があきすぎることがないように注意する。 生産性のないことに2〜3時間熱くなる 落ちついてコードを読み、設定を直せばすぐに解決するバグを、憶測で○○が悪いのかな?とあれもこれもと手を出すうちに2,3時間を費やしてしまい疲弊してしまう。 感情を抑え、物事を論理的に考える落ち着きを取り戻そう。 何を完了したら仕事が終わりなのかを理解していない コードを書けば仕事は終わりですか?QAやテストやドキュメントなどはいりませんか?誰に承認をえるのですか?これら、仕事として必要なことに注意を向けずに仕事を終わったと思ってしまう。当に足りないことはあ

    プロとしての行為 Act as Proffesional
  • テストコードを作らない文化が浸透している現場へRuby/Railsが導入された結果への対策を考えてみる, tDiary 3.0.2 リリース - 会長@腹部日記(2011-04-29)

    _ テストコードを作らない文化が浸透している現場へRuby/Railsが導入された結果への対策を考えてみる まず、導入された結果は以下のようになっております。信じられないものもありますが、事実です。 1. マージが頻繁に行われる開発中はNoMethodErrorや文法エラーが続出。必要なコードのマージ漏れまで発生 2. 修正の度に人力テストが必要となり、コスト増大 3. これまで以上に責任論が追求される現場となる 4. コスト増加を恐れるあまりリファクタリングはおろか、巨大な迂回処理やコピペが横行する プロジェクトには、以下のようなテストコードを作(らない|れない)様々な原因があります。 問題分類 現場への影響

  • テストファーストの弊害

    テストファーストは、XP(エクストリームプログラミング)の中でも特に広く浸透したプラクティスの1つである。 テストファーストは、モノを作るよりも前に、まずテストから着手する、という手法だ。モノが無ければテストできないという常識を、根からひっくり返す斬新なアイディアは、多くのソフトウェア開発者に衝撃を与えた。 テストファーストは、短期開発におけるXPの有効性が認められ、JUnitなどのテストツールが普及した今では、広く受け入れられるようになった。 だが、このようなまったく新しい手法は、初めはなかなか受け入れられ難いが、いったん受け入れられると、今度は逆に、魔法の技術であるかのように盲信されやすい。テストファーストについても、最近では「JUnitでテストコードを書いていれば、ソフトウェアの品質は問題ない」という風潮が広まりつつあるような危惧も感じる。 テストファーストの効果は、多くの人が認め

  • ソフトウェアにおける高音域 - The Joel on Software Translation Project

    このプランは、自分たちが働きたいソフトウェア会社を作るためにFog Creekをはじめた私たちにはとても都合のいいものだった。当時の私の主張は、良い仕事環境を作ることで(照れずに言うなら「世界中の優れたソフトウェア開発者たちが働きたいと思うような会社を作る」ことで)、収益は自然にもたらされるものであり、それはチョコレートが肥満をもたらしたり、テレビゲームのセックスシーンが暗黒街の殺し合いをもたらすのと同じことだ、というものだった。 今日のところは1つの疑問にだけ答えることにしよう。もしこの部分が間違っていたなら、理論全体が崩れてしまうからだ。その疑問とは、「最高のプログラマ」を雇うということにそもそも意味があるのか、ということだ。最高のプログラマを求めることが重要な意味を持つほど、プログラマの能力の違いは大きいものなのだろうか? この疑問に対する答えは私たち開発者には明らかなことかもしれな