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

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

ただいまの
回答率

88.05%

新しい言語の勉強方法

解決済

回答 8

投稿 編集

  • 評価
  • クリップ 7
  • VIEW 1,873

score 193

みなさんはプログラミングを勉強する際にどんな方法でしましたか?

自分はとりあえず本を買ってきて、頭から読みながら演習をするという、まじめなというか、つまらない方法でやっているんですが、、

このサイトなんかを見ていると、webサイトだけで習得したとか、「勉強」は特にせず、基本を押さえてものを作る段階で調べながら習得したとか、さまざまで、、

結局どうするのがいいのかなと悩んでいます。

Java(Android)、C++を習得したいです。

皆さんのご意見お待ちしています。

追記)
情報不足でした…
僕は工業系の学校で情報を勉強している学生です。
Cは5年ほどやっていて、1通り習得したつもりです。(この秋の基本情報はCを選択して勝手に合格を確信しています(笑)
Javaは実験でGUIアプリをなんとか作った程度です
  • 気になる質問をクリップする

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 8

+4

例えば、
「Java経験が10年あります」って人が「C#をやろう」と思ったら本なんか読まずにツラツラ書けてしまいます。
でも、「Java経験が10年あります」って人でも「Cをやろう」と思ったらある程度は調べないといけないし時には本を買うこともあるでしょう。

私はJavaはわかるけどAndroid開発はわからない。なので入門だけWEBで見て後は本を買うでしょう。
基本はわかるとしても、細かいところはわからない。

結局どうするのがいいのかなと悩んでいます。 
1)本を読んで演習を行なって数をこなす。堅実であり確実。

2)既存のソースをひたすら読む。最近はgitとかあるし。超便利。

3)teratailで「こういうソース書いて!」ってお願いする。冗談ですよ。

4)仕事で放り込まれたら泣きながらどんな手段を使ってでも覚えるので、そういうのも有りかな。

人それぞれだし、風呂の中で本を読むほうが覚えられる人もいればスタバの机じゃないと効率が上がらないって人もいるでしょう。

自分はとりあえず本を買ってきて、頭から読みながら演習をするという、まじめなというか、つまらない方法でやっているんですが、、 
つまらないと言うけれど、それができるのが一番良いです。
私は「最初はわかるから!」といってすっ飛ばして10ページ後で躓く人を何人も見てきたので、頭から読んで演習できる人は伸びると知っています。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2015/11/12 21:58

    回答ありがとうございます!
    3)←冗談で安心しました(笑)
    gitあまり使ったことがないので試してみます!

    キャンセル

checkベストアンサー

+2

習得の順番について

個人的には、Java や、C++ 等の、高機能な言語をいきなり勉強するのは得策ではないような気がします。
進む方向にもよると思いますが、方向によっては極めようとした時に、壁にぶつかる気がしています。
個人的には、Cやアセンブラ(さすがに今はこれは無理かな?)などの低機能な言語で、基本的な言語とプロセッサの動作を理解してからの方が学習し安いと思います。
Cを習得後にJavaやC++を勉強するのは、足し算の後に掛け算を勉強するようなものです。感の良い人なら数日~数週間程度でそれなりのレベルになれるでしょう。いきなり、javaやC++を始めるのは、足し算をすっ飛ばしていきなり掛け算を勉強するようなものに思えます。

習得のしかたについて

なにがしか、自分の興味が持てそうなものを題材にして、とにかく自力で調べてコードを書いてみる事です。以下、自分や後輩が言語習得や、OS環境の習熟のために使用したテーマです。
・ストップウオッチ、アラームタイマ
・テトリス
・オセロ
・倉庫番
パズル系は意外に簡単?(笑)

追記
・数独
・ロジックパズル

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2015/11/12 21:51

    回答ありがとうございます!
    情報が不足していて申し訳ありませんでした。
    追記したとおりCはそこそこ習得していまして、
    実は、、、
    アセンブラも実験でやったし、授業でパソコンの中身の話もやっていて、まあまあわかるので勉強はできそうです!
    なので、T.Kannoさんの回答で飛び跳ねて喜んでいるところです(笑)
    パズル系は自分で解くのも好きなので、作る方もやってみたいとおまいます!!

    キャンセル

  • 2015/11/12 22:16

    題材を追記しておきました。(笑)
    解けないパズルに頭にきて! と言うもの学習の動機としては面白いですよね。

    キャンセル

  • 2015/11/12 23:53

    数独やオセロは頭にあったのですが、倉庫番は盲点でした!
    パズルを作りつつ、解く方のアルゴリズムなんかも勉強してみます!!

    キャンセル

+2

始めてコンピュータ言語を勉強するならお金がかかっても有償研修を使う。
今まで使っていたコンピュータ言語と似た思想の言語ならインターネット検索と書籍でできるかも?要努力。
趣味でプログラミングするなら、インターネット検索や書籍で勉強しても良いかもしれないが、業務でそれなりのお金をもらって仕事をするなら、職場にサポートしてくれるコンピュータ言語の熟練者がいなければ、やはり有償研修が必要。
COBOLなど汎用機のコンピュータ言語を使っていた人が全く思想が違うオープン系の言語を使うにはやはり有償研修が必要。

>3)teratailで「こういうソース書いて!」ってお願いする。冗談ですよ。
わたしのテリトリなら有償で。爆
teratail にこの手の有償サービスがあっても良い。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2015/11/12 16:33

    プロフィール拝見しましたが、興味深い分野を特技とされていますね!
    DBの論理物理設計&パフォーマンスチューニングならお金払ってでも識者に学びたいです。

    キャンセル

  • 2015/11/12 18:06

    無料で使用期限のないOracle Database Express Edition(以下 XE, Standard Editon相当)がいまのところOracle11.2.0版のみが
    http://www.oracle.com/technetwork/jp/database/database-technologies/express-edition/overview/index.html
    で公開されています。Oracle SQLの入門の勉強にはこれで十分でしょう。

    Oracleの日本語マニュアルは以下に無料で公開されています。
    http://www.oracle.com/technetwork/jp/indexes/documentation/index.html

    [Oracle 入門]といったキーワードでググるとかなりの情報が拾えます。

    DBの論理物理設計&パフォーマンスチューニングは簡単には教えられません。キーワードでググるとそれなりの内容を調べることはできますが、できればOracle社の有償研修に行かれた方が良いです。わたしが教えるならいっしょに仕事をする必要があります。

    キャンセル

  • 2015/11/12 21:55

    回答ありがとうございます!
    いま情報な学生で、ある意味有償研修中のようなものなので、今のうちにめちゃくちゃ勉強します!!!

    キャンセル

+1

とにかくコードを書くことが重要です。
本を読むこともとても重要ですが、実践しない知識は意味がありません。当日中に実際に使ってみるといいでしょう。

Androidの場合はコーディング→起動→成功・失敗までのサイクルをとても短くすることができます。「理想に向けてとにかく繰り返し、失敗したら調べる」を続けることで習得できます。

また、ある程度慣れてくると、綺麗な書き方や効率等の向上を目指すといいでしょう。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2015/11/12 21:56

    回答ありがとうございます!
    実践大事にしたいと思います!

    キャンセル

+1

人それぞれな部分が大きく、他のプログラミング言語を知っているかどうかによっても違うかもしれません。

私の場合ですが、本はリファレンスくらいにしか使わずに、ひたすら悩みながら自分が作りたいプログラムを作ってみます。悩んだ分だけ覚えますし、本の内容を一からなぞるような受身な学習になりません。

習うより慣れろ。
プログラミング言語を習得するときによく聞く言葉です。

ちなみに言語以外の本はちゃんと読むものもあります。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2015/11/12 21:53

    回答ありがとうございます!
    習うより慣れます!!(笑)

    キャンセル

+1

どんな背景(知識や経験)を持っているか、どんな目的で学ぶか、どの程度の期間で身につける必要があるか、もちろん懐具合によっても違って来ると思います。本人の性格によっても異なってくるでしょうし、それと忘れてならないのは、対象とする言語による違いもかなり大きいと考えています。
つまり、人それぞれですね〜。だからこそ、こういう場でいろいろな方のご意見を拝聴することに意義があるのだと思いますが。

さて自分の場合について少し書きますと、
若いころは、取り敢えず良さ気な参考書を入手して最初のページから順番に読み、演習問題をやっていたように思います。
しかし、現在はWeb上に情報が溢れているせいもあり、まずはWebで入手した情報である程度学習してから、必要があれば書籍を購入する(あるいは図書館で借りる)ようにしています。

いま振り返ってみると、Webから得られる情報は年々重要性を増しているように感じます。と言うのは…
  • 学ぶべき技術の分野が益々幅広く、かつ細分化されて来たため、全てを書籍で学ぶのは大変(金銭的にも)
  • その一方で、Webから得られる情報が、量・質ともに年々充実度を増している(玉石混交なので情報の洪水に流されないよう注意も必要だが)
  • 技術の進歩が速く、新しい技術の場合は書籍化が間に合っておらずWebに頼るしかないものも増えている
  • 書籍の種類も豊富になり選択も大変なので、ある程度予備知識を得てから選んだ方が間違いがない
  • せっかく高価な書籍を購入しても、本当に必要な部分は一部だけの場合も多い(というよりも一冊の書籍をじっくり学んでいる時間もない?

ただし、情報の入手方法がどうであれ、実際に手を動かし物を作ってみなければ身に着かないという点は変わりないと強く感じています。しかも趣味でタラタラやっている場合と比べると、なんといっても仕事上必要に迫られて取り組んだ場合では、理解の幅も深さも比較になりません。

どんな情報であれ、実際に使える形できとんと身に着けるには、積極的にアウトプットして何らかのフィードバックをもらうことが一番重要だと思います。そういう意味では、こうした質問サイトなどで積極的に質問・回答を繰り返すというのも良い学習方法だと思っています。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2015/11/12 23:50

    回答ありがとうございます
    実際にものを作ってみたいと思います!

    キャンセル

0

私もyonaさんの意見に賛成です。
自分が作っていて楽しいと感じられるソフトを作るのがベストと思います。
オブジェクト指向言語を経験していれば、Javaの基本を習得するのにたいして時間はかからないので、どちらかと言うとC++の方に注力するとより力が着くと思います。
画像処理に興味があれば、WEBカメラを買ってきてOpenCVでARってなかなか楽しそうですよ。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2015/11/12 21:54

    回答ありがとうございます!
    ARなんて出来たらかっこいいな~~~というレベルですまだ(笑)
    がんばります!

    キャンセル

0

未経験からWebプログラマーになる...
って案内が来た。受講もできるし、やる気があれば講師にもなれる。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

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

関連した質問

同じタグがついた質問を見る