今高校生なのですが、将来は大学で機械学習系の勉強をしたいと思っているので、それに向けてプログラミングの勉強をしたいと思っています(その大学の授業の中ではC/C++ Java Scalaの勉強をするそうです)。これまでにHSPの言語しか勉強したことがありません。そこで、新しく別の言語のプログラミングを習得しようと思っています。今興味があるのは
Python C/C++ Java Scala Go
の5つなのですが、一番習得しやすいのはどれでしょうか?教えていただければと思います。
よろしくお願いします。
※補足です
大学に入るんだから受験勉強を優先するべきだという回答をいただくのですが、私は現在高2でこれから約1年半受験勉強だけをするとなると精神的にどこかで疲れてしまうのではないかと思っています。そのため、受験勉強と並行して少し(多くて1日1,2時間程度)プログラミングの勉強もしようと思って質問させていただきました。それも踏まえて解答いただければと思います。よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答9件
0
今高校生
高校生との事なので、受験、バイト、部活など大変だと思うので
プログラムに割ける時間はどれくらいなのかというのが一つのポイントでは。
習得しやすい言語という質問をするということは時間があまり割けないのではないでしょうか。
HSPからとなると、HSPは手続き型言語で、他言語はオブジェクト指向なので習得難易度が少しあがります。(それでもゼロから言語を覚えるよりは習得難易度が下がりますが)
Python C/C++ Java Scala Goの中で選択するとなるとPythonその次はGoです。
でも周りにメンターとかプログラムに詳しい人がいない(質問されるということはそういう事だと思いました)なら、
そこまで進捗が捗ると思えないので個人的には数学と英語を復習されることをお勧めします。
こちらなら困った時/悩んだ時に周りに聞ける人がいるはずです。
投稿2018/08/11 12:14
編集2018/08/11 13:38総合スコア5846
0
機械学習にもいろいろあるやろけど、Deep Learningなら代数(行列)のおベンキョしとくのが幸せになれそう。Deep Learningって行列演算の塊ですから。
言語はどれも大差なし、大抵の言語ではキモの演算はライブラリを呼び出すだけですから。
※ 数値演算が得意なPythonが比較的優位でしょうか。
投稿2018/08/11 19:52
編集2018/08/11 19:55総合スコア16614
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
今高校生なのですが、将来は大学で機械学習系の勉強をしたいと思っているので、それに向けてプログラミングの勉強をしたいと思っています
大学に入れば嫌というほど勉強できるので、今からやっておく必要性は薄いです。受験勉強の方が100倍大切という時期なのでは。
その上で、やるとしたらあんまり実用的なことをやっても仕方ないでしょう。それより、後学のためになるかどうかを意識して選んでおいた方が良いです。
Python C/C++ Java Scala Go
のうちからあえて1つ選ぶのなら、Cじゃないでしょうか。入門書の類が充実していますし。C言語で基本的な概念を理解しておくと、後が楽だと思います。C++は大変なので、やらなくていいです。
追記
なるほど、高二ですか。
・・・回答としてはあまり変えることはありませんが、「機械学習とは関係ないけど、プログラミングでこういうの作ってみたい」というのがあれば積極的にやってみても良いです。何事も経験なので。
あるいは、pythonを動かして機械学習の世界に飛び込んじゃうのも、今からやったっていいし。理論的なことまで理解しようとすると数学力が足りないと思いますが、動かすだけなら十分できると思います(たださすがにHSPしか経験がないとプログラミング力が足りない可能性があるので、コーディングの基礎的なところは抑えていこう・・・)。
ただしのめり込みすぎて受験に落ちないよう注意。
あとは、勉強で確率統計と線形代数はしっかり抑えておいてください。
投稿2018/08/11 12:41
編集2018/08/11 22:11総合スコア30933
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
どれが学習しやすいかは、かなり人それぞれの主観が入ると思います。しかし、pythonは機械学習系の話題も豊富に見つかり、目的によく合致していることは確かでしょう。
pythonは、文法がシンプルでわかりやすい、Cやjavaのように難解な概念(私の主観による)をまず理解せねば使えないなんてことがない、各種ライブラリがすぐ使えるため幅広い範囲に直ぐに応用できる、など、多くの利点があります。挙げられた中から最初に勉強してみる言語を一つだけを選ぶとしたらpythonかなと思います。
投稿2018/08/11 09:19
総合スコア13669
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
機械学習系の勉強をしたい
と言ったら、現状は、 Python一択じゃないでしょうか。
習得し易いかどうかは、本人次第ですが、情報も多いですね。
なお、
C --> C++ ..--> Java, C# と言う感じで、同じ系譜に属します。
Cには、クラスの概念がありませんが、その他は、深くこだわらなければ、方言レベル。
投稿2018/08/11 09:13
総合スコア6383
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
目的に合った言語を覚えればいい。習得のしやすくても目的を達成できなきゃ意味ねー。
投稿2018/08/14 07:20
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
言語なんて所詮道具でしかありません。
まず目的を持って、それを実現するために最も近道ができそうな言語、
目的に関連する情報の多い言語を習得すればいいのではないでしょうか?
(機械学習ならPythonと言った具合に)
経験上、それが最も習得への近道だと思います。
その上で、習得の容易性を評価するなら、スクリプト系の手続き型言語の方が、
オブジェクト指向言語よりも覚えるべきマナーは少ないのでとっかかり易くなりますが、
オブジェクト指向は今の時代避けては通れませんから、
どこかで必ず覚えなければならなくなるでしょう。
なので、言語仕様ではなくIDEの充実度で評価するのもいいのではないかと思います。
プログラムは動いてナンボですから、
書いてすぐ動かせたり、コーディングを支援してくれるのは、学習の助けになります。
マナーや細かい言語仕様、用語なんて、
プログラムを1本組み上げる頃には、ある程度は自然と身についているでしょうし。
ちなみに私は、目的に応じて言語は使い分けています。
かなり節操なく????
投稿2018/08/11 17:46
総合スコア324
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
... 大学で機械学習系の勉強をしたい ...
プログラム言語より、OS について十分に親しむことが大事と思います。
現在 windows を使っているなら、Linux に触れてみてください。(macOS でも良いです)
多分大学でも、 windows でなく linux を使うことになると思います。
そして、 linux の根本思想を理解するとよいです。
参考書籍
- UNIXという考え方―その設計思想と哲学
https://www.amazon.co.jp/dp/4274064069
その上でプログラミング環境としてエディタとターミナルの操作に慣れてください。
言語専用のエディタでなく、テキストエディタ (vi とか emacs とか atom とか...)をつかってみてください。
Python C/C++ Java Scala Go から選ぶなら、 Python (version 3) が良いと思います。
今は、pthon をつかった機械学習系の情報がたくさんあるからです。
(数年後には別の言語が流行っているかもしれません。でも python で学んだことは他の言語でも流用できるはず)
学校での現代国語と数学は得意科目になるぐらいに勉強をしておくことも大事です。
数学の単元はどれもプログラミングに役立ちます。
投稿2018/08/11 14:30
編集2018/08/11 14:38総合スコア22324
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
せっかくだしv.1.0がリリースされたJuliaやりましょう、Julia。
数学の表現をそのままソースコードに出来て、インタラクティブに結果を確認できて、おまけに実行速度が速いですよ。
*こういうところ(Q&Aサイト)だと回答者に偏りがあるので、話半分程度の参考にとどめておいて下さいね。
追記
- Python
言語としては書きやすい部類だと思います。
各種ライブラリや書籍が充実してますので、勉強しながら実装してみることのハードルが比較的低いです。また、コミュニティも大きいので、困ったことがあっても誰かに質問しやすいのがいいかと思います。
- C言語/C++
自分でフレームワークや、ライブラリを作りたければ必須かも。これらだけで実用的なものを作り上げるのは骨の折れる作業なので入門としてはオススメできませんが、プログラミングの仕組みを学ぶ上では避けては通れないと思います。
- Java/Scala/Go
触ったことないでパス
その他、数値計算用に使える言語/環境
- いっとき前までは数学のツールではRが流行ってましたが、最近はあまり見かけなくなりました。
- Juliaは比較的新しい言語です。上でも書きましたが、今からやるならオススメです。ただし日本語のソースが少ないです。
- MATLAB・・・でしか出来ないことはほとんどないので、わざわざ有償のものを使わなくても、と思います。
投稿2018/08/11 10:04
編集2018/08/11 12:41総合スコア3601
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。