文章とコード: ライティングとプログラミングに共通する「構造的思考」とは

「ビジネス文書のライティング」と「プログラミング(コーディング)」には、その考え方の構造の部分で共通点が多くあります。
すでに紹介した「パラグラフ・ライティング」の手法は、プログラミングとも類似しています。

そこで、今回は、「パラグラフ・ライティング」と「コーディング」に共通することについて書きたいと思います。

この文書を読むことで、どちらかのスキルがすでに身についている方にとっては、もう一方のスキルの習得の良い手助けになるかと思います。
まだ、どちらのスキルもまだ身につけていないという方にとっても、「スキルの習得とは」とか、「複数の技術を俯瞰するとはどういうことか」ということを学ぶのに役に立つかと思います。



「ビジネス文書のライティング」と「プログラミングには、共通点が多くあります。
とりわけ、着手から完成までの思考のプロセス、とりわけ「構造的思考」と言えるような部分に共通性があります。

実際、僕の中ではこれらのスキルはほぼ同じものです。

ビジネス文書作成時、僕は、プログラミングの原則を応用します。
逆もまた然りで、プログラムを書く際は、ビジネス文書作成の技術を応用しています。

今回は、これら二つのスキルが共有する「構造的思考」の側面に焦点を当ててみましょう。


プログラミングのことを「コーディング」と呼ぶこともあります。
そこで、この文書では、以後、「プログラミング」のことを「コーディング」と呼びます。


ビジネス文書のライティング手法としては、「パラグラフ・ライティング」をすでに紹介しています。

ビジネス文書に求められる「ただひとつの用件」とは
https://forum.pc5bai.com/tips/longshot/3b874592-cc21-42d3-9358-0a6cbd7be1a3/

ビジネススキルの「高速上達のための手順」
https://forum.pc5bai.com/tips/longshot/790c4550-2af8-427d-b5c9-ae9eb160110b/


「パラグラフ・ライティング」は、ビジネスにつ求められる以下の重要な要件を満たすためのライティングテクニックです。

・誤解を与えるような書き方をしないようにする
・想定読者の誰が読んでも、サッと読んでも、誤解されることがないようにする


今回は、「パラグラフ・ライティング」と「コーディング」の共通点について書きます。


この共通点の理解は、すでに「パラグラフ・ライティング」を習得されている方にとっては、「コーディング」のスキル獲得に役立つでしょう。
また、すでに「コーディング」を習得されている方にとっては、「パラグラフ・ライティング」のスキル獲得に役立つでしょう。
「まだどちらのスキルも習得していない」という方にとっても、「スキルの習得とは」とか、「複数の技術を俯瞰するとはどういうことか」ということを学ぶのに役に立つかと思います。


「パラグラフ・ライティング」と「コーディング」の共通点として、以下のような点が挙げられます。

1-1. 最初に目にとまるところに、全体の要約(アウトライン)がある
1-2. 詳細部分は、別途作り込まれている
2-1. 用語の定義を明確にする
2-2. 定義した用語を使って記述する
3-1. なるべく可読性の高い短文で書く


これから、上記それぞれについて比較していきたいと思います。

1-1. 最初に目にとまるところに、全体の要約(アウトライン)がある
1-2. 詳細部分は、別途作り込まれている

パラグラフ・ライティングでの例:

まさに、今回のこのメルマガは、このスタイルで書いています。
「パラグラフ・ライティング」では、最初に目にとまる「文章の冒頭」に、「これから詳細に述べたいと思っていること」を、要約した「要約パラグラフ」を用意します。

>「ビジネス文書のライティング」と「プログラミング(コーディング)」には、共通点が多くあります。
>とりわけ、着手から完成までの思考のプロセス、とりわけ「構造的思考」と言えるような部分に共通性があります。
>
>ビジネス文書のライティング手法として、「パラグラフ・ライティング」をすでに紹介しています。
>
>
>今回は、「パラグラフ・ライティング」と「コーディング」に共通することについて書きたいと思います。
>
>この文書を読むことで、どちらかのスキルがすでに身についている方にとっては、もう一方のスキルの習得の良い手助けになるかと思います。
>まだ、どちらのスキルもまだ身につけていないという方にとっても、「スキルの習得とは」とか、「複数の技術を俯瞰するとはどういうことか」ということを学ぶのに役に立つかと思います。

そして、そこで書いたことをさらに肉付けした文章を書いていきます。
この「さらに肉付けした文章」のことを「詳細パラグラフ」と呼びます。


エクセルマクロでの例:

「A列からH列まである表で、G列の値が大きい順にランキングの数字をH列に記入する」という仕事を想定してみました。

すると、まずは、以下のような「仕事の全体像」を示すようなプログラムを用意します。
Sub main()
    'A列からH列まである表で、G列の値が大きい順にランキングの数字をH列に記入します
    
    NarabeG 'G列で並べ替えをします
    Ranking 'H列に順位を記入していきます
    NarabeA 'A列で並べ替えをします
End Sub

続けて、各タスクの詳細を示すプログラムを書きます。
Sub NarabeG()
    'G列で並べ替えをします
    With Worksheets("Demo").Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("G1"), SortOn:=xlSortOnValues, Order:=xlDescending
        .SetRange Range("A2:H31")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
Sub Ranking()
    'H列に順位を記入していきます
    Dim gyo As Long
    For gyo = 2 To 31
        Range("H" & gyo).Value = gyo - 1
    Next
End Sub
Sub NarabeA()
    'A列で並べ替えをします
    With Worksheets("Demo").Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending
        .SetRange Range("A2:H31")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

2-1. 用語の定義を明確にする
2-2. 定義した用語を使って記述する

パラグラフ・ライティングでの例:

以下のように、「今回はどんな言葉を使います」ということをきちんと宣言します。

>プログラミングのことを「コーディング」と呼ぶこともあります。
>そこで、この文書では、以後、「プログラミング」のことを「コーディング」と呼びます。

文章の途中では、よほどの必要性がない限り、「コーディング」のことを「スクリプト書き」とか「実装」といった別の呼び方で表現しません。「プログラミングのことをコーディングと呼ぶ」と書いたのであれば、もはや、「プログラミング」と呼ぶこともありません。

こうすることで、誤解の生じにくい文章にすることができます。

文学的な文章では、同じものを指す言葉を多様に用意すると格調高い感じが出せます。
しかし、ビジネス文書ではこういう表現はNGです。

以下のような文章は、文学的には評価が高いかもしれません。しかし、ビジネス文書としては好ましくありません。
なぜなら、同じものを指す言葉を多様に用意すると誤解が生じやすくなるからです。

"彼女は思わず◯◯と叫んでしまった。玲子にとっては、それは△△であったからだ。しかしそれは、☆☆を求めているような女にとってはやむを得ないことと言えた。"

ビジネス文書としては、以下のような書き方のほうが優れています。

"玲子は思わず◯◯と叫んでしまった。玲子にとっては、それは△△であったからだ。しかしそれは、☆☆を求めている玲子のような女にとってはやむを得ないことと言えた。"


エクセルマクロでの例:

以下のプログラムでは、「Dim gyo」ということろで、「gyo」という「変数」を用意しています。
そして、以後、「何行目か」ということを示すときは、この「gyo」という変数を用いて表現しています。途中で「gyou」とか「iGyo」、「行番号」といった別の言葉に言い換えたりはしていません。
Sub Ranking()
    'H列に順位を記入していきます
    Dim gyo As Long
    For gyo = 2 To 31
        Range("H" & gyo).Value = gyo - 1
    Next
End Sub

3-1. なるべく可読性の高い短文で書く

パラグラフ・ライティングでの例:

以下の文書では、意識して、一文一文を短くしいてます。
また、それぞれの文を、入り組んでいない単純な文章としています。

>文章の途中では、よほどの必要性がない限り、「コーディング」のことを「スクリプト書き」とか「実装」といった別の呼び方で表現しません。「プログラミングのことをコーディングと呼ぶ」と書いたのであれば、もはや、「プログラミング」と呼ぶこともありません。
>
>こうすることで、誤解の生じにくい文章にすることができます。
>
>文学的な文章では、同じものを指す言葉を多様に用意すると格調高い感じが出せます。
>しかし、ビジネス文書ではこういう表現はNGです。
>
>以下のような文章は、文学的には評価が高いかもしれません。しかし、ビジネス文書としては好ましくありません。
>なぜなら、同じものを指す言葉を多様に用意すると誤解が生じやすくなるからです。

参考までに、ダメな例を以下に書いてみました。
比較すると、「読みにくいな」と感じられることと思います。

>文学的な文章では、同じものを指す言葉を多様に用意すると格調高い感じが出せますが、同じものを指す言葉を多様に用意すると誤解が生じやすくなるので、ビジネス文書ではこういう表現はよくないです。誤解の生じにくい文章にするために、「コーディング」のことを文章の途中で「スクリプト書き」とか「実装」といった別の呼び方で表現したり「プログラミング」と呼んだりしません。


エクセルマクロでの例:

エクセルマクロでの例の紹介はメールマガジンでは難しいです。
もともと、プログラミング言語というのは、シンプルに命令を書けるように工夫された言葉だからです。

よりコードの量が多く、また一度にやろうとする処理が多くまた複雑な事例であれば説明に使えるのですが、本文の分量を無駄に多くしてしまうので、具体例の紹介は割愛します。



まとめ:

「パラグラフ・ライティング」と「コーディング」の共通点として、以下のような点が挙げました。
そして、「パラグラフ・ライティング」、「コーディング」での具体的な事例を紹介しました。

1-1. 最初に目にとまるところに、全体の要約(アウトライン)がある
1-2. 詳細部分は、別途作り込まれている
2-1. 用語の定義を明確にする
2-2. 定義した用語を使って記述する
3-1. なるべく可読性の高い短文で書く


「全体の要約(アウトライン)が最初に来る」という点には特に重要です。

まずは、アウトラインを作ることが大切です。
そして、そのアウトラインに沿って、本文を作り込んでいきます。
その作り込まれた本文が詳細パラグラフです。

そして、誤解のないようになるべく用語は統一する。

そして、一文一文は、入り組んだ文章にせず、平易なものとする。

このあたりが重要なポイントと言えます。

「エグゼクティブ・サマリー」という言葉もあります。
まとまった分量になる報告書では、「全体の要約」とも言える資料を冒頭に用意します。これも、「全体の要約(アウトライン)が最初に来る」という点で思想的に共通と言えます。


「ビジネス文書のライティング」と「プログラミングには、共通点が多くあります。
とりわけ、着手から完成までの思考のプロセス、とりわけ「構造的思考」と言えるような部分に共通性があります。

実際、僕の中ではこれらのスキルはほぼ同じものです。

ビジネス文書作成時、僕は、プログラミングの原則を応用します。
逆もまた然りで、プログラムを書く際は、ビジネス文書作成の技術を応用しています。

今回は、これら二つのスキルが共有する「構造的思考」の側面に焦点を当ててみました。


複数の技術の間にある共通性に着目することはとても大切です。
それぞれの技術特有の具体的なテクニックも重要ですが、複数の技術の間にある「思想的なものや」や「構造的共通性」のようなものに普段から意識がいくようになることも重要です。

すると、たとえば、「パラグラフ・ライティング」を学ぶときも「あ、これ、エクセルマクロと同じだな」と気づき、エクセルマクロで学んだ考え方を応用できます。

あるいは、「Python」を学ぶときも、「あ、これ、パラグラフ・ライティングと同じだな」とか「エクセルマクロと同じだな」と気づき、それらのスキルで得たものを上手に応用してすばやく上達することができます。
  • ここまで読まれた方はすでにお気づきかもしれませんが、今回のメルマガは、文章全体が「パラグラフ・ライティング」の例となるように書いています。

    1-1. 冒頭にこの文書の概要となる要約パラグラフを置き、読者に全体のイメージをすぐに伝えています。
    1-2. その後、各セクションで具体的な内容に深く掘り下げ、詳細パラグラフで情報を提供しています。
    2-1. 用語の定義を行い、用語の一貫性を保って書いています。
    2-2. 誤解を避けるための明確な定義と使用例を示しています。
    3-1. 短い文と明確な表現で、可読性が高く、理解しやすい文章になるように書いています。

    時間があるようでしたら、上記のポイントを意識しつつこの文書全体を読み返してみてください。
    「考え方の構造」の部分を見抜くためのトレーニングとして、このような視点での振り返りはとても効果的です。


    あなたにとって、「あのスキルとこのスキルには共通性があるな」と感じられるものとして、どんなものが挙げられますか。
    そして、そこには、どのような共通性があるでしょうか。具体的なところから、より抽象的なところまで、挙げてみてください。
関連記事・関連コンテンツ
今回紹介したエクセルマクロのプログラムは、以下の無料講座内で演習として用意しているものです。
エクセルマクロ・VBA導入編
https://forum.pc5bai.com/lesson/course/10/

以下の記事は、『複数の技術の間にある「思想的なものや」や「構造的共通性」のようなもの』についてより詳細に書いたものです。
こちらも参考にしてください。
エクセルマクロ習得に関係する4つの能力
https://forum.pc5bai.com/article/4skills/


ビジネス文書に求められる「ただひとつの用件」とは
https://forum.pc5bai.com/tips/longshot/3b874592-cc21-42d3-9358-0a6cbd7be1a3/

ビジネススキルの「高速上達のための手順」
https://forum.pc5bai.com/tips/longshot/790c4550-2af8-427d-b5c9-ae9eb160110b/

コメントをするにはログインしてください

パソコン仕事5倍速!通信は、エクセルのテクニックから、仕事術、心理学、キャリアアップのヒントまで、主に事務職のビジネスパーソンのためのパソコン仕事高速化ノウハウをお伝えるメールマガジンです。
登録は、以下のフォームから可能です。

メールマガジン登録はこちら