Your browser doesn't support features required by impress.js, so are presented with simplified version of this presentation.

For the best experience please use latest Chrome or Safari browser. Firefox 10 and Internet Explorer 10 should also handle it.

HOW TO LEARN

新しい言語の勉強

  • 一か月で3言語を勉強している
    • C言語
    • PHP
    • Objective-C
  • トライアンドエラー
    • 入力、実行を繰り返して覚える
    • 反復実行、デバッグのし易さ大事

まだ使えるというほどではないが

C言語

実行環境

  • Vim + quickrun.vim + GCC

教材

  • 苦しんで覚えるC言語
    • 基本的なサンプル
  • プログラミング言語C 第2版 k&R本
    • C言語とは何か

C言語 - 反復実行

  • Vim + GCC => どの環境でもできる
  • quickrun.vim
    • プログラムをコンパイルして実行結果を出力する

実行->確認->実行と繰り返せる(保存しなくてもいい)

1 #include <stdio.h>
2 int main(void){
3   printf("Hello, World!\n");
4   return 0;
5 }

プログラムを書いて、¥-rを押して実行結果を確認しながら学べる

C言語 - quickrun.vim

quickrun.vimの実行結果

PHP

開発環境

  • PHPStorm
    • Jetbrains製のIDE
    • Intelli J,WebStorm, RubyMineなどの姉妹品

教材

  • パーフェクトPHP
    • お借りした書籍

PHP - 学習方法

  1. パーフェクトPHPを読む
  2. サンプルコードを入力する
  3. 実行結果を見る
  4. 気になったらWebで調べる
  5. ... 繰り返し

気になった部分はメモを取る

PHP - コードの実行

PHPStormの画面分割を使いメモを取る

  • PHPStormはMarkdown形式に対応(プラグイン)
  • パーフェクトPHPの目次を作成
  • 画面分割
    • 左画面でコードを書いて実行
    • 右画面でMarkdown形式でメモを書く
  • コードとメモはGitで管理
  • 書いたメモはGithubにそのままpush
    • GithubはMarkdown形式をhtmlで表示してくれる

PHPStromの作業環境

PHPStorm

Objective-C

開発環境

  • XCode
  • AppCode
    • Jetbrains製のIDE
  • MacVim

教材

  • iPhone/iPadプログラミングバイブル
  • iOSの教科書
  • Webでの連載などいろいろ
  • Stack Overflow

近年のiPhoneブームに乗り、情報はたくさんあるが、 始め方に癖があり、どこから学ぶべきなのかがわかりにくい

Objective-Cの学習方向

  • Interface Builderから作るアプリ
    • 比較的、形は簡単に作成できる
    • コード生成の補助機能も多い
  • コードからUIを構築するアプリ
    • 自由度高い

結局はどちらのやり方も知ってる方がいい

Objective-Cという言語

JavaScript

JavaScriptを学ぶとは

JavaScriptの変化

  • JavaScriptは制限された言語?
    • マルチコア
    • GPU
    • バイナリ
    • 固定型
    • スレッド
    • 双方向通信
  • The evolution of the web - ウェブの進化
    • ブラウザと共に変化が激しい時期
    • 新しいことが次々と起きている

どうやって学ぶか

初心者向けの決定版はまだわからない

書籍の読み方

英語が読めない人向け、英語技術書の読み方 | Web scratch

  • 章ごとなどノルマを決めて読む
  • 節ごとにメモを取る
    • 既知の事についてのメモは手を抜く
    • 気になることを調べてリンクを貼る
  • インプットアウトプット

オンラインのチュートリアル

なども参考に

どうやって情報を探すか

調べる方法を調べる

Webの動きはとても早い

コードリーディング?

コードを読んで取り込み書きだす

  • 読む目的を定める
    • 先になぜ読むのかを決めておいた方がいい
  • 新しいことを知る
    • いいところをパクる
    • パターンを知る
    • クロスブラウザ対応処理(バットノウハウ多いけど)
  • 知ったことを取り入れたコードを書く
    • 書いて自分のものにする
    • 車輪の再発明

自分の場合は、コード = Greasemonkeyで有ることが多かった。

コードの質

一般的なWebサイトなら速度よりも可読性や保守性を優先した方がよい場合も多い。