パスワードを忘れた? アカウント作成
11954378 story
プログラミング

クラシックでオブジェクト指向のコンパイラ型言語、おすすめはObjective-C?それともC++? 117

ストーリー by headless
比較 部門より
Ask Slashdot: Which Classic OOP Compiled Language: Objective-C Or C++?

私は90年代初めからある、クラシックでオブジェクト指向のコンパイラ型プログラミング言語を選択しようとしているが、なかなか決めることができない。C++は常に選択肢の一つだが、Objective-Cもちょっと気になっている。Mac OS Xアプリを開発して収入を得たいなら当然Objective-Cを選択すべきだが、私がやりたいことに関していえば、どちらでもすべてのプラットフォームで満足のいく選択となるだろう。私はx86 Linux上で始めたいと思っているが、メインの開発プラットフォームとして使用することにもなる。他の言語を数多く知っているというわけではないが、FOSSとの結びつきが強く、広く使われているコンパイラ型言語を身に着けたい。その点に関してはObjective-C、C++のいずれも申し分ない。皆さんはどちらがおすすめだろうか。これら2つのプログラミング言語をどのように比較すればいいだろう。また、クロスプラットフォームでの開発(主としてGUIのないヘッドレスアプリケーション)の容易さはそれぞれどの程度だろうか。

11949955 story
プログラミング

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

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

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

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

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

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

11947688 story
プログラミング

フリーの楽譜作成ソフトLilyPond開発最新版リリース 29

ストーリー by hylom
非エンタープライズ分野では珍しい? 部門より
あるAnonymous Coward 曰く、

フリーの楽譜作成ソフトとして、コアなファンがついているGNU LilyPondの最新開発版であるバージョン2.19.16が2月28日に公開された。これだけなら何も目新しくない話だが、ニュースリリースに次のように日本人の名前が謝辞とともに書かれている。

We would like to acknowledge and thank Masamichi Hosoda for making this release possible with his work on updating GUB, the build tool.

このように、国際的なフリー・オープンソースソフトの世界で活躍する日本人が増えるのは喜ばしいことだ。皆さんご自身あるいは周辺で、このような活動をしている、してみたい、というような方は、いらっしゃるだろうか? また、それはどんな活動か、お聞かせいただけないだろうか?

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の過去記事)、さらに利用条件が緩和されたことになる。アマチュア・プロ問わず、ゲーム開発者にとっては朗報だろう。

11941297 story
ビジネス

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

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

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

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

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

11937104 story
Linux

投票の結果を受けてLinuxカーネルのバージョンが4.0に 43

ストーリー by hylom
5.0はいつになるだろうか 部門より
headless 曰く、

Linus Torvalds氏が先日、Linuxのバージョン番号は大きい(3.20)方がいいか、小さい(4.0)方がいいかGoogle+で質問していたが、オンライン投票の結果に従ってバージョンは「4.0」となり、Linux 4.0-rc1が公開された(SourceForge.JP MagazineコミットメッセージメーリングリストでのアナウンスPhoronixの記事Slashdot)。

タレこみ時点での総投票数は29,539票。得票率は小さい方が56%、大きい方が44%。また、「テスト投稿なので無視するように」という別の投稿にも6,000票以上が投じられ、「Hurr durr I'ma sheep」が63%の票を獲得してLinux 4.0のコードネームに選ばれた。Torvalds氏は「オンライン投票は駄目だ、との避けがたい結論に達した」と述べているが、質問した以上は投票結果を尊重するとしている。

Linux 4.0ではカーネルのライブパッチが可能となっているほか、ドライバーの改善やハードウェアサポートの追加などが行われている。ただし、4.0への移行は数字の問題であり、大幅な変更があるわけではないとのことだ。

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の出現により競合する方向へ進むことになった。」とのこと。

11930649 story
ビジネス

Linus Torvalds曰く、Linuxのカーネルコードを書く人を企業が雇っているのであり、ボランティアが減っているのではない 41

ストーリー by headless
因果 部門より
Linux Foundationが公開した最新の「Who Writes Linux」リポートによれば、カーネル開発に関わる無償のボランティアは減少傾向が続いており、2012年の14.6%から19%減の11.8%になったそうだ(Network Worldの記事本家/.)。

現在でも無償の貢献者によるコミットは11,968件、全体の12.4%を占めているが、コミットの80%以上が企業所属の開発者によるものとなっている。ただしLinus Torvalds氏によれば、企業所属の開発者によるコミットが増加してもカーネル開発そのものが変わることはないという。Torvalds氏は「これにより大きな変化が起こることはないと考えるのは、カーネルコードを書き始めた人たちは企業にすぐ雇われるだけで、それほど多くの無償ボランティアが去っているわけではない点が(企業所属の開発者増加の)原因として挙げられるからだ。」と述べたとのことだ。
11929741 story
Chrome

最も役に立つブラウザー拡張機能は? 86

ストーリー by headless
開発 部門より
本家/.「Ask Slashdot: Most Useful Browser Extensions?」より

サードパーティーの拡張機能をインストールできるのは、現代的なWebブラウザーの最も強力な機能の1つだ。これにより、サードパーティーの開発者が細かい便利な機能を作成でき、ユーザーは必要に応じて自分のブラウザーをカスタマイズできる。しかし残念なことに、このような環境でもスタンドアロンのソフトウェアと同様、検出可能性やセキュリティーの問題がある。そこで質問したい。最も役に立つ(そして安全な)ブラウザー拡張は何だろう。私はNoScriptやAdBlock、Ghosteryといった基本的なプライバシー機能なしではいられない。FoxyProxyもメディアストリーミングで地域的な制限を回避するのに役立つ。OneTabはブラウザーのタブグループを保存するのに便利だし、Pushbulletはパソコンを使っているときに携帯電話の管理をしやすくしてくれる。

皆さんのお気に入りの拡張機能にはどのようなものがあるだろう。また、どういった拡張機能があれば使ってみたいと思うだろうか。

11928641 story
プログラミング

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

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

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

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ちゃんねるへの投稿)。

11919869 story
プログラミング

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

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

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

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

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

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

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

11918805 story
プログラミング

自分の知識があまりない分野での仕事をしている開発者、どれぐらいいる? 128

ストーリー by headless
得手 部門より
本家/.「Ask Slashdot: What Portion of Developers Are Bad At What They Do?」より

わが社ではシニア開発者/アーキテクトの候補者を探している。現在のところ私は求職者に失望しており、確保できる開発者/エンジニアの質を正直言って心配している。たとえば、今日私はパブリック/プライベートキーによる暗号化の基本的なプロセスを説明するよう、20年以上の経験を持つエンジニアに質問したが、このエンジニアは何の知識も持っていなかった。他の求職者にも同様に「あなたが非常に機密性の高い情報を私に送るとしたら、あなたは私が復号する情報をどのように暗号化しますか」といった質問をしたところ、この人はExcelファイルなのか、PDFなのかといった質問を始めた。全般的に、私が面接した開発者の大半は重要な概念を理解しておらず、とりわけデータ保護の話になると、ほとんど理解していないことがわかった。他の会社では適切な求職者を探すのに同様の問題に直面していないのだろうか。(このような開発者が安全性を要するサイトを構築すると考えると、正直なところとても恐ろしいと感じる)

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は有害でないものと考えられる。

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」に相当する、という話だそうだ。

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

typodupeerror

アレゲはアレゲを呼ぶ -- ある傍観者

読み込み中...