質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

9回答

632閲覧

習得しやすい言語について

退会済みユーザー

退会済みユーザー

総合スコア0

Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

2グッド

0クリップ

投稿2018/08/11 08:57

編集2018/08/11 13:57

今高校生なのですが、将来は大学で機械学習系の勉強をしたいと思っているので、それに向けてプログラミングの勉強をしたいと思っています(その大学の授業の中ではC/C++ Java Scalaの勉強をするそうです)。これまでにHSPの言語しか勉強したことがありません。そこで、新しく別の言語のプログラミングを習得しようと思っています。今興味があるのは
Python C/C++ Java Scala Go
の5つなのですが、一番習得しやすいのはどれでしょうか?教えていただければと思います。
よろしくお願いします。
※補足です
大学に入るんだから受験勉強を優先するべきだという回答をいただくのですが、私は現在高2でこれから約1年半受験勉強だけをするとなると精神的にどこかで疲れてしまうのではないかと思っています。そのため、受験勉強と並行して少し(多くて1日1,2時間程度)プログラミングの勉強もしようと思って質問させていただきました。それも踏まえて解答いただければと思います。よろしくお願いします。

yohhoy👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答9

0

今高校生

高校生との事なので、受験、バイト、部活など大変だと思うので
プログラムに割ける時間はどれくらいなのかというのが一つのポイントでは。
習得しやすい言語という質問をするということは時間があまり割けないのではないでしょうか。

HSPからとなると、HSPは手続き型言語で、他言語はオブジェクト指向なので習得難易度が少しあがります。(それでもゼロから言語を覚えるよりは習得難易度が下がりますが)
Python C/C++ Java Scala Goの中で選択するとなるとPythonその次はGoです。

でも周りにメンターとかプログラムに詳しい人がいない(質問されるということはそういう事だと思いました)なら、
そこまで進捗が捗ると思えないので個人的には数学と英語を復習されることをお勧めします。
こちらなら困った時/悩んだ時に周りに聞ける人がいるはずです。

投稿2018/08/11 12:14

編集2018/08/11 13:38
umyu

総合スコア5846

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

機械学習にもいろいろあるやろけど、Deep Learningなら代数(行列)のおベンキョしとくのが幸せになれそう。Deep Learningって行列演算の塊ですから。

言語はどれも大差なし、大抵の言語ではキモの演算はライブラリを呼び出すだけですから。
※ 数値演算が得意なPythonが比較的優位でしょうか。

投稿2018/08/11 19:52

編集2018/08/11 19:55
episteme

総合スコア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
hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

どれが学習しやすいかは、かなり人それぞれの主観が入ると思います。しかし、pythonは機械学習系の話題も豊富に見つかり、目的によく合致していることは確かでしょう。

pythonは、文法がシンプルでわかりやすい、Cやjavaのように難解な概念(私の主観による)をまず理解せねば使えないなんてことがない、各種ライブラリがすぐ使えるため幅広い範囲に直ぐに応用できる、など、多くの利点があります。挙げられた中から最初に勉強してみる言語を一つだけを選ぶとしたらpythonかなと思います。

投稿2018/08/11 09:19

KojiDoi

総合スコア13669

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

機械学習系の勉強をしたい

と言ったら、現状は、 Python一択じゃないでしょうか。

習得し易いかどうかは、本人次第ですが、情報も多いですね。

なお、
C --> C++ ..--> Java, C# と言う感じで、同じ系譜に属します。
Cには、クラスの概念がありませんが、その他は、深くこだわらなければ、方言レベル。

投稿2018/08/11 09:13

pepperleaf

総合スコア6383

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

目的に合った言語を覚えればいい。習得のしやすくても目的を達成できなきゃ意味ねー。

投稿2018/08/14 07:20

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

言語なんて所詮道具でしかありません。
まず目的を持って、それを実現するために最も近道ができそうな言語、
目的に関連する情報の多い言語を習得すればいいのではないでしょうか?
(機械学習ならPythonと言った具合に)
経験上、それが最も習得への近道だと思います。

その上で、習得の容易性を評価するなら、スクリプト系の手続き型言語の方が、
オブジェクト指向言語よりも覚えるべきマナーは少ないのでとっかかり易くなりますが、
オブジェクト指向は今の時代避けては通れませんから、
どこかで必ず覚えなければならなくなるでしょう。

なので、言語仕様ではなくIDEの充実度で評価するのもいいのではないかと思います。
プログラムは動いてナンボですから、
書いてすぐ動かせたり、コーディングを支援してくれるのは、学習の助けになります。
マナーや細かい言語仕様、用語なんて、
プログラムを1本組み上げる頃には、ある程度は自然と身についているでしょうし。

ちなみに私は、目的に応じて言語は使い分けています。
かなり節操なく????

投稿2018/08/11 17:46

chun

総合スコア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
katoy

総合スコア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
tachikoma

総合スコア3601

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問