プログラミング言語の選び方とエスケープチュートリアル煉獄

数週間前、Codecademy、Udemy、freeCodeCampからJavaScript、C#、Pythonなどを学ぼうとした経験と、チュートリアルの煉獄から脱出し、実際に開発者として進歩した経験について投稿しました。

プログラミング言語の決定は、多くの矛盾する情報を伴う数十のオプションがあるため、非常に困難で時間がかかる可能性があります。この記事では、コーディングを学んだ自分の経験に基づいたいくつかのオプションを共有し、プログラミング言語の選択、チュートリアルの煉獄からの脱出、開発者としての進歩の方法について提案します。

必要に応じて、この投稿のビデオバージョンを次に示します(11分間の視聴)。

シナリオ#1:構築したいものがわかっている

多くの場合、このような記事(または、おそらくよく知っている「どのコーディング言語を学ぶべきか」のインフォグラフィック)では、学習した後に構築したいものについて批判的に考えるように求められます。コード。

あなたはそれはあなたがしたいことが何であるかについていくつかのアイデアがある場合は、このアプローチは便利です行うことを学習後、プログラミング言語ではなく、そんなにあなただけしたい場合は、コードを学ぶのように私の経験でした。この記事では、両方のシナリオについて説明します。

プログラミング言語を学んだ後、コーディングのキャリアをどの方向に進めたいかがわかっている場合は、最初にどの言語を学ぶべきかを理解するのが簡単になるでしょう。その場合のいくつかの提案があります。

フロントエンド開発:JavaScript(およびHTML / CSS)

Webサイトの「フロントエンド」(つまり、ユーザーがWebサイトにアクセスしたときに表示されるもの)で作業することをすでに知っている場合は、JavaScriptの学習からコーディングの旅を始める必要があります。おそらく、ほぼすべてのWebサイトのバックボーンを形成するHTMLとCSSを学習することから始め、次にJavaScriptを追加して、サイトの機能と対話性を強化します。

JavaScriptはプログラミング言語としてかなり普及しており、C ++のような他の低レベル言語よりも簡単にオンランプできます。何を学びたいのかわからない場合、これは素晴らしい出発点です...しかし、それについては後で詳しく説明します。

バックエンド開発:Python、C#、またはJavaScript(およびSQL)

あなたがウェブサイトの本質について学び、「バックエンド」を管理し、データベース管理に挑戦することにもっと興味があるとしましょう。ここには多くのオプションがあります。最も簡単な方法はPythonです。これは、バックエンド開発用の成熟したフレームワーク(DjangoやFlaskなど)を備えた初心者向けの言語です。

また、C#を間違えることはできません。これにより、Microsoftの.NETエコシステムとプログラミング言語に触れることができます。C#を使用すると、作業を楽しむことができます。また、「フルスタック」(つまり、フロントエンドバックエンドの開発を行いたい)を考えている場合は、ExpressやKoaなどの若くて高く評価されているバックエンドフレームワークを備えたJavaScriptの学習を検討してください。これを行うと、同じ言語を使用して両方のスタックをコーディングするため、学習プロセスも簡単になります。

バックエンド開発にどちらの言語を選択した場合でも、データベース管理のためにツールボックスにSQLを追加することになる可能性が高いので、それをレーダーに載せてください。

2Dゲーム開発:JavaScriptまたはC#

2Dゲームを作成するために使用するエンジンについては別の場所で書いていますが、ここにスキニーがあります。

2Dゲームエンジンはたくさんありますが、その多くはゲーム開発者としてのあなたの好みに合う場合と合わない場合があり、それぞれに独自の利点、特異性、学習曲線があります。たとえば、Game Maker Studio 2のように、独自の言語を使用してスクリプトを実行するものもありますが、長期的に別のゲームエンジンの使用を検討している場合でも、最初にJavaScriptまたはC#を学習することをお勧めします。 。

JavaScriptを使用すると、Phaserなどのフレームワークを使用して2Dゲームを作成したり、Construct 3(実際にはカスタムスクリプト用のスペースを備えたドラッグアンドドロップ開発を使用)などのフル機能のエンジンを使用したりできます。代わりにC#を学ぶことを選択した場合は、Unity 2D、またはおそらくMonoGameを使用しますが、実際には、エンジン以外のチュートリアル(.NETなど)から始めて、最初に言語をうまく理解することをお勧めします。

JavaScriptまたはC#を学ぶことで、Game Makerなどの別のゲームエンジンに取り組むために必要な基本的なコーディングの知識が得られると同時に、プログラミングのベストプラクティスやクリーンなコード編成なども提供されます。

3Dゲーム開発:C#またはC ++

3Dゲーム開発のコーディングを学ぶためのオプションはたくさんありますが、C#またはC ++から始めることをお勧めします。実際、あなたが超技術に精通しているか、プログラミングのバックグラウンドをすでに持っているのでない限り、C#から始めて、C ++まで進むことをお勧めします。学習曲線が簡単になり、メモリ管理や低レベルのコードなどを扱うことなく、基本的なプログラミングの概念を学ぶことができます。

いずれにせよ、どちらの場合も学習することになりますが、C#から始める場合は、Unity 3Dをいじってから、Unreal Engine4を使用してC ++に進むことができます。

データサイエンス/機械学習:Python

データサイエンス/分析と機械学習を学習するための他の言語のオプションがありますが、Pythonは現在このコーディング領域のゴールドスタンダードです。学ぶのはかなり簡単な言語であり、優れたプログラミング習慣と広く使用されているフレームワークに触れることができるので、ここで間違いを犯すことはできません。

シナリオ#2:何を構築したいかわからない

プログラミング言語について読んでいる記事、ビデオ、reddit投稿、Stack Overflowの質問を検索するのに数日、数週間、さらには数か月を費やしたにもかかわらず、わからないためにどこに時間を投資すればよいかわからないという明確な可能性があります。あなたが作りたいもの。

私はそこに行ったことがある。気に障る。

あなたへの私の推薦は、それが思われるかもしれないが、ただ一つを選ぶことです。ここにリストされていなくても、文字通りそれらのいずれか。JavaScriptを学びましょう。またはPython。またはさび。またはHaskell。

OK、Haskellではないかもしれません。しかし、何かを選び、基本を学び、その言語を使用してそれを使用して構築したいと思う可能性があるかどうかを確認するのに十分な時間、それを使い続けてください。そして、そうするときは2つのことを覚えておいてください。

  1. 自分の時間制限を設定します。たとえば、「freeCodeCampチュートリアルを使用してJavaScriptを学習するには、今後3か月かかります。」その期間の終わりに、あなたが進歩しているように感じ、それがあなたにとって興味深いものであるならば、続けてください!そうでない場合は、言語の選択を再検討し、自分に適したものがあるかどうかを確認する時期かもしれません。
  2. チュートリアルにないものを作成します。これは、開発者としての成長における重要なステップです。次のセクションで説明します。

シナリオ#3:チュートリアルの煉獄で立ち往生している

同じまたは異なるWebサイトで、実際に進歩しているように感じることなく、チュートリアルを次々と実行していることに気付いた場合は、コーディングの学習経験に本当に不満を感じるかもしれません。私はそこに行ったことがあり、助けることができます。

最初のステップは、プログラミングチュートリアルが適しているものとそうでないものを検討することです。ほとんどのオンラインチュートリアル(特にブラウザで直接コーディングできるチュートリアル)は、プログラミング方法を教えるのに最適です。

一方、プログラマーになる方法を教えるのには適していません。

最高のチュートリアルでは、基本的なコーディングの概念を紹介し、その知識を適用してパズルやプロジェクトを解決する必要があります。それらは、その範囲を超えて使用された場合、あなたの学習を妨げる松葉杖になることができる素晴らしい学習ツールです。

たとえば、プログラマーは一日中チュートリアルをしているわけではありません。プログラマープログラム、そしてそれはあなたが基本をマスターした後に進歩を遂げるためにあなたがしなければならないことです。

開発者として進歩するための最良の方法は、選択した言語でプロジェクトを選び、それを実行することです。たとえば、JavaScriptを学習している場合は、HTML / CSSを使用して単純なWebサイトを構築し、jQueryとの対話機能を追加することを選択できます。おそらく、統合開発環境をセットアップすることから始め、チュートリアルで学んだことを行う方法をすぐに忘れ、イライラし、Googleに向かい、答えを見つけて、続行します。次に、進歩を遂げ、行き詰まり、Stack Overflowを検索し、公式ドキュメントに頭を悩ませ、コードを誰かと共有し、プロセス全体を繰り返します。

そして、あなたは新しいプロジェクトを構築するときにプログラマーがすることを正確に行うでしょう。

最後に、このリストに含まれていなくても、選択したプログラミング言語に間違いはありません。いずれかを選び、基本を学び、プロジェクトを作成し、それが自分には適さないと判断した場合でも、その経験は実際には長期的には役に立ちます。プロジェクトで最終的に使用する言語に関係なく、プロセスで学習する情報は役に立ちます。

あなたはそれをすることができます!

この記事を楽しんだら、私のゲームや本をチェックするか、私のYouTubeチャンネルに登録するか、EntromancyDiscordに参加することを検討してください。

MS Farzan、Ph.D。 Electronic Arts、Perfect World Entertainment、Modus Games、MMORPG.comなどの有名なビデオゲーム会社や編集ウェブサイトで執筆および勤務し、 Dungeons&DragonsNeverwinterMassEffect :Andromedaなどのゲームのコミュニティマネージャーを務めてきました。彼は、 Entromancy :Cyber​​punk Fantasy RPGのクリエイティブディレクター兼リードゲームデザイナーであり、 The NightpathTrilogyの著者です。 Twitter @ sominatorでMSFarzanを見つけてください。