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

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

ただいまの
回答率

89.10%

これからプログラミング言語

解決済

回答 8

投稿

  • 評価
  • クリップ 1
  • VIEW 1,802

kotodama

score 31

これからプログラミング言語を学ぶ初心者です。

これからの社会を見据えて、どの言語がいいと思いますか?
僕はRubyを学んでみようと考えてます。

いずれ趣味でアプリや人工知能やロボットなどの勉強開発してみたいです!

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • nomura

    2016/08/20 02:15

    Taksonさんの過去の質問と回答に対する対応を見ました。
    私にはどうも要領を得ない事をされているようにしか見えません。質問をされる前に質問内容をご自身で調べたりされていますでしょうか?

    キャンセル

  • kotodama

    2016/08/20 20:26

    すみません。PCが初心者で調べてもわからなくて、何を聞いていいのかもよくわかってません。申し訳ありません。

    キャンセル

回答 8

+5

C言語はLinuxの環境下で動かす前提みたいな所があるので、面白さが分かるまでは茨の道でしょう。
コマンドライン(黒い画面)にHello Worldや四則演算等の文字列が表示されて喜べるのなら話は別ですが、
目的がアプリとの事なので、ただただ辛い2〜3年になるでしょう。
(但し速度は折り紙付きで、電脳戦に出るような強豪の将棋AIは大多数がC言語だったりします)

Mr_Robotoさんの仰る通り、伸びる人は必要に応じて言語を使い分けし始めるので、
まずは気になる言語を集中的に勉強して、作りたいモノをすんなり作れるまでのスキルを身につける事をオススメします。

参考書ばかり読んでる絵描きが一切上達しないのに対して、下手でも毎日描いてる素人の方が圧倒的に上手くなるのと同じ理屈です。
プログラミングの世界もやりたいことをソースコードに表現して動作させるという能力が必要になります。

私がオススメする言語を指定出来るなら、RubyやPythonを選びます。
最低でもオブジェクト指向言語で慣れておいた方が何かと便利です。


簡単に早見表を作りました。

  • アプリ: 作りたい対象によって得意分野が違う
    Webサイト: どの言語も得意。強いて言えばRubyが良いか
    Webアプリ: ブラウザー上で動的に動かすにはJavaScriptが必須
    スマホアプリ: AndroidならJava一択、iOSならSwift一択
    Windowsアプリ: C#一択
    RPGツクール: VA系ならRuby、MVはJavaScriptが使える
  • 人工知能: Pythonがライブラリも豊富で多少有利
  • ロボット: そもそも何のロボットかによって、動作する言語やライブラリが強烈に縛られるので言語による選択肢はない

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/08/17 22:09

    wiyabiさんのオススメのRubyを学んでみます!
    それからアプリのJavaとSwiftを学んでいけば大丈夫でしょうか?

    キャンセル

  • 2016/08/17 22:10

    miyabiさんでした!!打ち間違いすみません。

    キャンセル

+3

社会は見据えられませんが、Rubyが気になってるならまずは、
Rubyをがっつりやるがいいと思いますよ。
自分が好きだと思えるものじゃないと続きませんからね。

一つの言語がきっかりできるようになれば2個目以降は、それほど苦労しませんし。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/08/17 19:56

    Ruby、、、難しいらしいですね。

    キャンセル

  • 2016/08/17 20:06

    最初は何でも難しく感じるからRubyだけが特に難しいということは無いと思いますよ。
    ていうかC言語の方が難しいと思う ^_^;

    同じことやるにしてもC言語の方がいろいろ大変な気がしますし
    まぁ、何を選んでも最初は苦労します。

    私個人的には今時最初にC言語やらなくてもいいと思いますけどね。

    こういう質問は回答者が自分の思いをいろいろ言うだけで
    本当に質問者さんに合ってるかどうかまでは考慮されていませんので、
    最終的には自分でよく考えて決めましょう。

    キャンセル

  • 2016/08/17 22:04

    ありがとうございます(O_O)!

    キャンセル

+2

とりあえず、C言語で修業してから気になるのを選ぶといいかと。
オブジェクト指向言語や関数型言語は最初に覚えることが多いので
まずはシンプルな言語を経験したうえで次に進むのが
いいんじゃないかなあ。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/08/17 19:49

    わかりました!!
    各言語は全く違うものなのでしょうか??

    キャンセル

  • 2016/08/17 19:57

    その人のスキルによる、かなあ。
    ある言語を習得した後なら似てると感じる部分もあるかと。
    オブジェクト指向言語はCからの流れをくんでるので
    わりとなじみやすいと思いますが、関数型言語は
    発想が違ってくるのでしばらくは様子見が吉かも。

    キャンセル

  • 2016/08/17 22:05

    ありがとうございます!

    キャンセル

checkベストアンサー

+1

Rubyはメインで使っていますが、
文法はシンプルだし、日本語情報は多いしで、
今のメジャーな言語の中では易しい方だと思いますよ。

ただ、本格的なオブジェクト指向で組むのは難しいですが、
それはオブジェクト指向自体が難しいのであって、
ほかのどんな言語でも難しいです。


人工知能を学ぶという面だけで言えば、
機械学習のライブラリが充実したPythonの方がオススメです。

ただ、C言語風の文法を骨格に、Perlのスクリプト要素、
Lispの関数型要素、Smalltalkのオブジェクト指向要素、
が入っているという点で、RubyとPythonは兄弟のような関係です。
どちらか一方を習得すれば、移行するのもさほど難しくないと思います。


しかし、人工知能をやりたいのであれば、どの言語を選ぶかというよりも、
数学の修得の方が本質的に重要になると思います。
(ただし、クラウドやライブラリを使うだけ、という立場もあります)

たとえば、ナイーブベイズにしろ、サポートベクターマシンにしろ、
数式が読めないと学習書も読めないです。なんでそうなるかというと、
機械学習とは何か端的に言うと、機械に統計をやらせてるからです。

機械学習でよく使われる分野は、微分・積分、統計・確率、線形代数です。
あとは離散数学とか計算機科学と言われる分野ですね。グラフ理論とか。

つまり、数学も言語なのです。もちろんプログラミング言語ではないですが、
仕様記述言語とみなすことは可能でしょう。習得すれば強力な武器になります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

人工知能やロボットを行うなら、Python を進めます。
また、Rubyと比べてPythonの方が言語仕様として
小さいので覚えやすいと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

今何歳ですか?
もし高校生であるならば、大学で学ぶことを考慮するとC言語を最初に学ぶことはおススメです。
その時に周りが一生懸命にCを勉強しているときにRubyなりなんなりを学ぶことがいいと思います。

Rubyは上級者向けですよ

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/08/17 19:55

    24歳です。(O_O)

    そうなんですか、、、ではCですかね?
    アプリとかも作成したいです!

    キャンセル

0

ただ何となくプログラムやってみたいなというのであれば、Rubyは非常に良い選択だと思います。

プログラムで最初に書く、Hello Worldでつまずく恐れがまずないです。

言語は、具体的にやりたいことが決まったらなんとなく決まります。
逆をいうと、やりたいこと毎に新しい言語を覚えるのは珍しいことではありません。

最初の言語はやりたいことと直結していなくても問題ありません。
二つ目の言語を覚えるのは、書き方の違いを覚えるだけなので、思ったほど大変ではありません。

特にRubyは機能が豊富なのでほかの言語にない機能はそれほど多くありません。
つまり、ほかの言語を覚えるときに新しく覚えなくてはいけないことが少ないのです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

私はPythonをお勧めします。

〈長所〉
他の回答者様におっしゃるとおりPythonは人工知能に向いておりますし、比較的書いたあとのコードが読みやすいです。当然、プログラムを書いてるときにも自分の書いたプログラムを読むことは多くありますし、他の人に読んでもらうときも読みずらいと怒れてしまうので、これは大きな長所だと私は思います。

〈短所〉
比較的実行速度が遅いですね。まぁ、マシンのスペックがあればあまり問題ないような気がしますが。あと、僕の体験談ではPythonを始めてからC言語を始めると、様々なところで嫌になります(最後に付ける「;」とか、型の指定とか、ポインタとか)。なので、あえて苦しい思いをしながらC言語をやってみるのも一つの手かなとも思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 89.10%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる