*

15時間でプログラミング言語の基本をマスターする方法

今回は主に経験者向けの記事となります。

タイトルの通りなのですが、私が新しい言語をマスターする方法について書いておきます。

プログラマとして仕事をされている方であれば今まで全くやったことがない新しい言語を急に仕事でやることも多いかと思います。

その場合、1ヶ月も2ヶ月も教育期間が与えられることはなく、ほとんどの場合、調査も含めて純粋に勉強できる期間はどんなに長くても1週間が限度ではないかと思います。

私も今年(2018年)の3月末に仕事でGo言語というプログラミング言語を仕事でやることになりましたが、純粋に基礎的な調査をしたのは2日間だけでした。
時間にすると15〜20時間ぐらいでしょうか。

これぐらいで基礎の基礎はいけるかなと思い、あとは実装に取り掛かりました。

また最近、趣味でPythonをいじり、勉強会的なものを開催もしましたが、一通りの基本を身につけるのにはやはり同じぐらいの時間かなという気がします。

どの言語でも共通するプログラミングの基本とは

当たり前ですが、15時間程度でプログラミング言語の基礎がわかるのはそれまでの蓄積があるからです。

このブログにも書きましたが、プログラミングを全くやったことがない方であれば基礎を覚えるのに250〜350時間ぐらいかかってしまうと思います。

参考:ゼロからWEBプログラミング(PHP)をマスターするのに何時間かかる?

一番最初に覚えるのにはこれぐらいかかりますが、一度覚えると他の言語でも応用はききます。

プログラミング言語はよほど特殊なものでない限り、基本の部分は大体一緒になります。

もちろん深くマスターしたりするのにはもっと長い時間がかかりますが、共通する部分は非常に多いんですね。

「何をやればいいか」「ポイントがどこか」ということが明確にわかっているのが強みです。

基本の文法の違いをマスターしてしまえば「とりあえず基本は動かせる」というレベルに到達するのにはそんなに時間がかかりません。

私がどのプログラミングでも共通すると思う基本の処理は以下のような部分です。

  • 基本の環境構築
  • スコープ管理
  • 配列、ハッシュのループ処理
  • ユーティリティー系(文字列操作、配列処理、日付処理、+アルファ)の頻出処理
  • メソッド、クラスの作り方(クラスがないものもあるので、クラス的なものも含みます。)
  • 分割したファイルの扱い方(パッケージの概念)
  • DBとの連携
  • テキストファイルの入出力

今まで色々な仕事をしましたが、ほぼどのシステムでも上記のような処理は必要になりましたのである程度の汎用性はあるかと思います。

成果物にはスクレイピングがおすすめ

このブログでも何回も書いておりますが、プログラミングを覚えるのには成果物の作成が一番効率的だと思います。

私もPythonを趣味で覚えるときに簡単なスクレイピングプログラムを作りました。

私は未経験者でPHPを覚えたいという方がいれば基本的には掲示板をおすすめしております。

ただ多言語の基礎がある経験者の場合はスクレイピング(WEB上のデータ収集)をおすすめしております。

掲示板でもいいのですが、スクレイピングの場合、以下のようなメリットがあります。

環境構築の手間が少ない

PHPはかなり少ないのですが、他の言語ですとWEB上で動かす場合、プログラミング以外にもWEBサーバーの環境構築など純粋なプログラミング以外の手間がかなりかかります。

もちろんそれを覚えることも非常に勉強になります。
それらを覚えることも勉強と考えている方がいればぜひやるべきかと思います。

ただもし言語の基礎だけを覚えたいといった場合はもっと効率の良い手段があるため、WEBサーバーを介さないスクレイピングプログラムをおすすめします。

ネタを考えなくて良い

掲示板作成はプログラミングを覚えるのに非常にいい学習法なのですが、入力項目や内容を自力で考えなくてはいけないのがなかなか手間です。

いざ作れと言われてもなかなかアイデアが出ず、基本的な個人情報ぐらいしか思いつきません。

入力内容も自分だけでやっていますと、「ああああ」、「aaaaa」を毎回いれたりすることになり、なかなかモチベーションが上がりません。

スクレイピングの場合、基本的にはWEB上にデータがありますので、そういったネタを考えなくていい分手間がかかりません。

データ自体に興味があるもの(例えばアダルト動画とか(笑))であるとデータを眺めているだけでモチベーションが湧いたりもするので、おすすめです。

必要不可欠な要素が自然に身につく

先ほど挙げた「どのプログラミング言語でも共通する基本の処理」というのが自然に身につきます。

スクレイピングは流れが基本的に決まっていまして、下記のようになります。
*ログインがないものを想定します。

  • あるページにアクセスし、総アイテム数を取得する(この時点で総ページ数が決まる)
  • アイテムのリンクを取得
  • リンクを踏んで、アイテムの詳細ページに飛ぶ
  • アイテムの情報を正規表現かHTMLの解析ライブラリを使って取得する
  • 取得したデータをDBに登録する

この一連の処理を実装していく段階で、先ほど挙げたような基本的な処理はほぼ身につくからです。

比較的短時間でできる

どういったものを作るかにもよりますが、簡単なものであれば新しい言語を始めて10〜15時間程度で実装可能かと思います。

もちろん掘り下げるのであればこの数十倍〜数百倍かかるかと思いますが、あくまで触りの部分だけでしたらこのように短時間で身につけることができます。

こういったメリットがありますので、ある程度別の言語での基礎がある方はスクレイピングをおすすめします。

ちなみに私の場合はDMMのアダルト動画でよくやりましたね・・・(汗)

関連記事

初心者でもできる!作れる!WEBサービスの開発 その3 運営体験記編

(前回までの続き) 初心者でもできる!作れる!WEBサービスの開発 その1 準備編 初心

記事を読む

30代、未経験者、独学中心でWEBエンジニアとして就職するまで

のっけからストレートなタイトルでスイマセン。 昨日ブログのアクセスをいろいろとみていましたが、

記事を読む

「初心者が勉強するのに良いプログラミング言語は何ですか?」を真面目に考えてみる

プログラミングをそもそもやったことがない方であれば、タイトルのように「どのプログラミング言語をやった

記事を読む

理論と実践のバランス

ネタ不足&開発のほうが忙しく、一か月以上書いておりませんでした。 今回は漠然とスキルアップする

記事を読む

データを扱ってみよう その2(配列)

こんばんは松本です。 少しずつ暖かくなってきましたね。暖かいのはいいんですが、オフィスでブログ

記事を読む

PHPで掲示板を作ろう! 掲示板の作成方法 その2

前回の学習 PHPで掲示板を作ろう! 掲示板の作成方法 その1 それでは掲示板の作成方法その

記事を読む

フレームワークのメリット・デメリット

こんばんは。松本です。 昨日25日にはオフィスで第一回目の授業を開講させていただきました。広島

記事を読む

初心者が読みやすいコードを書くときに気をつけたい4つのポイント

本日のお題は、「読みやすいコードの書き方」についてです。 プログラミングをやりたての頃は機能を

記事を読む

無料プログラミングスクールのメリット・デメリット

一般的にプログラミングのスクールというのは高額です。 30万以上するような講座が普通なので、ぽ

記事を読む

挫折必至!初心者がやってはいけないプログラミングの学習法 ワースト4

多くの方はプログラミングをどのように身につけたらいいのか・・・ということに関心があると思います。

記事を読む

Comment

  1. つばき より:

    やっぱりphpやpythonは比較的に簡単にECサイトを実装出来ますね
    phpだと最初からログインアウト機能有りますしpythonだとフレームワーク入れるだけでweb記述するだけで良いです
    これがjavaだと抽象化とかインタフェースとかstuatsとかサーバーとか色いろやって初めてログインアウト機能が実装出来る訳ですし

    • matsumoto より:

      そうですね。

      JavaだとPHPを作るのと同じシステムを組もうとした場合に倍以上の時間がかかるかと思います。
      その分、文法が厳密ですので、業務系にはいいのではと思います。

      PHPだと手早くシステムを作ることができますので、スピードと学習コストの低さが最大の武器になりますね。

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

転職エージェントについて

さて、エンジニアとして転職を考えている人であれば転職エージェントを使っ

エンジニアが転職して年収を上げる方法を考えてみました。

えー前回の記事でも書きましたが、2020年2月現在転職活動中です。

2020年のご挨拶

今更ですが、明けましておめでとうございます。 2019年も2本し

自社開発>客先常駐である本当の理由

このブログでも何回か取り上げていますが、ITエンジニアの働き方としては

エンジニアにとって必要なコミュニケーション能力とは

気がついたらもう3月下旬になっていますね・・ 年末年始忙しかった

→もっと見る

  • follow us in feedly
PAGE TOP ↑