プログラミング未経験にオススメのスクリプト言語5選
こんにちは。継続の錬金術士なおキーヌです。
ブログ毎日更新は163日目になります。
プログラミング未経験にオススメしたい言語は人によってかなり変わってくるかと思います。
基礎が分かるCを進めてくる人もいれば、流行りのRubyやPythonを進めてくる人もいます。
Cに至っては昔よりは楽ですが環境を整えるのがハードルが高い。
RubyやPythonはMacユーザーであれば標準でインストールされていますし、
現場でも使われている上に将来性もあるのでオススメするのは妥当な所です。
しかしWindowsユーザーでプログラミングなんてしたことないという人にとっては
RubyもPythonも導入するのが面倒臭いところがあります。
もう令和だぜ!?Windowsでも標準で入れておいてくれよーと思いますね。
インストールして、環境変数にパスを設定してって面倒くさいことこの上ないです。
最近はEXEファイルでインストールしたら一括でやってくれたりもしますが、
プログラミング未経験からするとそれすらもよくわかんないかと思います。
今回はそんなWindowsユーザーでも速攻でプログラミングを始められるオススメのスクリプト言語を5紹介!
- VisualBasicAdvance(EXCELあればOK)
- VBScript(EXCELない人&Windowsのみ)
- UWSC&AutoIt(EXCELない人&Windowsのみ)
- JavaScript(WindowsもMacもLinuxもOK)
- プチコン4(Nintendo Switchのみ)
- 余談:ある程度プログラムを組めるようになって次の段階に進むには
VisualBasicAdvance(EXCELあればOK)
VisualBasicAdvance、略してVBA。
MicroSoftのエクセルを自動操作するための言語です。
自作PCでなければ大抵のWindowsPCにはエクセルというかオフィスはインストールされているのではないでしょうか?
エクセルがインストールされていない会社というのは殆どないため
仕事場でも有効に活用できるので、VBAを使えることが出来れば事務職ではヒーローになれます。
BASICという言語を土台にエクセル用に改良したのがVBAで、
基本的にエクセルを操作するための命令が多数取り揃えられています。
Excelで面倒だった作業もVBAを使えることが出来れば1時間かかっていた作業も
自動で一瞬で終わってしまうぐらいの優れものです。
VBAの問題点を1つ挙げるとするなら、VBAを動かすためにはエクセルの設定を少し変更しなければいけません。
セキュリティ的な問題なので仕方ないと言えば仕方ないのですが。
- 1.ファイルを選択
- 2.オプション
- 3.セキュリティセンター
- 4.セキュリティセンターを設定
- 5.マクロの設定
- 6.全てのマクロを有効にするにチェックを入れる
と順を追うだけです。
全てのマクロを有効にするということは、悪意のあるプログラムもうごきますので
インターネットからダウンロードしたマクロは基本的に使わないようにしましょう。
しかしどこからプログラミングを開始すればいいのかわかり辛いのがエクセルです。
幸いにも@air1p1さんが1から詳しく解説してくれてるので私は省きます。
【VBA】Excelを使ったプログラミングの準備
https://air1p1.com/2018/12/31/kaihatsu/
VBScript(EXCELない人&Windowsのみ)
VBScriptはエクセルなんて高価なものもってねーよ!って人にオススメです。
WindowsとWindows標準のメモ帳さえあればすぐにでもプログラミングを体験できます。
基本的な仕組みはエクセルのVBAと殆ど同じでエクセル操作部分がなくなったと思えばOKです。
幸いにも@air1p1さんが紹介してくれていたので私は楽をします。
「VBS」でVBAの練習
https://air1p1.com/2019/01/05/vbs/
今回紹介する中でJavaScriptに次ぐ一番楽にプログラミングを体験できる言語だと思います。
簡単な言語になろうが難しい言語になろうが、プログラミングは基本的な考え方が同じなので
これで練習して物足りなくなったら次の段階の言語にいくという方法が最もオススメですね。
[UWSC&AutoIt(EXCELない人&Windowsのみ)
某所では有名なスクリプト言語ですが、長らく更新が止まっていたようなので調べてみたら
まさかの公式サイトが閉鎖というかドメイン機嫌有効切れぽい感じになっていました。
UWSC
しかし作者はVectorで実行ファイルを残してくれています。
有料版もありますが、基本的に無料版のみで十分にプログラミング学習が出来ます。
UWSCのメリットはWindowsの操作を自動化することが出来るので、
私がまだプログラミングのプの字もわからないときに入門言語として利用していました。
古いInternetExplorerエンジン(スレイプニルやアンドーナツ等のブラウザ)を操作出来るため
色々な用途に活用されていました。
これが意外と本格的で、ファイル操作も出来ますしマウスの制御も出来たり
時間が来たら書いたプログラムを動かしたりするタイマー機能等もあります。
個人的にはWindowsでプログラミングをはじめるのであれば最もわかりやすく楽しく学べる言語だと思っています。
仕事の現場でWindowsの標準のタスク管理ソフトが全く持ってあてにならないので
UWSCで制御してその場を収めたりも出来たので私も未だに愛用しています。
最近ではアップデートがされていないためブラウザの操作はできなくなりましたが、
Windowsの操作はできるのでまだまだ汎用性は高いですね。
AutoIt
UWSCの上位互換版とでも言いましょうか。
私もまだ触ったことが無いのですが、UWSCが更新停止してしまっている今
UWSCよりもAutoItを触った方が良いのかもしれません。
しかし全て英語なため、英語が苦手な人にはかなりとっつきにくいかもしれません、
UWSCの良い所は作者が日本人なので基本的に日本語対応しているところですね。
ぶっちゃけてしまうとこれらのスクリプト(マクロ)言語はプログラミング学習での通過点でしかないので
とっつきやすいUWSCの方をおすすめします。
JavaScript(WinもMacもLinuxもOK)
これらの中で最も将来性があり、尚且つプログラミング入門にも最適な言語がやはりJavaScriptです。
名前からしてJavaと間違われがちですが、完全に別の言語です。
昔はWebページに動きを出すためのものだったのですが進化に進化を遂げ、
今ではアプリケーションを作ったりサーバーを建てたりARを表示したり様々なことが出来る優れものになっています。
難易度は高いですが、VRも扱えるので非常に柔軟度が高い言語となっています。
Web系のプログラマを目指すのであれば避けては通れない言語ですね。
サーバーサイドと言えば現在も過去も代表はPHPですが、最近はPHPを使わずにJavaScriptのみで完結するぐらいです。
JavaScriptのメリットでもあるコードの書き方の柔軟度。
ある程度の書き方でも普通のプログラミング言語だとエラーを出すのですがJavaScriptはユルいので
エラーを起こさずにそのまま動いてしまいます。
しかしその柔軟度の高さゆえに他人が書いたコードが分かり辛くなってしまうこともあります。
最近ではTypeScriptというJavaScriptに型情報を持たせた拡張言語が誕生しました。
C/C++をやったことのある人はJavaScriptが自由すぎて嫌う傾向にあるのですが、
TypeScriptでは厳しく制限をしてくれるのでc/c++プログラマでも気に入られるほどです。
MicroSoftの社内でも共通言語として扱われているようです。
常に進化を続けるJavaScriptですが、問題点としては機能を後付けしまくっているので
ツギハギ言語と言われることもあります。
しかしここまで普及してしまったので新たに1から作ると言うのは難しいのでしょう。
TypeScriptの誕生のお陰でマシにはなりましたが、結局最後にはJavaScriptにトランスパイルして
JavaScriptに戻して動かしているのでなんだかなぁという感じです。
プチコン4(Nintendo Switchのみ)
最後に、PCではないですがNINTENDO SWITCHでスマイルブームから発売されたプチコンシリーズの最新作「プチコン4」
言語そのものはBASICを改良したものですが、非常に現代風の言語仕様に近づいています。
ゲーム機でゲームが作られるのでゲームプログラミングをしたい人には最適なソフトです。
既にニンテンドーSwitchを持っている人であれば3000円でプログラミング環境が手に入ります。
デメリットとしては、作ったものを公開すると自分の組んだソースコードが丸見えだということです。
これはプチコンのポリシーなので仕方ないので割り切りましょう。
逆に考えると凄腕プログラマもプチコン4を愛用しているので、
凄いプログラムの中身を3000円で見放題と考えたらめちゃくちゃ安いです。
プログラミングの入門本は大体2800円ぐらいします。
しかも大体ググれば全部出てくるような内容ですからあんまり意味ないんですよね。
さらに投稿されたゲームはダウンロードし放題なので無限に遊べてしまいます。
ゲームプレイに飽きたら自分で作ることも出来るし、将来のためにもなるという最高の環境です。
未成年の方であれば勉強するからといって親に買ってもらいやすいのではないでしょうか?
ゲームしてても勉強してるから!って言い訳もできて買わない理由はないですね!
と、ここまで全然冗談ではないのでプログラミングを始めたいって人にはプチコン4は本当にオススメです。
余談:ある程度プログラムを組めるようになって次の段階に進むには
ここまで紹介したプログラミング言語を触っているとある程度何も見なくてもコードを組めるようになります。
最初は人のコードをトレースするだけでも成長しますが、どんな処理をしているのか意識してトレースしましょう。
そうするのとしないのでは成長度は天と地の差が出てきます。
ある程度1つの言語を組めるようになるとどの言語もすぐに組めるようになります。
プログラミングは基本的な構文はほぼ同じようなもの(アセンブラ等難解言語除く)なので
興味のある言語を学んでもいい状態になります。
最後に軽く次の段階に進むおすすめの言語を紹介します。
- Python
- Ruby
- JavaScript続行
Pythonについて
Pythonは流行りのAI系につよく機械学習やディープラーニングで一気に火が付いた感じがします。
将来性もある言語ですし、サーバーサイドプログラムとしても活躍できます。
スクリプト言語としても強力なのでメイン言語にしなくてもサブ言語として学んでおくと色々と役立ちます。
ちょっと前は日本語の文献が少なく学習し辛い環境でしたが、
最近は日本語の情報も多くなりかなり学びやすくなりました。
MacにはPython2系列がプリインストールされていますが、今から覚えるならPython3系列を覚えるべきでしょう。
Rubyについて
日本人が作ったスクリプト言語です。
プログラミングを目指そうと思った人は1度は耳にしたことがあるんじゃないでしょうか?
プログラミングスクールに通ってる人は大体Ruby+RubyonRails(以下RoR)をしているイメージがありますね。
そのせいか女性ユーザーも結構多い気がします。
私もUWSCから一度Rubyに行ったのですが、当時ではゲームプログラミングにはあまり向いていなかったので今はあまりやっていません。
しかしテキスト処理に関しては当時はPythonより優れていたので20代前半の頃はよく使っていました。
日本人が作っただけあって日本ユーザーが多く日本語文献も多いです。
RoRというフレームワークを使えば他の言語要らずで完結してしまうぐらいの優れものです。
しかしそれゆえに他の言語を触らなくなってしまうのがあまりよろしくないでしょう。
私は10年前にWindowsでやろうとしたら環境作りで挫折してRubyに苦手意識が芽生えました(笑)
Macユーザーであれば最初から入っているので入門しやすいですね。
Windowsも今では簡単に環境を作ることが出来るので入門用言語の次の言語としては、
一番オススメ出来る言語だと思います。
ある程度慣れて来たらそのままRubyを突き進むか別の言語に移るかすると良いでしょう。
JavaScriptについて
5つ目に紹介したJavaScriptですが、紹介した通り将来性が最も高く
フロントエンド開発・バックエンド開発・アプリ開発・スクリプト開発なんでもござれです。
その土台としてNode.jsというJavaScriptのフレームワークがあります。
もうここまで大きくなるとフレームワークというのもなんか違う気がしますが……
JavaScript単体だと主にWebページを拡張するぐらいですが、
Node.jsを使うと最初に言った通り様々な開発をすることが出来るようになります。
凄いプログラマが作ったライブラリを集めてきて組み合わせるだけで凄いものを作り出すことが出来ます。
ある意味プログラミング界のレゴブロックではないでしょうか。
JavaScriptの欠点は実行速度の遅さだったのですが、
PCのスペックが上がっている現代ではその遅さもほぼ気にならないレベルです。
C/C++に比べればまだまだ遅いですが、柔軟度とお手軽さでその速度もほぼ気にならないレベルです。
Node.jsを使えばArduinoやRaspberryPiと通信することもできますし
スマートフォンと連携することも簡単です。
個人的にはPythonとJavaScriptを並行していけば、
後10年は革命的な言語が生まれない限り問題ないんじゃないかと思いますね。