パスワードを忘れた? アカウント作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2015年3月のデベロッパー人気記事トップ10
11973172 story
データベース

MySQL/MariaDBではなくPostgreSQLを選ぶ理由 56

ストーリー by headless
比較 部門より
本家/.「Why I Choose PostgreSQL Over MySQL/MariaDB

過去10年、開発者や技術者はMySQLとPostgreSQLを比較し、後者が技術的には優れていると考える人が多かった。PostgreSQLの支持者は、そのANSI標準サポートやACID準拠がMySQLのスピードに勝ると主張する。しかし、すべてのLinux Webホスティングパッケージに含まれることから、非常に多くのWeb開発者がMySQLを使い続けている。Diceの記事では、開発者のDavid Bolton氏がMySQL/MariaDB 5.7.6(2015年3月9日、コミュニティーにリリース)とPostgreSQL 9.4.1を比較し、サブクエリやJSONサポート、ライセンス、データの完全性といった点で現在もPostgreSQLの優位性は変わらないとみる。10年以上にわたって両方のデータベースを使用しているというBolton氏は、MySQLにも改善はみられるものの、PostgreSQLを支持するとの結論に達している。

11961872 story
プログラミング

Linus TorvaldsのC++批判は正しかったのか 130

ストーリー by headless
主張 部門より
本家/.「Was Linus Torvalds Right About C++ Being So Wrong?」より

最も有名なC++への批判は、おそらく2007年のLinus Torvalds氏の発言だろう。「C++はひどい言語だ。」彼はこう書き始める。「これをさらにひどいものにしているのは、水準以下のプログラマーが数多く使用していることで、またさらに簡単に完全なゴミを作り出せるようになっている点だ。」と続く。C++を嫌うのは彼だけではない。STLやBoostを潜在的に不安定で非効率にした原因がC++だと考える開発者も多い。しかし、C++の需要がなくなることはない。Diceの記事では、C++はそれほど嫌悪するべきものではないとJeff Cogswell氏が主張している。「実際には一度しか使用しないのにも関わらず、複数の継承を重ねて再利用可能なクラスを作成するといった、過剰な設計をこれまでに何度も目にしてきている。」と、Cogswell氏は語る。「しかしこれは例外であり、標準ではないと主張したい。適切に使用すれば、一般的なプログラミングや、C++のより高度な機能を使用したプログラミングで、大きな利益が得られる。」とのこと。Linusの発言は行き過ぎだったのだろうか。

11982168 story
プログラミング

メモリー上で処理するよりもディスクに直接書き込む方が高速? 86

ストーリー by headless
効率 部門より
ソフトウェア開発者の間では一般的に、ディスクアクセスを避けてできるだけメモリー上で処理することが実行時間の短縮につながると考えられているが、これに逆行する研究結果をカナダ・カルガリー大学とブリティッシュコロンビア大学の研究チームが発表した(論文: PDFITworldの記事本家/.)。

実験はJavaおよびPythonを使い、WindowsおよびLinux上で1バイト、10バイト、1,000バイトの文字列をそれぞれ100万バイトになるまで繰り返し結合し、結果をディスクに書き込むというもの。比較対象としては同じく1バイト、10バイト、1,000バイトの文字列を結合せずに計100万バイトになるまで直接ディスクに書き込んでいる。また、同じコードにより100万バイトの文字列を処理する実験も行っている。

その結果、Javaで1バイトの文字列を結合処理してからディスクに書き込んだ場合、ディスクへの直接書き込みと比べて約9,000倍の時間がかかったという。PythonではJavaほどの速度低下は見られなかったものの、直接書き込みの方がメモリー上での処理よりも数百倍高速だったとのこと。また、Linux上で実行したPythonのコードでは、元の文字列に新しい文字列を結合する方が新しい文字列に元の文字列を結合するよりも高速だったとしている。

論文ではこのような結果になった原因として、OSによるバッファリングがあるためにディスクへ直接書き込んでも速度がそれほど低下しないと指摘。また、OSのメモリー管理がメモリー上での処理を低下させる原因になる可能性もあるとし、開発者はOSやライブラリーなどについてより多くの知識を持つことでパフォーマンスを改善できるなどと結論付けている。ただし、論文の最後に掲載されているコードを見ればわかるように、文字列の結合には「+=」または「+」を使用しており、効率の良い処理を選択しているとはいえない。論文には「JavaではStringBuilderやStringBufferといったミュータブルなデータ型を使用すれば結果が大幅に改善する」といった記述もある。本家/.では結論に合わせた結果が出るように実験したのではないかとの指摘もみられるが、皆さんはどう思われるだろうか。
11949955 story
プログラミング

リファクタリングしてもコードの質は改善されないという実験結果 83

ストーリー by hylom
動いているコードは触るなという教訓 部門より
eggy 曰く、

ソースコード中の記述を整理したり、変数名や関数名を分かりやすく書き換えることはリファクタリングと呼ばれているが、実験の結果、リファクタリングを行ったとしてもコードの質が格段に良くなるものでもないことが分かったそうだ(ITWorldSlashdot)。

調査を行ったのはスリランカの研究チーム。リファクタリングによりソフトウェアの品質が外部的・内部的にどれほど向上するのかを調べたそうだ。実験には、オンラインドキュメント評価のスケジューリングおよび管理を行う小規模のアプリケーション(4,500行ほどのC#コード)が用いられ、10個の一般的なリファクタリング技術が適用された。

実験の結果、実際の統計では大きな差はみられなかったもの、参加者らの採点によればリファクタリングされたコードの方が解析性が劣り、コードのバグ修正と実行にはより時間がかかるようになったという。また、リファクタリングしたからといってリソース使用量が減るという結果も得られなかったという。唯一、リファクタリングすることの利点として保守性指数が僅かに高かったものの、品質を測るほかの内部測定では、リファクタリングしたからといってパフォーマンスが上がるわけでもないことが分かったとのこと。

小規模のアプリケーションを用いた実験であるため、この結果に対する懐疑的な見方もあるだろうが、リファクタリングが嫌だと感じている人にとっては、わざわざリファクタリングしないことの十分な理由となるだろうとのこと。

11970991 story
プログラミング

MSBuildがオープンソース化される 43

ストーリー by hylom
意外なものが 部門より
insiderman 曰く、

Visual Studioなどで使われているMS製Makeツール「MSBuild」がオープンソース化された。すでにGitHub上にてソースコードが公開されている。現時点ではWindowsのみをサポートし、ビルドにはVisual Studio 2015 Previewが必要とのこと。ライセンスはMITライセンスなので、誰かがビルドして再配布してくれると良いのだが(汗)。

.NET Coreのオープンソース化による動きの1つのようで、告知が行われている.NET Framework Blogによると、LinuxやMacのサポートも行われる予定だという。

Windowsでのmakeツールというと、古い人間的にはnmakeのほうが親しみがあったりするわけだが、XMLベースのMSBuildは手書きで設定ファイルを書くのが大変そうというイメージでVisual Studio経由でしか使ったことがない。今後はAntやMavenのように、積極的にオープンソースソフトウェアで使われるようになるのだろうか?

11957736 story
プログラミング

「プログラミング時専用BGM」を収録したアルバムがリリースされる 35

ストーリー by hylom
難しいことを考える人もいるもんだ 部門より
headless 曰く、

Slashdot「Musician Releases Album of Music To Code By」より。

MIDI楽器を使用してプログラムコードを入力する試みが以前話題となったが、今度はプロのミュージシャンでプログラマーのCarl Franklin氏が、コードを書く時に特化したBGMのアルバムをリリースした。Franklin氏は「最も難しかったのは、本当の音楽を作ることに私の本能を戻すことだった。」と、ITworldのPhil Johnson氏に語る。「この音楽はバックグラウンドに溶け込む必要がある。リスナーの気が散るようなものであってはならないが、退屈なようなものであってもならない。ほとんどのミュージシャンが気が狂いそうになると考えられるようなことが、特に難しかったところだ。」

このアルバム「Music to Code By」は、Kickstarterで資金を調達して制作されたもので、25分のインストゥルメンタル曲が3曲収録されている。価格はCD版が20ドル、MP3版が18ドル。皆さんがコードを書くときには、何かBGMをかけているだろうか。かけている場合はどのような音楽だろう。Webサイトでは試聴が可能なので、ご感想もお聞かせいただきたい。

11964310 story
Windows

Microsoft、Windows 10に対する100万件目のフィードバックを受け取る 47

ストーリー by hylom
期待と不安 部門より
headless 曰く、

本家Slashdot「Microsoft Has Received 1 Million Pieces of Feedback For Windows 10」より。

Windows 10 Technical Previewの「Windows Feedback」アプリによる100万件目のフィードバックをMicrosoftが受け取ったことを、Windows Insider Programの責任者 Gabriel Aul氏がTwitterで報告した。

このアプリはWindows Insider Program参加者がWindowsに対する感想や問題点、改善してほしい点などをMicrosoftに送信するためのもので、オペレーティングシステムの開発で非常に重要な役割を果たす。アプリはデスクトップ版およびモバイル版(Windows 10 Technical Preview for Phone)の両方で利用可能で、スタートメニューから起動できる。

ここ最近のMicrosoftは消費者のフィードバックを真剣に聞く努力をするようになり、新機能に関して議論する道を開いているように思われる。皆さんはこのアプリを使ってフィードバックを送信したことがあるだろうか。

11947480 story
ゲーム

ゲームエンジン「Unreal Engine」、無償化へ 40

ストーリー by hylom
数打ちゃ儲かる方式 部門より
あるAnonymous Coward 曰く、

PC/専用機/スマホを問わず多くのゲームで採用されているEpic Games製のゲームエンジン「Unreal Engine 4」が無償化され、「四半期ごとの売り上げから3000ドルを超えた部分のうち5%がロイヤルティ(成功報酬)になる」というビジネスモデルに移行するそうだ(4Gamer)。

Unreal Engine 4は2014年に月額19ドルのサブスクリプション式で商業作品として発売されたタイトルには5%のロイヤリティを課す、というビジネスモデルに転換したが(4Gamerの過去記事)、さらに利用条件が緩和されたことになる。アマチュア・プロ問わず、ゲーム開発者にとっては朗報だろう。

11982076 story
PHP

次期PHPでは、引数や返り値のスカラー型宣言が可能に 33

ストーリー by headless
宣言 部門より
あるAnonymous Coward 曰く、

やや旧聞となるが、PHPコミュニティは数年にわたる議論と幾度もの投票の果てに、PHPの次期バージョン(PHP7)で関数の引数や返り値でintやstringなどのスカラー型の宣言を可能にする提案を3月17日に可決したという(PHP RFC: Scalar Type Declarations東北ギークの記事)。

今回導入が決定された機能は「スカラー型宣言(Scalar Type Declarations)」と呼ばれるもので、これまでオブジェクトや配列でしか使用できなかった型宣言(タイプヒンティング)を拡張し、新たにint, float, string, boolのスカラー型も指定できるようにするもの。PHP7では元々返り値の型宣言の導入も予定されていたため、スカラー型宣言は引数と返り値の両方で使用可能となる。

興味深いことに、スカラー型宣言には暗黙の型変換を行うデフォルトの「弱い型検査」の他、ファイルの先頭でモードを宣言する「厳密な型検査」が搭載されるという。これは元々コミュニティに弱い型検査を求める人々と厳密な型検査を求める人々がおり、RFCが2010年頃から何度も提出されつつも双方が対立して可決に必要な3分の2に達しなかったことから、共倒れを避けるため両方の仕様が採用されたためとのこと。

11956640 story
ゲーム

NVIDIA、PhysX SDKのソースコードを公開 2

ストーリー by hylom
GitHubってそういう使い方もできるのか 部門より
insiderman 曰く、

NVIDIAが物理演算ライブラリ「PhysX」のSDKのソースコードを公開したとのこと。Unreal Engine 4の無料化、ソースコード公開に対応したものらしい(Phoronix)。

なお、ソースコードはGitHub上で公開されるそうだが(NVIDIAのGitHubアカウント)、ライセンスはフリーソフトウェアライセンスに適合するものではなく、NVIDIAの開発者向けサイトにてEULAに同意した上でGitHubアカウントを登録することで、GitHub上の該当のリポジトリへのアクセス権が付与される模様(NVIDIAの開発者向けサイト上の解説ページ)。

typodupeerror

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

読み込み中...