寝ながらプログラミングする方法
前口上
長く働く上で体を横にするのは重要だと思っていて、優秀な人が腰を痛めた話を聞くたび体を横にする重要性を感じています。腰への負荷は座る>>立つ>寝るですね。
iPadやKindleで読書や記事を読む程度なら簡単にできますし、音声認識の精度向上により小説やブログの記事なら声で入れることも可能かもしれません。一方でプログラミングは記号類が多く、音声認識フレンドリーではありません。
タブレットでプログラミングというと普通外出先で外付けのBluetoothキーボードを使うケースが多いのですが、寝ながらプログラミングする例は少ないようです。今回AtCoderとPythonを例に環境を作ってみます。
タブレットでプログラミングをする方法
タブレットでの開発環境は主に
- 言語ユニークの開発環境アプリを使う方法
- ブラウザでWebベースのIDEを開く方法
がありそうです。
前者はローカルのファイルを開いたり、オフライン、一時保存に有利。後者は任意の言語が選べるのが有利でしょうか。
iOSではプログラミング用のキーボードアプリを公開している人もいるようで、それと組み合わせると後者はカスタムしがいがありそうですが、今回は事例の多い前者でPythonでいきます。
Python実行環境の比較
iPadでのPython実行環境としてはPythonista 3、Python3IDEあたりが人気のようです。
Pythonista 3
apps.apple.com
iOSでpythonというとまず出てくるのがPythonistaだと思います。有料のアプリでPythonのカンファレンスの時期になるとセールをしていることもあります。
2021/02現在のAtCoderのpythonは3.8ですがPythonistaは3.6で少し古いです。iCloudにファイルを保存できるのでiPhoneとiPadで時差置いて同じファイルを見ることも可能。
キーボードの一番上にタブや記号系が一番上にあって快適。文末に移動するコマンドがないのとif elseを考慮してインデント変わったりはしないので完璧ではないですね。
Python3IDE
apps.apple.com
こちらはPython 3.7で無料。Pythonistaも頑張ればpip経由でライブラリーを追加する方法はあるようですが、こちらは組み込みでUIあるので楽そう。
一方で空白の挿入や改行の削除などがバグりがちで不安定。サジェストも少し弱いですね。
AtCoderの実行環境について
AtCoder内にもコードテスト機能はあるのですができるだけローカルでやりたいです。 ターミナルのない状況だと入力はファイル経由になりますがAtCoderは標準入力経由での入力です。
実行環境のplatformがAtCoderとローカルで違うことを利用するとローカルのみファイル入力にすることが可能です。
# Pythonista if sys.platform =='ios': sys.stdin=open('input1.txt') # Python3IDE if sys.platform =='darwin': sys.stdin=open('input1.txt')
最後に
自作キーボードというとハードウェアでPC用を指すことが多いように思います。 カスタムで自作ソフトウェアキーボードを作ってみるというのもやってみたいです。