2009-04-20 37 views
9

自分自身は、正式な設定でコーディングを学んだことがないこれらのタイプのコーダーの1つですが、代わりにコピー&ペーストスクリプトを使用して独学で、 GPLプロジェクトやプレミアムソフトウェア(市販のスクリプト会社がスクリプトのコードを変更、または更新する方法を示す方法であることが多い)です。 "&は234などの行に貼り付けます。")... this ...私の始まりです。コーダーのコピー&ペースト生成についてのヘルプ

私の仕事はどういうものなのか分かりませんが、私はコードで何をしているのかよく分かりますが、私の非公式の学習方法、知識が不足していること、一般的なWebコーディングの必要な原則(サーバーやブラウザなどの内部と外部)。あたかも私がコードを理解し、実践的な側面から始め、基本的な基礎がなく、私がやっていることの理論化された理解がないように感じます。

私は、私と同じコミュニティで学び始めていて、私と同じ場所にいるかなりの人たちも知っています...大きなものが絵から抜けているように感じます。 PHPのオーサリングツールを使用しようとすると、私の専門分野に欠けていることがわかります。これは理解するのが非常に難しいです...そして、これは私のプロジェクト(コードをすべて手渡す必要があります) 。また、プログラミングに伴う特定の言語の不足や、問題の複雑さを説明するために適切な言葉を使うことができるということで、時々助けを求めるのは難しいです。

私は貿易によって美容師でした、私はバーテンダーとして働いていました。ホテルマネージャー、私は専門職によるビジネスコンサルタントです。私は3年間ウェブ開発をゆっくりと学んできました。私は過去2年間にかなりの商業プロジェクトを取りましたが、私のスキルに欠けている気がします。&全体的な知識。

基本的に、私は自分のコーディング分野をより効果的かつ生産的にするために、似たような初心者を持っている経験豊富なコーダーに聞きたいと思っています。このようなプログラミングの非公式な理解を持つ人は、何を学び、理解することを求めていますか?私がプログラマとして知っておかなければならないことは何ですか...そして全体像の基本的な概要は何ですか?私に記事を送ってください。

いつでも助けがあります。

リー

編集:はちょうど私の実際の能力をアップラウンドを得ました。私はプログラマーです。私は自分のコードをゼロから作成し、私の仕事を売ります。私は、PHPの関数とクラスを書くことができます、mysqlを使用して、HTMLの& CSSの良好な理解を持って、非常に良いデザインの側面(Webグラフィックス)で、私はjqueryを使用しているjavascript/ajax/jqueryを学んでいます私のプロジェクトのほとんど。これまでのすべての答えをありがとう!

+0

類似したQ:http://stackoverflow.com/questions/743099/is-it-wise-to-use-code-copied-from-the-web-in-our-own-applications – Dhana

+0

JavaチュートリアルでOOPについて学ぶフレーズを確認してください。次に、MDN javascriptをチェックして、JavaScriptがクラスベースではなくプロトタイプベースであることを確認します。今では、強く型付けされた、抽象化された、他のクールなフレーズのようなものを知っています。まだ疲れていないのであれば、パターンについて読んでアドバイスしていますが、PHPプロジェクトでは良いパターンが欠けており、拡大や拡大が難しいです。また、PHPUnitを使用してプロジェクトで単体テストを実行してみてください。 – HMR

+0

私はほとんどの時間をかけて学び、上記の理論が私が欠けていたものであることを知りました。ドキュメントを読むのではなく、var_dumpを実行するか、またはfirebugの変数をチェックします。それがうまくいくならそれは働き、そうでなければ私はそれのすべてを学ぶ時間を費やさなければならない。今私は多くのプロジェクトに取り組んでいないので、すべての読書の時間があり、私が直面していた実際の問題にほとんどの知識を適用するのに役立ちます。 – HMR

答えて

3

私たちはすべて異なった方法で学ぶので、フィールドに入った方法のために障害を感じることはありません。

私は、自分でPHPの本を手に入れて(今のところよく分かっていることを見て)、そこから始めて自信をつけることをお勧めします。

あなたの暇なときには、何もせずに練習するための非常に小さな基本的なアプリを作成してください。あなたの気にかかっていることに応じて、Python、Java、.NETなどの言語を使ってください。あなたのベルトの下に1つまたは2つの言語で、Code Completeのような書籍を取り上げることができます。これは、より難解なソフトウェア開発の分野の一部をカバーします。

幸運にも、これは本当に学習を止めることのできない職業です。

+0

はい、これは行く方法があるように思える...私は前にプログラミングの本を読んでいないので、私はプローバルはそれによって少し疎外感を感じる。私はあなたの答えが非常に奨励していることを知りますありがとうalot :) – Lea

3

あなたがより良いプログラマになることに興味がある場合は、pragmatic programmerを読むことをお勧めします。心配する必要はありませんが、あなたの髪を引き出すのに役立つコードの完全なテキストではありません。読むのが面倒だが、非常に有益な方法で書かれた長年のプログラミング経験からしか掘り下げられない。

+0

参考にしていただきありがとうございます。最初の数ページを読んだだけで、もう気分が良くなっています。これは私のリストの必須項目です。乾杯! – Lea

1

「コピー&ペーストの生成」の前提が新しいものであると私は確信していない現象。以前よりも幅広いユーザーに利用できるのはツールだけです。

あなたが本当にあなたのスキルを磨くしたい場合は、manyの一部を使用してローカルコミュニティカレッジで、または自己指向学習環境のいずれかで、いくつかのクラスを取るために価値があるかもしれない、fineオンラインリソースまたはbooks

+0

あなたの答えをありがとう。私はそれをいくつかの新しい現象のように聞こえるようにするつもりはないが、人々の多くは私が何を参照しているかを特定するだろう...私と他の人が学んだ方法にもっと向けられています。あなたのヒントありがとう:) – Lea

0

コピーアンドペーストプログラミングとは、同じコードを関数またはクラスに入れるのではなく、複数の場所で使用することです。ハウツーガイドに従っている間に既存のソースコードを変更するだけであれば、プログラミングと呼ばれるのではなく、コピー&ペーストするだけです。

あなたがしなければならないことは、あなたのレベルが何であれ、プログラミングに関する本を読むことです。そのコピーとペーストのレベルを感じたら、初心者から始めるべきです。あなたが知っていると思うすべてを忘れて、本を読んで従ってください。終了したら、C &P日間に気づいた賢いコード(?)を思い出すことができます。

+0

こんにちは、あなたの答えをありがとう。申し訳ありませんが、私が意味することを正しく説明していませんでしたが、私はプログラミングに導入された方法をもっと参考にしています。それはコピー&ペーストによるものでした...私はスニペットを使って最初のスクリプトを作成し、しばしばチュートリアルスニペットを使いました。あなたのヒントをありがとう。 – Lea

1

コードコンプリートは、Pragmatic Programmerの同じラインに沿って、すでに推奨されている別の本だと思います。

7
  • 「コピーアンドペーストプログラミング」は、名前にかかわらず実際にはプログラミングではないことを理解してください。 「プログラミング」の行為は、何かがうまくいかなければならないか、そしてその作業をするためにはどのようなコードが必要かを考え出すことです。したがって、いくつかのコードをコピーして貼り付けると、それはプログラミングを行った他の人物です。常にコードを書く必要はないので、これは必ずしも悪いことではありません。しかし、自分自身をプログラマーと呼ぶには、自分でコードを書く必要があります。

  • あなたは謙虚に始めたいと思うでしょう。プログラミングの第一歩として、大規模な複雑なアプリケーションを作成しようとしないでください。プログラミングを教えられているほとんどの人々が、最初に「こんにちは、世界」を印刷する方法を教えられる理由は十分です。これは、使用するコードだけでなく、コードの実行がどこから始まり、どのように流れるのか、そのようなことを知る必要があるだけでなく、さらに多くのことを知る必要があるからです。コードを見て精神的に歩み寄り、プログラムの実行が次にどこに行くかを知り、それがどのように機能するかを理解できるようにする必要があります。

  • プログラミングのチュートリアルまたはコースを受講してください。そんなに無料のものがオンラインです。コードを大量に提供するチュートリアルを信頼しないでください。実際にコードを自分で作成するようにしてください。文字列のソート、フィボナッチ配列の計算などの演習を行い、結果を「エコー」または「プリント」します。条件文( "if"など)と "for"ループについて学び、さまざまなことをするためにこれらを使って遊ぶ。

  • GUIまたはフォームプログラミングはより複雑です。言語の基本を知っていることを確認してから、APIやフレームワークのドキュメントを見て、その言語が何をすることができるかを確認してください。APIやフレームワークを効果的に使用するには、実行フロー、関数の記述方法、使用できる変数の種類などが必要です。クールなグラフィックスやフォームを作成したり、基本的なテキストや数値処理をしたりすることができないのは退屈ですが、実行する前に歩く必要があります。読書だけでなく、あなたがしていることを確認してください。 Array型のような新しいことについて知りたければ、 "while"ステートメントを試してみてください。実際にそれを行うことで、あなたは単に本やウェブサイトを読むだけでなく、それを覚えている可能性がより高いかもしれません。

  • プログラミングに関する書籍を読む。何か他のことを学ぶ前に、Cを学ぶべきだと言う人もいます。私は必ずしも同意する必要はありませんが、Cを学ぶなら、KernighanとRitchieの "The C Programming Language"が読まれるべきです。多くのプログラミング本は非常に興味深いですが、初心者には適していないか、実際にプログラミングを始める方法を教えていません。これは例外です。

  • 構文の強調表示と行番号付きの適切なテキストエディタを使用します。それがあなたが必要とするものです。コード補完などを行う大きなIDEは、必ずしも学習段階で役立つとは限りません。あまりにも長い時間をかけて1つを選んだり、設定したりしないでください。まだ持っていないのであれば、メモ帳++(Windowsの場合)を手に入れてください。あなたがそれを気に入らなければ、あなたはより熟達したらそれを変更することができます。また、すでにMicrosoft Visual Studioをお支払いいただいている場合は、その言語を使用してください。ただし、言語を学ぶために外出してはいけません。あなたのすべての時間をあなたのツールを磨くこと、そしてそれらを使って時間を費やすことの罠に落ちないようにしてください。

+0

あなたの答えをありがとう。私が質問したように、私はかなりの商業プロジェクトを完了しました。あなたがここで話していることの多くは、私はすでに行うことができます。私は完全な初心者ではなく、自分のコードを作成します。私はC&Pを私が学びに来た最初の方法として紹介しています。誰もが私の初めのことを知ることができます。あなたが私の他の質問を見ているなら、あなたは私の知識レベルをより良く知ることができます。再度、感謝します。 – Lea

+0

私はどんな種類の正式な方法でも教えられた最初のプログラムは、数字のゲームを推測することでした。こんにちは世界は本当にチョークボードの例よりも、あるいは少なくとも、経験豊富なプログラマーに新しい言語がどのように見えるかを示す方法です。 – SingleNegationElimination

+0

@Leaわかりました。プログラミングの本を読んでプログラミングのウェブサイト(このようなもの)に触れ続けることから離れて、マーケティングのような他の分野であなたのスキルを広げようとすることができる、まともな独学のプログラミングスキルを持っている人として、これは重要なことであり、他のプログラマーからあなたを離れさせることができます。また、別の言語を学ぶこともできます。 PythonやJavascriptを試してみてください。私はそれを楽しむことがわかった。 – thomasrutter

7

これを行う最も簡単で最速の方法は? メンター、またはメンターのセットを見つける。実際のメンターが必ずしもそうであるとは限りませんが、現実のメンターがより実用的ですが、オフラインにすることもできます。

ローカルソフトウェア開発コミュニティ(フォーラム、ユーザーグループ会議など)に参加すると、これらのユーザーを見つけることができます。これらの場所は、オフラインとオンラインの両方で頻繁に使用されます。あなたが学ぶ知識の量は膨大であり、他の人からアイデアを跳ね返すことができるという利点はありません。

Code CompleteおよびPragmatic Programmerも同様に上記の優れた書籍の提案です。まずコードコンプリートを使用することをお勧めします。これは、コードを賢明で洗練されたものにする方法に取り組んでいます。

Goodluck!

+0

メンターを見つけることについての良い提案。それは、自分自身を教えている人にとっては特に良いことです。 – thomasrutter

1

私は、インターンシップで高校の高校の年になる前に、私は "コピー"と "貼り付け"を中心にしてシェルプログラミングを学びましたが、その後、特定の状況技術。

私の提言:

  1. はあなたのCCでクラスを取ります。必要なのは、高度なプログラミングクラスの前提条件です。彼らはおそらく "私は以前にコンピュータに触れたことはない"レベルのクラスを提供していますが、このクラスは後のクラスの正式な前提条件ではありません。これはおそらくJavaになります。

  2. エクササイズが含まれているプログラミングの優れた書籍の1つを試してみてください。 KernighanとRitchieのCプログラミング言語は古典的です。これは私のお勧めです.CはPHPとよく似ていますが、それらを分かち合うことができるほど十分に異なっているからです。私はおそらくあなたが生産の一行を書くことは決してないだろうと言っています。Paul GrahamのANSI Common Lispも適切な選択肢です。

  3. あなたが本当にハードコアであり、献身を得ているなら、AbelsonとSussmanのコンピュータプログラムの構造と解釈を試すことができます。これは、UCバークレー(http://webcast.berkeley.edu/course_details.php?seriesid=1906978389)とMIT(http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-001Spring-2005/CourseHome/)の最初のプログラミングコースで使用されている本です。これは学校環境の外で試みるのが難しいかもしれません。それは、何もしないで勉強して、明るい若い生徒のために、また大学院生を教えるための定期的な機会のために設計されています。私はそれを完全性のためだけに含める。

私はウェブプログラミングの書籍を避けるでしょう。あなたはすでにウェブプログラミングを知っています。私はあなたが少し壁に当たっているように感じているという印象を受け、その壁の周りを通り抜けていく方法を見ています。

ウェブ指向の本を調べることはお勧めしません。なぜなら、あなたに大きなイメージを与えることはできないからです。理解しておくべき重要なことは、コンピュータが実際にどのように動作するか、スタックとヒープの違い、ポインタ、ガベージコレクションの基本、再帰です。そして、少なくとも拡張メカニズムを理解することはおそらく役に立ちます。つまり、Unix上の共有ライブラリ、Windows上のDLL、Java上のクラスパスとjar、PHP、Ruby、Perl、Pythonなどでライブラリを作成する方法を理解していれば、それらのいずれかが問題ありません。これは重要な外部コードを読み込むという概念です。

+0

私は本当にあなたの全体像を気に入っています。私は、実際のP​​Cを理解することから始めようとしました。私はあなたに同意します。この種の理解を持つ人は、「より大きな画像」を知っていることを大きな利点としてWebコーディングにアプローチすることができます。あなたの答えをありがとう! – Lea

0

スキルを習得するには時間がかかりますが、それを続けるとより良くなります。その意味でプログラミングに関して本質的に異なるものは何もありません。あなたが最良に学ぶ方法は非常に個人的な問題です。そのために意味のあるアドバイスをすることは本当に難しいです。私の経験では、1つのタイプの学習(正式な教育など)を追求するよりも、異なるタイプの学習(実践的な経験、他のプログラマーの周り、読書、正式な教育など)を組み合わせることが効果的です。

関連する問題