5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
明石 照伸さんの投稿
(投稿ID: 723)
講座:発展編1の中で特に、
このFor each構文のシリーズは
興味深く拝見いたしました。
オブジェクトおよびコレクションに
ついて理解が深まれば、非常に
効果的に使えるのではないかと
思いました。
イメージだけで具体的な例が
思いつかないのですが、特に
コレクションの指定で複雑な
ことができると、For each構文
自体は(入力値に対して、
場合分けする処理等が
不要になる、etc..)非常にすっきり
したロジックで書けるのではないかと
想像しました。
処理の複雑さをどこで吸収・実現
(あるいは保証する?(^^; )と
いうことなのでしょうが、上記の
ようなことが可能であれば
ロジック自体が理解しやすく、
プログラムの汎用性・移植性が
高まるのではと想像します。
(間違っていたらごめんなさい。)
小川 慶一さんのコメント
(コメントID: 1594)
>オブジェクトおよびコレクションに
>ついて理解が深まれば、非常に
>効果的に使えるのではないかと
>思いました。
まさに。 For Each 構文は、表現の抽象度が高いだけに、キマるとインパクトデカいですね (^^
>処理の複雑さをどこで吸収・実現
>(あるいは保証する?(^^; )と
>いうことなのでしょうが、
何のどんな処理に対して抽象度の高い表現で処理を完結できるようにできるかは、プログラミング言語ごとに異なります。
エクセルVBAでは、複数のセルで構成された範囲を Range("D3:F8") とか Range("B3, F5, G4") といった表現で簡単に取得できます。
でも、たとえばCSVファイルの中身を解析して同じことをする処理を他言語で書こうと思ったらとても大変です。
あと、発展編2に進むと引数つきサブプロシージャ、 Function プロシージャについて学びます。
そういう道具も自在に作れるようになると、内部処理としては複雑なはずのことでも、呼び出し元では抽象度の高い簡潔な表現だけで命令できるようになります。
要はご指摘のとおり、処理の複雑さをどこで吸収するか、ということです。
リアルの例で言い直すと、こんな感じ↓です。
その道のベテランにお願いするときは抽象度の高い簡潔な表現だけで済みます。
新人にお願いするとなると、微に入り細を穿ち処理のロジックに介入しないと仕事が進みません。
「汎用性、移植性」について考えるのは、彼らをマネージする人が入れかわったらどうなるか?ということを考えるのに似ていますね。
明石 照伸さんのコメント
(コメントID: 1595)
コメントありがとうございました。
>
>何のどんな処理に対して抽象度の高い表現で処理を完結できるようにできるかは、プログラミング言語ごとに異なります。
>
>エクセルVBAでは、複数のセルで構成された範囲を Range("D3:F8") とか Range("B3, F5, G4") といった表現で簡単に取得できます。
>でも、たとえばCSVファイルの中身を解析して同じことをする処理を他言語で書こうと思ったらとても大変です。
>
>あと、発展編2に進むと引数つきサブプロシージャ、 Function プロシージャについて学びます。
>そういう道具も自在に作れるようになると、内部処理としては複雑なはずのことでも、呼び出し元では抽象度の高い簡潔な表現だけで命令できるようになります。
>
おかげさまで手軽さだけではないExcel VBAの奥深さ・素晴らしさが少しみえてきたように思います。
(発展編2も早く始めたくなってきました。(^^; )
>
>リアルの例で言い直すと、こんな感じ↓です。
>
>その道のベテランにお願いするときは抽象度の高い簡潔な表現だけで済みます。
>新人にお願いするとなると、微に入り細を穿ち処理のロジックに介入しないと仕事が進みません。
>
>「汎用性、移植性」について考えるのは、彼らをマネージする人が入れかわったらどうなるか?ということを考えるのに似ていますね。
>
なるほど。。。よくわかります。(さすがですね。)
ますます面白くなってきました。引き続きよろしくお願いいたします。(^^
小川 慶一さんのコメント
(コメントID: 1597)
>>「汎用性、移植性」について考えるのは、彼らをマネージする人が入れかわったらどうなるか?ということを考えるのに似ていますね。
>なるほど。。。よくわかります。(さすがですね。)
こういうことばかり考えているので (^^;
いつも興味深いコメントありがとうございます。
こちらこそ、引き続きよろしくお願いいたします。(^^