パスワードを忘れた? アカウント作成
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
2015年2月のデベロッパー人気記事トップ10
11941297 story
ビジネス

ソフトウェアの開発にかかる時間の見積を廃止したいプログラマーたち 150

ストーリー by headless
無駄 部門より
本家/.「The Programmers Who Want To Get Rid of Software Estimates」より

ソフトウェアの世界からプロジェクトの所要時間の見積をなくそうとする#NoEstimatesムーブメントについて、Mediumの記事が紹介している。所要時間を正しく見積もることは困難であり、時間の無駄だとプログラマーたちは主張する。一方、他のプロジェクト関係者は、計画を立て、プログラマーに責任をもって仕事をさせるために見積が必要だと考えている。妥協点はあるのだろうか。

記事によれば、「ソフトウェアプロジェクトの見積は誤っていることがあまりに多く、見積を作るのに時間を使えば使うほど、実際にソフトウェアを作成する作業時間が減ってしまう。また、マネージャーは開発者が適当に作った見積を契約上の締め切りのように扱う習慣があり、見積時間内に完成しなければ大騒ぎする。それだけではない。そのような結果を恐れる開発者は、より多くのエネルギーを見積という兎の穴に注いでいく。見積はヤクの毛刈りのように、実際の仕事を先送りにする儀式となっている。」とのことだ。

Mediumの記事で最初にリンクしているツイートは2年以上前のものだが、実際に見積がなくなるまでにはどれぐらいの期間が必要だろうか。

11920139 story
プログラミング

2ちゃんねる、専用ブラウザにAPI使用を義務付け。違反者には法的対応も? 181

ストーリー by hylom
クローズドな世界へ 部門より
あるAnonymous Coward 曰く、

これまで掲示板データがdatファイルという単純な形式で公開されていた「2ちゃんねる」(以下2ch)だが、datへのアクセスを廃止し、APIを用いたアクセスならびに開発者にAPIの使用許諾を取得することを義務付けることが発表された(株式会社ジェーンによるアナウンスGIGAZINE)。

datとはいわゆる2chのcgiが参照する生データのこと。単純な形式であることから、また過去cgiが負荷によりたびたび閲覧不可となったことから、datファイルを直接参照する専用ブラウザが多数開発され用いられてきた。今回の発表では「datへのアクセスは近日廃止」と予告されており、また「3月3日以降専用ブラウザを開発する場合は、2ch.netの所有者であるRaceQueen社の許諾を得てAPIを用いる必要がある(ジェーンが一部代行)」「使用許諾を得ずにAPIを使用することは不正アクセス法違反となる」ことが通知されている。

ユーザーにとっては、専用ブラウザ側が移行してくれれば影響は少なそうであるが、Webアプリ型やJavaScriptの専用ブラウザ、また専用ブラウザ以外のアプリについては使用許諾されないという話があるので注意が必要である。

また、オープンソースの2ちゃんねるブラウザについては許諾されない、という話も出ている(2ちゃんねるへの投稿)。

11918380 story
プログラミング

C言語の開発者によるgoto文の使い方を対象とした実証研究の結果、「goto文は無害だと考えられる」 106

ストーリー by headless
無害 部門より
Edsger Dijkstra氏がgoto文の危険性を主張したのは1968年。それから50年近く経過した現在もgoto文は使われ続けているが、Dijkstra氏が懸念したようなgoto文の無制限な使用が行われているのかどうかという点や、それがバグの原因となるような有害なものなのかどうかといった点については、よくわかっていなかったという。こういった点に関する実証研究が本家/.で紹介されている。

本家/.「Empirical Study On How C Devs Use Goto In Practice Says "Not Harmful"」より

200万近いC言語のファイルと1万1千件を超えるプロジェクトからランダムに抽出した統計的に有効なサンプルを質的および量的に分析したところ、開発者はほとんどの場合gotoの使用を適切に制限しており、Dijkstra氏が懸念したような無制限な使用は行われていないことが判明した。これらのことから、実際にはgotoは有害でないものと考えられる。

11914203 story
教育

再帰呼び出し、よく使う?使わない? 141

ストーリー by headless
道具 部門より
本家/.「AP Test's Recursion Examples: An Exercise In Awkwardness」より

FacebookのAP Computer Sicence(大学先修課程のコンピューターサイエンス科目)グループ(非公開)に投稿された、再帰呼び出しを使って0から6の数字を出力するコード例について、「APの試験で粗末なコーディング技術が使われていることを示す例がまた現れた」とAlfred Thompson氏が皮肉った。Thompson氏は「我々はしばしば、コード例に理想的ではないコーディング技術を使わざるを得ないこともある」と指摘。「通常は使うことのないコードを例にするのは、物事を明確にし、特定の概念を説明するためだ。特に再帰呼び出しを必要とする例はかなり複雑になる傾向があるので、このようなコード例は再帰呼び出しの解説で多く使われているようだ。」という。「0123456」を出力するためにループではなく再帰呼び出しを使用しているのは再帰呼び出しの処理を教えるためではあるのだが、Thompson氏はこれも粗末なコーディング技術の例であると主張する。

ただし、「再帰呼び出しで反復処理を行うのが一般的な関数型プログラミングを学んできた人は、当然これに同意しないだろう。」と付け加える。「金槌しか持っていなければ、すべての問題が釘に見えるなどと言われるが、再帰呼び出しとループの問題も同様だ。反復処理のために最初に選んだ(または最初に学んだ)のがループであれば、再帰呼び出しを解決方法だとは思わない傾向がある。同様に(関数型プログラミングで一般的な)再帰呼び出しから始めたのであれば、再帰呼び出しが反復処理のためのものだと考えるだろう。」とのことだ。皆さんの場合、再帰呼び出しをよく使う傾向があるだろうか。それとも避ける傾向があるだろうか。

11928641 story
プログラミング

注目を集め始めるプログラミング言語「Nim」 60

ストーリー by headless
注目 部門より
本家/.「Nim Programming Language Gaining Traction」より

Nimは最近注目を集め始めている新しい静的型付けプログラミング言語だ。入門用としては「Nimの特別な点は何か」「何がNimを実用的なものにしているか」「どのように導入するか」といった記事を読んでみるといいだろう。言語的にはPythonやPascalの影響を受けた文法を使用しており、優れたパフォーマンスやC言語とのインターフェイス、そして強力なメタプログラミング能力などを提供する。「Unix in Rust」の作者がRustを捨ててNimに移行したほか、アーリーアダプターの企業でも使われ始めている。

11916536 story
プログラミング

Javaで書かれたソースコードの大部分は冗長? 116

ストーリー by hylom
なんとも難しい 部門より
insiderman 曰く、

本家SlashdotでYour Java Code Is Mostly Fluff、New Research Finds(あなたのJavaコードの大半は無駄なもの、新たな研究で判明)なる記事が出ている。元ネタはITworld

さらにその元ネタの論文を見ないとなかなか意味が把握しにくいのだが、自然言語による文章解析をプログラムコードにも適用したところ、そのような結果が得られたという話のようだ。

自然言語で書かれた文章は、その一部の単語がなくなったとしても意味を把握できることが多い。このように文中でなくなっても意味が変わらない単語を「chaff」(もみ殻)と呼び、逆にその単語がなくなると意味が分からなくなる/意味が変わってしまう単語は「wheat」(小麦)と呼ぶという。自然言語でこのような「chaff」と「wheat」を抽出する手法をプログラミング言語にも応用してJavaソースコードを分析したところ、「wheat」に相当する部分はソースコードの約5%程度で、残りの95%はなくなっても意味が変わらない「chaff」に相当する、という話だそうだ。

実際、ソースコードの多くが冗長であると言われても確かにそうなのだが、自然言語処理の話をプログラミング言語に適用するのはやや乱暴な気はする。そういった冗長な部分こそ自動生成できないケースも多いわけで、プログラマの作業の大半は不毛だと言われても納得してしまうが。

11931489 story
Java

開発者のマインドシェアを奪い合うJavaとNode.js 83

ストーリー by headless
競合 部門より
本家/.「Java Vs. Node.js: Epic Battle For Dev Mindshare」より

20年前には思いもよらなかったことだが、現在はJavaとJavaScriptがプログラミングの世界で覇権を争っている。InfoWorldのPeter Wayner氏が、昔ながらのコンパイラ方式のJavaが守り続けている領域と、Node.jsにより速度と柔軟性を獲得したサーバーサイドのJavaScriptが選ばれる領域との仕分けを行っている。

記事によれば、「コンピューティングの歴史で、1995年はとても忙しいときだった。Javaが登場し、JavaScriptが続いた。名前から同じ系統と思われがちだったが、2つは全く異なるものだった。一方はコンパイル方式で、静的型付けを使用するのに対し、もう一方はインタープリター方式で、動的型付けを使用する。これは2つのまるで方向の異なる言語の技術的相違点の一部に過ぎないが、Node.jsの出現により競合する方向へ進むことになった。」とのこと。

11900095 story
プログラミング

盲目のプログラマーはどのようにコードを書くのか 27

ストーリー by headless
盲目 部門より
本家/.「How Blind Programmers Write Code」より

プログラマーの中には盲目の人もいる。その一人、Ed Summers氏は30歳で視力を失い、現在はソフトウェアエンジニア兼アクセシビリティ専門家として働く傍ら、盲導犬 Willieのブログのゴーストブロガーもやっている。目の見えない人がどのようにしてコードを書くのか不思議に思う人もいるだろう。生まれながらにして盲目のFlorian Beijers氏の場合、普通のDell Inspiron 15R SEノートパソコンと、彼が信頼するオープンソースのスクリーンリーダー「NVDA」があればコードを書くだけでなく、一般的なパソコン操作は問題なくできるという。彼は「これが盲目のコンピューターユーザーのニーズに適応するもののすべてだ」と述べているが、ちょっとした希望としては「あなたが次に素晴らしいUIとワークフローを搭載した大きなアプリケーションを書くとき、要素の一つとしてアクセシビリティを考慮していただければと思う。この時代にUIツールキットを使わない手はない。きっとあなたが考えるよりもずっと簡単にできるはずだ。」とのこと。

Beijers氏はEclipseやVisual Studio、NotePad++を使用してコードを書いているが、人気ツールの中にもアクセシビリティ機能がなく、使用できないものもあるという。読み上げ機能の標準では「左かっこ/右かっこ(left paren/right paren)」のように記号もすべて読み上げられるが、コードを書く際にはじゃまになるため、かっこの読み上げだけはデバッグで必要になるまでオフにしているそうだ。また、読み上げの速度は、使い慣れていなければ追いつけないほど高速に設定しているとのことだ。

11919869 story
プログラミング

「すべての人にコード教育」は本当に必要? 88

ストーリー by hylom
そういう問題なの 部門より
headless 曰く、

本家/.「Should We Really Try To Teach Everyone To Code?」より。

すべての人がコードを学ぶべきとする風潮に対して、それが本当に必要なことなのかどうか、Gottfried Sehringer氏がWiredの記事で問いかけている。

記事では「もしも人々に何が欲しいのか聞いていたなら、彼らはもっと速い馬が欲しいと答えていただろう」というヘンリー・フォードの言葉を引用し、アプリケーション開発における「速い馬」はコードの書き方を学ぶことなのだとしている。つまり、多くの人々はアプリケーション開発手段としてコードを書くことしか知らないためにコード教育が重要だと思っているが、実際に我々が必要としているのは自動車なのだという。

アプリケーションを作りたければコードを書く必要があり、より多くのアプリケーションが必要となればより多くの人々にコードの書き方を教える必要がある。しかし、プログラミング言語は一般大衆向けのものであるのかどうか、子供たちを含め、すべての人にコードを書くことを教えるべきなのかどうかといった点に疑問を呈し、コードを書かずにドラッグ&ドロップなどの簡単な作業で優れたアプリケーションを作成できる環境(自動車)が必要だと主張している。

一方、米国のオバマ大統領はRe/codeのインタビュー(動画)で「すべての人々が早いうちにコードを学ぶ必要がある」と答えている。ただし、これは長期的な目標であり、国内で人材が育つまで必要な人材を国外から確保するため、移民政策の見直しが必要であるとも述べている。

11901694 story
Perl

Perl 6は年内にリリースされる? 45

ストーリー by hylom
ついに出るか 部門より
insiderman 曰く、

2000年に開発がスタートし、ついに開発開始から(リリースが実現されずに)15年を迎えるPerl 6だが、Perlの生みの親であるLarry Wall氏が、今年中のPerl 6.0のリリースと望んでいるという。具体的なスケジュールとしては、今年のクリスマスにPerl 6.0のバージョン1.0(分かりにくい)をリリースしたいと考えているようだ(Phoronix)。

先週末に開催されていたフリーソフトウェア/オープンソースソフトウェア関連イベントFOSDEMで明かされたもの。また、perl.orgのshadowcat_mdkブログでもこの件について報告されている。

typodupeerror

私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike

読み込み中...