タグ

関連タグで絞り込む (521)

タグの絞り込みを解除

programmingに関するtarchanのブックマーク (1,240)

  • コードを理解できない人間がソフトウエアの記事を書く怖さ

    数年前、他社のプログラミング雑誌を書店で立ち読みしていたとき、その雑誌の編集後記を見て違和感を覚えました。「私はコードは全く理解できないが、間違っていそうな個所は編集者の勘でわかる」と書いてあったのです。「それはおかしいんじゃないか」と思いました。 好意的に解釈すれば、自分にはできないプログラミングができる執筆者に対する尊敬の念が、このような文章になったのかもしれません。編集者としての感覚を誇りたい気持ちもあったのでしょう。たしかに、編集業務の経験が長ければ、「何かがおかしい」という勘で誤りを発見できることがたまにあります。しかし、技術的な誤りをすべて勘で見つけられるわけがありません。 掲載するコードの内容が正しいかどうかをチェックするのは、プログラミング雑誌の編集者にとって重要な仕事の一つです。意味がわからない箇所があれば筆者に確認するべきでしょう。コードがわからないのは恥じるべきことで

    コードを理解できない人間がソフトウエアの記事を書く怖さ
    tarchan
    tarchan 2014/03/05
    >コードがわからないのは恥じるべきことであって、「自分はプログラマではないのだからわからなくて当然」と開き直ることではありません。
  • プログラマの実力偽装を考える──初心者と中級者を分けているもの

    「プログラマの実力」とは一体何を指すのだろう、とよく考えることがあります。特に、プログラミング雑誌の編集者としては、「プログラミングの初心者と中級者を分けているもの」に、とても興味があります。 中級者と見なされるには、様々なものが求められるでしょう。特定のプログラミング言語の文法を隅々まで把握していることかもしれませんし、最新のライブラリやツールを使いこなせることかもしれません。たしかに、こうした知識は、優れたソフトウエアを開発するうえで重要です。ただ、そうしたノウハウは、使用するプログラミング言語や開発環境が変わると役に立たなくなることもあります。 そこで、日経ソフトウエア2014年4月号で、「中級者に必要なものは何か」をテーマにした「初心者脱出の近道は? プログラミングの『壁』大攻略」という記事を執筆しました。この記事では、中級者に必要なものを「良い習慣」と位置付け、どのような習慣が必

    プログラマの実力偽装を考える──初心者と中級者を分けているもの
    tarchan
    tarchan 2014/03/05
    >「新人女子の書いたコードを直すだけの簡単なお仕事です!」というオンラインハッカソンは、大きな話題を集めました。
  • プログラミングもクラウドへ―― 学習&開発環境Webサービス23選まとめ

    プログラミングもクラウドへ―― 学習&開発環境Webサービス23選まとめ:安藤幸央のランダウン(67)(1/3 ページ) オンラインのプログラミング環境や、オンラインでコードを書いて学べる学習サイト9選、ビジュアル(子ども向け)プログミラングWeb環境5選を紹介する。 道具としての開発環境 今となっては昔のことですが、机の上でノートに鉛筆でソースコードを書いてプログラミングしていた時代がありました。現在のプログラミング環境から振り返ると、そういう作業はアルゴリズムを考え、頭で想像したコードを書き下ろしており、脳内エミュレーターのようなものだったのかもしれません。 最近のプログラミング環境は、規模も複雑さも肥大化しつつ、プログラミングに関する情報もツールも大変充実したものです(マイナーな環境の情報が少ないことや、新古の情報が混在している問題はありますが)。 Web上の情報も書籍も豊富で、自分

    プログラミングもクラウドへ―― 学習&開発環境Webサービス23選まとめ
  • 「強い型付け」「弱い型付け」って言葉を知った!

    [追記] この記事は2014年、私が文系大学生の頃、手探りでプログラミングを独学し始めた頃の記事です。温かい気持ちで見ていただけたら幸いです。 ーー !! おことわり !! このブログには、いわゆる「技術記事」は一切ありません!!!(書きたくても書けない) ただの「勉強記録ノート」です!!! プログラミング初学者の勉強記録ノートです!「日記」です!! 生暖かい目で見ていただけたらさいわいですヽ(;▽;)ノ Index “型のありがたみ”を覗く “型付けの弱い世界”を知る 動的型付けと静的型付け 型付けによる比較 “型付け”と”型変換” 強い型付けと弱い型付け まとめ 追記 (あとで読むリストなど) Introduction よくTwitterのタイムラインで「型安全」という言葉を見ます。 でも、その意味を私は全く分かっていませんでした…そもそも「型安全」という言葉は 「安全な型」を指す(だ

    「強い型付け」「弱い型付け」って言葉を知った!
  • 子供がプログラミングに興味を持つには何が必要?

    専門性・売上・原稿 @golden_lucky 実際に使われてるプログラミング言語のほとんどは、英語圏の子どもなら類推を効かせて理解できるのかもしれないけれど、残念ながらここは日なので、ビジュアルベースの言語で取っ掛かりを与えるのが主流っぽい。でも中学生くらいだと、もうちょっと格的にコード買いてみたいと思うはずで。 2014-02-04 16:34:39 Kenji Rikitake @jj1bdx @golden_lucky 英語云々はあんまり関係ないと思ってます.まさかアルファベット見たことないという子供はそれほどいないと思うので.仮にそうだとしたら,まずアルファベットを覚えてもらうのが先でしょう… 2014-02-04 16:52:45 専門性・売上・原稿 @golden_lucky @jj1bdx はい>アルファベットを覚えるのが先。日の小学生がコードを書こうと思ったら、自然

    子供がプログラミングに興味を持つには何が必要?
    tarchan
    tarchan 2014/02/07
    >ScratchとかSqueakはビジュアルなのは良いんですが、ゲームを作るという目的だと、準備が結構必要になって(例えば「最初の状態に戻る」とか「背景をスクロールする」とかそのへんをいちいち書くのが面倒)、それで飽きち
  • 『ゾーン』に入る方法

    『ゾーン』とは、極度に集中した精神の状態のことです。『フロー状態』とも言います。 極度に集中した状態では、時間の流れが遅くなり、作業は、なめらかに転がるように、よどみなく進んでいきます。 私はプログラマーですが、『ゾーン』に入ってバリバリ書きまくれるときもあれば、躓いてばかりでちっともコーディングが進まない時もあります。 今日は私が実践している『ゾーン』に入るための方法を説明します。 あらかじめ断っておきますが、私がこの方法で『ゾーン』に入れるのは、10回に3回です。 気温の変化、体調の変化、途中で割り込みがないか、前日よく眠れたか、合コンで意中の相手に無視されたか、などなど、 ありとあらゆる影響が『ゾーン』に入ることを妨げます。 それでも知りたい、という方は続きをお読みください。 事前準備人の脳のうち、自覚して使われていない部分を「無意識」の領域と呼びます。 「無意識」には、「意識」下に

    『ゾーン』に入る方法
    tarchan
    tarchan 2014/02/04
    >飽きてきたら、やめる
  • Making Crash Bandicoot – GOOL – part 9

    This is part of a now lengthy series of posts on the making of Crash Bandicoot. Click here for the PREVIOUS or for the FIRST POST. I also have a newer post on LISP here. I’m always being asked for more information on the LISP based languages I designed for the Crash and Jak games. So to that effect, I’m posting here a journal article I wrote on the subject in 1996. This is about GOOL, the LISP lan

    Making Crash Bandicoot – GOOL – part 9
  • Revenge of the Nerds

    技術野郎の復讐---Revenge of the Nerds---[訳註1] Paul Graham, May 2002. Copyright 2002 by Paul Graham. これは、Paul Graham:Revenge of the Nerds を、原著者の許可を得て翻訳・公開するものです。 プロジェクト杉田玄白正式参加テキスト。 <版権表示> 和訳テキストの複製、変更、再配布は、この版権表示を残す限り、自由に行って結構です。 (「この版権表示」には上の文も含まれます。すなわち、再配布を禁止してはいけません)。 Copyright 2002 by Paul Graham 原文: http://www.paulgraham.com/icad.html語訳:Shiro Kawai (shiro @ acm.org) <版権表示終り> Paul Graham氏のエッセイをま

    Revenge of the Nerds
    tarchan
    tarchan 2014/01/23
    >なぜ1950年代の言語が時代遅れにならないかという簡単な説明は、 それが技術じゃなくて数学だったということだ。数学は色あせない。
  • 長文日記

    長文日記
  • メタプログラミングをして割に合うかの判断基準:処理を1箇所に局所化できるか - 2014-01-16 - ククログ

    毎日他の人のコミットをながめる文化で生活していると、理由は浮かばないけど「ん?このコミットはなんか気になる」と感じるようになります。それは、新しいことを知ることができたコミットだったり、真似したくなるようなコードが入っているコミットだったり、なんかまずそうな気がするコミットだったり、様々です。 「ん?」と感じてコミットを見直してみても、何が気になったか自分でもすぐにわからない場合があります。そんなとき、気になったことをコミットした人に伝えるために、コミットへのコメントをまとめ始めます。「コミットした人に伝えるため」というように、他の人に伝えようとすることがポイントです。他の人に伝えるためにまとめようとすると、思いの外なにが気になったかまとまるものです。 今回は、メタプログラミングを使ってコードを整理したコミットで「ん?」と感じたときのことについて紹介します。このおかげで「メタプログラミング

    メタプログラミングをして割に合うかの判断基準:処理を1箇所に局所化できるか - 2014-01-16 - ククログ
    tarchan
    tarchan 2014/01/20
    >変更箇所を局所化できていないと、このあたりのコードをいじるたびに、「このメタプログラミングをしているところはどういう仕組みで動いているか」を理解しなければいけません。これは通常のコードを理解するより
  • 猫型プログラミング言語史観(1) 〜あるいはオブジェクト指向における設計指針のひとつ〜 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    TL;DR 手続き型プログラミングでは手続きを抽象化することで保守性を挙げることに成功したが、データを守ることには失敗してしまった。そこでオブジェクト指向はデータと手続きをひとかたまりにすることでデータを外から守るというコンセプトを打ち出した。 ここから、「手続き型プログラミングで書いてるのに手続きが十分に抽象化されていないのはヤバいね」とか「オブジェクト指向で書いてるのにひとかたまりじゃない雑多なデータに関心をもっちゃってるのはヤバいね」などの設計指針を導くことができるのである。そして純粋関数型言語の場合は……という話です。 はじめに プログラミング言語にはいろいろなパラダイムがあるが、その中で手続き型プログラミング、オブジェクト指向、純粋関数型言語について、わたしなりのひとつの史観を示すのがこの稿の目的である。となんかかっこつけて言ってみたんだけど、要するに、それぞれのパラダイムがどん

    猫型プログラミング言語史観(1) 〜あるいはオブジェクト指向における設計指針のひとつ〜 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • 意外と知られていない構造化プログラミング、あるいは構造化プログラミングはデータも手続きと一緒に抽象化する、あるいはストロヴストルップのオブジェクト指向プログラミング史観

    意外と知られていない構造化プログラミング、あるいは構造化プログラミングはデータも手続きと一緒に抽象化する、あるいはストロヴストルップのオブジェクト指向プログラミング史観 書いた人: ると 型プログラミング言語史観(1) 〜あるいはオブジェクト指向における設計指針のひとつ〜という記事がありました。手続き型からの発展としてのオブジェクト指向という史観を書いた記事です。しかし、そこで次のように述べられている史観は少々単純化しすぎです。 手続き型プログラミングでは手続きを抽象化することで保守性を挙げることに成功したが、データを守ることには失敗してしまった。そこでオブジェクト指向はデータと手続きをひとかたまりにすることでデータを外から守るというコンセプトを打ち出した。 手続き型プログラミングの時代は、少なくとも思想的にはそこまで暗黒的ではありませんでしたし、「データと手続きをひとかたまりにする」の

  • SF映画で俳優が真剣に見つめるコード、よく見ると…んん?

    SF映画で俳優が真剣に見つめるコード、よく見ると…んん?2014.01.08 23:00 satomi い入るようにコードを見つめる映画俳優。 天才! ハッカー! キーボードで世界征服! というオーラ全開中ですが、その目の先にあるコードを若干拡大してみますと…な~んと普通にその辺のブログやウィキに転がってるコードじゃーあーりませんか。 例えば上のシーンで「ドクター・フー」のドクターが見詰めているのは… ウィキペディアに載ってるLight WaveのSVGファイル。 難しそうな記号がダーッと並んでると、もうそれだけで未来感出ますけど、意味のわかる人が見ると「アレッ?」ってくるんでしょうね。日語が変なシャツみたいなもので…。 このように映画・TVに出てくるコードのスクリーンショットを集めて、そのネタ元を紹介しているのがジョン・グラハム=カミング(John Graham-Cumming)さん

    SF映画で俳優が真剣に見つめるコード、よく見ると…んん?
  • 初心者が学ぶのに最適な5つのプログラミング言語 | ライフハッカー・ジャパン

    コードの勉強をはじめようと思ったら、まずどのプログラミング言語を習得するか決める必要があります。そしてその選択は、どのような技術を得たいのかと密接に関係しています。 言語にはそれぞれ特徴があって、習得が比較的容易なものやコミュニティが活発なもの、応用範囲の広いものなどさまざまです。 米 Lifehacker では、読者の意見に基づき5つの「学ぶのに最適な5つのプログラミング言語」をピックアップしてみました。 Java オラクルの Java は、ウェブでもっとも歴史が古く、持続性があり、影響力の大きなプログラミング言語のひとつです(編注:Java を開発したサン・マイクロシステムズは2010年オラクルによって買収された。とはいえ Java はあくまで「Javaコミュニティのもの」というべきかもしれない)。ウェブ内外のアプリケーションや、あらゆるプラットフォーム、オペレーティングシステム、デバ

    初心者が学ぶのに最適な5つのプログラミング言語 | ライフハッカー・ジャパン
  • いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して

    正しく意味を理解している方にとっては、まったく常識レベルの話であり、何をいまさらと思われる方々も多いかと思いますが、大規模案件のレガシーコードなど、私が仕事で見かけるJavaのコードを読むと、「このコードを書いたSEやPGの方々は、はたして継承の意味を正しく理解していないのではないか」と思われる設計のコードに出会うことが少なからずあります。現在では改良されましたが(Javaプログラミング能力認定試験の問題がかなり改善されていました - 達人プログラマーを目指して)、以前のJavaプログラム認定試験の問題は、そうした不適切な設計がされている典型的な例となっていたのですが、実際、SI業界ではあのような品質のコードのシステムが今でも現役で多数稼動しているというだけでなく、現在でも新たに生み出されているというのは残念ながら紛れもない事実のようなのです。 確かに新人研修で「哺乳類を継承して犬クラスと

    いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して
  • ペアリング対コードレビュー: 開発者文化の比較

    前職 と 現職 で、ペアプログラミング文化からコードレビュー文化への移行を経験した。文化の差に適合するのは興味深い経験だった。ちょっと気づいたことを書いてみよう。 (ペアプログラミング|コードレビュー)の(メリット|危険性)みたいな題名の記事はもう山ほどある。著者はどっちかの信奉者なわけだ。私は明確トレードオフがちょっとあるにせよ、どっちの戦略も有効であると認識している。このトレードオフについて、もうちょっとバランスのとれた議論をしてみようと思う。 用語の定義 まず、舞台を整えよう。”ペアプログラミング” とか”コードレビュー”という言葉は、人によってとらえ方が大きく異なることがある。 ペアプログラミング文化 といったとき、作業のほぼ100%をペア作業で行っているチームを指す。一つのタスクに二人の開発者が割り当てられ、同じ画面を共有して作業をする。開発者は両方コード構築のプロセスに関わって

  • 『DCI なんて面倒なだけで Service 使えばいい』への返答 - 鳩舎

    NOTE: 最下部に追記があります。 よく言われる話として、 DCI なんて実装が面倒な上に夢の実装の話をしており、現実解としては Service クラスを用いて実装すればシンプルな実装になるのだから、そういったものは必要ないのだ、というご意見への返答です。 こういった批判の文脈の際、 Service クラスというのがどこの Service クラスを指しているのか、が問題なのですが、 DDD における Service ではないように思えるので、おそらく PofEAA などで語られる Service Layer などを指していると思われます(違うならそう言ってください)。 PofEAA における Service Layer(以後、 Service と呼ぶものはこの PofEAA における Service です)はドメインオブジェクトからアプリケーションロジックを切り離すことを主目的としていま

    『DCI なんて面倒なだけで Service 使えばいい』への返答 - 鳩舎
  • バッドノウハウからグッドラッパーへ

    「有用なものを生み出すけれど複雑怪奇になっているシステム」を見つけたときには、 「バッドノウハウだ」と批判するだけではなく、 バッドノウハウを隠す「グッドラッパー」を作ることを考えよう、というお話。 目次 はじめに 有益なものを生み出さなければ「奥が深い」とも呼ばれない バッドノウハウをグッドラッパーで隠そう 当によくないシステムとは よびかけ 補足:Perlとバッドノウハウ いろんな方からのコメント 反応リンク 関連リンク 更新履歴 ぜひ、感想をお送りください はじめに 高林哲さんは『バッドノウハウと「奥が深い症候群」』というページで、 「奥が深い症候群」や「バッドノウハウをありがたがることの危険性」について書いています。 これはもっともな指摘なので、それを受けてもう一歩進んだ話を書いてみましょう。 有益なものを生み出さなければ「奥が深い」とも呼ばれない もしも「奥が深い」システムが何

  • バッドノウハウと「奥が深い症候群」

    計算機を使っていると、何でこんなことを覚えないといけないのだ ろうか、とストレスを感じつつも、それを覚えないとソフトウェア を使いこなすことができないためにしぶしぶ覚えなければならない、 といった類いのノウハウは多い。そうした雑多なノウハウのことを、 来は知りたくもないノウハウという意味で、私はバッドノウハウ と呼んでいる。 バッドノウハウは、ソフトウェアの複雑怪奇な仕様が歴史的に引き ずられ、根的な改善は行われないまま、そのノウハウが文書によっ て受け継がれることによって蓄積が進行する。Unix 上で広く使わ れているツールとしてはTeX, Emacs, sendmail, bind, perl, gnuplot, procmail などは、役に立つツールであると同時に、その 複雑怪奇な仕様によって長年に渡ってユーザを苦しめ続け、バッド ノウハウの温床として悪名が名高い。こうしたツー

  • はてなブログ | 無料ブログを作成しよう

    わたし的棚ぼた一万円選書 急に千葉さんに手渡された封筒、開けてみたら1万円札が1枚。何ごとかと思えば、同期の出張を代わったお礼をもらったらしい。 「葵はワンオペで育児してくれたから」と半分わけてくれました。 泡銭の1万円 これはもう、わたし的1万円選書をしろという思し召しなのでは……

    はてなブログ | 無料ブログを作成しよう