まめブログ過去の苦労した経験を元に、プログラミング初心者向け情報などを発信。2021.01.23こんにちは。・いろいろなプログラミング言語があるけど、未経験の状態で、どれを勉強したらいいんだろう?・今後、最短でエンジニアとして転職したり、案件を獲得したりするにはどの言語から勉強したらいいんだろう?そのように迷っているのではないでしょうか?確かに、いろいろなサイトで「おすすめプログラミング言語」などの記事が乗っていますが、果たして、そこでおすすめされているプログラミング言語があなたにとって最適なものかがわかりません。今後のいろいろな観点を考慮し、どのプログラミング言語からはじめたらいいかがわかるようになります。プログラミング言語の選択で迷っているのは、時間がもったいないです。悩んでいるだけではスキルがつかないからです。この記事を読んで一刻も早くその悩みを払拭し、早くプログラミングの勉強を始めましょう。HTML/CSSからはじめ、JavaScriptを勉強しましょう。それが、挫折するリスクが少なく、今後の発展性まで考えた上での一番のオススメです。他の言語が悪いということではありませんが、「未経験からエンジニアになる場合」に絞って考えると、この順番がよいと考えます。この言語をおすすめする3つの背景は、このあと詳細にご紹介します。記事の根拠と信頼性この記事は、僕自身の経験や周りのエンジニアから聞いた情報をベースに書いているため、参考になると考えています。僕は新卒でエンジニアとしてメーカーに就職しました。そこではC++言語でプログラミングをやっていました。Javaを書くようになりました。TypeScriptなどいろいろな言語を触ったりもしています。今でもいろいろなエンジニアと、フロントエンド/バックエンドの実装方法などに関して話す機会があります。この記事では、そういったいろいろな言語を触った経験や、自分以外のエンジニアの声も参考にして書いています。詳細を説明する前に、この記事を書いた背景をご説明します。プログラミング言語の紹介をしているサイトを見ていると、様々な言語がおすすめされています。「初心者が覚えるべきプログラミング言語」のランキングも、それぞれのサイトで全く違った順番になっています。確実に迷うな・・・と思いました。どのサイトも網羅的にいろいろな言語のことを書いているため、プログラミング言語の全体像はわかります。その中で果たして自分が一番最初に手をつけるべき言語が何だろうか?というのが見えてきません。書いてあったとしてもさすがにこれは初心者には向かないのでは・・・という言語がオススメされていたり、みなさんの目標(エンジニアになって転職したり、案件を獲得したりする)に対して、そぐわないと思われる言語が紹介されていたりします。思いなってしまう可能性があります。いう「自分の目的にそぐわない言語」を選んでしまうと、あなたを挫折させてしまったり、目標に対して遠回りすることになります。「未経験からエンジニアになるために、どの言語から覚えるべきか?と、その背景」を説明したいと思います。「ある程度プログラミング経験がある人」や「趣味で楽しくいろんなプログラミング言語を使えるようになればいい」という人は、今回の記事の対象外となります。HTML/CSSとJavaScriptがいいのか?まずは、この言語を僕がオススメする5つの背景を説明します。(特にHTML/CSS)このような背景があるので、1つずつ説明していきたいと思います。挫折しないこと未経験からプログラミングを勉強するときの、一番重要なのは、エラーが起きても分かりやすいこと、また、他にやっている人が多く、エラーが出てても解決しやすいこと。他の条件はさておき、初心者のうちはこの「挫折しにくいこと」が非常に重要です。プログラミングを始めた頃は、それまでに見てきたものとは全く違う環境に直面します。大量のエラーとか、突然画面が真っ白になって何も表示されなくなったりしたら、初心者は戸惑うことでしょう。HTMLであればそれほど複雑なエラーが起こることがないことと、フロントエンドで広く使われているマークアップ言語なので、ググれば大量に情報が見つかります。「エラーメッセージや、その他分からないことをググって解決する能力」という、全ての言語で共通&プログラミングで最優先事項となるスキルが身についてきます。(比較的エラーがシンプルな)HTMLでそういった経験を積めるのは、HTMLから始める大きな理由となります。やっていて楽しいと思えることHTMLやCSSであれば、その成果をわかりやすく確認することができます。HTMLを書いてブラウザをリロードしたときに、自分の想定したものが表示されたときの嬉しさは、プログラミングならでは、でしょう。コンソール上でログが出力されるだけとなり、これまた初心者には辛い試練になることがあります。一生懸命頑張ったのに、最終的なアウトプットはコンソールに表示されるログが1行だけ・・・だと、心が折れる可能性があります。初心者のうちはとくにその1行を出すまでに途方も無い時間がかかる・・・なんてこともあります。CSSのBootstrapは、あまりCSSを書かなくてもそれっぽいデザインにすることができます。CSSを使うことにより一気に「それっぽい」デザインになる経験は、HTMLやCSSの勉強を進める上で、大きなモチベーションになります。余計な知識を必要としないことやりたいことによっては、プログラミング言語を覚えるより難しい知識が必要とされるのが事実です。(確率とか統計とか)などの知識が必要です。(もちろん数学が完璧であれば別ですが)なので、特にプログラミング初心者のうちは機械学習には絶対、手を出してはいけません。・Pythonの構文が分かっていないのか・Pythonのライブラリの使い方を理解していないのか・数学の知識がないのかというあたりの切り分けができず、やろうとした瞬間に詰みます。今後の案件の取得のしやすさや、自分のカバー範囲が広がること現在、JavaScriptをベースにしたUIフレームワークや言語はたくさんあり、例えば有名なものではReactやTypeScriptがあります。モダンなフロントエンド開発ができるようになれば、市場価値が上がりますし、獲得できる案件の範囲も広くなります。JavaScriptをやっておけばそういった案件にも比較的手を出しやすいため、今後の進路という観点でもおすすめです。(特にHTML/CSS)特にフロントエンドエンジニアであれば・・・ですが、HTML/CSSができない人はいません。HTML/CSSは、プログラミングにおける母国語、というくらい、「書けて当たり前」の言語になります。エンジニア転職するときでもフリーランスで何か案件をとるときでも、「HTML/CSSはできて当たり前」です。他の言語をやるときでも、フロントエンドであればHTMLに組み込む形になるので、どの言語をやるとしても必ずHTML/CSSは書けるようになっておくべきです(ここでいう「書けるべき」で満たすべきレベルは後で記載します)HTML/CSS→JavaScriptの詳細な進め方それでは、ここからは具体的にHTML/CSS→JavaScriptの勉強をする際の、詳細な進め方を紹介します。JavaScriptの3つとも、それぞれ相当深い知識が必要なので、そもそも完璧に理解する必要はないということです。基本的なタグや構文は覚える必要がありますが、やりすぎる必要はありません。2ヶ月も勉強すれば十分かと思います。・基本的なHTMLを、何も見ずに書ける・自分が知らないタグの調べ方を理解できる・Bootstrapを使い、必要なコンポーネントをHTML上に表示できるというくらいのレベルで十分です。一言でいうと、ドットインストールのHTML編で解説されている内容はだいたい理解できたな・・・くらいで大丈夫です。あとは必要に応じてググってその都度調べることになるので、完璧に覚える必要はありません。CSSだけで食っていく!という覚悟があれば完璧に覚えてもいいのかもしれませんが、そもそもその覚悟はおすすめしません。HTMLとCSSだけだと、それほど言語的な難しさがないので自分の市場価値が上がらなかったり、フリーランスの場合は単価が上がらないためです。CSSをある程度書ける様になった後は、さっさと次の言語のJavaScriptに行くべきです。JavaScriptについてJavaScriptは、未経験からやろうとするとおそらく時間がかかると思います。・ドットインストールなどの解説サイトを一通りこなして、どのようなものかを理解する・それからは、自分の作りたいものを作ってみるこれが一番です。ドットインストールは敷かれたレールの上を走ることになるので、終わった頃にはある程度分かったつもりになるでしょう。実際にゼロベースで自分の作りたいものを作ろうとすると、おそらくほぼ手が動かないと思います。ドットインストールなどが終わったタイミングで、早く実践的に作る方に移行すべきです。作りたいものを作ろうとすると、最初はドットインストールの動画を見返したり、いろいろなものをググったりして進めることになるので、非常に時間がかかると思います。「こんなに簡単なものなのにこんなに時間がかかるのか・・・」と思うかもしれませんが、そこが一番の辛抱ポイントです。そこを地道に乗り越えることができれば、プログラミングの挫折ポイントの8割くらいは乗り越えられたと言ってもいいと思います。その状態から1つ〜2つくらい、自分の作りたいものを作れることを目指しましょう。1つ目のものを作るのには、ある程度の規模のものであれば3ヶ月以上かかると思います。2つ目のものを作るときには、調べたポイントやハマったポイントなどを理解できているので、本当に1回目の半分くらいの時間で、2倍のクオリティのものを作ることができます。ここまでいければ、独学でやるべき最初のステップは乗り越えた、といえると思います。JavaScript以外を最初の言語としてオススメしない理由を説明します。KotlinやSwiftこれらの言語は、AndroidやiOSエンジニアになるなら必須の言語です。iOSエンジニアになることが予想されます。iOS専門でエンジニアやってます・・・という人も多い)おそらくこれを読んでいる方はどんなエンジニアになるかを決めていないと思うので、いきなりAndroidやiOSにどっぷり浸かるのではなく、横の展開がしやすいフロントエンド系の言語で入るのがよいかと思います。※もちろん、KotlinやSwiftの方が楽しい、ということであれば止めません。PiなどのIoT系プログラミング言語この言語をオススメしている記事を見たこともありますが、この記事を読んでいるあなたは、電子工作がやりたいわけではないと思います。僕自身も過去に電子工作をやっていて、非常に楽しいので趣味としてはオススメです。あなたの目的がエンジニアとして転職やフリーランスとして案件を獲得するのが目標であれば、最初の言語としてはオススメしません。PHPなどReactなどのモダンな言語に行った方が市場価値を上げられると考えているためです。好みによってはPHPに行ってもいいとは思います。※僕自身、あまりPHPに詳しくないのでここは何とも言えません。いえ、僕はIT企業に努めており、そこにいるチームでPHPでプロダクトを作っているところを知らないので、あまり使われていないんだろうな・・・という印象を持っています。結論HTMLから初めて、Bootstrapを組み込むところから始めましょう。その後、動くページを作るためにJavaScriptを勉強するのがオススメです。2ヶ月程度の勉強で十分だと思います。JavaScriptはある程度言語のことを勉強した後は、自分でゼロベースでモノを作ることをオススメします。することによって、より実践的な力を身につけることができます。以上で今回の記事は終わりです。この内容が、未経験からエンジニアを目指すみなさんの、最初に言語を選ぶ際の参考になれば幸いです。ここまで読んでいただき、ありがとうございました!最後にこの記事では、プログラミング初心者が選ぶべき言語に関して深堀りしました。・プログラミングスクールに通うべきか?などの情報を知っておくべきです。そんな必要な情報を以下の記事にまとめたので、全体像を知りたい方は、合わせてご確認ください。やらない理由がない】プログラミングおすすめmame0112まめブログ関連記事プログラミングプログラミングは何から始めるべきか?学習のステップと体験談を公開あなたは、「プログラミングを勉強したいが、何から始めたらいいのか分からない」と悩んでいませんか?この記事では、プログラミングを初心者の状態から覚えるための考え方や何から始めるか?などを紹介します。これを読むことで、無駄なくプログラミングを上達できます。プログラミングプログラミングで作りたいものがない!の対策【芸術大学卒のエンジニア直伝】プログラミングの勉強で「作りたいものがない」と悩んでいませんか?この記事では、芸術系大学で作りたいものを沢山つくってきた僕の経験を元に、作りたいものが思いつかないときの原因や対策、そして作りたいものを大量に思いつくための方法を説明します。プログラミングプログラミングができなくて辞めたい?【僕が実践した秘策を公開】プログラミングの勉強中や、未経験からエンジニアになったときに、「プログラミングができない!もう辞めたい!」と思ったことはないでしょうか?この記事を読むと、どういう理由で「辞めたい」と思うのか?そして、それぞれのケースごとの対策を知ることができます。ENGINEER)を知ってますか?この記事では、侍エンジニア塾の過去の炎上の話含め、リアルな特徴や評判を紹介します。この記事で侍エンジニア塾に申し込むか検討しましょう。プログラミングプログラミングスクールとは?【概要やメリットやデメリットを説明】あなたは「プログラミングスクール」を正しく理解していますか?「何となくプログラミングについて勉強できるとこでしょ?」という理解では不十分です。プログラミングスクールには価値もリスクもあるので、この記事で、それらを正しく理解しましょう。「プログラミングを始めたいけど、何から始めたらいいかわからない」という悩みを持っていませんか?この記事では、完全初心者が最初に勉強すべきプログラミング言語や、具体的な勉強方法など、挫折をせずにプログラミングを勉強する方法を解説します。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。@mame01122過去、エンジニアとして、とても苦労した経験あり(何度も辞めそうになった)。そんな経験から、あなたが同じ思いをしないように、【エンジニアへの転職】や、【エンジニアになった後を見越した準備や心構え】を発信しています。今はプログラミング以外のスキルとの掛け合わせで、市場価値アップ&IT企業のプロダクトマネージャー。免責事項サイトマップタイトルとURLをコピーしました。