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

訃報: Haskell設計者Paul Hudak氏 45

ストーリー by headless
訃報 部門より
純粋関数型プログラミング言語 Haskellの主要な設計者の一人として知られる米イェール大学教授のPaul Hudak氏が4月29日、白血病のため62歳で死去した(Yale Daily Newsの記事イェール大学の発表本家/.)。

Hudak氏は2009年12月に白血病と診断され、2010年には幹細胞移植を受けていた。2013年1月までの闘病の様子は、The Yale Haskell GroupHudak氏の個人ページに記載されている。6年近い闘病生活を続ける間もセイブルック・カレッジの寮長を務め、キャンパスでの活動にも積極的に参加していたそうだ。亡くなる数週間前にも、学生がHudak氏のために開催したアートイベントに参加しようとしていたという。
12039129 story
プログラミング

MS、LinuxやMac OS Xでも動作する「Visual Studio Code」プレビュー版を公開 23

ストーリー by hylom
コードエディタ群雄割拠時代 部門より
insiderman 曰く、

Microsoftが開発者向けイベント「Build 2015」にて、WindowsだけでなくMac OS XやLinuxでも動作するコードエディタ「Visual Studio Code」を発表した(SourceForge.JPTechCrunch)。

ASP.NETやNode.jsアプリケーション開発向けとのことで、入力補完機能IntelliSenceや変数/プロパティの定義のポップアップ表示、ビルトインのデバッグ機能、Gitによるソースコード管理サポートなどを備えている模様。

デバッグ機能が使えるのはASP.NET 5とNode.jsのみのようで、またドキュメントの「Languages」ページを見ると、リファクタリングや定義の参照機能を利用できるのはC#とTypeScriptのみ。IntelliSenseについてはJavaScriptやJSON、HTML、CSS、LESS、SASSで利用でき、C++やObjective-C、Java、PHP、Python、XMLなどについてはSyntax Coloringおよび括弧の対応付けがサポートされるとのこと。Markdownのプレビュー機能もあるようだ。事前定義したビルドコマンドを実行する「Tasks」機能もあるとのことで、汎用のコードエディタとしても使えそうである(あれ、Perl対応は?)。

12035124 story
インターネット

JavaScriptを使用する開発者にとって、jQueryを学ぶ価値は現在でもあるのか 69

ストーリー by headless
複雑 部門より
過去10年近くにわたってWeb開発でJavaScriptを使用する際の重要な基盤に成長したjQueryだが、モダンブラウザーはかつてjQueryが補ってきた機能の多くを備えている。それでもjQueryを学ぶ必要はあるのだろうか(Dice Newsの記事本家/.)。

jQueryで実現可能なことはjQueryを使用しなくても実現できる。jQueryを使用することでシンプルな記述が可能となるものの、JavaScriptのネイティブ機能を直接呼び出す方が高速に処理を実行可能だ。jQueryでは、古いWebブラウザーだけが必要としていたコードを削り、モダンブラウザーのみをターゲットにしたバージョンの開発も進められている。その結果、モダンjQueryライブラリーは以前のバージョンよりも大幅にコードサイズが減少しているが、jQueryを捨てることが正当化されるようにも感じられるという。

多くの人がjQueryを不要と主張する一方で、現在もjQueryが必要となる大きな理由としてレガシーコードの存在がある。また、jQueryを使用することでコードがシンプルでエレガントになることを好む人々は、たとえ不要であってもjQueryを使い続ける可能性があるとのことだ。皆さんのご意見はいかがだろう。
12035121 story
アップグレード

数多くの新機能が追加されるLinux 4.1、ただしKDBUSは追加されず 69

ストーリー by headless
追加 部門より
本家/.「Linux 4.1 Bringing Many Changes, But No KDBUS」より

Linux 4.1の最初のリリース候補版が公開された。Linusは「マージ内容から見ても、マージウィンドウはとても普通だった。サイズの面では、4.0が通常よりも若干小さかったのに対し、4.1はこの数年の通常の範囲の中ほどだ。」と注釈している。Linux 4.1には数多くの新機能が含まれる。たとえば、Xbox Oneコントローラーのフォースフィードバックサポートや、Wacomタブレットのサポート改善、Intel Atom SoCのパフォーマンス改善、Radeon DisplayPort MSTのサポート、EXT4ファイルシステムの暗号化、ChromeOS Lightbarのサポート、64ビットARM用のACPIなどが挙げられるだろう。ただし、KDBUSはLinux 4.1に受け入れられなかった

Linus Torvalds氏は、特別驚くような新機能はないとしつつ、他の人が「大きな新機能」と考えるものが自分とは異なるかもしれないと述べている。皆さんはどう思われるだろうか。

12019141 story
プログラミング

前置インクリメント(++x) よりも後置インクリメント(x++) のほうが高速? 129

ストーリー by headless
演算 部門より
insiderman 曰く、

C/C++には「++x」(前置インクリメント) や「x++」(後置インクリメント) のようなインクリメント演算子がある。前者はxをインクリメントしてからその値を返すのに対し、後者はxの値をコピーしてからxをインクリメントし、コピーした値を返す。後置インクリメントは値をコピーする分遅いと言われていたそうなのだが、これとは逆の主張が話題になっているそうだ(闇夜のC++)。

これによると、前置インクリメントはインクリメント処理が終わるまで値を返せないのに対し、後置インクリメントはインクリメント処理が終わる前に値を返すことができる。そのため並列処理が可能になるなどのメリットがあるという。ただし、オブジェクトをコピーするコストについては議論されていないとのことなので、コピーに必要なコストが大きい場合は逆に処理が遅くなる可能性もある。

そもそもタレコミ子は前置インクリメントと後置インクリメントの処理の違いについては把握していたが、処理コストの違いについては知らなかったので非常に勉強になった(言われれば確かにそうだと理解できるのだが)。

記事で話題となっている書籍の英語版「Game Engine Architecture, Second Edition」は、該当部分をGoogleブックスで閲覧できるので、参照してほしい。

12013259 story
Java

Java SE 7系で最後となる予定のリリース「Java SE 7 Update 79」リリース 31

ストーリー by hylom
ついに 部門より
あるAnonymous Coward 曰く、

Oracleが14日、Java SE 8 Update 45とJava SE 7 Update 79をリリースした。ともに脆弱性の修正を含む定例アップデートとなる(窓の杜)。

Java SE 7のOracleによるサポートは4月30日に終了するため、今回のリリースが最後のパブリックアップデートとなる予定。以後は新たに脆弱性が発見されても、一般には修正パッチはリリースされない(INTERNET Watch)。

12012944 story
マイクロソフト

Microsoft、LLVMベースの.NET向けコンパイラをリリース 16

ストーリー by hylom
本気で.NETを他プラットフォームにも広げたいのか 部門より
insiderman 曰く、

Microsoftが、.NET中間言語(MSIL)をネイティブバイナリに変換するオープンソースのコンパイラ「LLILC」をリリースした。LLVMをベースとしたコンパイラで、現時点ではJITコンパイラとして利用できるという(SourceForge.JP Magazine)。

Microsoftは.NETの実行エンジンであるCoreCLRをオープンソース化しているが、LLILCではLLVMの技術を利用することで、LLVMがサポートするすべてのターゲットやプラットフォームに向けたコード生成が可能になる(可能性がある)としている。

また、AOTコンパイルのサポートも計画されているようだ。

12012865 story
Linux

Linuxカーネル 4.0リリース 24

ストーリー by hylom
ついに4へ 部門より
headless 曰く、

4月13日(日本時間)にLinuxカーネル 4.0「Hurr durr I'ma sheep」がリリースされた(メーリングリストでのアナウンスPhoronixSlashdotSourceForge.JP Magazine)。

既報の通りカーネルのライブパッチ機能が追加されており、ドライバの改善やハードウェアサポートの追加も行われているが、本リリースはかなり小さなリリースとなる。既知の問題点はなく、実験的な新機能も搭載されない。Linus Torvalds氏曰く、「solid code progress」リリースだという。一方、linux-nextから判断すると、次のバージョンは大きなリリースになるとのことだ。

12009831 story
プログラミング

7歳の子供にプログラミングを教えるには? 56

ストーリー by hylom
そこはファミリーベーシックだ 部門より
あるAnonymous Coward 曰く、

7歳の子にプログラミングを教えるのによい方法はあるだろうか?との問いがSlashdotにて投げかけられている。

子供の頃からプログラミングをしており、今ではそれを職としているという投稿者は7歳の息子にプログラミングの楽しさを教えたいという。息子は既にRobloxやMincraftでよく遊んでおり、コンピュータの使い方にも慣れているとのことで、まずは何か小さなゲームを作らせるのがよい出発点かと投稿者は考えているそうだ。子供向けのプログラミングリソースリストなるものがあるのも知っているがあまりの選択肢の多さに圧倒されてしまうといい、Slashdotterにアドバイスを求めている。

SlashdotのコメントにはScratchやKoduを勧めたり「やはりBASICから」といったコメントや、「読み書きや算数もままならないうちになぜプログラミングをさせたいのか?」といった意見、また「MinecraftやRobloxとプログラミングは別物であり、プログラミングを押し付けるのはどうかと思う」といったコメントが寄せられている。

子供にプログラミングを教える事、またその教え方などについて皆様はどうお考えだろうか。

12005379 story
プログラミング

Stack Overflowが開発者に対し行ったアンケート調査結果を発表 17

ストーリー by hylom
JSが人気なあたりがStack-Overflowっぽい 部門より
headless 曰く、

Stack Overflowが2015年のDeveloper Surveyの結果を発表している。アンケート調査には157か国から26,086人が参加しているが、日本からの参加者は63人。参加者が多かったのは米国(4,745人)、インド(2,461人)、英国(2,402人)などとなっており、英語での回答にちゅうちょしない開発者にバイアスのかかった調査結果になっているとのこと(Stack Overflow Developer Survey 2015Slashdot)。

Stack Overflowへのトラフィックは25%を米国からのアクセスが占め、インド(12.5%)、英国(5.5%)、ドイツ(4.2%)と続く。ただし、人口1000人当たりのアクティブユーザー数をみると、ルクセンブルクが最も多い39.8人。続いてアイスランドとスウェーデンが35人で並び、イスラエル(33.4人)、フィンランド(33.0人)、シンガポール(31.7人)が続く。比較的人口の少ない国が上位を占めているようだ。「Geography」の項目に記載された数字から計算すると、日本は2.5人だった。なお、この数字に英語版以外のStack Overflowへのアクセスが含まれるのかどうかは不明だ。

回答者の性別では男性が92.1%を占める。プログラミングの経験年数は男性では2~5年が最も多い31.2%で、11年以上(23.8%)、6~10年(23.0%)と続くのに対し、女性では2年以下が37.1%と最も多く、2~5年も30.1%を占めている。年齢層は25~29歳(28.5%)、20~24歳(24.6%)、30~34歳(17.8%)が多数を占める。プログラミングをどのように学習したのかという設問では、独学が最も多い41.8%で、大学のコンピューターサイエンス学部または関連する学部(37.7%)、仕事を通じた学習(36.7%)が続いている。

人気の高いテクノロジーはJavaScript(54.4%)、SQL(48.0%)、Java(37.4%)で、最もよく使用しているデスクトップOSはWindows 7(33.8%)、Mac OS X(21.5%)、Linux(20.5%)、Windows 8(19.5%)の順。テキストエディターはNotePad++(34.7%)とSublime Text(25.2%)の人気が高く、Vim(15.2%)が続く。タブかスペースかという設問ではタブが45.0%で、33.6%のスペースを上回っている。このほか、国別・職種別のカフェイン摂取量やテクノロジー別・国別の収入額なども調査されている。詳しくは調査結果を参照してほしい。

12004408 story
プログラミング

GitHub、「Git Large File Storage」を発表 13

ストーリー by hylom
GitHubユーザー的には便利かも? 部門より
insiderman 曰く、

GitHubがGit Large File Storage(Git LFS)なるソフトウェアを公開した(GitHubのリポジトリ)。Webサイトの説明によると、オーディオや動画、データ集、グラフィックといった大きなファイルをGitで扱いやすくするためのソフトウェアだという。

Gitでは、バージョン管理対象のファイルをリポジトリ内に圧縮された形で保持している。そのため、バイナリデータをバージョン管理しようとするとリポジトリのサイズが大きくなったり、各種操作に時間がかかるようになってしまう傾向がある。Git LFSではバイナリデータを別のストレージ(Git LFS Server)に分離して保存し、そこへの参照(ポインタ)のみをリポジトリ内に格納することでこの問題を解決するというもののようだ。

Git LFSはGitのプラグイン(機能拡張)として作成されており、「git lfs」サブコマンドで機能が利用できるようだ。なお、利用には別途Git LFSサーバーが必要となる。スタンドアロンで動作する「lfs-test-server」が公開されているほか、GitHub自身もGit LFSサーバーのホスティングをサービスとして行うようだ。

12000011 story
ソフトウェア

イースターエッグは消えていく運命なのか 62

ストーリー by hylom
そもそもApp-Storeで配信するようなアプリには組み込めないし 部門より
headless 曰く、

ソフトウェアの機能とは無関係な「イースターエッグ」の組み込みを禁止する企業が増加しているそうだ。イースターエッグはなくなってしまうのだろうか(BBC NewsSlashdot)。

Apple Macintoshの初期のモデルには設計者の写真や名前がイースターエッグとして潜まされていた。しかし、1997年にAppleに復帰したスティーブ・ジョブズ氏は、時間やディスク容量の無駄であり、競合他社がプログラマーの引き抜きに使う可能性もあるなどとしてイースターエッグを禁止した。当初は多数のイースターエッグをプログラムに組み込んでいたMicrosoftも、2002年に中止しているという。

イースターエッグがいずれは消えていくものとする意見の中には、プログラミングが企業のものとなるに従って公式な機能と無関係なコードを含めるのは困難になっていくといったもののほか、脆弱性を含む可能性やバックドアが組み込まれる可能性を指摘するものもある。また、趣味のプログラミングでもプロのプログラミングテクニックを導入することで、イースターエッグを組み込みにくい状況になっているという。

一方、ベテランプログラマーの中には、イースターエッグが消えていくというのは誇張され過ぎていると考える人もいるようだ。また、Webページに埋め込まれるイースターエッグは増加しており、Googleのようにマーケティングの一環としてイースターエッグを組み込む企業もある。

イースターエッグは遊び心なのか、セキュリティーリスクなのか、どちらだろう。皆さんは自分のプログラムにイースターエッグを組み込んだことがあるだろうか。

11998781 story
Mozilla

Rust 1.0.0 betaがリリースされる 23

ストーリー by hylom
一歩一歩 部門より
y-stm 曰く、

Mozilla発のプログラミング言語「Rust」バージョン1.0.0-betaが2015年4月3日にリリースされた(アナウンスリリースノート)。

アルファ版のリリースから3ヶ月と、当初のスケジュールだった「6週間でベータリリース」には至らなかったものの、目立った障害も無く開発は続いている(ちなみに6週間後に1.0.0リリースの予定)。

アルファ版のリリース後も(当初のプラン通り)破壊的な変更が加えられ続けていた。そのため、

  • ユーザーリポジトリから入手した他人のライブラリが修正しないとコンパイルできない
  • ナイトリービルドを落とし続ける必要がある

といった手間があったが、今後はバグフィックスやエラーメッセージの整備等を中心にアップデートを行う方針のため、ナイトリービルドではなくベータ版で動作確認するように推奨されている。

前日に動いていたコードが翌日にエラーを出すなど、開発の動向を注視していないと酷い目に遭うといった経験があるので非常に喜ばしい。一度試してみてはいかがだろうか。

11996450 story
マイクロソフト

Visual Studio 2015ではLinuxアプリケーション開発が可能になる? 60

ストーリー by hylom
作業フローはどうなるのだろう 部門より
あるAnonymous Coward 曰く、

Microsoftは米国時間3月31日、2015年に出荷を計画している同社の次世代統合開発環境となる「Visual Studio 2015」の製品ラインアップを発表した。新たに用意された紹介ページには「Build for iOS, Android, Windows devices, Windows Server or Linux」という一文が追加されており、クロスプラットフォーム化が進められているようだ(マイナビニュースSlashdot)。

この説明どおりであれば、「Visual Studio 2015」シリーズにはLinuxバイナリを生成する機能が装備され、Visual Studioを使用するより多くの開発者がLinux向けのソフトウェアを開発できることにつながる。ただし、Linuxについて記載されているのはこの一文のみであり、実際にものを見るまではどういうものかは判断しにくい。

11983625 story
プログラミング

コードを特に良いものとするのは何? 98

ストーリー by headless
品質 部門より
本家/.「Ask Slashdot: What Makes Some Code Particularly Good?」より

何がソースコードを特に「良い」ものとするのかについて開発者が話すとき、一握りの特徴が繰り返し言及される傾向がある(動作する、読みやすい、テストできる)。皆さんなら何をリストに加えるだろうか。

元記事のITworldでは良質なコードの特徴として、以下の8つを挙げている。

  1. 正しく動作すること
  2. 読みやすいこと
  3. テストできること
  4. メンテナンスしやすいこと
  5. きれいに整形されていること
  6. 変更しやすいこと
  7. シンプルであること
  8. 効率が良いこと
typodupeerror

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

読み込み中...