dasukoのブログ

現役エンジニアのブログです。

エンジニアならまず、アルゴリズムやデザインパターンを勉強するべき

はじめに

筆者はC++やObjectiveCやJavaC#で主にモバイルのアプリ開発をしています。

そんな筆者がエンジニアという職の経験を通して、まずエンジニアとしてまず、勉強するべきことはアルゴリズムデザインパターンであると感じたので、

その理由について説明したいと思います。

アルゴリズムデザインパターンが重要である理由

何かを開発する時に、まず開発する環境や言語を決定すると思いますが、

これらはその時点での最適解が選ばれるに過ぎません。

つまり、これらは可変なのです。

来年、同じ開発をするとしても、同じ開発環境・同じ言語が選ばれるとは限りません。

言語を習得することは悪いことではありません。

ただ、使うならまだしも、今流行っているから勉強する!というのは時間の無駄です。

初心者はまずPythonを勉強しろ!なんていう人がいます。

確かにPythonはML系のライブラリが充実してますし、実装コストや学習コストが低いので、

おすすめの言語ではあります。

しかし、時代と共に、これをしたいならこの環境や言語がいい!というのは変わっていきます。

では、何を優先して学ぶべきか。

それは、アルゴリズムとデータ構造、そしてデザインパターンであると思っています。

これらはプログラミングをする上で非常に大きな武器となります。

また、言語やツールを学習する上でも、理解が早まり、効率的に学習することができるようになります。

こんな時どういう風に実装したらいいのだろう。と悩むことが多いと思いますが、そんな時にも大きな武器となります。

設計で悩むことが減ります。

また、これら(アルゴリズムとデータ構造、デザインパターン)はほとんどの言語で応用することができます。

環境に左右されないスキル・知識こそ優先的に身に付けるべきだと思います。

 

過去にデザインパターンに関する記事をいくつか書いてみたので、参考にしていただけると嬉しいです

いくつか貼っておきます。

dasuko.hatenadiary.jp

dasuko.hatenadiary.jp

dasuko.hatenadiary.jp