プログラミング「技術」って・・・
まあね、プログラムを書くこと自体が技術なんですけどね・・・(笑)
こんにちは。ディーキャリアITエキスパート名古屋丸の内オフィスの志村です。
スポーツ選手で一流の人に話を聞くとするじゃないですか。
例えば、サッカーの選手ね。
(わたしはサッカーとか、詳しくないので想像で話しますから、内容はサッカー的には怪しい話になります・・・笑)
「ゴールを決めたあの場面で、何を考えてどうしたのですか?」
と、インタビューする人(アナウンサーや解説者でもいいけど)が聞いた。
「ボールを受け取る時に◯◯◯(チームメイトの名前)の方をみたら、(自分の)後ろからディフェンダが寄ってきてることが分かったから、右か左にターンしながら、ボールは頭の上を通すか、下を抜くかだと思いました。・・・瞬間の判断だけれど、頭の上を通したら、空いたスペースに走ってフェイントを一度かけて、キーパーの意識を右下に寄せといて、逆を突きながら、実際には・・・ちょっと自分でもしっかりは言えないけれど、キーパーの跳んだ側に、あえて寄せていってひと呼吸タイミングをズラしてボールタッチしたんですけれどね・・・いや、うまくゴールできてヨカッタ」
う〜ん、ナンノコッチャ(笑)
一流のプレーヤーの言うことはトンデモなく奥が深い。
多分、普段からチームのメンバーと顔を向けて(アイコンタクト)表情を見ただけで、どういう状況かお互いに意志が通じるのでしょうね。(高等技術1)
すかさずボールを自由に扱って、右とか左とか上とか下とか、自分の思ったところに操作できるボール扱いと身体の動かし方ができるのでしょうね。(高等技術2)
相手(敵)の選手の間をすり抜け、瞬時に自分の行きたい場所へ動く、しかも相手の逆をつく(フェイント)ようなことができるのでしょうね。(高等技術3)
そこでキーバーがシュートを防ごうとしているので、こちらの意図の裏をかくようにキーパーにあえて情報伝達(テレパシーか?)してやる。それでキーパーの行動(「右下に跳ぶ」)を誘う。(高等技術4)
当然のように逆にゴールするだろう・・・と、他の相手(敵)や、もしかしたら味方や観客も思うから、一瞬みんなの意識がキーパーの動きと逆に行くと、さらにそのウラをかいたように、あえてキーパー側(ゴールしにくい所)を狙う。(高等技術5)
でも、キーパーも一流だから、それだけだと天才的なキーパーは防いじゃうかもしれないと相手のこともよく分かっていて、瞬間的に得点への「担保」を増やすため、すぐにボールを蹴り込まずに、ゴール近くまでもう1〜2歩ボールをキープして寄せておいて、それから軽くボールタッチ。(高等技術6)
ボールがゴールネットに刺さるところを見るまで、そのポジションをキープして、万が一ボールが弾かれたりしたら、もう一度押し込むぞ・・・という気持ちを保持しておく。(高等技術7)
決まったら、相手にこちらの強さを見せつけ、イメージに焼き付けとけば、この後のゲーム展開でも優位な立場を保てる。相手の気持ちをくじくように、天高くガッツポーズだぁああああああ。(高等技術8)
・・・でしょうかね。イヤ、ホントに奥が深い。
これを見たサッカーマンたちは、俺も(わたしも)あれ、ヤルぞ!・・・と思うでしょう。
小学生で、将来、プロサッカー選手を目指す少年・少女が、それじゃ、アイコンタクトとボールを頭の上にフリップ(?)する技術が必要だ。さらにフェイントで相手を翻弄するのだよ・・・
ということを言ってたら、その指導をしていたコーチや親御さんたちが、
いや、お前はまずボールをまっすぐ蹴れるようにシュート練習しろ。
・・・って言いませんか?
それと、90分、フィールドを走り回っても頭がちゃんと働くくらいの体力付けるために走り込みしなさい・・・って言いませんかね(笑)
高等技術の前に基礎技術があるでしょうよ。
それができたら、徐々にチームプレーや戦術を学んで、
その先の天才的個人プレーじゃないの?・・・ジンガ(zinga)?でしたっけ。
わたしの時代の天才は・・・ペレ・・・サッカーの王様です。
マラドーナって人も確かいましたね。
ペレになるためには、少年少女はまず体力付けて、基本技術を学ばないといけないでしょう。
それで、高等技術っていうものがあるんだ・・・ということも合わせて学ぶ。
高等技術は何かで学ぶことも必要でしょう。身体能力が天才的でも、技術は誰かから学ぶことが結構大事です。
プログラミングの天才はいますね。
ただ、本当の一流の技術者はちゃんと基礎技術から高等技術まで、それがどういうものかを学んでいます・・・いるはずです。
プログラミングの基礎は構造化プログラミングで、3つの制御構造でロジックは作れるということです。
それから部品化(モジュールを組み合わせてプログラムを組むこと)です。
関数(function)使ってね(^_-)-☆
「構造化プログラミング」という言葉の意味することは知っていないといけないでしょうね。
それから「オブジェクト指向」になった。
「オブジェクト指向設計」と、「オブジェクト指向プログラミング」です。
それがどういうことか、基本概念を知った上で、オブジェクト指向プログラミング言語の派生技術(コンポーネントやらインタフェースやら抽象クラスってあるみたいです・・・)を使えること。
なぜ、オブジェクト指向なのか?
生産性の向上のためで、それって具体的に何をどうすることなのか・・・
ついでに言えば、どうもイベント駆動のシステムやプログラムはオブジェクト指向プログラミングと相性が良い。
この前、chatGPT君と話をして、そうだよね〜って盛り上がったのです(笑) (オタク爺の遊びです)
WIndowsだから、オブジェクト指向プログラミングなのだよねって。
オブジェクト指向プログラミングはオブジェクトの部品(クラス)をライブラリの中に見つけてそれを使う。 クラスライブラリは部品の宝庫です。玉手箱やぁ・・・です。いや、四次元ポケットか(笑)
それで、イベント駆動は決まりきった動きのコード部分があって、そこをいつもイチから書いてたら、時間かかるじゃない。じゃ、テンプレートを持ってこよう。
コピペでイイよね・・・
はい、それを使いやすくまとめておきましたよ・・・っていうプロの人たちがいて・・・素晴らしい。感謝です。
これを使えば、テンプレートの部分は前もって用意してあるからねと。
システム全体もそうです。多くのアプリケーションシステムの構造はよく似ている。 することが同じだからです。元になる型・枠組があったらいいね。枠組をもとにして、必要な部分を変更するだけで作ることができます。
フレームワークですね。
昔はプログラムを書く時は「処理」に目が行きがちでした。プログラムって処理を記述することでしたから。
でもね、ある時からデータが大事だと思うようになった。
アプリケーションでデータベースを普通に扱うようになったから・・・かもしれません。
最初はね、データベースを如何に効率よく作って、使うか・・・を考えてたら、データの構造自体に気を配るようになった。
プログラムの中で、どういう形式でデータを持つかということ自体が、データベースを扱う時だけじゃなくてプログラミングそのものにも影響するんだと、何となく感じ始めた。
大量のデータを「まとめて」扱うにはどうするのか。プログラミング言語もデータをまとめて扱う方法論を取り込んで発展してきた。
昔は、数値型と文字型のデータを一つ一つ扱うことだけ考えてたら良かった。
まとめる時は配列にするんだよと言われた。でも扱いやすさを考えたら、配列としてまとめてあるデータは同じ型のデータばかりでないとね、扱いにくいから・・・。
そういうことを言っていたら、データだって構造化したら良いでしょうと思いつく人たちがいたのですね。これもオブジェクト指向と親和性が高い考えです。
プログラミングする時に、どんなデータをどういう形式で扱うかをまず考えるようにもなりました。
「データ中心(Data Oriented)」の考え方です。
さて、現実の開発作業では、開発途中でのプログラムは試行錯誤で色々やっているから、バージョン管理しないといけないねぇ。・・・ああ、バージョン管理用にそういう道具作っときました。 はい、Git (ギット)です。
それじゃ、こういうことをデキるように覚えないといけないねぇ。なんか覚えること多くない?
そうなの、こういうことを順に身につけるのがとても大事で、プログラミング「技術」ってそういうことなんですよ。
プログラミング自体が技術だけれど、強いボールがまっすぐ蹴れるようになってから、次にすること、たくさんあるのと同じです。
動くプログラムをちゃんと書けるようになったら、こういう「技術」を学ぶことが大事です。
結構、勉強しなくちゃいけないこと・・・あるのですよ。
天才プログラマへの道は遠いね(笑)
若い人たちへのエールです。
わたしのような年寄りがこれからやることではありません。わたし、単なるコーチです。
するのはあなた達(選手の皆さん)。
ところで、・・・やって見せて・・・って言うのはやめてね。
まあ、幾らかはやって見せられますが(笑)
それでは、わたしはディーキャリアITエキスパート名古屋丸の内オフィスオフィスにいますので、よろしくお願いします。(^o^)/
ディーキャリアITエキスパート名古屋丸の内オフィス
・電話052-218-4877
・メール it-nagoyamarunouchi@dd-career.com
・所在地:〒460-0002
愛知県名古屋市中区丸の内2-17-22丸の内桜通ビル2階
・HP:https://dd-career.com
ITエキスパート名古屋丸の内のブログ一覧
オフィス情報
ITエキスパート名古屋丸の内オフィス
- アクセス
- 名古屋市営地下鉄 桜通線/鶴舞線「丸の内駅」3番出口すぐ
- 電話番号
- 052-218-4877