大谷広海IT事務所
FEとSGの独り言
プログラミングや情報が必修になった昨今ですが、プログラマーのレベルは二極化しているように思うのです。
アルゴリストとスペシャリストはより求められ、簡単なコードで済む二流、三流のプログラマはノーコード、ローコードに駆逐され必要とされなくなる時代が近いような気がします。(最も自分はアルゴリズムを研究はしますが、プログラマとしては三流以下なのでわかりませんが。)
プログラムというのは結局、数学と工学で設計です。数学的思考により、作れるパターンを覚え込み、現場でそのパターン内か、なければ、検索でも何でもして、コードの全体像をでっちあげて、関数的な構造を作り、プロパティとしてそれらを組み合わせて大きなプログラムにするのです。
数学的な素養はあまりないのですが、一応教養学部の数学コースの修士を持っておりますので、数学がまるで分らない数学音痴というわけではないと仮に置いておいて言いますが、最低限の計算能力と論理力が無いと、プログラムは雑務以外できないのではないかなあと思います。
数学的な天性のセンスなるものは、おそらく学習では、獲得できない面があるとは思うのですが、まあ、私のようなものでも、修士号を取れるわけですし、好きになって、ずっと努力を続ければ、プログラムの最低限の計算能力と論理力と全体の構成力が身につくのではと考えます。
私の能力では、FEが限界なのかもしれず、その先のAP試験は落第しており、長文暗記で躓きがちなので、APは何回受けても受からないのかもなあとも感じます。それ故、この先手を出すとしても、FEの学習補助までは出来ないため、将来はITパスポートとSGをメインに学習補助の展開を行うことを考えています。
大谷広海IT事務所をよろしくお願いします。
グローバルとローカル
グローバル関数とローカル関数をご存じでしょうか? スコープとか聞いたことありますか? 僕はITの入門時に難しそうな本だと思ってワードだけ追っかけて実際にプログラムを開始するのが遅かったため、ちょっと、思うのですが、グローバル関数とか、ローカル関数とか、スコープとか知ってるってかっこいい的な文系的IT入門脳について考えることがあります。ITも数学と物理と同じで実際に手を動かして、全容を把握して、意味と意味の間にネットワークを作り、きちんと分類化しつつ、全体を理解できるようになってから、再度見直すと、こんなことを言ってたのかあ、という再発見があります。
大域的関数と局所的関数の範囲と書けば、まあ、意味は即座に通りますが。
数学や物理や情報工学は一人の人間が、一生の時間をすべて研究に費やしたとしても、極めることができない分野です。
ITを学ぶとき、そういう分野にいることを自覚して、自己の時間と学習を良い方向に導けるような良い示唆を与えられるように努力することは必要なのかなあと思います。
木を見て森を見ず。
森は全て見尽くすことはできませんが、自分の専門分野のこれだけはという周辺は見たいものです。
大谷広海IT事務所をよろしくお願いします。
アルゴリズムと数学
アルゴリズムというのはアラビア人の数学者である、アル=フワーリズミーに由来しているそうです。9世紀の人らしいです。その頃から数学上のアルゴリズムはあったわけですが、コンピューターが出来たの最近で第二次世界大戦中のアメリカのENIACとABCが直接の発祥らしいです。それ以前にも、パスカリーヌやバベッジの階差機関などがあり、自動計算器という概念はあったようですが、実用に資するようになったのは、アメリカの上記の二つのチューリングの機械などかららしいです。
コンピューターのアルゴリズムが研究され始めて、まだ、百年と経っていないのに、凄い進歩ですね。数学は嫌いという人もいますが、数学を計算するアルゴリズムを組むのは腕試しにもなるし、センスが磨かれるし、何より、自分の無知を教えてくれるのが良いです。
プログラムという分野は一生で極めることができない分野です。
実際の現場の運用では、エリートの有能なプログラマでさえ、泥臭い対応が必要となるということで、私は、採用面接等で落とされたりしてるのですが、まあ、一生というのは遊んで暮らすには短いものです。学究と同じで一生飽きない玩具で遊びながら社会の役に立つのは、そう悪いことではないのではないでしょうか?
ITに関するちょっとした知見を共有したくなったら大谷広海IT事務所に連絡を
メールアドレス:hiromiootani1984ho1210@gmail.com