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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

6回答

1689閲覧

PHPなどの言語の学習方法について

murama2

総合スコア113

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

2クリップ

投稿2017/01/05 13:59

みなさんの勉強方法についておしえてください。

PHPやjavascript、rubyなど様々な言語があるかとおもいますが、どの言語とは言いませんが、ある言語を勉強しようと思ったとき、みなさんはどういったやり方で覚えていったのでしょうか?
学生時代のような参考書を買って、それをノートに書いて覚えてた人もおられるのでしょうか?
また、とにかく覚えようと思った言語でひたすら何かを作りまくったという人もおられるのでしょうか?

このサイトでこんなことを聞くのは場違いかもしれないですが、今自分がPHPやjavascriptなど学習するうえで、どのように進めたらいいか悩んでいるので教えてもらえるとうれしいです。

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

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

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

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

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

guest

回答6

0

ベストアンサー

人によると考えています。

  1. WEBや参考書を読み、記憶する。
  2. WEBや参考書を読み、実践する。
  3. WEBや参考書を読み、記録する。
  4. スクール等に通い、習う。
  5. 最近だと動画学習サイトや実戦形式のサイト

などなど。

私の場合は1番目にあたり、寝る前や電車等の時間で、
WebやKindleを見て覚えます。

ただ、実行しないと結果がわからない事に関しては、
コードを書いて実行結果を見て、理解を深める場合もあります。

後はプログラミング言語のバージョンアップによって記法が大分変わりますので、
学ぶ際は古いバージョンを学んでも良いとは思いますが、
最新または最新から1つ前のメジャーバージョンを学ぶと良いと思います。

また、始めた頃は色々な本を買ったりしましたが、
よくある入門書籍は買わないほうが良いです。
(多方面から攻撃されそうですが)

理由としては、
大まかな知識しか書いていない所に問題が有ります。

例えば、
大体の言語で使用されているセミコロン(;)ですが、
殆どの入門書籍では「とりあえずルールと思って頂ければ良いです」的なことが書いています。

ルールと言えばルールですが、文末を表す記号であったり意味があります。
そういう所を省かれて、結局WEBで調べるので効率が悪いです。

結論としては、
入門時にしっかり知識をつけたい場合は、

  • いいWEBサイトに出会うこと。
  • 自分にあった学習方法を見つけること。

かなーと考えています。

投稿2017/01/05 14:46

編集2017/01/05 14:50
mukkun

総合スコア882

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

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

退会済みユーザー

退会済みユーザー

2017/01/05 22:40

> 大まかな知識しか書いていない所に問題が有ります。 入門書は大まかな知識を体系的にしいれるものですよ! 辞書じゃないし言語の仕様書でもない。 ってことで、使い方の問題かと。 入門書読まないと「UTF-8」がーとか「改行コード」がーとかつまらんとこで悩むことになります。逆に入門書にはそれ以外のことを期待してはいけないですけど。
mukkun

2017/01/05 22:50

te2jiさん ですねー。 ただ曖昧な知識を言語仕様として認識、過信すると良くないかなとも思いますね。 (そこら辺もやっぱり人によりますね) >> よくある入門書籍は買わないほうが良いです。 断定的な言い回しは良くなかったかもしれませんね。
退会済みユーザー

退会済みユーザー

2017/01/06 00:32

> ただ曖昧な知識を言語仕様として認識、過信すると良くないかなとも思いますね。 私の切り分けとしては ・新しい知識/情報の取得 → Webサイト ・疑問/問題の解決 → 仕様書等の一次情報源 って感じです。疑問の解決は曖昧な情報源だと更に悩みますよね。 オライリー本とかは、仕様書の類と読み替えて下さいw
guest

0

同じような質問はたくさん見ました。特にこちらで聞いてもおかしなことではないようです。

ってことで、私の実践したのは
・初学者向けの入門書(体系的知識の整理)
・teratailで、初学者と思われる人の質問とその回答を読みまくる(トラブル箇所の勘所把握)
・何らかのアプリケーションを設計/構築してみる(動くスクリプトを書くことで、モチベーション維持)
・公開されているライブラリやSDKのコードを読み、きれいなコードを知る(きれいじゃないのもあるけどw)
・軽量フレームワークを参考に、お作法的なものを体感する(正直何やってるかわからない。遅々として進まない。でも読む。)
下2項目は現在進行系です。(余り進んでいないw)

私自身は実践できてませんが、途中でコードレビューをしてもらうと学習効率が上がると思います。
他者の指摘は非常に重要です。

ホントはどっかの会社に所属して、1年ぐらい揉まれるのが最速かもしれません。

あと、学習ではないですが、早めにIDEか高機能エディタを使ったほうが良いです。
つまらんことで、時間を取られることがなくなります。

投稿2017/01/05 22:32

編集2017/01/05 22:50
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

勉強方法も人それぞれなんですよね。というところはmukkunさんに同意です。

とりあえず自分は
「実行結果がハッキリしているコードも書き写して実行する」
「実行したコードの一行一行がどういう事をしたのか自分の言葉で脳内で説明する」
「インタプリタ系言語(Ruby,Python,PHP, etc...)なら、電卓代わりに気軽に使ってみる」

教材の良し悪しは確かにアリます。僕は幸い地雷みたいな参考書に出会わなかったかなと思ったりしてますが。それもこれも、一度専門学校通って、コンピューターの基本(PCパーツの構成とその役割やアルゴリズムとデータ構造の学習)もあったのかも……。

閑話休題。

あとはやっぱり人に教えてもらうのが一番の近道かもしれません。
近くに気軽に聞ける人が居るかどうかだけでも違うと思います。その上で自分の言葉で理解した内容をまとめる。
個人指導塾でPythonプログラミングを教えてる(と言うとおこがましいのですが)と、生徒の様子を見ていてそう思いますし、Smalltalkを学ぶ時もたまたま身近にSmalltalk界ではかなり強い方がいらっしゃったので、Smalltalkの面白さに目覚めました。

mukkunさんの

よくある入門書籍は買わないほうが良いです。

(多方面から攻撃されそうですが)

よくわかります。確かに「おまじないです。ルールです」
で片付けてもやもやさせたまま進める入門書は多いです。

かといって、プログラミングを始める人がいきなり「苦しんで覚えるC言語」に進むのは結構厳しい物がある気がするぞというのが僕の所感ではあるので、
「おまじない」「ルール」でぼやっとさせてる入門書があるのなら、
「このおまじないって、結局何なんだ?」
って興味を持ったらすぐ調べる。調べて分からなかったら時がそのうち解決する(いずれ理解できる)まで資料を読み返す。自分の言葉でまとめる。誰かにもう少しわかりやすく説明してもらう。という行動力も必要かと。

僕はプログラミング学習に関しては結構古臭い考えの人間です。なんせ、
「プログラミング勉強する前にPCパーツの内部構造と各パーツの役割くらい把握しておけ。あと一番の参考書は言語の仕様書」
という人間ですが、どこが具体的にわからないというのがはっきりしていれば、誰かに聞くのはやっぱり有力なのではないかなと思います。はっきりしていなくても、対話で紐解いていく力さえあればなんとかなるかと。

話があちこちに飛んでいってしまいましたが、分からなくなったら近くの詳しい人か、teratailに投稿しましょう!
ということを言いたかったです。

駄文、長文失礼いたしました。

投稿2017/01/05 22:03

manzyun

総合スコア2244

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

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

0

学習方法って人それぞれですからね。

なので一例。

  1. 私はその言語の最低限の書式を覚える。
  2. 作りたいもの・あったらいいなと思うものをイメージ。
  3. 2を実際に作る。

という感じ。

二言語目以降 は

  1. 最低限の書式を覚える
  2. 自分が知っている言語と 新しく学習する言語 の対応表を作る
  3. 作りたいもの・あったらいいなと思うものをイメージ
  4. 3を実際に作る

という感じ。

たとえば、

C -> C++ -> Java ...

とやるとします。

Cの最低限の書式は

C

1#include<stdio.h> 2 3int main( void ){ 4 // なんらかの処理 5return 0; 6}

ですね。

C++は

C++

1 2#include<iostream> 3 4using namespace std; 5 6int main( void ){ 7 // なんらかの処理 8return 0; 9}

Javaは

Java

1// MainProg.java 2class MainProg{ 3 public static void main( String args[] ){ 4 // なんらかの処理 5 } 6}

ですね。

二言語目以降は、

C/C++ の クラスオブジェクト生成は

CTest* test = new CTest();

CTest test();

です。

Javaでこれに相当するのは

CTest test = new CTest();

ポインタマークの有無の違いってだけ。

じゃあ、for文は?
...

という風にXに相当するものは...という感じで覚える。

投稿2017/01/06 04:10

BeatStar

総合スコア4958

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

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

0

もう解決したようですが、私の学習方法を書かせてください。

私の場合は、「誰かに教えて」勉強しました。
具体的に言いますと、はてな人力検索のプログラミング系の質問に回答していきました。

誰かに教えるためには系統的に理解する必要があります。質問による課題があることによって、問題解決のための具体的なコードを書く機会も増え、初心者の「多少書けるようになったと思うが、次に何を書いたらいいか分からない」状態を回避できます。
また、誰かに教えることによってあいまいだった部分が明らかになったり、知らなかったことを調べることによって自力で解決をしていくコツが分かり、他人に頼らないクセがついたと思います。

QAサイトのプログラミング質問は、難易度的に「初心者がぱっと答えるには難しいが、時間をかけて調べれば何らかの回答に行きつく」という、初心者がゾーン状態に入りやすいものが多いと思います。

ですので「teratailで誰かの質問に答えていく」という学習方法をお勧め致します。

投稿2017/01/26 12:15

Lhankor_Mhy

総合スコア35865

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

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

0

みなさんありがとうございます。
みなさんの言葉を参考に頑張ろうと思います!

投稿2017/01/26 09:27

murama2

総合スコア113

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問