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

IDEに頼るとプログラミング能力は劣化するのか 149

ストーリー by hylom
劣化ってなんだ 部門より
あるAnonymous Coward 曰く、

本家/.にて、IDEに依存すると悪いプログラマになるのか?(Does Relying On an IDE Make You a Bad Programmer?)という話が議論になっている。

元々は、とあるプログラマが.NETを使う際にIDEに頼ってしまう、という話を自身のブログに書いていたものを、ITworldが取り上げたもの。.NET開発においてVisual Studioはコードの自動生成などを含めた非常に強力な開発支援ツールを提供している。しかし、それは逆に言えば「IDEで提供されているものしか使えない」というプログラマや、「ほかの言語や環境を扱えないプログラマ」を生み出してしまうことになるのではないか、という疑問が呈されており、そこからIDEを使うとプログラミング能力が落ちるのでは無いかという議論に発展している。

いっぽうのIDE擁護派は「言語が持つの特定の機能や関数を覚えているプログラマが良いプラグラマというわけではなく、問題を解く方法を知っており、問題を解決するためのベストな技術やツールを知っていることが重要なのだ」とし、言語の機能を使う手助けをするIDEは悪くない、としている。

本家/.のコメントでは、IDEを擁護する意見が多いようだが、「90年代の議論を蒸し返すのか? 次にお前はソースコード管理(バージョン管理)の必要について議論する」などのツッコミも入っている。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • IDEそれは無限力 (スコア:2, おもしろおかしい)

    by Anonymous Coward on 2014年02月26日 17時29分 (#2552257)

    またIDEの力をめぐって人は争うのか…

  • by manmos (29892) on 2014年02月26日 17時43分 (#2552265) 日記

    emacsでもそこそこのIDE環境を作れますが、ダメになりますか、そうですか。

  • by miyuri (33181) on 2014年02月26日 18時42分 (#2552302) 日記

    何かカッコ良さそうだから、IDEに頼るのも一興。

  • by Anonymous Coward on 2014年02月26日 16時45分 (#2552209)

    ごめんなさい、ちょっと言ってみたかっただけです。

  • by Anonymous Coward on 2014年02月26日 17時03分 (#2552236)

    SATAってピン数が少なくてきつい感じがするのでやっぱりIDEの方がグラウンドも安定していて温かみを感じますね

  • by duenmynoth (34577) on 2014年02月26日 17時24分 (#2552252) 日記
    ○○が悪い、○○は使いにくい、○○は駄目
    こんなこと言う奴に限ってスキルがイマイチなんだよね

    #私もですが
    • できる奴は筆を選ばずそこそこできるんだけど、
      いいものはいいと言える見識も持っている。
      ツール語らせて「xxのyyがいい」「こんな風にいい」と出てくれば見込みありで、
      「xxが悪い」「yyは使いにくい」「zzはだめ」と出てくればイマイチ率高し。

      親コメント
      • by Anonymous Coward on 2014年02月27日 4時39分 (#2552578)

        ツール語らせて「xxのyyがいい」「こんな風にいい」と出てくれば見込みありで、
        「xxが悪い」「yyは使いにくい」「zzはだめ」と出てくればイマイチ率高し。

        xyzzyの悪口ですかー!!!

        #ちげーよ

        親コメント
    • by firewheel (31280) on 2014年02月26日 20時07分 (#2552351)

      優れてる奴ほど最高の道具にも拘るんだよ。
      それを知らん奴は三流。

      親コメント
  • .NETやJDKだとかでコード補完が使えなかったら利便性生産性が著しく下がります。
    コード補完が無いとやってられない命名ルール、com.sun.java.foo.Util.longCamelCaseMethodLikeThisとか暗記したくない。
    IDEが流行る言語と流行らない言語は、人気もそうだけど言語/環境がIDEを頼っている部分が大きい。
    CのためのMakefileなら楽しく書きますが、antなんて人間が直書きするためのものじゃないだろと思います。

    IDEを使うと、例えば「ファイルの属性を見るにはどうすればいいんだったっけ」とかいうのに出会うと、
    まずFile/Sys等のファイル操作に関するパッケージorクラスをコード補完で探します。
    で、その中でattrとかisBarとか適当なメソッドorプロパティをコード補完で探します。
    見つかったらソース中のdocstringを流し読みして使う。
    同じようなことがC#でもJavaでもできます。

    こういう、大まかな感触だけ覚えておいて詳細はIDEに任せるっていうコーディングができます。
    そりゃ関数の名前バッチリ記憶していて注意事項も把握しているっていう人の方が頭が良いのかもしれませんが、
    楽をするために全力を尽くすべきだと言われて育った身分としてはそんな苦労はすべきじゃない、悪だとすら思います。

    • EmacsLispは何のためにあるのかと、
      emacsでもvimでも普通に補完ぐらい効くよ。

      親コメント
  • by Anonymous Coward on 2014年02月26日 16時12分 (#2552188)

    「キーエンスばっかりつかってると…」と囁かれます。

  • by Anonymous Coward on 2014年02月26日 16時19分 (#2552194)

    > IDEを擁護する意見が多いようだが、「90年代の議論を蒸し返すのか? 次にお前はソースコード管理(バージョン管理)の
    > 必要について議論する」などのツッコミも入っている。

    この文章の意味が分かりません。
    ソースコード管理は、もはや例外なく必須と言って良いでしょうから、その発言が比喩として成立しているのであれば、
    IDEも必須になるわけで、「IDEを擁護する意見が多いようだが…ツッコミも入っている」にはならないのでは?

    自分は以下のような意見です。
    ・ソースコード管理は必須。
    ・IDEにプログラミングを助ける効果はある。
    ・IDEは必須とまでは言えないが、使った方が良い状況はあるし、その状況では使うべき。
    ・IDEにより、ある方面のプログラミング能力の伸びが制限される可能性はないわけではないが、それは教育次第で避けられる

    と言いつつ、特定の状況を除き、ふだんはIDE使わずにEmacs使ってますが。(汗)

    • えっEmacsってIDEじゃないの?

      親コメント
      • by Anonymous Coward

        Emacsは実行環境だろう常識的に考えて

    • by Anonymous Coward on 2014年02月26日 17時07分 (#2552238)
      > ソースコード管理は、もはや例外なく必須
      その割にはIDE使ってる開発現場でもVCS使ってるとは限らないところがままあるのは何でなんだぜ
      親コメント
    • by Anonymous Coward on 2014年02月26日 17時54分 (#2552277)

      IDE 使いというか、IDE 依存症の人はダメですね。

      大昔に新人研修を受けていた時のことを思い出しました。
      ビンボー会社なもんで LSI-C 試食版(懐かすぃ……)でやってましたが、
      情報系の学校を出た同期の子から「どうやってコンパイルするの?」
      と言われてひっくり返り、じゃあ学校でどうやってたんだよ!と聞いたら
      「F5 キーを押す」と言われてまたひっくり返った覚えがあります。

      要は裏で何やってるか知ってるか知らないかの違いでしかなくて、
      普段 IDE を使っているか否かとは直結はしてないと思います。
      ただまあ、最近そういうことを知らない輩が増えたのではないか、
      ということであれば、確かにそんな気はします。
      そういう輩は思慮が浅く、すぐにドヤ顔で「簡単ですよ」と言うので、見分けはすぐつきますね。

      もはやお約束で emacs も引き合いに出されてますが、
      大昔の Unix 系だと素の vi しか入ってない場合があって、
      やはりキーキー騒ぐ輩はいました。
      Vim 依存症患者で同様の発作を起こすのもいます。
      これもまあ同じですな。

      親コメント
      • by harupunte (10435) on 2014年02月26日 19時42分 (#2552337) 日記

        それを聞いて私も思い出したことがひとつ。
        私がヘルプで入ったプロジェクトはアプリケーションをVC++で開発していましたが、
        ユーザへのインストレーション作業をみていて驚愕しました。
        なんとユーザの各クライアントPCにVC++の開発環境ごとインストールしていたという……
        どうやらランタイムやらライブラリやらという概念が無かったらしい。

        いやー おかげで客先での問題解決が楽でよかったですよ(棒)
        あれ、ちゃんと開発ライセンス買ってたんだろう・・・・な?

        親コメント
    • 言われているのは「サポート機能や自動化に頼りすぎて、それがなきゃできなくなる」
      って話かと。

      IDEもバージョン管理システムも、でた当初は
      「便利すぎて、自分で書く・管理するスキルが低下する」
      と器具する人がいました。
      が、「人のミスを減らすのに有効、スキルが低下するのは、低下した人の問題だろ」
      的に落ち着いてた訳です。

      それを、一応の決着がついたそれを、
      また言い出すのか?IDEの話の次は、またバージョン管理システムについて言い出すつもりなのか?
      と、言っている訳です。

      親コメント
    • by Anonymous Coward

      IDEが必要かどうかについての議論は、VCSに関するそれと同じく90年代にし尽したよね、ってことでは。

  • by Anonymous Coward on 2014年02月26日 16時21分 (#2552195)

    I/Oの仕様が与えられて、それを満足できるものが作成できれば
    という条件なら、それでいいだろう。
    しかし、顧客によってはさらに制約条件
    言語、開発環境、使用ライブラリの制約、等がある場合があり、
    そういう縛りに対応できるか、というのも能力に含まれるといえばいえる。
    つーか、コマンドラインコンパイラを使ったこともない奴に
    開発を任せられるかどうか、気分の問題に近いが
    顧客に使ったことが無いと威張れる話ではない罠。
    #個人的にはアセンブラが判らん奴はプログラマとして認めたくはないと思う

  • by Anonymous Coward on 2014年02月26日 16時25分 (#2552197)

    COBOLerはIDE使わないと思うんですけど、「ほかの言語や環境を扱えないプログラマ」の代表みたいなもんですよね。

    • by sakamoto (8009) on 2014年02月26日 17時05分 (#2552237) 日記
      Move, Renameの他にも、Extract Perform とか、convert to compute expression とかあると便利そう。 変数のサイズの照合とか、使われてないレコード変数のチェックとか、自動的な変数宣言とか、今流行っている言語だったら色々サポートは考えられる。 無いから使ってないだけで、あるのに使わないわけではないのでは?
      --
      -- 哀れな日本人専用(sorry Japanese only) --
      親コメント
    • by Anonymous Coward

      すばらしい洞察+1

  • by Anonymous Coward on 2014年02月26日 16時41分 (#2552206)

    Visual Cafe, JBuilder, Forte, Delphi・・
    VS,Eclipseなんてイケメンサラブレッドはほんとは嫌いなんです:)

  • by Anonymous Coward on 2014年02月26日 16時45分 (#2552211)

    「解法知ってれば問題ない」という擁護に象徴的だけれど、
    IDE使いは、既に知っているorどっかのブログで紹介された解法しか使わずに、
    問題に合わせて最適な解法を考え出す能力に欠ける印象がある

    • by Anonymous Coward on 2014年02月26日 16時56分 (#2552224)

      IDE使いは、既に知っているorどっかのブログで紹介された解法しか使わずに、

      IDE使いに限らずほとんどのプログラマはその通りだと思うけど、逆に、プロはそれでいいんじゃないかと思う。
      仕事なのに、ろくに検証もされていない「ぼくのかんがえたさいきょうの解法」なんて使われては困るんじゃないかな。
      もちろん、「既に知っている」解法の種類を増やす努力や、新しい解法を調べる努力は怠ってはいけないけど。

      親コメント
    • 基礎を知らない初心者でもなんちゃってプログラムを動かせるようになったってだけでしょ
      ただの道具にケチつけてもどうしようもない

      そんな人間はIDEがあってもなくてもスキル的には未熟なだけ
      仮にIDEが無ければ勝手に淘汰されてるだけ
      逆に伸びる人間はIDEの便利機能を駆使して人の書いたコードをガシガシ読んで育っていく

      >IDE使いはry
      そんな事言い出したら、
      IDEに頼らない俺かっけーな人はTypo多すぎ+単体テストすらしないでエラーが出たら人のコードを疑う印象がある
      …のような感じで、架空の使えねープルグラマを作り出して叩き合いになりそうだから不毛だと思う
      親コメント
    • by Anonymous Coward
      GUI アプリなんかを作るときに、 IDE しか知らない人は自動生成されるダイアログのクラスに何でもかんでも追加するばかりで、新規のクラスを自分で設計・追加したり、そのためにソースコードを分けたりといったことが上手く出来ないというのはありそう。
  • by Anonymous Coward on 2014年02月26日 16時55分 (#2552222)

    能力のない人でも(一応)それなりにプログラミングできるようになる。

    ◯◯を使うと××になる系の議論はだいたいこれ。

    • by firewheel (31280) on 2014年02月26日 20時09分 (#2552352)

      IDEを使う奴のプログラミング能力は劣化しないが、
      IDEに頼ってる奴のプログラミング能力はイマイチなのが多い。

      #そもそもIDEがあると便利な言語って意外に少ないんだが……

      親コメント
typodupeerror

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

読み込み中...