親愛なるライフハッカー、
コードを学ぶことについてのすべての話題で、私はそれを試してみることにしました。問題は、どこから始めればいいのかわからないことです。私のような初心者にとって最高のプログラミング言語は何ですか?
署名された、
コーダーになることができました
親愛なることができます、
それはおそらく初めての学習者からの最も人気のある質問の1つであり、教育者も議論するものです。問題は、10個のプログラマーに、足を濡らすのに最適な言語が何であるかを尋ねることができ、10の異なる答えを得ることができます。何千ものオプションがあります。しかし、あなたが始める言語は、それが初心者に優しいものであるだけでなく、あなたが取り組みたいプロジェクトの種類、そもそもコーディングに興味がある理由、そしておそらくあなたが考えているかどうかに依存します生計のためにこれをすること。ここに、あなたが決定するのに役立ついくつかの考慮事項と提案があります。
なぜコーディングを学びたいのですか?
それが何であるかによって、あなたが作りたい、またはしたいものに応じて、あなたの選択はすでにあなたのために補っているかもしれません。たとえば、WebサイトやWebAppを構築するには、JavaScriptとおそらくインタラクティブのPHPとともに、HTMLとCSSを学習する必要があります。あなたの焦点がほとんど/モバイルアプリの構築にのみ/のみである場合、あなたはすぐに飛び込むことができますiOSアプリのObjective-Cの学習またはJavaでプログラムする方法Android(および他のこと)の場合。
ただし、特定のプロジェクトや専門分野を超えようとしている場合、または言語の束を学びたい場合は、プログラミングの基本概念と「コーダーのように考える」方法を学ぶことをお勧めします。そうすれば、最初のプログラミング言語がどんなものであっても、それらのスキルを新しいものの学習に適用できます(多分わずか21分で)。平子供のコーディングアプリ最初から役立つことができます。たとえば、私が撮影した最初の正式なプログラミングコース(4年生の基本的なバック以外)はハーバードのCS50でした。あなたは無料で取ることができます。マラン教授はコースを開始します傷、コーディングの基本と論理を教える子供向けに構築されたドラッグアンドドロッププログラミング環境 - あなたが何かクールなものを作成するのを手伝ってください - そして彼はあなたにCを教え始めます。
インタラクティブコースなど、長年にわたってコーディングを学ぶための他のいくつかの優れたリソースを紹介しましたCodecademy、しかし、それらを使用しても、最初にどの言語を選択する必要があります。それでは、より人気のあるものとスターター言語として最も推奨されるものの違いを見てみましょう。
初心者向けの最も推奨されるプログラミング言語
C、Java、C#、Perl、Ruby、Pythonなどの「主流」プログラミング言語のほとんどは、他のものと同じように、またはほぼ同じことをすることができます。たとえば、Javaはクロスプラットフォームで動作し、Webアプリやアプレットに使用されますが、RubyはLinuxとWindowsで同様に実行される大規模なWebアプリやPythonアプリも実行できます。サウンドワールド多くの言語が互いにモデル化されているため、それらに取り組む構文や構造はほぼ同一であるため、他の言語を学ぶことはしばしば他の言語を学ぶのに役立ちます。たとえば、「Hello World」を印刷するには、JavaとC#はPerlとPythonと同じように構文的に似ています。
しかし、それらはセットアップと入りがどれほど簡単であるかが異なります。 SOA世界は続きます:
ちなみに、これらの例をよく見れば、いくつかは単純であることに気付くもの、他のものは複雑で、線の端にセミコロンが必要なものもあれば、そうでないものもあります。プログラミングを始めたばかりの場合は、言語が「独自の方法から抜け出す」ことができるため、多くの構文的な(または論理的な)ルールなしで言語を選択するのが最善である場合があります。 1つの言語を試していて、本当に苦労した場合は、よりシンプルな言語を試してみてください!
最も人気のあるプログラミング言語の簡単な比較は次のとおりです。
C:効率的なコードを作成するようにトレーニングします
Cはの1つです、そうでない場合、最も広く使用されているプログラミング言語。これにはいくつかの理由があります。指摘されているように、プログラマー兼ライターのジョエル・スポルスキー言う、Cは、基本的な解剖学を学習することで医師に向けられているため、プログラミングすることです。 Cは「マシンレベル」の言語であるため、プログラムがハードウェアとどのように相互作用するかを学び、プログラミングの基本を最低のハードウェアレベルで学習します(CはLinux/GNUの基礎です)。プログラムのデバッグ、メモリ管理、およびJavaのような高レベルの言語から得られないコンピューターの動作などを学びます。 Cは、Java、C#、JavaScriptなど、他の多くの高レベル言語の「祖父」です。
とはいえ、Cでのコーディングはより厳しく、他の言語よりも急勾配の学習曲線を持っています。ハードウェアとのインターフェース(デバイスドライバーなどをタップする、またはオペレーティングシステムの拡張機能)とのインターフェースの作業を計画していない場合は、学習Cは、おそらく不必要に教育の時間に追加されます。スタックオーバーフローには良い議論がありますc対java第一言語として、ほとんどの人がCを指していますが、個人的には、私はCにさらされてくれてうれしいですが、それは非常に初心者向けの言語だとは思いません。それはあなたに規律を教えるでしょうが、あなたはあなたが何か有用なものを作ることができる前に非常に多くを学ばなければならないでしょう。また、それはとても厳しいので、あなたはイライラするかもしれませんこのような:
Java:学ぶべき最も実用的な言語の1つ
Javaは2番目に人気のあるプログラミング言語であり、スタンフォードの有名な(および無料)で教えられている言語ですCSプログラミングコースへのイントロ。 Javaは固体を実施しますオブジェクト指向の原則(OOP)C ++、Perl、Python、PHPなどの最新の言語で使用されています。 Javaを学んだら、他のOOP言語をかなり簡単に学ぶことができます。
Javaには、使用の長い歴史の利点があります。多くの「ボイラープレート」の例があり、何十年も教えられており、多くの目的(Androidアプリ開発を含む)に広く使用されているため、学習するのは非常に実用的な言語です。 Cのようにマシンレベルの制御は得られませんが、ファイルシステム、グラフィックス、サウンドなどの最も重要なコンピューターパーツにアクセス/操作することができます。任意のオペレーティングシステムで。
Python:楽しくて学習しやすい
多くの人は、そのシンプルでありながら優れた能力のために、Pythonを最高の初心者言語として推奨しています。このコードは、簡単に読みやすく、優れたプログラミングスタイル(インデントなど)を実施します。これは、構文について過度に厳しくすることなく(各ラインの最後にセミコロンを追加することを覚えておくなど)。アリエルコンピューティングのパトリックジョーダンさまざまな言語(Basic、C、J、Java、およびPython)で簡単なスクリプトを書くのにかかる時間を比較し、他の言語を無視すべきではないが、Python:
特定の目標に到達するために教えられる時間、コードの行が少なくなり、概念が少なくなります。 […]ついにPythonでのプログラミングは楽しいです!楽しく頻繁に成功することは、学生の自信と関心を生み出します。
Soaは、PythonはLinuxで足を濡らしたい(またはLinuxに精通している)初心者にとっては絶対に必須だと言います。 PinterestやInstagramなどの人気のあるWebサイトで幅広く採用されたおかげで、Pythonの人気もすぐに増加しています。
JavaScript:ウェブサイトに飛び込んで構築するため
JavaScript(Javaとはほとんど関係ありません)には、Webブラウザーにすでに組み込まれているため、開始するためのセットアップの最小量が必要です。O'ReillyメディアJavaScriptは比較的寛容な構文を備えているため(JavaScriptで大まにコードできるため)、コードの即時の結果が表示され、多くのツールは必要ありません。私たち自身でナイトスクールをコードすることを学びますJavaScriptを使用して、変数や関数がどのように機能するかなどの基本を示します。 Web用にクールなインタラクティブなものを作りたい場合、JavaScriptは必須のスキルです。
あなたの道を選ぶ
最後の考慮事項の1つは、趣味としてコーディングからキャリアとしてそれを行うことになりたいかどうかです。dev/code/hackさまざまなジョブの役割とあなたが彼らのために取り上げるべきスキルを分解します:
バックエンド/サーバー側のプログラマー:
通常、次のいずれかを使用します:Python、Ruby、PHP、Java、または.Net。データベースの知識があります。おそらくsysadminの知識があるでしょう。
フロントエンド/クライアント側のプログラマー:
HTML、CSS、JavaScript。おそらくデザインスキルがあります。
モバイルプログラム:
Objective-CまたはJava(Androidの場合)。モバイルWebサイト用のHTML/CSS。潜在的にサーバー側の知識があります。
3Dプログラム/ゲームプログラム:
C/C ++、OpenGL、アニメーション。おそらく優れた芸術的スキルがあります。
高性能プログラマー:
C/C ++、Java。数学または定量分析の背景がある場合があります。
ただし、最終的には、コードを学ぶことを始める方法はありません。最も重要なことは、「かゆみをかく」を通して、いわば「かゆみをかく」を通して基本を学ぶことです。としてプログラミングはひどいですブログは言う:
学習する最初のプログラミング言語は、学ぶのが最も難しいでしょう。小さくて楽しいものを選ぶと、これは挑戦になりません。あなたが続けている限り、どこから始めても、コードを書いて、コードを読み続けてください。テストすることも忘れないでください。満足している言語を1つ持ったら、新しい言語を拾うことは偉業ではありません。途中で新しいスキルを手に入れることができます。
あなたが決めたら、前述のBentoあなたがあなたの第一言語を学んだ後にあなたが必要とするリソースと取るコースを提案します。
愛、
ライフハッカー