blog.tmp.tokyo

No Promises Await at Journey's End

4月最後の STATION SWITCH 活動

今日も元気に STATION SWITCH セレオ八王子に来て自分だけの時間を過ごしています。今日は平日ですが会社が自動的に有給休暇を消費して休みとされている日です。仕事をしている人もいるようですが、私はそこまで勤勉な人間ではないのでお休みにしています。

STATION SWITCH に関する過去記事

これまで書いた STATION SWITCH に関する記事はこちら。本日で 4 回目の利用です。月 4 回の利用枠をちゃんと消化できました。

www.blog-tmp.tokyo

www.blog-tmp.tokyo

www.blog-tmp.tokyo

www.blog-tmp.tokyo

開発者目線の話

今日はちょっと開発者目線の話です。

Rust の学び

最近は新しい技術の習得として、プログラミング言語 Rust を学んでます。C/C++ 言語の後継と目され、システムレベルの開発から Web システムの開発まで万能にこなす言語です。実行速度の速さとメモリ管理の安全性が謳われているのですが、所有権などの慣れない概念もあって初学者が学ぶには難易度の高い言語です。

doc.rust-jp.rs

Rust を学ぶには上記リンクの「the book」と呼ばれる公式のドキュメントがおすすめです。日本語が若干怪しい部分もありますが、公式のドキュメントということもあり、解説は詳しいですし信頼できる情報です。

私はこの the book の第 10 章あたりまで学習が進んでます。ちょうど半分くらいです。

余談・最初に学ぶ言語は?

よく議論されることですが、プログラミング未経験者が最初に勉強するならどの言語がいいか、という話です。

私は圧倒的なまでに Java 言語を推します。

まあ、私が一番好きで得意としているという側面もあるのですが、Ruby とか Python とか JavaScript とか近年人気のある言語は確かにとっつきやすいですし、ちょこちょこっと書けばそれっぽいモノが動くので最初にやるにはいいのかもしれませんが、もう少し厳格なルールに基づくプログラムを強制される言語の方が勉強になると思います。

かといって C/C++ を最初にやるのはゲームで言うとデモンズソウルとかをやるようなものなので、程よくシステムから切り離されていて程よくルールが厳しい Java が心地よいです。Java で一通りコマンドラインからフレームワーク使った Web システムの開発までやれれば、Ruby や Python などの言語もすぐに習得できるでしょうし、C/C++ や Rust といった高難易度の言語へも進めると思います。

Paiza Cloud 開発環境を卒業

さて本題です。これまで Paiza Cloud 開発環境というのを使ってみていました。

paiza.cloud

ブラウザベースで Linux のサーバ 1 台使えるので無料枠でも結構遊べます。ただ、無料枠だと使っているサーバの連続使用が 24 時間とかなので、月額 980 円のライトプランを契約していました。macOS と Windows の間で同じ環境が使えるというのも魅力のひとつではありますが、なんと言っても iPad からもブラウザベースでプログラミングできてしまうので使っていました。

ノートパソコンなくても iPad 持ち歩けばプログラミングできるじゃん!と思ってしばらくつかっていたのですが、結局は iPad からだと使いにくいんですよね。画面も小さめだし、CUI 叩くときに Tab とか ↑↓ とか使えなかったり・・・。

ということで卒業することにしました。macOS のローカル環境にはもともと Rust の処理系もインストール済みでしたし、特に準備することはありませんでした。やったのは解約する Paiza Cloud 環境の方からこれまで勉強で作ったプログラムの資材一式をダウンロードしておくことくらいでした。

2021.04.30 23:50 追記
Paiza Cloud 開発のサポートより連絡をいただきました。実は解約手続きにあたり、アカウント削除をしただけだったので有料プランが解約できているのかハッキリしなかったのです。メールで問い合わせに投げておいたら、夜返信が来ておりました。アカウント削除により有料プランも解約されているそうです。

Brackets というエディタが・・・

ひとつ悲しめだったのがちょくちょく使っていた Brackets というエディタのお話です。Windows だったら秀丸エディタ一択なのですが、macOS ではエディタにこれといった決定的なモノがなくてイロイロ試していました。

割といいかな、と思っていた Brackets というエディタは Adobe がサポートしているエディタで、表示の綺麗さなどが気に入ってました。

brackets.io

ところが起動して使い始めてみたら、こんなメッセージが表示されるようになりました。

2021 年 9 月 1 日、Adobe は Brackets のサポートを終了します。 Brackets の使用、保守、改善を継続する場合は、GitHub でプロジェクトをフォークできます。 Visual Studio Code は、オープンソース上に構築された Microsoft の無料コードエディターです。Adobe は Microsoft とパートナー関係にあり、このエディターへの移行をお勧めします。

MS の Visual Studio Code に乗り換えろってさ。

仕事でも時々 vscode は使うので別に使うのが嫌とかはないんですけど、ちょっとテキストファイル修正したりするのに vscode を使うのもちょっと重厚長大じゃないかなぁ・・・というイメージが抜けません。私の個人的な感覚では vscode はエディタというより IDE だと思ってます。まあ、世間的にはエディタなんでしょうけど。

ということで Sublime を当面使っていくことに。

www.sublimetext.com

Sublime の何がいいかって、コマンドラインから起動できるんですよね。

$> subl sample.txt

とすれば目的のファイルを Sublime で開いてくれます。この辺が便利。

Ricty のバッククオート問題

前々から気づいていて放置していたのですが、Sublime に限らず macOS で Ricty というフォントを使うとバッククオート ` が前の文字に重なるバグがあったんです。Markdown とかその他いろいろ困るのでどうしたものかな、と思っていたのですが、本腰入れて調べてみたら対処がありました。

qiita.com

非常に助かりました。FontForge というフォントを弄るアプリが必要になりますが、リンク先から確認すればインストールできると思います。

というか Ricty なんてプログラミング用フォントなので使う人はプログラミングをそれなりにやると思うので、FontForge でフォントの修正なんてちょろいものだと思います。

.git フォルダの存在

Paiza Cloud をやめたので、ソース管理は GitHub 使うか、とダウンロードしてきた Rust の資材一式をあまり考えずに GitHub に登録しようとしたら sub module だの何だの言われて Git に登録できませんでした。

なんでやねん、と調べてみたら cargo new で作ったプロジェクトフォルダに .git フォルダが含まれていました。macOS 上でやると作られないので、Paiza Cloud 上の Rust 環境で cargo new すると勝手に作る気がします。オプションで --vcs とかつければいいっぽいのですが、macOS 上でやれば特に大丈夫そうなので別にいいや、と。

ちくちく .git フォルダを削除して GitHub へ登録しました。

まとめ

概ね作業環境は整いました。いろいろ問題も片付いて一安心です。午後からは Rust の勉強に集中します。