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

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

ただいまの
回答率

90.51%

  • HTML

    11446questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • Ruby

    9407questions

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

  • Ruby on Rails

    8826questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • Swift

    8715questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

  • CSS

    7521questions

    CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

結局のところ最短距離でプログラミングを覚えるにはどうしたら一番早いですか?

解決済

回答 11

投稿

  • 評価
  • クリップ 0
  • VIEW 1,079

lucky_15

score 1

僕はこれからプログラミング学ぼうと思ってる20歳です。
理由は
・作りたいサービスが一回浮かぶこと
・自分の作りたいサービスには全てプログラミングが必要なことです。
聞きたいことは『どうやったら入門者が結局のところ最短距離でサービスを作れるようになるか?』です。
ニートなので一日費やして学びたいと思います。
時間をどこにコミットすれば成長速度は上がりますか?

みなさんの学んでいき方とか参考にしたいです。


### 発生している問題・エラーメッセージ


エラーメッセージ

### 該当のソースコード

ここに言語名を入力
ソースコード
```

 試したこと

ここに問題に対して試したことを記載してください。

 補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

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

  • think49

    2018/08/13 18:52

    質問文も最短で読めるように、不要な記述を削除して頂けないでしょうか。

    キャンセル

  • yukihisa

    2018/08/14 13:40

    まずは学習以前に、使い方をきちんと考える癖をつけることでしょうか。ここのマニュアルくらいは読んで質問時のお作法は守ってください。まずはそれができない間はコードを記述するときにもなぁなぁでやっつけ、結果バグ埋め込んだりしてしまいますよ。

    キャンセル

  • 退会済みユーザー

    2018/08/14 14:25

    複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という意見がありました
    「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。

回答 11

+11

 最短の学習法

結局のところ最短距離でプログラミングを覚えるにはどうしたら一番早いですか?

「最短の学習法」「効率が良い学習法」はしばしば目にする質問ですが、この質問をする人には2つのタイプがあると思います。

(努力型) 最短で学習する為の努力を惜しまないタイプ
(怠惰型) 出来るだけ楽に学習したいタイプ

 努力型

最短で学習するには

  • 正確な知識を会得する (間違えた知識を習得するのは無駄)
  • 基礎知識から覚える (応用知識は基礎知識の集合体なので、覚えなくても何となる)
  • 1箇所で覚える (複数のサイトを行き来して、同じ情報を別々の場所で見るのは無駄)

正確な知識を習得するには「絶対に間違いのない情報」が不可欠でWeb標準の仕様書がそれにあたります。
私がHTMLを知らなかった頃、HTMLのリファレンスを求めて個人サイトを行き来して、どれが正しいのか悩んでいましたが、ある場所でHTMLの仕様書を教えて貰ってからは習得が早かった覚えがあります。
私が当時、読んだ仕様書は HTML 4.01 でした。

仕様書は平易な説明ではありませんが、全てが書かれている便利なリファレンスです。
仕様書だけ読めば、他のいくつものリファレンスを行き来して悩む時間がなくなるのですから、使わない手はないでしょう、と私は考えます。
私からすれば、「正誤不明な複数の個人サイトの情報を辿って、どちらが正しいのか悩んでいる時間」が苦痛でした。
仕様書は一度覚えれば、絶対に間違いがないので、段階的な学習の為に何度も複数のサイトを参照して、比較検討する必要がありません。
一般には仕様書は初心者向きではないといわれますが、段階的に覚えるにしても、仕様書を少しずつ読み進めた方がレベルアップが早いと私は思います。

 怠惰型

怠惰型とは、簡単に言えば、完成する為に必要な基礎知識の習得を出来るだけ減らそうとするタイプです。

  • 覚える知識量を減らしたい
  • 便利なライブラリを知りたい (自分で考えてコードを書く量を減らしたい)
  • 一般的に良い方法を知りたい (絶対的な一つの解が欲しい。「ケースバイケースです」といわれても「よく使われるのはどちらですか」と食い下がる)
  • HTML4.01はもう覚えなくて良いですか
  • どのブラウザをサポートするのが「一般的」ですか
  • 結果良ければ全て良し (「原因」や「経過」は覚えない)

感覚的でイメージ的にコードをとらえる傾向があります(「良さそう」とか「何だかわからない」とか)。
コードを理解する為に必要な基礎知識の習得が抜けているので、結果的に最遠ルートを辿ることになります。
(「怠惰」は「プログラマの三大美徳」の一つですが、本質は「楽をする為の努力を惜しまない」と私は考えます。)

Re: nezpapapa さん

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/08/12 18:30

    > 仕様書は一度覚えれば、絶対に間違いがないので

    とはいえ、ブラウザごとの未実装・バグ・独自実装といった仕様の世界で括れない部分もあって、そういう箇所は怪しげな情報源と格闘せざるを得ない…こともありました(今はだいぶましになっていますけど)。

    キャンセル

  • 2018/08/12 21:12

    今でこそWHATWGに https://caniuse.com/ へのリンクがありますが、当時はそこまで親切ではありませんでしたね。
    実装状況は「Web標準普及プロジェクト」「MSDN」「MDC(MDNの前身)」「IE Blog」とhttps://quirksmode.org/を確認して、見つからなければ自分で検証していました。
    総合的に今は良くなっていますが、MSDNが消えたのだけは不満です。

    キャンセル

+7

では、2000年以上前に言われた言葉を1つ提示しましょう。

学問に王道なし

なお、ここでの「王道」は日常的に使われる「正統派なルート」という意味ではなく、「王が進むような、楽なルート」という意味合いです。

一見簡単に見える開発ツールもいろいろありますが、そういうのでまかなえるのは、ツールが想定した、いわば既成のパターンだけです。そこを一歩はみ出れば、よくてベースになる箇所の知識が必要になる、最悪はツールを放棄してやり直さざるを得なくなるなど、それまで学習をサボって楽をしていたツケを一気に返さないといけなくなります。もちろん、基礎知識が充分ある中で、実装の手間を削減するためにツールを使うのは有用なものです。

決まりきったパターンに収まる開発を超えることをしたいなら、まずはプログラミング自体、そして実装する分野の知識をつけるのが、遠回りなように見えて実は有効なやり方だと考えます。

Railsしかできない奴はいつまで経ってもRailsしかできない ここでも活動しているraccyさんが、軽いノリで書いたと思われるものです。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

checkベストアンサー

+6

プログラミング 王道
で google 検索してみてください。

追記:

料理, 音楽, スポーツ, 家事, 車の運転 などが上がっています。
どれも上達するには時間がかかります。
まずは、マネをすること、基本をマスターすること、継続することが重要と思います。

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+6

こんにちは。

プログラミングの効果的な習得方法についての一般論ではなく、あくまでも貴殿が 

最短距離でプログラミングを覚える

ための一番確実な手段は何か?を回答します。貴殿のプロフィール

僕はこれからプログラミング学ぼうと思ってる20歳です。
・・・
ニートなので
・・・

を考慮すると、それは

プログラムを書いて対価を得るという生活をさっさと始めること

です。

この "さっさと" というところが重要で、自分でサービスを作ってそこから収益を得ようなどと考えていたら時間がかかってしまいます。なので、やはりどこか、プログラマーを募集している企業に応募して、どうにかこうにか採用してもらうというのが早いです。そうやって、プログラムを書くことでお金をもらう人として自分のことを扱う他者との接点をさっさと作ってください。

それで、平日の朝、職場に行き、PCの電源を入れ、エディタを起動し、昨日やりかけたソースコードをざっと眺めるというルーティンを無意識にやって一日が始まるという生活を一年ぐらいやってみてください。平日に給料をもらうためにコードを書いて、そこで得た開発スキルを駆使して、ご自身のサービス開発のほうは土日や休日にやればよいでしょう。

ご健闘をお祈り致します。

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/08/14 18:38

    質問者さんの
    > ・作りたいサービスが一回浮かぶこと
    この辺が運任せで全く考えようとしないんだなぁと思ったところに
    この回答読むと刺さりますね。

    キャンセル

  • 2018/08/15 09:17

    @mts10806さん

    > この回答読むと刺さりますね。
     
    ありがとうございます。願わくは、質問者さんご本人に刺さるといいんですが。。。
    とはいえ、こういう
    「なるべく遠回りをしたくありません。どこかに近道はありませんか?」
    という質問をネットに投げたりして、ああでもないこうでもないと頭の中で逡巡しているうちは、なかなか行動できないものなんですよね。

    キャンセル

+6

人の話に耳を傾けることができるようになれば最も効率的に学習できるようになるのではないかと思います。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+4

まず「最短距離」という発想が浮かぶ時点で、プログラミングの学習には向いていない可能性が高いように思えます。

どのような分野でも独学で、収入を得られるだけの技術と知識を取得するには、想像を超えた努力と根性が必要です。
ましてや、個人が作成したアプリは、アマチュア作家が作成した漫画や小説と同じで、売れる可能性はかなり低く、技術も根性のない個人は必ず挫折するでしょう。
技術を勉強しながら稼げる調理師や理髪師など、生活に密着した技術職とは根本的に世界が違うのです。

単純な話「最短距離でプログラミングを覚える」には、jun68yktさんが書いておられるように「プログラマーを募集している企業に応募して、どうにかこうにか採用してもらうというのが早いです。」
給料がもらえて、プログラムの勉強ができる。まさにうってつけの環境です。
「最短距離」などと生温い考えなど捨てて、真面目に生きてください。

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+3

まずどの言語で書くかを決めることです。
バイオや機械学習、メタデータなど用途を決めて言語を絞り訓練します。
チュートリアルなサイトは山ほどあります。
私はハッカソンに参加し、他の達人さんも書いてらっしゃいますがひとつのチュートリアルサイトでしっかり訓練しました。

私のように「必要性を感じた」場合の中途者は専門にされている達人の方々には到底追いつけないとわかっているので「作りたいプログラムを作りながら覚える」→「わからないところを調べる」です。設計はプロの方にヒントをもらいましたが自分でコーディングし30分調べてわからなかったら誰かに聞く、これを繰り返すしかありません。

プログラムだけが欲しいならプロを雇ってください。
自分でコーディングしたいなら指を動かすしかありません。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+3

ニートならそもそも移動することがないので最短距離で覚えられると思います。
がんばって下さい。

時間をどこにコミットすれば

アサイン(assign)では?

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+2

こんにちは!

未経験で募集かけている企業にインターン生として入って実務経験積むことが一番の近道だと思います。
20歳とまだ若いので可能性は十分にあるので頑張ってください。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+2

この質問が読みやすいかどうか検討することから始めてください。
伝える能力が低い人はどのようなサービスを作ったとしても誰の目にも止まらないまま終わるでしょう。

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+1

電脳化してプログラミング知識をロードするのが一番の近道です。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

  • HTML

    11446questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • Ruby

    9407questions

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

  • Ruby on Rails

    8826questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • Swift

    8715questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

  • CSS

    7521questions

    CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。