未経験のプログラマーにはIDEが必要ですか?[閉まっている]


12

この他の質問を読んで、私は(絶対的な初心者のPHPプログラマーとして)WAMPとNotepad ++に固執するべきか、EclipseのようなIDEに切り替えるべきか疑問に思います。

熟練した開発者が大きな光沢のあるIDEの恩恵を受けることは理解できます。しかし、なぜ完全な初心者がIDEを使用する必要があるのでしょうか?開発の学習に加えてIDEを学習するという追加の課題を上回るメリットがありますか?

明確化のための更新:

私の目標は、基本的なプログラミングの経験を積むことです。PHPとWAMP(およびFogBugzとKiln)を選択することで、トリッキー/乱雑なOSの仕様やコンパイルなどをナビゲートすることを避け、オンラインユーザー登録フォームのような基本的な機能に集中することを望みます。

私は10年前に大学から多くの理論的理解を得ていますが、実際的な経験はありません。実際の販売可能なWebアプリに似た趣味のプロジェクトでそれを改善したいと思います。

質問はたくさんあります。多くの落とし穴ので、私はおそらく持っているに失敗します。この質問は、そのパズルのほんの一部です(私の最初の!)。


IDEの意味に依存します... Notepad ++は初歩的なIDEとして使用できます。
-Oded

10
はい!番号!わかりません。あなたに合ったものを選んでください!
ベン

1
プレーンなエディターの状況がベースラインです。これはすべてのプログラマーに共通の経験です。その上にあるすべてのツールは、それだけです-その上にあるツールです-そのため、IDEで何が役立つかを理解するために、基本を学習し始める必要があります。

Programmers.stacexchange.comで少し画面をスクレイプしました。「依存する」または「依存する」という単語を使用すると、「私は...」で始まるフレーズや「はい」または「いいえ」で始まるフレーズで回答する人は投票されない傾向がある一方で、投票の可能性が高くなります。投稿を書くためのヒント:何についても明確な意見を持ってはいけません。
ジェイソンセブリング

回答:


21

作成しようとしているプログラムの種類に応じて、IDEはプロセス全体、特にビルドとデプロイをはるかに簡単にすることができます。これは、比較的複雑なフレームワークを使用している場合に特に当てはまります。

一方、すべてを手作業で行うことで、内部で何が起こるかを理解するのに非常に役立ちます。そのため、少数の小さなプログラムを「難しい方法」で作成することは、初心者にとっては良い練習です。


16

n00bはIDEを使用する必要がありますか?これは、n00bとしての目標によって異なります。差し迫った目下の目標は次のとおりです。

1)プログラミング言語/プログラミングについて何かを学び始めてください(簡単な紹介)

2)マスターになり、すべてがどのように機能するかを理解する(重量級の紹介)

1)では、IDEを使用します。優れたIDEを使用すると、より簡単になります。難しくありません。IDEの使用方法を学ぶことは、インストールしてからそれほど難しいことではありません。次に、プログラムをコンパイルして実行するには、「実行」ボタンまたはそのようなものをクリックするだけです。デバッグも簡単になります...デバッグボタンをクリックするだけです。

2)では、IDEを使用しないでください(最初は)。すべてを完全に理解したい場合は、コマンドラインデバッガーとコンパイラーを使用すると、すべてがどのように機能するかについてより多くの洞察が得られます。これは難しくなり、最初はがっかりするかもしれません。


IDEを使用しないと、すべてがどのように機能するかをよりよく理解できますか?コンパイラーのコマンド行オプションとデバッガーのコマンドを見逃すことはありますが、これらはどちらも1ページの説明で後から学ぶことができます。メイクファイルもそれほど難しくありません。取るに足らないものは他には考えられません。
宮坂

3
昼と夜の違いがあると言っているわけではありませんが、Makefileなどを新しい開発者にとって「些細な」ものとは絶対に分類しません。また、IDEから始めた場合、完全に気付かなくなるということでもありません。コマンドラインから始めることで、物事がどのように機能するかをよりよく理解できると言っているだけです。
ケーシーパットン

まあ、つまり、プログラムのビルドには通常いくつかのステップと多くのファイルが必要であることが理解されれば、Makefileは後で非常に簡単になります。
宮坂

3
@ ReiMiyasaka、IDEはそのことを教えてくれますか?私の印象では、多くのコーダーは、IDEにコードを入力してから実行可能コードを生成するまでに何が起こるかを理解していません。
ウィンストンイーバート

@Winstonはい、そうです。何十ものコードファイルとライブラリが一緒になっていることに気付かない方法はありません。相互作用を説明するデータの正確なフォーマットを学習することは有用ですが、繰り返しますが、何かが実際に起こっていることがすでに理解されていれば、数時間で学習することができます。リンクリストの利点を説明せずに教えたことがありますか?リンクされたリストは、詳細を知る必要がある理由があれば、人々にとってより意味があります。メイクファイルとコンパイラパラメータなども同様です。
宮坂

5

小さな趣味のプロジェクトで新しい言語を学ぼうとしている人として、構文の強調表示を備えたテキストエディターにこだわると思います。

あなたが最初に始めているとき、あなたは間違いを犯そうとしています。どこかでセミコロンを忘れたり、変数名のスペルを間違えたりします。IDEがなければ、言語とその作成方法だけに集中する必要があります。これは貴重な学習です。

大きな光沢のあるIDEは、これらの間違いをキャッチしようとして時間を節約しようとします。また、他の人が言ったように、IDEの学習は学習のオーバーヘッドを増やすことにもなります。IDEが何かを提案するとき、なぜそれが提案をしているのか、あるいはそれが正しいことなのか疑問に思うでしょう。これは混乱を招くだけです。

テキストエディターだけで新しい言語を開始したいので、自信がついたらEclipseプラグインを調べます。


4

IDEを学ぶという追加の課題

IDEがほとんどの作業を行う部分ですか?

今、私はPHP IDEを使用したことはありませんが、他の種類のIDEと同様に機能すると仮定すると、大量の作業を節約できます。IDEの学習に関連する作業は、IDEが自分で行う必要のない機能と比較すると簡単です。コード補完や構文の強調表示などは、非常に便利なツールであり、完全に置き換えられません。

専門的にコーディングする人は皆、IDEなどのツールの助けを借りて、正当な理由でそれを行います。


2
私はPHPを専門的に扱っており、IDEを使用せず、Vimを使用しています!
ゲイリーウィロビー

1
@Gary VIMはIDEです。
右折

2
いいえ、編集者です。IDEの定義:en.wikipedia.org/wiki/Integrated_development_environment Vimはそうではありません。
ゲイリーウィロビー

1
Vimにはコード補完などの機能が付属していること、またはそのために追加できることを確信しており、この目的のためのIDEになっています。
-DeadMG

3
VIMとIDEには大きな違いがあります。VIMは、IDEのように行われていることの詳細を隠しません。IDEの利点の多くはVIMで利用できます。しかし、VIMをIDEと呼ぶのは正しくありません。
ウィンストンイーバート

4

IDEの経験が浅いPHP開発者の方がはるかに生産的だと思います。

問題は、経験豊富な PHP開発者がIDEを必要とするかどうかです。


2
それは実際にタイトルを読み違えることから意味すると思っていたものです
...-bunglestink

4

経験則として、次のように選択します。

  • ファイルがそれほど多くない小さなアプリケーションの場合は、コマンドラインを使用してください。
  • 多くのファイルを含む大規模なアプリケーションの場合は、IDEを使用します。これは、常にファイルを切り替えて、迅速なブラウジングと概要機能(特にオブジェクト指向言語)を活用できるためです。

適切な場合に両方を使用することを学びます。コマンドラインから始めます。


3

スキルレベルに関係なく、あらゆる言語のプログラマを支援するいくつかのことがあります。

  1. 構文強調表示と中括弧のマッチング

  2. 入力中の構文チェック(1つの忘れられた、;または不一致のブレースから生じるすべてのエラーを回避するために非常に便利です)

  3. 簡単なドキュメントの閲覧(ただし、これはIDE自体にある必要はありません)

    • すべての言語のメインライブラリには、ブラウザでアクセスできるオンラインドキュメントがあります。
    • ただし、(作業中のプロジェクトからの)内部ドキュメントは、明示的に利用可能にしない限り公開されません。
  4. 1つの真のブレーススタイルと正しい間隔に自動フォーマットします(したがって、これらのルールを適用する時間を短縮します)(これも外部ツールで実行できます)

IDEとエディターに必要なのは1と2だけです


3

私は常にIDE(Eclipse)を使用していますが、初心者にもお勧めします。あなたが始めている場合の主な利点:

  • 不正なコードに関する即時フィードバック(コードの構文エラーなど)
  • 標準の規則を使用してプロジェクトを設定するので、構成/ OSの仕様などを心配する必要はありません。
  • 多くの場合、ビルドして学習できるサンプルコードを生成できます。
  • コードに集中できるように、不可解なコマンドラインオプションと呼び出しのセット全体を覚えておく必要がなくなります。

ただし、IDEを汎用で使用する必要があると思いますが、コマンドラインでコードを少なくとも1つまたは2つ手動で実行する価値があると思います。これは、ボンネットの下で何が起こっているかを理解するためです。この理解は、後で問題をデバッグする必要がある場合に役立ちます。


1

もう1つの質問はありません。経験豊富な PHPプログラマーにはIDEが必要ですか?

IDEはビルドプロセスの自動化に役立ちますが、PHPにビルドプロセスがありません。構文の強調表示は非常に便利な機能ですが、そのための完全なIDEは必要ありません。多くの軽量テキストエディターが強調表示を提供します。

NetBeansでPHPの作業をしていますが、それはNetBeansに慣れているからです。どんな数のテキストエディターでも同じようにできると思います。


1

たとえそうでなくても、主にライフタイム中または地獄でコードを書くことを合理的に期待する場合は、拡張可能なエディター/ IDEを入手して学習を開始する必要があります。余裕がない場合は、Notepad ++などを使用してください。これは、「ホットキーが好きな方法」を決定し、従来のものを学習するという生涯にわたるタスクから始めることができるものです。

Visual Studio、Eclipse、What-have-you、と呼ばれるツールIDEは、行き来して進化し、多くの場合、コードをぼかしたり、マッサージしたいときに使用するには大きすぎて応答しなくなります特定の方法でリファクタリングします。

したがって、あなたはあなたの「ホーム」エディタを持っています。これはあなたのGFよりも愛する生涯あなたと一緒にいるエディタです。

Tooling IDEとHome IDEの両方を同時に使用して、両方の長所を活用して何かに取り組むことは、完全に自然で生産性の高いポイントに到達します。

私のホームIDEはSlickEditで、過去10年以上にわたって使用および拡張してきましたが、その間に120個以上のマクロモジュールを作成し、1000個以上のホットキーを使用しています。

それらをすべて覚えていますか?いいえ、おそらくいつでも約半分、おそらく60%ですが、他のタスクは特殊なタスクのためのもので、最終的にはオンデマンドで検索します。

人生は短いことを忘れないでください。大きなプロジェクトで数学を行うと、1日8時間入力するためにあなたの頭に完璧なコードをテレパシーで口述する慈悲深いエイリアンであっても、書くのに月がかかります大きなもの(スマートエディター、マクロ、テンプレートなどなし)。

これが理由です。長期的な計画を立て、時々未来への道を切り開きます。

実際、非常に頻繁に。今では費用がかかりますが。


1

私は自分の経験と、それが開発者にどのように影響するかの洞察を共有することしかできません。

まず、私は両方の種類の環境で仕事をすることを楽しんでいると述べます。VimとmakefileをGCCまたはQtCreator / Visual Studioでそれぞれの環境とコンパイラとともに使用するかどうかは、プロジェクト自体とアプリケーションの規模に完全に依存します。

学習のために、物事がどのように機能するのかを知らず、単に無知で何かを書き、書くことを嫌うからといって、私は時々Vimを使用します。コーディングを初めて学んだとき、C#とVisual Studioを使用してそれを行いました。これは基本を教えてくれました。しかし、しばらくして、Makefilesとまともなテキストエディターの使用方法を学ぶために、自分でそれを取ることにしました。

宮坂Reはコメントで、誰もが2時間以内にページの情報だけでMakefileの使い方を学ぶことができると述べた。特に新しい人にとっては、私は心からこれに反対します。数日かかることがあります(少なくとも、私の場合はそうでした)。また、注目に値するのは、Makefileのほとんどのドキュメントが何百ページにも及ぶことであり、1ページで十分な紹介を得ることができますが、それらの使用方法を実際に知るには、はるかに多くの時間と読書が必要です。

私の意見では、あなたが十分に野心的で、学習を始めたばかりであれば、Linuxディストリビューションを展開してください(優れたパッケージマネージャーがあり、比較的安定している限り、どちらでもかまいません-Linux MintまたはDebianさえお勧めしますそれ自体)、およびCを学習します。テキストエディター(構文の強調表示、自動インデント、および行番号のサポートは必須です-その他はすべて純粋に好みです)から始めて、単にCLI経由でコンパイラーを呼び出す方法を学習します。プロジェクトごとに1つのソースファイルのみを使用してコーディングする方法を学習したことがある時点に到達したらMakefileの書き方を学び始めます。また、Valgrindも取り上げる価値があります(C / C ++で記述している場合、他のプログラミング言語をサポートしているかどうかはわかりません)。この環境で数か月のコーディングを行った後、より大きなプロジェクトに取り組むときは、IDE(できればFL / OSSが望ましい)を学んでください。

私がこれを提案する理由は、IDEを使用することで、プログラマーが学習しているときのプログラマーを厳しく制限するためです。オートコンプリートとプロジェクト/ビルド管理は非常に優れていますが、ボンネットの下でどのように機能するかわからない場合は、デバッグおよび/またはアプリケーションがなぜそうではないのという点で厳しく制限されます適切な実行。特に、ユーザーまたはIDE自体によって指定された不適切なビルドまたはコンパイラ設定が原因である場合。

乾杯。


-1

IDEを使用すると、作業がずっと楽になります。特にPHPには、IDEのオートコンプリートが大いに役立つ多くの矛盾した機能があります。さらに、IDEにデバッガを搭載することは非常に貴重です...

テキストエディタで生ファイルを簡単に操作できることには良い点がありますが、実際のWebアプリケーションを作成する方法を学びたい場合は、IDEの機能を使用することを学ぶのが非常に役立ちます。ロングラン。


-1

私のコンピューターサイエンスクラスでは、IDEから始めませんでした。私たちがやっていることを理解してからやったことです。

IDEは初心者にとっては抽象化しすぎて、教育を受けた愚か者を生み出してしまう傾向があります。最初は、十分な理解を得ることが重要です。さもないと、IDEだけで考えてしまい、それなしでは基本的なことを理解できません。また、IDEでできることだけに制限されます。いくつかのIDEは、このような抽象化を持ち、実際に人々がそれを使用するのを馬鹿にする独自のパラダイムを持つという点で、実に悪意があります。ASP.NETのポイントWebフォームのケース。

自分自身をブートストラップするために言わなければならないことがあります。


-4

これについての私の見解は次のとおりです。

  1. IDEを必要とするのは初心者だけです。これはデバッグのためです。初心者はプログラムの実行の仕組みを理解するのにまだ問題がある可能性があり、コードをステップスルーすることはそれを助けることができます。
  2. IDEには、大規模なソースリポジトリ内を簡単にナビゲートし、各シンボルがソースコード内のどこにあるかを見つけることができる機能が備わっているため、Mediogreプログラマはプログラミングプロセスを高速化できます。彼らはもはやideを必要としません、それは時々人生を楽にします。
  3. 上級プログラマーはIDEを必要としません。IDEのユーザーインターフェースが遅すぎるため、キーを押して応答を待つのに時間がかかりすぎるので、時間を無駄にしないために即座に応答する必要があります。ソースコードをナビゲートすることは、コードのすべての部分がどこにあるかを覚えることができるため、何も変更する前にコード全体を読んだため、主な優先事項ではありません。

1
可能であれば、私は反対票を投じます。大規模なプロジェクトで作業する場合、すべてを頭の中に収めることは現実的ではありません。あなたは、必ずしもIDEを使用する必要がありますが、持っていないいくつかのこのためのツール(複数可)は必須です。
Bwmat 14

@Bwmat、あなたは今、下票することができます
プラティック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.