タグ

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

  • VB6ランタイムはWindows 10でもサポートされる | スラド デベロッパー

    MicrosoftWindows公式ブログにて、Visual Basic 6(VB6)のランタイムがWindows 10でもサポートされることを明らかにした。 VB6は今から約17年前の1998年にリリースされた開発ツールであり、.NETではない「旧来型VisualBasic」の最後のバージョンである。開発ツール自体のサポートはとっくに終了しているが、経験の少ないプログラマでも短時間で開発を行うことが可能なシンプルな構造であることから、未だに根強い人気がある。 約3年前に、MSDN MagazineのコラムニストDavid Platt氏が「ビールを賭けてもいい。MicrosoftWindowsが9や10になってもVisual Basic 6をサポートしなければならないだろう」と述べていたことがスラドで話題になったが、この予測は見事に当たったようだ。

  • 「プログラマーは凄腕か役立たずのどちらか」という神話 | スラド デベロッパー

    やや旧聞となるが、プログラマーの才能に関する「神話(myth)」について、Djangoの貢献者として知られるJacob Kaplan-Moss氏がPyCon 2015の基調講演で語ったそうだ(YouTube、LWN.net、Slashdot)。 実際のところ、プログラミング能力を測定する体系だった方法は存在しない。そのため、プログラマーは凄腕プログラマーと役に立たないプログラマーに二分され、中間はほとんど存在しないとする神話が生まれたのだという。もしも何らかの方法でプログラマーのプログラミング能力を測定できれば、正規分布に近い分布になるはずだと主張するKaplan-Moss氏によれば、バイモーダル分布であるとする神話を信じることは、無意味であるだけでなく危険を伴うとのこと。このような神話はロックスターかニンジャでなければプログラミングができないという幻想を生み出し、多くの人々をプログラミン

  • MySQL/MariaDBではなくPostgreSQLを選ぶ理由 | スラド デベロッパー

    過去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

    MySQL/MariaDBではなくPostgreSQLを選ぶ理由 | スラド デベロッパー
  • ソフトウェアの開発にかかる時間の見積を廃止したいプログラマーたち | スラド デベロッパー

    ソフトウェアの世界からプロジェクトの所要時間の見積をなくそうとする#NoEstimatesムーブメントについて、Mediumの記事が紹介している。所要時間を正しく見積もることは困難であり、時間の無駄だとプログラマーたちは主張する。一方、他のプロジェクト関係者は、計画を立て、プログラマーに責任をもって仕事をさせるために見積が必要だと考えている。妥協点はあるのだろうか。 記事によれば、「ソフトウェアプロジェクトの見積は誤っていることがあまりに多く、見積を作るのに時間を使えば使うほど、実際にソフトウェアを作成する作業時間が減ってしまう。また、マネージャーは開発者が適当に作った見積を契約上の締め切りのように扱う習慣があり、見積時間内に完成しなければ大騒ぎする。それだけではない。そのような結果を恐れる開発者は、より多くのエネルギーを見積という兎の穴に注いでいく。見積はヤクの毛刈りのように、実際の仕事

  • 金融系ではなぜCOBOLが使われるのか | スラド デベロッパー

    「金融系ではなぜCOBOLが使われるのか」という話が、Togetterまとめやはてなブックマークで話題になっている。 金融系と言えばCOBOL、というのは有名だが、現在ではそれ以外にも多くの言語があり、あえてCOBOLを利用する理由について議論されている。Togetterまとめでは固定小数点演算とその精度、速度が理由として挙げられているが、ほかの言語でも十分なライブラリが登場している現在、ややピントがずれた議論の気もする。

  • プログラミング言語がソフトウェアの品質に与える影響 | スラド デベロッパー

    あるプログラミング言語がその仕事に適したものであるかといった議論は論争に発展しがちだ。時には宗教戦争の様相を呈することがあるものの、プログラミング言語がコーディングプロセスだけでなく完成した製品の特性にも影響することは多くの方が同意するところだろう。これについてカリフォルニア大学デイビス校のコンピューターサイエンス研究者らが、プログラミング言語のソフトウェア品質に与える影響(PDF)に関する調査結果を発表した。研究ではGitHubの729プロジェクト(17言語、29,000人が書いた8,000万行のソースコード、150万コミット)を分析。大きなサンプルサイズを利して混合研究法のアプローチをとり、複数の回帰的モデリングやテキスト解析を組み合わせて静的型付けと動的型付け、型付けの強弱といったプログラミング言語の特徴がソフトウェアの品質に与える影響を調べた。異なる手法による調査結果を組み合わせ、

    プログラミング言語がソフトウェアの品質に与える影響 | スラド デベロッパー
  • Microsoft、C#コードをネイティブコードにコンパイルする「.NET Native」を発表 | スラド デベロッパー

    MicrosoftがC#で書かれた.NET Framework向けのプログラムをネイティブコードにコンパイルする「.NET Native」を発表した。現在Preview Release版が公開されている(.NET Framework Blogの記事、 Microsoft .NET Native、 Microsoft .NET Native FAQ、 Compiling Apps with .NET Native、 家/.)。 C#などの.NET系言語では、コードをコンパイルすると中間コードが生成され、実行時にネイティブコードに変換されるという仕組みを取っていたが、.NET Nativeを使えばC/C++による開発と同様にネイティブコードを生成でき、アプリケーションの起動速度の高速化やメモリ消費の削減といったメリットを享受できるという。対象アーキテクチャは現在のところx64およびARMで、

  • Flashに変わるプラットフォームとして期待される「OpenFL」 | スラド デベロッパー

    HTML5やUnityなど、Flashの代替となりうるプラットフォームが登場・普及しつつあるが、とあるFlashゲーム開発者によると、次に注目したいのは「OpenFL」だという(GAMASUTRA、slashdot)。 OpenFLはオープンソースで開発されている、FlashのAPIとほぼ互換性のある開発環境。マルチプラットフォーム対応のコンパイラ「Haxe」の技術を使い、デスクトップからモバイルまでさまざまな環境で動作するアプリケーションを単一のソースから生成できる。 15年間に渡ってFlashを使ってゲーム開発を行っているLars Doucet氏は、「はっきり言えばFlashは死にかけている」と主張している。その殺人犯はサポートを見捨てたAdobeだという。 Flashからの移行先となりうるプラットフォームにはいくつかがあるが、Unityは人気があるもののライセンス料の問題があり、また

  • いいコーディング規約、悪いコーディング規約? | スラド デベロッパー

    格的なソフトウェア開発企業で働くとき、最初の頃にまずコーディング規則や慣習などのガイドラインに目を通したかと思う。基的なガイドラインとして、gotoは原則使用禁止だとか、インデントにはスペースではなくタブを使用すべきであるとか、またはその逆などがあっただろう。ひょっとしたらcontinue禁止や、複数リターン値禁止など、ちょっと変わってるように思える慣習や、あまり直感的とは言えないルールといったものもあったかもしれない。 可読性を高めたり、メンテ性を向上させるには、どんな規約が有効だっただろうか? ドキュメント上では一見良さそうに見えたが、実際はイマイチだったものなどあるだろうか? /.J諸氏が実践してきたコーディング規約で特に有効だったのはどんなものだろうか? 逆に規約のせいで問題が起きてしまったケースなどあるだろうか? 他にも、使える「自分ルール」などもあれば是非。

  • Subversion 1.8リリース、まだまだSVNは死なない | スラド デベロッパー

    先日、Subversion 1.8がリリースされた(SourceForge.JP Magazine記事)。これにあわせて、家/.で「Subversion 1.8がリリースされたけど、まだGitを使うの?」という記事が上がっている。 近年ではGitユーザーが増えているが、Subversionはまだ死んだわけではなく、開発はそれなりに活発に続いている。 Apache Software Foundationの前チェアマンであるGreg Steinによると、「Subversionは1TBのリポジトリがあったとしても、その一部だけをチェックアウトして作業できる。(Gitのように)リポジトリのフルコピーは必要ない」「Gitの場合、リポジトリがたくさん乱立する傾向があるが、Subversionは基的に1つだけだから管理もバックアップもやりやすい」などとSubversionのメリットを主張。 また、S

  • 東証曰く、システム開発においてコーディング後にはドキュメントは不要 | スラド デベロッパー

    2005年に発生した、「ジェイコム株大量誤発注事件」はみずほ証券に大きな損害を与えた。みずほ証券はこの損害の原因の1つに東証の売買システムのバグがあるとして、東京証券取引所(東証)に対し賠償を求める裁判を起こしていたのだが、この裁判が3月18日に結審した(日経ITpro)。これを受けて、日経コンピュータが「みずほ証券-東証裁判の争点を洗い出す」として争点をまとめている。 ここで興味深いのは、東証の開発手法やソースコードに対する姿勢だ。東証はソースコードの修正時にそれに対応するドキュメントの修正を行っていなかったそうなのだが、これについて「コーディングが終了した後はドキュメントは不要」と主張している。いっぽうのみずほ側はこれについて「ソフトウェア工学の知見を無視する暴論だ」として、重大な過失であると主張している。 また、ソースコードには著しい重複があったことが判明しているのだが、これについて

  • 関数型言語を採用するプロジェクトが増加、果たして本当に開発効率は高いのか? | スラド デベロッパー

    ソフトウェア開発に Scala や Haskell、Erlang といった関数型言語を採用する企業が増えているそうだ (ITpro の記事より) 。 関数型プログラミング言語には「迅速に開発できる、バグを抑えやすい、アプリケーションの性能を向上させやすい」といった特徴があるとし、これらは新規のサービス開発に向いているという。「言語選定が競争力に直結」といった意見も記事には掲載されている。 これだけだといいことずくめのようにも聞こえるが、関数型言語は習得しにくく、ライブラリなども C/C++Java と比べるとまだ少ない。使いこなせるプログラマも少なく、関数型言語で大規模システムの設計を行えるエンジニアはまだ少ないのではないだろうか。関数型言語を使える人材はある程度スキルの高い人であり、そのために生産性が高いのではという疑問もある。今後日で関数型言語の採用は進んでいくのだろうか?

  • 70~80年代のCOBOLシステムを支えたプログラマの引退が近づいているが、システムは動き続ける | スラド デベロッパー

    1980年代には「COBOLは衰退するので、ほかのプログラミング言語に移行しなければならない」などと言われた。実際に1970~1990年代に書かれた細かなCOBOLプログラムのほとんどは新しいシステムと新しい技術に置き換えられている。しかし、銀行、保険会社、製造業、小売チェーン、医療機関といった大企業のミッションクリティカルなシステムは依然として大昔にCOBOLで書かれたコードによって運営されている。多くの企業はこれらのシステムを何度も入れ替えようとしたが、システムが全体が巨大で複雑な上、重要なビジネス・プロセスに統合されていること、また問題なく動いていることからこうした取り組みの多くは失敗した。 ITWORLDの記事によると、こうしたCOBOLで書かれたシステムを支えてきた団塊世代プログラマの引退が近づいているという(ITWORLD、家/.)。 今は大学のプログラム講座などでは教えるこ

    70~80年代のCOBOLシステムを支えたプログラマの引退が近づいているが、システムは動き続ける | スラド デベロッパー
  • Visual Basic 6が未だに生き残っている理由 | スラド デベロッパー

    Microsoftは、MSDN MagazineのコラムにVisual Basic 6(VB6)のサポート期間を5年間延長する主旨の内容を掲載した。開発ツール自体はもうサポート対象外ではあるが、Windows 8でもVB6のランタイムが搭載され、引き続きVB6で開発されたアプリケーションは実行できる(MSDN Magazine編集後記、MSDN Magazineコラム、家/.)。 VB6が最初に出荷されたのは1998年であり、すでに14年が経過している。MSDN MagazineのコラムニストDavid Platt氏は、代替となる「Visual Basic.NET」が登場して10年が経過しているが、それでもVB6がここまでサポートされるほどの長寿命となったのは、シンプルな構造だったからだと説明する。 VB6は複雑なものは作れないが、経験の少ないプログラマでもできるだけ短時間で開発を可能に

    Visual Basic 6が未だに生き残っている理由 | スラド デベロッパー
  • JREの推奨バージョンが6から7へ変更 | スラド デベロッパー

    JRE(Java Runtime Environment)の推奨バージョンが、6(1.6.0_x)から7(1.7.0_x)へ変更になりました。また、6は11月でサポートが終了します(So-netセキュリティ通信)。 JRE 6へはすぐに辿り着けるのに、7へ辿り着くには一手間必要だったダウンロードページも変更されています。 JRE 6は2012年11月で無償サポートが終了するとのこと。また、自動更新によるJRE 6からJRE 7への自動アップグレードも開始される予定だそうだ。

  • Oralceの対Google訴訟、プログラミングの将来を危うくしている | スラド デベロッパー

    Oracleは、Android OSに使用されているJava APIOracleの保有する特許を侵害しているとしてGoogleに対して訴訟を起こしているが、Dr. Dobb's記事は、もしOracleが勝訴することになれば「プログラミングの将来は終わる」と予測している(家/.、Dr.Dobb's記事)。 Oracleとのライセンス契約がないまま、GoogleJava技術を無断で使用したことが特許侵害に当たると判断されれば、GoogleOracleに対して多額のライセンス料を支払わざるを得なくなる。話はこれで済めばよいのだが、この訴訟から多くの訴訟が派生する可能性があるという。 つまり、例えばPythonにおけるJythonやIronPython、PyPy、またRubyにおけるRubinius、CやVBにおけるRono、CにおけるGCCといった、既存言語処理系の再実装によって著作権侵

  • 長い関数名、変数名、どこまで許せる? | スラド デベロッパー

    最近久しぶりにWindows関連の案件に関わったのだが、ここ数年UNIX/Linuxばかりを触っていたので結構な違和感があった。特に気になったのが、関数名や変数名などの識別子が長くなる傾向がある点だ。たとえば「GetApplicationConfigurationString」とか、「SaveAllChangeSetToDatabase」とか、確かに分かりやすいのだがタイピングするのに指が絡まるわ!と思う識別子名が多々あった。 そもそもWindows APIには長い関数名、変数名が多く、IDEの補完機能によって長い識別子も入力しやすくなっている、という背景もあるのだろう。しかし、長い識別子名が多いと1行は78文字以内というポリシーを守るのがかなりきつい。長い識別子を許した方が分かりやすいかもしれないが、それでコードが見づらくなるのは個人的にはちょっと避けたいところである。 /.J読者でプロ

  • Visual Studioでの開発をゲーム化するVisual Studio Achievements | スラド デベロッパー

    Microsoftから、Visual Studioでの開発をゲーム化するプラグイン「Visual Studio Achievements」のベータ版が公開された(Visual Studio Achievements、 GeekWireの記事、 家/.)。 プラグインを導入すると、コンパイル時にバックグラウンドでコードが分析され、内容に応じて実績(Achievement)がアンロックされる。また、特定のイベント発生時や操作時にアンロックされる実績もある。実績のアンロック時にはポップアップで通知されるという。実績は6種のカテゴリーに分かれており、アンロックするたびにカテゴリー別のバッジを獲得できる。また、各実績には0~10のポイントが割り当てられており、獲得ポイント順にMSDN Channel 9のLeaderboardに掲載される。実績の例としては、「Lonely (週末の夜にコードを書い

  • プログラマーにドキュメントを書かせるには? | スラド デベロッパー

    コードのドキュメントがきちんと作成されていない? 問題はプログラマー達にあるのではなく、プロセスにあると Fatal Exception の Neil McAllister 氏は言う (ネタ元) 。 「コードのドキュメントをきちんとまとめる開発者は非常に少ない。ドキュメントを書かせること自体が難題と言ってもいいだろうが、しかし不可能ではない」とのことで、同氏はドキュメントを作成する習慣を確立するためにも「ムチよりもまず飴」方式を採用すべきとだと提案する。多くの人と同じく、プログラマーだって命令よりもインセンティブの方が動機づけとなる。簡単な賞賛も大いに功を奏するが、他の手段を模索するのも良いだろう。彼らが週末にサポート業務で待機担当だったり、またアップデート作業で深夜に作業している時はないだろうか? 追加のドキュメント業務に精を出した彼らにはそういった他業務の負担を軽くしたりするのも一案だ

  • 自分は何でも部下より上手くできると思う上司 | スラド デベロッパー

    作られたものが簡単に使えるなら、作ること自体も簡単なのではないかと勘違いする人について、Dave Winer氏がブログに書いている。 Winer氏は1987年にLiving Videotext社をSymantecに売却後、しばらくの間SymantecのLiving Videotext部門で働いていたが、取締役の1人が実装したい機能を説明するかわりに自分でやってみせるといってソースコードを要求してきたという。反発した開発責任者から相談を受けたWiner氏は、コードを渡すようにアドバイスしたそうだ。下手でも機能を実装できれば要求を理解できるし、できなければ実装したい機能の説明が受けられるだろう。もしかすると開発の仕事の難しさを認めてくれるかもしれない。もうひとつの可能性として、このことが二度と話題に上らなくなるということも考えられる。実際に、この取締役は二度と口を出さなくなったという。ソースコ