続・Think! Think! Think!

世の中について考えてみる。後、webサイドの知識を書いています。※時々ネタあり。

php入門時に知っておくべきこと

iotの記事を書いていた途中でしたが、仕事が込み合って、かけませんでした。。。

時間があるとき振り返って書きます。

そして、ちょっと気になった事があるので、久々記事投稿。

何を気になったかというと、

  • プログラミングするのに大事なこと
  • そろえておくと良いもの
  • phpについて

かな。

プログラミングするのに大事な事

大事なことは、勉強することよりも、覚えることよりも、

  • ツールを使いこなすこと

が最重要だと思う。

まずは、形から

なぜか、それは、肝心な

「 考える 」

という部分に時間を費やすためです。

私はバドミントンをずっとしていたので、バドミントンで例えると

  • 体力が必要 → ※バドミントンハードですw
  • フットワークができること
  • ラケットが振れること
  • クリアーができること
  • ドロップができること ...

とどんどん続くのですが、まぁー基礎ですね。

これができないのに、パターン練習や、フェイントの練習をしてもダメ。

まぁそんなのみんな理解していると思いますが。。。

では、プログラミングは、何が基礎ですか?

  • キーボードが打てること(速いにこした事はない)
  • コンソールが使えること(Linuxコマンド)
  • 検索する力
  • エディターが使えること(vim, sublimetext ...etc)...

などなどあると思います。

なぜ、みんなすぐに、プログラミングを行おうとするのでしょうか?

それに、今の開発は、エディターを使いこなせば、

最高のコーチ、アドバイザーが横にいるのと同等

です。

以前覚えたコードが思い出せない。。。つ 補完

APIの使い方がわからない。。。つ リファレンス

同じ様なコードだから書くの手間かかるな。。。つ スニペット

アルゴリズム、ロジックを考えているだけで良いですね。

そして、一番重要な、考える。ということにフォーカスでき、良り効率よく学べると思います。

正直リファレンス引くより、覚えた方がよい。という人もいると思うが、それは、1〜2言語が限度だと思います。

webをやると、

  • LL言語(php, ruby, pythonなど)
  • コンソールコマンド(shell)
  • DBコマンド(SQL、独自のコンソールコマンド)
  • フロントエンド言語(html, css, jsなど)
  • サーバの設定関連(apache, nginxなど)

と、かなり大変です。(デプロイツールなど他にもあると思いますが。)

大きい会社であれば、全ては無いかもしれませんが、

  • 新規でサービスをつくる
  • 大きな受託案件を行う

なら、すべて必要です。

※それによく使うものは、勝手に覚えます。

とにかく覚えるのは、割り切った方がいいです。

そこは、アドバイザーたるエディタなどのツールに任せて、

などなどを理解した方がいいです。

何のために、プログラミングを覚えるのかにもよりますが。。。

そして、ちょっとずらずらと書きすぎた。。。

つぎ。

そろえておくと良いもの

じゃーどうすればいいの?って話ですね。

  • pc : mac
  • エディタ : sublime text
  • リファレンス:dash
  • 検索、履歴など:Alfred

は、かなりオススメです。

特にAlfredは、プログラム関係なく便利なので、おすすめです。

Alfred

Alfred

  • Running with Crayons Ltd
  • 仕事効率化
  • 無料

https://itunes.apple.com/jp/app/dash-docs-snippets/id458034879?mt=12&uo=4&at=10lMtK

各細かい話をすると、長くなりすぎるので、各ツールは、調べてみてください。

phpについて

私も入りはphpです。

phpは、別に悪くはないと思います。

正直重要なのは、仕組みを知る事で、

需要という観点でみれば、phpは多いので有利です。

それに、途中から別の言語を学ぶのは、色々刺激もありいいので、途中から別の言語に乗り換える。というのは良いと思います。

1つの言語だと、良い悪いなどは、なかなかわかりにくいものなので。。。

それに、言語毎の特徴を理解して使い分けできるのが、最高です。

※言語仕様だけでなく、人材の供給、レベル、資金の問題など含めて。

そして、デメリットをあげるなら

  • $を変数につけるのがめんどくさい:これかなり手間
  • 末尾に;をつけるのがめんどくさい
  • レガシーシステム、オレオレフレームワークが多い:これはしょうがない。オレオレでも、シンプルで使いやすいものもあるし。

かな?

判定が甘いなどあるけど、jsとかもそうだし、そこは割り切れば問題ないと思う。

言語毎に変な動きするのは、つきもの。

最近は、クロージャー、Mixin的なことも使えるようになり、 Laravelのコミュニティが大きかったり、composerというパッケージ管理もでており、かなり普及してきているので、問題になることは、ほぼないと思います。

個人的には、

$を変数につける

だけどうにかしてほしい。。。

大漁の変数を書くのに、毎回shift + 4は、きついな〜っと思い、この記事を書こうと思った感じでした。

それだけ書いてもつまらないので、こんなタイトルで書きました。

書いている事は本心なので、良ければ参考にいてください。

個人的なノリにお付き合い頂きありがとうございました〜

これからも、ぜひ、お暇なときにお読みください〜

ps.

何もしなくても 200pv/月 くらいいくはてな力は、すごいな〜

引き続き、ちょこちょこ更新していくので、よろしくです。

たくわんおいしいです。w

[asin:B00MCDKWJ2:detail]