執筆:EugeneAmnis
ForMeを使ったプログラミング学習
AIが席巻している今でも、改善やキャリアアップの為にプログラミングを学びたいと思う人は少なくないと思います。言語の選定・デジタルデバイスの準備や学習環境の整備等が必要なプログラミングはノートとペン・教科書があれば学習を開始できる数学や外国語と違い、少しだけハードルが高いのも事実です。
簡易開発環境やコードエディタが実装されているForMeはプログラミング学習する上でも役に立ちます。また、一度プログラミングを試してみたいという人にも手元のAndorid端末で自分とプログラミングとの相性を見る場として利用することもおすすめします。もし相性が良くなければ、フォーム機能だけ使うという手もあります。
オートマトンの面接
ここでおこがましいですが、プログラミングの先行者として1つアドバイスをしたいと思います。よくネットや教書では「具体的に作りたいものがある人間がプログラミングの上達が早い。」という文言を見ることがあります。
実際に筆者も仕事で必要な機能を実現するためにプログラミングを学び始めた口であり、この文言には納得できるものがあります。ただ、皆が皆そういう状況にあるわけでなく、多くの場合は余暇を有意義使うための方法論としてプログラミングを学習しようとしている人も多いと思います。
そういう人たちがまず悩むのが言語の選定です。今や多種多様のプログラム言語があり、一人の人間でその種類を把握するだけでも事実上無理な状況になっています。そんな時に「AIにはPython、要求頻度の高いJava、汎用性の高いJavascript、ExcelにはVBA。」と言語の市場特性のみで言語を決める人がいますが、個人的にはおすすめしません。
勿論、プログラミングをし始めると一つの言語だけでなく、自然と他の言語も学習し習得する必要が出てきます。そう考えると最初の言語なんてどれでもいいんじゃないかと思う人もいるかも知れませんが、教科書読むだけでテストを乗り切れる位の実力のある人以外は市場特性での言語選定はしない方が良いです。
自分の興味領域や生活領域に関係しているなら、学習意欲保持に寄与しますが会得すればキャリアアップに繋がるからといっても全く関係のない言語をただ学習していくのは苦行です。ほぼ確実にドロップします。
ではどんな方法で言語を選定すればいいのか?筆者からの答えはオートマトンを面接してみてです。もう古い考え方だとお叱りを受けるかもしれませんが、筆者がプログラミングを学習し始めた頃はこのアルゴリズムの古典的な考え方にかなり助けられました。オートマトンとは命令を実行する対象のことを指す言葉です。言うならば、VBAに対するExcel、Javaやkotolinに対するAndorid、Objective-Cやswiftに対するiOSと言ったところです。
その言語のオートマトンがあなたの仕事を含む生活領域で役に立ちそうであれば採用。そうでないなら不採用とすればよいのです。ただし、あなたは面接官であることを忘れないでください。自分の生活領域の理解度を十分考慮して、面談して下さい。圧迫面接なんて以ての外です。
ここで言う理解度とはどれだけ詳細に命令を下せるかの一点に付きます。「利益を上げろ!」などの曖昧な命令ではなく、実際に実行・検証できるまで噛み砕いた命令を出せるほど理解しているかということです。これが出来ていれば、ほぼ間違いなくプログラミング学習は成功します。
無論、分からない場面もあるでしょうが、分からない・曖昧な部分を明確にしておくことでボトルネックを具体的に対応することができるようになります。プログラミングをしていれば、分からない・曖昧な部分は調べるというのが当たり前の作業になってきますから、必須の能力と言えますし、決して無尽蔵ではない集中力のリソース管理という意味合いでも曖昧な部分を明確にすることで理解度の低いものは避けて、確実に成功する可能性の高いものを選定できるように近づけます。
言語の選定後はどんなものでも抽象的な基礎概念の学習を強いられます。そんな中で自分の生活領域に近い言語を選んでいる場合、つまらない基礎概念を何に応用できそうかと想定できるようになり、学習意欲の維持に大きく寄与します。
だからこそ、言語選定にはオートマトンの面接を強く主張したいのです。
ForMeを使った学習方法
ForMeではHtml・css・JavaScript・Markdown・LaTeX・php・C++など様々な言語に対応したエディタを実装しているだけでなく、フロントサイドを使ったミニアプリ作成のための簡易開発環境も実装しています。しかし、試しにやってみるというスタンスで行うならJavaScriptをお勧めします。
なぜなら、JavaScriptは汎用性が高く、あなたの生活領域に被っている可能性が高いためです。また、実行環境を選ばないというのも大きなおすすめポイントになります。今はPythonを押す声が大きいのが事実ですが、現状のAIの利用を鑑みるとAIを使って何かをつくるが主流になっており、AIをコーディングで躾けることに重きを置いていない人多いように見受けられるからです。それにJavaScriptができる人は確実にPythonもできるとされています。(実際に筆者はPythonをメインの言語にしていませんが、教書をさらっと学習しただけでも、かなり理解しやすかったです。)
基本はエディタとブラウザ
JavaScriptは汎用性の高さから、何からはじめればよいかと悩むかもしれませんが、基本に立ち返り、動きのあるホームページを作ることから始めては如何でしょう。この方法はForMeは勿論、PCでも利用可能な学習方法で割りかし簡単にはじめられます。
基本的にフォルダを作り、その中に任意の名前.htmlというHtmlファイルを作成して、そのファイルをブラウザとエディタで開き、エディタでコーディングを行い、保存。 ブラウザでリロードして結果を見るという流れになります。
サーバーからでないと使用できない関数などもありますが、初学者クラスであればまず、使用することもないでしょう。
スマホとPCの違いと言えば、ファイルアクセス権の関係でスマホ(Android)ではHtmlファイル1つにまとめなければならない制約がありますが、むしろ初学者には管理が簡単になるという点でメリットになるでしょう。
ForMeでの具体的な始め方
ここからはForMeとChromeを使ったAndroid端末上でもJavaScript学習法を説明します。まず、ファイルアクセス権限をForMeに与えて、共有ファイルの管理を開きます。モードをPUBLICにして、任意の名前のフォルダを作成します。
作成したフォルダに入り、Htmlファイルを作成します。エディタが起動するのでhtmlと入力し、スニペットに表示されたHtml5をタッチします。Htmlの下書きが挿入されるのを確認して一度、任意の名前で保存します。
緑の工具マークをタッチし、フォルダ>作成したフォルダを開きます。現在開いているHtmlファイルのプレイマークをタッチしてChromeで開きます。タスクからエディタに戻り、編集を行い保存します。タスクからChromeで結果を確認するを繰り返しながら、学習を進めます。
スマホ版のChromeではDevToolを開けないので、必要に応じてエディタの簡易プレビューでエラーメッセージ等を確認します。(簡易プレビューはオフライン)
エディタのスニペットから入力した下書きを軽く説明するとHtmlを書く際のお約束みたいなものです。最初にフォーカスが当たっているTitleを変更するとページのタイトルが変更されます。metaと入力されている部分には外部CSSや外部JS等のリンクやstyleタグを挿入してデザイン変更を記述したります。
bodyと書かれているところにHtmlタグを書いていきます。基本的にJavaScriptはここに書かれたHtmlタグに対して操作や演算結果を表示すると考えてもらって構いません。そしてbody閉じタグのすぐ上にscriptタグを挿入して、そのタグ内に学習用のJavaScriptを書いていきます。なぜ最後にscriptタグを挿入する理由は少しでもHtmlファイルの読み込みを早くするための工夫の1つです。
尚、PCでも同じように学習をすすめられます。
ひとりでは・・・。
ここまで紹介した方法は独学できる人向けへの説明でした。独学ができない人は諦めるべきかといえばそんなことはありません。今はインターネット上に多くの教材があるのでそれらを利用するのも一つの案ですし、そういう方が多いと思います。
独学よりも丁寧な説明や実績として自身のスキルを説明しやすい点でそのようなサービスを利用することをおすすめしますし、何よりできるようになることが重要です。いろいろな方法を利用してスキルアップに努めましょう。
スマホでコーディングすると思った以上に集中して時間が潰れるので注意が必要です。