タグ

ブックマーク / developers.srad.jp (58)

  • C言語の開発者によるgoto文の使い方を対象とした実証研究の結果、「goto文は無害だと考えられる」 | スラド デベロッパー

    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氏が懸念したような無制限な使用は行わ

    ume-y
    ume-y 2015/02/16
    「 天然痘での死者が出ていないからCDCに保管されてる天然痘ウィルスは無害だった、って主張だよね」
  • プログラムを書いたことがある最も尋常でない場所は? | スラド デベロッパー

    尋常でない場所や状況でSASプログラミングをしたことがあるかという4つの質問がSAS Blogsに掲載されているが、個人的には範囲をプログラミング全般に広げたら面白いのではないかと思う。4つの質問は次のようなものだ。 プログラムを書いた場所の中で、最も尋常でない場所 プログラムを書いた状況の中で、最も尋常でない状況 プログラムを書くのに使用した、最も尋常でないコンピューター環境 これまでにプログラムを書いた中で、最も尋常でないアプリケーション

  • Visual Studio 2013 リリース | スラド デベロッパー

    Windows 8.1の話題の影に隠れている感があるが、Microsoftは17日、総合開発環境「Visual Studio 2013」の提供を開始した(CodeZineの記事, 家/.)。 主な変更点は、Windows 8.1アプリ開発のサポート、デバッグ機能の強化、Gitによるバージョン管理のサポートなどだという。これまで同様機能限定のExpressエディションも提供されており、無償での利用が可能となっている。また、あわせて「.NET 4.5.1」「Team Foundation Server 2013」も公開されている。 Windows 8からWindows 8.1は無償アップグレードが提供されるが、Visual Studio Professional 2012からVisual Studio Professional 2013へのアップグレードは有償。アップグレード版は1月末までキ

    ume-y
    ume-y 2013/10/21
    Gitサポートだと。
  • プログラマーがするべきことで最も大変なことは? | スラド デベロッパー

    ソフトウェアの開発は簡単な仕事ではないが、プログラマーに言わせれば(少なくともQuoraやUbuntu Forumsでの不満の声を聞く限り)、プログラミングの仕事にはコードを書くことよりも面倒なことが多いようだ。これらのフォーラムでのコメントからITworldのPhil Johnson氏がまとめたところによると、開発者にとって最も大変なのは変数などに名前をつけることだったという。/.erにもソフトウェア開発者が多いと思われるが、仕事で最も大変なのはどんなことだろうか。 変数やプロシージャ、関数、クラスなどに名前を付けること 家族や友人技術系でない同僚などに自分の仕事を説明すること 完成までの所要時間を見積もること 周囲の人々とうまくやっていくこと ほかの人が書いたコードに関する仕事をすること 自分が必要ないと思う機能を実装すること ドキュメントを書くこと テストを書くこと ソリューション

    ume-y
    ume-y 2013/10/21
    名前つけるのは結構悩む。
  • ロシアで新しい祝日、「プログラマーの日」制定される | スラド デベロッパー

    ロシアで新しい祝日「プログラマーの日」が制定されたそうだ(家/.より)。 この祝日は1年の「256」日目である9月13日(うるう年の場合は9月12日)に定められたとのこと。プログラマーに祝日が制定された詳細の理由は分からないが、ロシアではこうした特定の職業を祝う日は他にはない模様(参考:地球の歩き方)。 また、タレこみ人は初耳だったのだがロシアの声によると「9月13日は、こうした祝日の制定が行われる前からプログラマーの間では非公式的な形で祝われてきている」とのことだ。

    ume-y
    ume-y 2009/09/16
    「の祝日は1年の「256」日目である9月13日(うるう年の場合は9月12日)に定められたとのこと」過ぎてる。
  • コードレビューって意味あるの ? | スラド デベロッパー

    「こういうコードが恥ずかしいコードである」 という価値観について、上級技術者間で意識統一がなされていればね。 ようするにコードレビューと言うのは、大学の研究室で言う輪講とかと同じなんです。 コードをよりよいものにする、と言うのも目的の一つですが、コードを組んだ人のレベルアップを図る、という目的もある。 十分な人数の、良く判っているプログラマがいるならばペアプログラミングも良いでしょう。でもペアを組んで回れるほどレベルの高い人がいなかったら? 「教授と助教授と助手の目の前で発表させる」 しかないじゃないですか。 もちろん、この作業は「教授や助教授や助手」の時間をいます。もしあまりにも多くの時間をうのであれば可能性は次の3つのどれか。 初心者が多すぎる。そのため、「教授や助教授や助手」の時間をフルに使っても、全部など到底見切れない。コードの品質は悪いままである。初心者が少なすぎる。コードの

    コードレビューって意味あるの ? | スラド デベロッパー
  • 新人教育向けの秀逸な課題プログラムって? | スラド デベロッパー

    新人教育にて講師をやる事になりました。そこで新人に与える課題を考えているのですが、何か良い課題はないでしょうか? 講義は課題プログラムを与えてプログラミング、後でプログラムのアルゴリズムの説明を各人に行わせる。という形なので、各自が異なるアルゴリズムになってくれるのが理想です(閏年を求める等、パターンがある物はパス)。 このアルゴリズムにプログラミングテクニックの小技(f = -f)とかがでてくると面白いかなぁ。とか考えています。この手の課題で悩んでいる方、アドバイスをお願いします。

  • SSDはソフトウェア開発目的でも有用? | スラド デベロッパー

    家/.で、Can SSDs Be Used For Software Development?(SSDはソフトウェア開発向けに使えるか?)という記事が上がっていました。最近ではSSDの価格も大幅に安くなり導入がしやすくなっています。ソフトウェア開発作業(というかコンパイル作業)では多数の小さいファイルにアクセスすることが多いため、ランダムアクセスが速いSSDはコンパイル時間の短縮にも効果的なような気がします。一方で頻繁な書き換えも多いため、その寿命が気になるというのも事実。 ということで、実際にSSDをストレージに使っている方にSSDの使い勝手の是非をお聞きしたいところです。

    ume-y
    ume-y 2009/03/10
    「壊れるときはほぼ一気に全破壊するようですよ」(#1527983)「書き込んだ直後はちゃんと読めるんで、すぐには気がつかないんです。ところが一定時間経過後に読もうとすると壊れてる」(#1528005)
  • 最も危険なプログラミングエラーTop 25 | スラド デベロッパー

    ストーリー by hylom 2009年01月14日 17時04分 やはりよく言われている問題が多い、 部門より CWEとSANSが共同で「最も危険なプログラミングエラーTop 25」を取りまとめ、発表した。 このリストはSymantecやMicrosoft、米国国土安全保障省の国家サイバーセキュリティ部門、また日の情報処理推進機構(IPA)など、国際的かつ多岐に渡る組織の協力を得て作成された。パフォーマンス上の問題やセキュリティ上の脆弱性、またサイバー犯罪の原因となり得るプログラミングエラーのうち、特に頻度と危険性の高いとされるものが25点挙げられている。 エラーは大きく「コンポーネント間のコネクションが適切に保護されていない」「危険なリソースマネジメント」「不備のある防衛策」の3種類に分類され、それぞれのエラーには簡単な説明と対処法などが記述されている。挙げられているエラーは「入力デ

  • C# 4.0は「動的言語」にもなる | スラド デベロッパー

    The Registerの記事によると、先日開催されたMicrosoftのProfessional Developers' Conference(PDC)にてC#アーキテクトのAnders Hejlsberg氏が語ったところによると、C#の次期バージョンであるC# 4.0は動的言語としても利用可能になるそうだ。 すでに.NET FrameworkとしてはVB.NETやIronPython、IronRubyが利用できるので、C#の動的言語化はそれほど突飛なアイデアではないのかもしれない。なお、C# 4.0ではCOM IDispatchインタフェースがサポートされ、COMアーキテクチャのシステムとも連係可能になるそうだ。

  • 高速/高性能でフリーのコンパイラ、LLVM 2.4が登場 | スラド デベロッパー

    マイコミジャーナルで知ったのだが、「LLVM(Low Level Virtual Machine)というコンパイラの最新版2.4がリリースされたそうだLLVMプロジェクトのWebサイト)。 LLVMはBSDライセンスで開発されているC/C++/Objective-Cコンパイラで、GCCよりも最適化されたコードを出力できる、と言われている。また、GCC互換のフロントエンドも用意されており、これを使ってコンパイラをGCCからLLVMに入れ替えるだけでコンパイル時間が短縮でき、さらに生成されるコードもより優れたものになるという(マイコミジャーナルの解説記事)。 LLVMは単なるコンパイラではなく、まず仮想マシン用の中間コード(LLVMコード)を出力し、これを最適化を行いつつネイティブコードに変換する(もしくは仮想マシンで動作させる)という動作を行うそうで、また実行時のプロファイルを取得し、そこか

    ume-y
    ume-y 2008/11/18
    「LLVMはBSDライセンスで開発されているC/C++/Objective-Cコンパイラ」
  • スラッシュドット・ジャパン | C の新規格「C 0x」草案が公開される

    一応補足を。 C++03までのSTLには、std::xxx_if(..., Pred pred)に対応するalgorithm std::xxx(..., T t)が存在して、それはstd::xxx_if(..., std::bind2nd(std::equal_to<T>(), t))と同じことを行うようになっています。 この名前付け規則に従うと、もしstd::copy_if(first, last, result, pred)があるならば、範囲[first, last)についてtと等しいもののみをresult以降にコピーするalgorithm std::copy(first, last, result, t)が必要になってしまいます。こんなalgorithmはナンセンスですし、そもそもstd::copyはすでに普通のコピーをするalgorithmとして存在します。さらに、std::cop

    ume-y
    ume-y 2008/11/14
    「並列プログラミングや関数プログラミング機能、ジェネリックプログラミング、オプショナルガベージコレクタといった機能などが強化/新規導入」「2010年に正式公開される見通し」
  • メディア再生プラグインSilverlight 2.0リリース | スラド デベロッパー

    Microsoftより、Silverlight 2.0の正式バージョンが公開された(Internet Watchの記事)。 Silverlightの動作環境は以下の通りだ。 Windows 2000以降のIE6/7/8 Windows XP/Vista/Windows Server 2003上のFirefox 1.5/2/3 Mac OS X 10.4.8以降のFirefox 1.5/2/3およびSafari このほかのブラウザ、たとえばWindows版Safariなどでは動作しないとのこと。 Adobeも間を置かずにAdobe Player 10を公開するなど、ブラウザ上でのマルチメディア環境の競争は今後さらに激しさを増していきそうだ。 なお、Silverlightのインストーラは作業ファイルを適当な場所に展開するため、ローカルセキュリティポリシーでファイル実行が制限されている場所に展開

    ume-y
    ume-y 2008/10/20
    Operaでは動きませんか。
  • 東京海上日動の新システムはCOBOLを採用 | スラド デベロッパー

    ストーリー by hayakawa 2008年09月09日 12時16分 COBOLに問題があるのではない、COBOLでかかれたコードに問題があるんだ 部門より 日経ITproの記事によると、東京海上日動が2008年5月に完成させた新自動車保険システムでは、開発言語としてCOBOLを採用しているそうだ。このシステムは処理量や信頼性,既存システムとの連携面からメインフレームで稼働させ、システムのビュー部分はJavaで、モデル部分はCOBOLで開発しているとのこと。COBOLを選択した理由は、部品化とシステム構成のシンプル化を実現しやすいからだそうだ。 東京海上日動システムズの稲葉取締役によると、「30年システムに携わっているが,COBOLは規格として長期間安定し,ビジネスロジックの書きやすさにおいては右に出る言語はない」とのことで、旧システムからのプログラムの流用ができたことも開発の効率化に

  • プログラミングに最適な椅子は? | スラド デベロッパー

    家/.に「Best Chair For Desktop Coding?」という質問が寄せられている。プログラミングやネットサーフィンで座りっぱなしの夫に、椅子をプレゼントしたいのでオススメを教えて欲しい、との内容である。 座り心地のいい椅子といえば、人間工学に基づいた「アーロンチェア」などが思い浮かぶが、結構な値段がするのが難点だ。 /.Jの皆様はこうした場合、どのような椅子をオススメしますか? また、普段はどんな椅子で仕事/勉強/ハックしてますか? 普通のオフィスチェアを座り心地良くするための工夫、などもあれば是非、お願いします。

  • プログラミング言語にとっての成功とは? | スラド デベロッパー

    RubyPythonとその仲間達がJavaを追いやって死に至らしめる13の理由・・・死因は老衰(13 reasons why Ruby, Python and the gang will push Java to die… of old age)」という記事では、様々なプログラミング言語が普及めざして奮闘する模様の興味深い分析が展開されている。広く使われるようになるプログラミング言語は一体何が違うのだろうか? 「いい」言語とは何だろうか? プログラミング言語が成功するとはどういうことを指すのだろうか? COBOLは成功したといえるだろうか? RubyPythonなどについてはどうだろう? /.Jの皆様がお使いのプログラミング言語は「いい」言語ですか? どんな言語が、どのように「成功」していると言えるでしょうか?「いい」と思うのに「成功」していないと思う言語などありますか?/.Jの皆様

  • 現在も使われている、最も古いプログラムは? | スラド デベロッパー

    現在も使われているプログラムで、何らかの形で再作成や再実装などされていない、最も古いものは何だろうか?ちなみに「プログラム」とはもちろん完全なアルゴリズムを指し、一行コードなどは含めないとする。 家でも活発に意見が交わされており、1972年に打ち上げられたPioneer 10号や、1977年打ち上げのVoyager 1号および2号に搭載されているプログラムなどは手を入れられていないのでは?などという意見もあったが、これらのプログラムはNASAによって適宜アップデートがなされた(リンク先PDF)ため該当しない模様。

  • メモリ操作の安全性を確保する、ANSI C規格準拠C言語コンパイラ | スラド デベロッパー

    数日前の話になりますが、産業技術総合研究所は4月11日、既存のC言語プログラムにメモリ操作の安全性を付与できるコンパイラ、「Fail-Safe C — release 1」を開発したと発表しました(産総研のプレスリリース)。プレスリリースや開発部門である情報セキュリティ研究センターの解説ページによると、既存のソースコードをそのままこのコンパイラに掛けるだけで、危険なメモリ操作の自己チェック機能を備えた実行可能ファイルが生成されるという仕掛けのようです。さらに、このコンパイラは、ANSI C規格に準拠しながら、厳密には規格違反だが既に一般的になっている様々な記述手法についても安全な範囲でサポートしているとのこと。 バッファオーバーフロー等、メモリ破壊が原因のソフトウェア脆弱性が後を絶たない現状ですが、こういうコンパイラが普及したら少しはそのような状況が改善されるのかなぁ、と期待します。このコ

  • ZDNetのポインタ解説記事で勘違い | スラド デベロッパー

    ZDNetに C/C++のポインタの機能 — 参照渡しのような処理というポインタの解説記事があるのだが、 中身がなかなか香ばしい。コメントにもあるように、記事の間違いを探すということで ポイントを理解させるというネタには使えるのだろうか。

  • 新たにプログラム言語を学ぶとしたらScalaがお勧め? | スラド デベロッパー

    家記事より。思考の幅を広げ、プログラミング自体に対する理解を深めるためにも他のプログラミング言語を学ぶことが大切だそうだ。新しい言語を学ぶことによりスキルを大きく伸ばせるとChris Diggins氏はブログで説いている。彼はC++Javaの経歴を持つ人たちが次に学ぶ言語として、Rubyを挙げている。「ダイナミック言語の力量を試すことが出来、SmalltalkやPerl、そしてLispの概念を活用できる」からだそうだ。しかしどれか1つに絞るとすれば「どんなバックグランドをもつプログラマであろうと取っ付きやすい」Scalaが一番のお勧めとのこと。 このScalaを知らなかったのですが、使っている、使ったことのある方はいらっしゃいます? 新たにプログラミング言語を学ぶとしたら何を学びたいか、もしくはお薦めの言語などありましたらそれもぜひ。