はじめに
ひとこと
アクセスしていただきありがとうございます。
タイトルの通りの、メモ帳でコーディングしていた話です。
タメになるかどうかは分かりません。
目的
- メモ帳でコーディングしていたことで得られた知見を共有すること()
検証済みの環境
- Windows11 Home x64
- メモ帳
ご注意
- この記事の情報は 2024/08/26現在 のものです
1.前書き
筆者は高校に入学したと同時に、部活でプログラミングを始めました。
HTMLとCSSを一通り学習し、一人で簡単なウェブページをつくれるようになりました。
そして自然とウェブページに機能を実装したいと思うようになり、JavaScriptの学習を始めました。
(今もですが)ここまで独学だったこともあり、一度、挫折しながらも百人一首を4択から選んで覚えるウェブアプリをつくり、高校で公開しました。
その後も学習を続け、高校2年生の夏ごろに全体で1000行ほどのウェブアプリを完成させました。
...そう、メモ帳で。
2.メモ帳でコーディングしていた話
なぜ、そうしたのか
部活のパソコン
当時は自分のパソコンを持っておらず、部活でコーディングしていました。
部活のパソコンはあったのですが、しっかりと動くものはなく、情報の授業で使うパソコンを使っていました。
ですので自由にIDEをインストールすることはできませんでしたが、HTMLとCSSにちょっとしたJavaScriptしか書いていなかったため、メモ帳で書いていました。
執行部のパソコン
前書きでは省略しましたが、高校2年生の春に、ICT化を担当して欲しいと誘われ生徒会執行部のような組織に参加しました。
部活と同様に執行部のパソコンがあったのですが、インターネットに接続できないようにされており、またもやメモ帳でコーディングするしかありませんでした。
学校全体のパソコン
また某パンデミックの影響で大量のパソコンが配備されましたが、当然ながら学校全体で貸し出して使うため、勝手にアプリをインストールすることは禁止されていました。
3つの性質の違うパソコンがあったはずなのに、どこでもメモ帳を強いられることなりました。
メモ帳でコーディングするとはどういうことか
こういうことです(サンプル)
<input type="button" value="Great" class="button" onclick="Great()">
<input type="button" value="Great" class="button" onclick="Great()">
不便なポイント
- 見にくい(色分けがない)
- すべてタイピング(予測、自動補完がない)
- スペルミスが多発(予測、自動補完がない)
- 「()、<>、{}、[]、""、''、``」などを閉じ忘れる(自動で閉じてくれない)
- 選択してから「shift + (」などを押しても上書きされる(自動で囲ってくれない)
- 行の末尾で「ctrl + c」を押しても、その行をコピーしてくれない(わざわざ行全体を選択しないといけない)
- インデントを深さの分をすべて入力(1つ入力したら適切な深さまで自動で入力してくれない)
- 複数行のインデントの調整は一行ずつ(複数行のインデントをまとめて調整できない)
- 実行してみるまでミスに気づけない(エラーの赤い波線など表示されない)
- 自分が知っていることしか書けない(予測がないから、予測を見たときに「知らないメソッドがあるから調べてみるか」みたいな状況が発生しない)
得たこと
- 既定のプロパティ名はもちろん、自分で定義した変数名なども正確に、そしてずっと覚えられること
- 1つのメソッドくらいならば、ほぼ100%の確率で、一発で想定した通りに動かせること
- チャットなどでコードが送られてきても、IDEでコードを見るときと変わらない速さで読めること
- 「()」などの特定の一連のキーの入力が異常に速くなったこと
- JSのコーディングで、
innerHTML += '<span>Hello world!</span>'
のように文字列としてHTMLを書くときに、ミスなく書けること
振り返ると
感想
遠回りになっているところもありますが、総じて良かったと思っています。
今は開発するアプリなどの規模も大きくなったためIDEを頼っていますが、得たことは今でも現役で大いに役立っています。
また自ら検索エンジンなどで調べなければ新しい知識が入ってこない環境は、アウトプットを促し、基礎的な知識を技術として定着させるに絶好だと思います。
JavaScriptでよかった
// フォーマットは色々ありますが、私はJavaScriptはこれで書いています
if (isPlayerExist) {
// 処理
}
// 3行
// フォーマットは色々ありますが、(以下略)
if (isPlayerExist)
{
// 処理
}
// 4行
「インデントを深さの分をすべて入力」があるため、if文やfor文などの、いわゆるすべての「文」の数だけ、1行増えていたと思うとぞっとします。
他人に勧めるか
おすすめはしませんが、なしでもないと思います。
経験を積むにつれて「得たこと」の前2つの重みが分かっていただけると思います。
3.後書き
今はIDEとしてはVSCodeを、それ以外にはUnityなどを使って開発をしています。
VSCodeは拡張機能をもりもりにしています笑
今でもIDEのありがたみを感じています。
おわりに
最後までお読みいただきありがとうございます。
何かの参考になれば幸いです。