タグ

論とProgrammingに関するch1248のブックマーク (242)

  • 僕がCOBOLから学んだこと - worarの日記

    SAStruts+DBFluteでの開発が終わり、またCOBOLで書かれたシステムの保守が始まる・・・。 あぁ、楽しかったSAStruts、楽しかったDBFlute、楽しかったJava。 ということで、この辺りで一度、COBOLから学んだことについてまとめてみようと思う。 僕が今、主にかかわっているシステムはクライアント側がVB(Windows)、サーバ側がCOBOL(UNIX)で出来ている。そして更にバックボーンには、メインフレームが構えている。メインフレーム側の構成は主にPL/1+JCLで、もちろんDBは階層型だ。 そんなシステムを2年近く保守してきた中で気付いたことを書いて行こうと思う。 カプセル化やスコープの重要性 今更何を言っているのかと思う方もいると思うけど、マジなんだ。僕が初めて学んだ言語はC言語でそれからC++Javaと続き、その後LL言語にも手を出し始めた。C++を始め

    僕がCOBOLから学んだこと - worarの日記
    ch1248
    ch1248 2013/10/25
    しっくりきた。
  • 我流コーディング術、あえて名付けるのなら、失敗駆動開発術:プログラマで、生きている:エンジニアライフ

    隣の席に座っていた若手のプログラマに「コーディングしてる時、何を考えてますか?」と質問されたことがあります。しばらく考えてみた結果、出た答えは「5行先に書く予定のコード……かな?」でした。何故そんな質問をしたのか訊いたところ、他のプログラマは手を止めて考え込んでいる時間が結構あるのに、わたしはのべつまくなしにキーボードを叩いているので、「なんでこの人、手が止まらないんだろう」と不思議に思った、と言われました。 わたしはコードをタイプしはじめたらほとんど手を止めません。考え事は手を動かしながらやります。 とにかくずんずん進みます。「ここ、どう書けばいいのかなあ」と迷うことも多々ありますけど、手は止めません。どんだけへっぽこなロジックでも、どんだけださい変数名でも、とにかく打ちます。もっといい手がありそうな気がする時でも、その場でそれしか思い浮かばないのならそそまま書いてしまいます。なんにも思

    我流コーディング術、あえて名付けるのなら、失敗駆動開発術:プログラマで、生きている:エンジニアライフ
  • SIerを退職し、Web系に転職しました - arveltのソフトウェア技術メモ

    銀行系列の中規模SIer退職し、 受託と自社サービスの開発を行っている小規模Web系に転職することになりました。 7/30が最終出社日でした。8/1からは新しい勤め先へ向かいます。 1.これまでやったこと 2.これからやりたいこと 3.なぜ転職しようと思ったのか なお、3はいわいる自分語りを含む上に長いのでご注意ください。 読ませる知り合いもいないのに何故書いた。 1.これまでにやってきたこと。 オープン系の基幹システムの保守開発に携わり4年ほど。 JavaCOBOLExcelVBAをメインにやっていました。 もちろんSQLも普通に書いたりしつつ、触ったことのあるDBOracle、PostgresSQLSQLServer。 業務知識は主に流通系。Web開発とかもやりました。Javaでstruts1.Xとか、ASP.NETとC#とVBとか。 それと個人的欲求に基づき、Android

    SIerを退職し、Web系に転職しました - arveltのソフトウェア技術メモ
    ch1248
    ch1248 2013/08/03
    ※欄ブコメ欄併せて読みたい。
  • オブジェクト指向の本懐・あとがき・オブジェクト指向における再利用 - Strategic Choice

    「オブジェクト指向の懐」を書いていて、気付いたことが2つありました。1つめは「再利用」の意味です。オブジェクト指向的再利用いわゆるGoFと言われている書籍の正式名称は「オブジェクト指向における再利用のためのデザインパターン」です。私はこの「再利用」の意味をずっと勘違いしていました。これまでは、この再利用を「この書籍でデザインのパターンを紹介するので、そのパターンを是非再利用してください」という意味だと思っていました。しかし、この書籍の題意は「オブジェクト指向で流動的要素をカプセル化し、その他の部分を再利用するためのデザインのパターン」ということだったのです。 デザインパターンの流動的要素確かに、流動的要素のカプセル化は、多くのデザインパターンのテーマになっているようです。ただ、その観点で意識をしてデザインパターンを見たことがなかったので、当にそうなのか、考察してみる事にしました。Ab

  • やはりお前らはSICPを読むといい - *「ふっかつのじゅもんがちがいます。」withぬこ

    この記事はVOYAGE GROUP Advent Calendar の12/24分です なんか推敲が間に合わず、12/24に間に合いませんでしたが、今更だします。ごめんなさい。 SICP(計算機プログラムの構造と解釈)と言うをご存知ですか?私はこのSICPというが大好きで、社内でも何度も読書会を催しています。なぜ読書会をするかというと、一人で読みきるのは辛い(人もいる)ためです。 この記事では何がそんなに良いのかという説明をします。 そもそもこのは、MITの6.001という計算機科学講義の教科書としてデザインされ、実際に使われていたものだそうです(今は別なが採用されている)。 同様の初歩的な計算機科学の教科書の中でこのが特異だと私が感じるのは、おまじないやお約束を可能な限り廃して、ごく少数の根的な動作原理のみを仮定して、変数とは何か、関数とは何か、プログラミングするという行為は

    やはりお前らはSICPを読むといい - *「ふっかつのじゅもんがちがいます。」withぬこ
  • The Art of Computer Programming を読む 1P - 19P - にょきにょきブログ

    超無理ゲー。地球防衛軍をプレイして数時間で間違って難易度をHARDEST選択してしまった時の気分。 なので1節か1小節くらいに超小分けにして読んで行く。 当分は1章の基礎概念。 1.1アルゴリズム アルゴリズムという言葉の現代の意味は、レシピ、過程、方法、手法、手続き、ルーティンワーク、煩雑な手続きという言葉に似ている。しかしアルゴリズムはこれらとは少し違い、問題を解くための重要な特徴がある。 有限性 明確性 入力 出力 実効性 有限性とは アルゴリズムは必ず終了する必要がある。すなわち、答えを導く過程が発散してはならない。 明確性とは アルゴリズムの各ステップは明確に定義されていなければならない。曖昧さがあってはならない。現実的な問題として、プログラミング言語でアルゴリズムを表す際は明確に記述できるが、日語や英語でアルゴリズムの記述を行う場合は曖昧さが産まれるので注意が必要である。 入

    The Art of Computer Programming を読む 1P - 19P - にょきにょきブログ
  • L'eclat des jours(2013-05-06)

    _ すごいをもらった アスキーのすずきさんから、角さんと高木さんが訳したプログラマの考え方がおもしろいほど身につくをもらったので、連休最後だし、茶色(アスキーのシリーズは、茶-緑-青と難易度が上がる)だし、読んでみるかとぱらぱら読み始めて、びびった。 プログラマの考え方がおもしろいほど身につく 問題解決能力を鍛えよう!(V.Anton Spraul) このは、実に良い点を突いている。というか、おれは突かれてびびったのだった。 副題は「問題解決能力を鍛えよう!」となっているが、このの主題は、ある問題をプログラムで解決すべきときに、どのようにそれをプログラムとして考える(設計する)かの方法を説明したものだ。 一番最初の問題は、「狐とガチョウとトウモロコシ」、次にスライドパズル(15パズル)、数独、Quarrasiロック(回転錠)と続いて、どのように解くかを解説する。まだプログラムとは

  • プログラミングはそれ自体が目的であっていい - mizchi log

    これ読んで思ったこと。 プログラミングを勉強したい人が勉強する前にすべきこと - もとまか日記 http://d.hatena.ne.jp/moto_maka/20130512/1368308092 僕がプログラミングをはじめたとき、何を思ってプログラミングをはじめたか思い出してみようとしたけど、よく思い出せなかった。 ただ漠然と感じていたのは、プログラミングは個人が現実的にこの世界に直接手を加えることができる手段の1つであり、それをやらないのは勿体無い、といったことだったと思う。たぶん。 というわけで、最初にやったのはFirefoxのユーザースクリプトを書くことだったし、それはそれでよい経験だった。なんとなくゲームとかウェブアプリとか作りてーなー、と思って色んなライブラリを動かすだけ動かして満足した。プログラミング覚えて初めて最初の一年で10以上の言語のHelloWorldだけやったと思

    プログラミングはそれ自体が目的であっていい - mizchi log
  • ソフトウェア工学・ソフトウェア工学特論

    平成23年度 ソフトウェア工学 ソフトウェア工学特論 2012年後期(2単位)月曜日1限、電算機演習室 2012年後期(2単位)火曜日2限、73号教室 最終更新日:2013.1.27 - 渕田孝康 講義の目的 ソフトウェア工学の究極の目的はソフトウェア作成の自動化にある。「こういうソフトがほしい」と伝えれば、分析・設計・実装をすべて自動で行ってソフトウェアが出てくるような仕組みがあれば、ソフトウェア開発者は不要である。しかし、実際にはそこまで行くとは思われないし、行ったとしてもはるか未来の話だろう。もちろん、講義もそのような高みを目指してはいない(思ってもない)。 ソフトウェア開発方法論は歴史的にいくつかの段階を踏んで発達してきたが、現在では大きく2つの種類に大別できる。構造化技法とオブジェクト指向技法である。この講義では、それぞれの技法がどのような考えに基づいてソフトウェアの開発プロ

  • 情報系の書籍は常に新しいものをという話はウソ

    シスアド先輩のいうとおり、まだまだ発展途上のITに関しては常に新しいものを読まなければ、ついていけませんね。 あたしゃ結構前から情報系の書籍を見ていて,今も平日はほぼ毎日書店に通ってるんですけれど,情報系の書籍に関する限り,新しい書籍に新しいことが書かれているとは限らなかったりします。むしろ,情報系の新刊書籍の多くは,名著やバイブルと呼ばれるものの劣化コピーであることが少なくない。劣化コピーを読むくらいなら,古書でもちゃんとしたことが書かれているを読む方が,頭にもお財布にもいいはずです。 例えば,デザパタのを選ぶとき,現在まで出版されている書籍で役に立つと言えるのは,GoF で,それ以外のデザパタは読む必要がないとすら思っています。 これは,GoF がデザパタの元祖だから,とか,バイブルとして権威があるから,とかいった話ではありません。他書と比較して,これくらいしか使えるがない

  • Rubyのcaseを〇〇(言語名)のswitch文だと思っている人たちにぼくから一言ガツンと申し上げたい

    Rubyのcase」を一瞥し「あー要は〇〇(言語名)のswitchね」などと早合点し、その後もその真の価値を知ることなく一生を終えるプログラマが近年跡を絶たない。加えて、「今更条件分岐?RubyはOOPなんだからポリモフィズムじゃね?」とか「HashにProc突っ込んでcallするのがオレ流。」とかうそぶく人たちもまた増加の一途を辿っている。 そんな世の中にあって、ぼくは一言、できればガツンと一言申し上げたい。生まれも育ちもRubyなぼくから、是非ともそんな人たちに「Rubyのcase」について一言申し上げておきたい。 ─ 問題1 ─ 名前name、レベルlevel、ポイントpointの各属性を持った複数のCharacterオブジェクトcharlie, liz, benがある。 class Character < Struct.new(:name, :level, :point) def

  • プロとしての行為 Act as Proffesional

    「ソフトウェアのプロになるには書が必要だ!」と、ボブおじさんがおっしゃっております。 このボブおじさんは、あの有名なアジャイルマニフェストにも名前を連ねているRobert C. Martinです。 プロとしての最低限必要な知識、姿勢、規律など、教育を受けたり学んだことがあるプログラマはあなたの現場に何人ぐらいいるでしょうか? 今こそ、書を取って、プロとしての道を歩み始めて欲しい。(amazonでずっと売りきれだったけど、やっと入荷したようだ。すぐに売り切れそうではあるが…) プログラミングの練習僕はプログラミングの練習というのを意識的にあまりやったことが無い。日だとTDD Boot Campなどでおこなわれる小さなテーマでプログラミングをおこなうことである。書の6章に練習について書いてる。 個人的にはRubyKaigiで、ペアプロした外人が、これはToys Programming

    プロとしての行為 Act as Proffesional
  • Google のコードも最初は大学レベルだった - 武蔵野日記

    3月は論文の〆切が2-3個あるので、それを避けるように引っ越し日程を詰めているのだが、なかなか難しい。もはや数万円高くなるくらいは諦めている (論文の〆切間際は1日でも時間を大切にしたいので……)。 [twitter:@hillbig] くんが以前紹介していた「IN THE PLEX グーグル ネット覇者の真実」 グーグル ネット覇者の真実 追われる立場から追う立場へ 作者: スティーブン・レヴィ,仲達志,池村千秋出版社/メーカー: CCCメディアハウス発売日: 2011/12/16メディア: 単行購入: 8人 クリック: 447回この商品を含むブログ (55件) を見るを登美ケ丘イオン (NAIST から最寄りのイオン) で先日発見し (ちなみに高の原のイオンの書店にも何冊か入荷している)、少しずつ読んでいたのをようやく読了。ものすごいボリューム……。しかし少なくとも情報系の方は必読。

    Google のコードも最初は大学レベルだった - 武蔵野日記
  • Efficient data transfer through zero copy

    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.

    Efficient data transfer through zero copy
  • 4 月にエンジニアとなった人たちに知っておいてもらいたいこと

    個人的な経験を書きますが、ぼくはエンジニア生活 10 数年で 5 社を転職して渡り歩いています。そして、その 5 社すべてでなにかしらの勉強会なり研修なりといったものをやってきました。 そして、それが仕事であろうとなんだろうと自分がエンジニアに研修なり説明会なりをするときは、自分がもらったものを返すつもりでやってきました。そのときそのときは当然所属している会社があるわけですが、その会社のため (だけ) にやったことは一度もありません。プロジェクトによって参加している人の立場も発注元だったり受託開発の常駐エンジニアだったり様々だったので、あくまで一人のエンジニア同士として自分が伝えられることをなるべく伝わるような言い方で伝えるということをやってきました。その中では所属会社へ都合の悪い話も出たりしますが、これは所属会社へのコミットメントとは別の話です (PHP 使ってる会社で PHP の悪い点

    4 月にエンジニアとなった人たちに知っておいてもらいたいこと
  • feof関数でwhileループを回す奴はド素人 - hnwの日記

    (2013-04-07 01:30追記)補足のコードに恥ずかしい間違いがあったのを修正しました。@nonakapさん、id:s-tomoさん、ご指摘ありがとうございます。 (2013-04-07 10:00追記)「補足その2」を書き足しました。 (2017-04-23追記)論旨がわかりにくい部分があったので、整理しました stackoverflowの記事「“while( !feof( file ) )” is always wrong」をざっくり翻訳してみます。これはWilliam Pursellさんによる自作自演スレ(回答者も人)で、Cでwhile( !feof( file ) )というループを作るのが悪い理由を説明するものです。 ちなみにPHPについてもほぼ同じことが言えますので、PHPプログラマの方にも一読をお勧めします(PHPの主要なファイル操作関数はCとほぼ同じインターフェース

    feof関数でwhileループを回す奴はド素人 - hnwの日記
  • 古くて新しい自動迷路生成アルゴリズム - やねうらおブログ(移転しました)

    最近、ゲーム界隈ではプロシージャルテクスチャー生成だとか、プロシージャルマップ生成だとか、手続き的にゲーム上で必要なデータを生成してしまおうというのが流行りであるが、その起源はどこにあるのだろうか。 メガデモでは初期のころから少ないデータでなるべくど派手な演出をするためにプロシージャルな生成は活用されてきたが、ゲームの世界でプロシージャル生成が初めて導入されたのは、もしかするとドルアーガの塔(1984年/ナムコ)の迷路の自動生成かも知れない。 なぜ私が迷路のことを突然思い出したのかと言うと、最近、Twitterで「30年前、父が7年と数ヶ月の歳月をかけて描いたA1サイズの迷路を、誰かゴールさせませんか。」というツイートが話題になっていたからである。 この迷路を見て「ああ、俺様も迷路のことを書かねば!俺様しか知らない(?)自動迷路生成のことを後世に書き残さねば!」と誰も求めちゃいない使命感が

    古くて新しい自動迷路生成アルゴリズム - やねうらおブログ(移転しました)
  • プログラミングの初級になるためにの目次

    http://anond.hatelabo.jp/20130325172822 の続き 言語はJava7を想定。(Java8が迫っていますが、Lambdaなど関数型は、まだ早いと言うことで) 選定理由は、C++と比較して学べるところが大きく、安全でシンプルな言語だから。 ※いきなりJavascriptはやめとけ、PHPは論外。 RubyScalaでないのは、筆者が初心者には適切には教えられないから。 おもちゃ・ToyとしてjQueryで遊ぶのは、悪くは無いと思う。 0.はじめにこれ以降は名著の紹介や学習方法の紹介が主体となります。名著のコンポジションという形が時間的限界ですね。 量については「初級になるなら、専門書を計3,000ページは修得することは覚悟してね」なんて言ったりしています。 Javaで初級のわかりやすい指標ですと、[amazon:Effective Java]とGoFまでの

    プログラミングの初級になるためにの目次
    ch1248
    ch1248 2013/03/29
    初級というより中級の手引き。
  • プログラミング出来ない奴ちょっと来い

    プログラミング出来る方法教える。 世の中「プログラミング言語」を説くはごまんとあれど「プログラミング」を説くやブログはあまりない。 いや実際に "ない" というのはかなり語弊があるかもしれない。 しかし、通常この種の説明しているに辿り着くまでには多くの時間が必要だ。 普通の人は、多くの間違った方法を試し、その都度試行錯誤を重ね、プログラミング経験を経ることよって、重要な概念を獲得するのだと思う。 例えば、「計算機プログラムの構造と解釈」や「実用 Common Lisp」、「コンピュータプログラミングの概念・技法・モデル」などの書籍は現実の問題に対し "プログラム" をどう書くかという問題に正面から取り組んでいる良書だ。 しかし、どれだけ”普通の”プログラマが上記のような書籍を読んでいるのだろうか。 そして、"普通のプログラマ" がプログラミングを学ぶ書籍として、それらは果たして適切と

    プログラミング出来ない奴ちょっと来い
    ch1248
    ch1248 2013/03/27
    よく分からずIT業界に就職しちゃって、プログラミング出来ず泣きそうになってる人間には良いと思う。
  • [OCaml]書評「プログラミングの基礎」 - あどけない話

    僕はよく「関数プログラミングの入門書には何がいいか」という質問を受ける。そのときは必ずこの(と他のいくつか)を答えるようにしている。書評を書いたつもりになっていが、検索してみると書いてないようなので、反省して良書を紹介してみようと思う。 プログラミングの基礎 ((Computer Science Library)) 作者: 浅井健一出版社/メーカー: サイエンス社発売日: 2007/03/01メディア: 単行購入: 17人 クリック: 409回この商品を含むブログ (127件) を見る 書はプログラミングの経験のない人を対象としており、書名通りプログラミングの基礎が説明されている。使用する言語は OCaml である。著者の浅井先生は、お茶の水女子大学でプログラミングを教えている。授業の経験を元にしたにはよくあることだが、内容が実に整然としており、例題がこなれている。 初心者を対象と

    [OCaml]書評「プログラミングの基礎」 - あどけない話