タグ

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

  • 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

    あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを理解することで、よりよいプログラムを書くためのもので、正確なソフトウェア工学の歴史を学ぶためのものではありません。正確な歴史を把握したい場合は、原典をあたるようにしてください。 また、想定している読者は「よくあるオブジェクト指向プログラミングの学習」を既にし

    新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita
  • 性能を考慮したJavaのプログラミング

    同じ結果を提供するプログラムであっても、プログラミング上の実現方法は一通りではありません。 プログラマは、それらの中から最適な方法を選択すべく考慮しなければなりません。 そのときのひとつの判断基準に「性能(処理速度,消費資源)」があります。 ここでは、Javaのプログラミングにおいて「性能」を意識したときに、いくつかの考慮すべき事項について、書籍「Javaの鉄則」から参考になると思ったものを紹介したいと思います。 Contents オブジェクトの作成のコスト 出来るだけ継承の少ないクラスを使う,作る オブジェクト生成時の処理を軽くする オブジェクトは必要なときに作成する そのオブジェクトが再利用可能な場合は再利用する 変数の処理性能 頻繁にアクセスする変数にはスタック変数を使用する 変数は出来るだけプリミティブ型を使う インスタンス変数の無駄な初期化はしない Javaコンパイラ,JITによ

    mikurins
    mikurins 2015/01/28
    Javaもっと速くならないかなぁ
  • なぜJavaはC#と比べて駄目なのか - 負け犬プログラマーの歩み

    Javaは決して悪い言語ではない。 C++からポインターの「*」やアロー演算子の「->」とかスコープ演算子の「::」とか気持ち悪いものを廃止・整理して、比較的読み易いシンタックスになったと思う。1995年当時から見れば、十分に出来の良い言語だったと思われる。 でも後発のC#でコーディングする機会が増えてきたら、如何にJavaが駄目(というか保守的な)言語かってのもまた同時に痛感してしまう。2005年リリースの2.0の時点で既にJavaをほぼ完全に上回っていると思うのに、その後ラムダ式・LINQ・拡張メソッドなど数多くの新機能が加わった現行C#とは最早比べるまでもないと思う。 以下は根拠。 ■注(2014年2月18日) このエントリーは殴り書きに等しい状態で放置してましたが、最近は思わぬところで読まれ始めたりしたので、ちょっと加筆修正しました。 ①そもそも純粋なオブジェクト指向言語ではない。

    なぜJavaはC#と比べて駄目なのか - 負け犬プログラマーの歩み
  • オブジェクト指向を正しく理解する - 特集 オブジェクト指向は難しくない!:selfup

    オブジェクト指向はしばしば,とっつきづらく難しい技術と言われます。その理由の一つには,対象とする分野が広く,それぞれに深みがあることが挙げられます。しかし,それ以上にこの技術を難しくしている落とし穴とも言うべき原因が二つあると筆者は考えています。それは比喩を乱用する説明の仕方の問題と,「もの中心」を意味するコンセプト自体の問題です。 そこで特集では,「オブジェクト指向という言葉をよく聞くけど,実際どんなものかよくわからない」という方のために,初心者/入門者が陥りやすい落とし穴を明確にしながら,オブジェクト指向の全体像を説明します。余計な先入観やまぎらわしいたとえ話に惑わされなければ,オブジェクト指向そのものはそれほど難しい技術ではないことを理解していただきたいと思います。なお,オブジェクト指向プログラミング,デザインパターン,分析/設計といった個々の技術については特集2以降でそれぞれ解説

    オブジェクト指向を正しく理解する - 特集 オブジェクト指向は難しくない!:selfup
  • JVM言語で生産性を向上させよう

    「Xtend(エクステンド)」「Kotlin(コトリン)」「Ceylon(セイロン)」――。この3つのキーワードの共通点がわかるだろうか。一見すると、どこかの地名なのではないか、と思うかもしれない。しかし、これらの共通点は地名ではない。3つとも、ここ2年で登場した新しいプログラミング言語の名称だ。 この3つのプログラミング言語は、Javaプログラムの実行環境であるJava仮想マシン(以下、JVM)で動く、いわゆる「JVM言語」の部類に属する。JVM言語のコードは、コンパイルすると、JVMの上で動かせる「クラスファイル」になる。つまり、Javaでプログラムを記述する代わりにJVM言語で処理を記述し、JVM上でJavaプログラムと同じように実行できるわけだ。さらに、世の中にある膨大なJavaライブラリもJVM言語で利用できるようになる。 近年、JVMをJavaプログラムの実行環境ととらえるので

    JVM言語で生産性を向上させよう
    mikurins
    mikurins 2013/03/29
    発想はいいけどJVMの実行速度に縛られる言語を量産してもなぁ。CPUが速くなっても相殺されちゃう。まあマルチプラットフォームが目的で、速度はしょうがないのか。
  • 大企業はソースコードの管理に何を使っている?

    Facebookの元CTOだったダスティン・モスコヴィッツが立ち上げた質問サイト、Quoraにて大企業がどんなソースコード管理システムを使っているのか?という質問が挙っていました。Quoraは回答の質が高いという触れ込みでスタートしているサービスなのでこれらの情報は多分正しいのでしょう。 Facebook svn (一部の人はgitも使っている) Amazon perforce Zynga svn Netapp Perforce Google git(Android), Perforce Quora git SAP Perforce ebay Clear Case git(実験中) VMware Perforce この内容の限りだとオープンソースではgit、商用ではPerforceという流れがあるようですね。 via:http://www.quora.com/What-version-co

    大企業はソースコードの管理に何を使っている?
  • 「優れたPerlプログラマを見分ける27の質問」の日本語訳 - Islands in the byte stream (legacy)

    (追記あり) How to Identify a Good Perl Programmer (by chromatic) が面白かった*1ので、27の質問を訳してみました。chromatic氏によれば、いずれも単純明快な質問でPerlの哲学や特徴をよく現しており、優れたPerlプログラマであれば少なくとも80%は答えられるべきだそうです*2。あなたは全ての質問に答えられますか? Perl5において変数のシジル*3が示すものは何か 配列のアクセスする際の $items[$index] と @items[$index] の違いは何か == と eq の違いは何か ハッシュをリストコンテキストで評価すると得られるものは何か Perlドキュメントからキーワードを検索するにはどのようにするのか Perl5における関数とメソッドの違いは何か Perl5が変数のメモリを再利用するのはいつか 変数のスコー

    「優れたPerlプログラマを見分ける27の質問」の日本語訳 - Islands in the byte stream (legacy)
    mikurins
    mikurins 2011/03/02
    これらの質問の意図や、それが適切かどうかについて、他のプログラマと(他言語の専門家や入門者を含む)尽きることのない深い議論を交わすことができるのがもっとも優れたPerlプログラマかな。(少し斜め読み。)
  • 1