はてなキーワード: Vimとは
日本人全体の(PCの)ITリテラシーが低いという話だと思うが、大きなハードルの一つにIMEがあると思う。欧米圏ならキーボードの入力からダイレクトに入力できるのにCJK(中国語・日本語・韓国語)はいちいちモードを切り替えて入力する必要がある。これは初心者がメモ帳ではなくvimから初めてるのに等しいので、最初に突破する関門としては厳しすぎると思う。CとKと比べてもローマ字の習得が必須なのに加えて、日本語の漢字かな交じりと同音異義語の多さからIMEの変換精度の問題が大きく、数段厳しさを増していると思う。単に文章を打つという行為でここまで考えなければいけないのは、初めてPCを操作するのに多くのことを学ばなければいけない初期段階ではあまりにも厳しい障害のように思える。
携帯やスマートフォンのみ操作できる人とというのも、そのへんのハードルの高さが一因となってるのは間違いないと思う。多分正しく日本語を打つ段階で心が折れてる。
自分はプログラミングほぼ未経験(大学の学部時代にCのコードを写経して動かすと単位がもらえる謎の講義に出たことがあるぐらい)の状態から、社会人になってから独学でPHPを勉強していわゆるweb系のソフトウェアエンジニアに転職した。以後8年近くソフトウェアエンジニアとして働いている。
初心者向けのプログラミングスクールの話題が尽きないが、スクールに通わなくても独学でもなんとかなった自分みたいのもいるよ.という例を紹介してみたい。このエントリがプログラミングに興味がある人の役に立てば幸いである。昔の話なので出てくる話題が古いのはご勘弁いただきたい。
なお、web系のソフトウェアエンジニアになる前は、上流系SIerでExcelと顧客折衝をがんばるSEをしていた。基本情報ぐらいは持っていたがコードを書く業務は一切なかった。
昔はMicro$oftなんてあったけどw
まあRuby on Rails、PHP、Wordpressみたいなキーワードはコモディティだし腐したくなる気持ちは分からんでもないけど、
node.js登場時なんてクソミソに言われてたからなあ、シングルスレッドのスケールしないゴミみたいに
TypeScriptもCoffeeScript勢からは良く思われてなかった気がする、MSだし
Visual Studio Codeもvimだのemacsだのからは嫌われてたし、いや、それは今でもそうか…
そういう話になるとnode.jsの不満というかセキュリティ的な懸念点とか考えたくなってくるけどやめよう
コモディティネタは儲けが少ないし、RoRは負債になってきてるのでレガシー案件を任されがちというのはあると思うけど、
RoR登場時には猫も杓子もRoRみたいな盛り上がりだったし、
Struts 1だって登場時には盛り上がってたと思う、多分、あんまり記憶にないけどw
Webエンジニアの技術確認って、知識や経験が多方面に渡るから難しいと思ってる。
Webアプリ作れます!と言って完成物だけを見るとたしかにそれなりのができてる。
もちろんテストはない。動けばいい。
N+1やSQLインジェクションが埋め込まれてる(後者はフレームワーク側でほぼ無いが)。
Gitは漢のmaster(main)一本だし、rebaseはできない。何かgitでトラブったら全消ししてcloneし直す。
デプロイもHerokuコマンドをよく分からず打ち込んでるだけ。ちょっと凝ったことはできない。
データベースも大きなExcel程度と考えていて、一つのテーブルに全部のデータを入れる漢のスキーマ。
コマンドも例えばgrepやfindを使えない。XXenvの使い方がわからない。何でもかんでもsudoをつける。
vimが使えないからなんかのはずみでvimの画面になったらパニックになる。
まだまだいろいろあるけど挙げたらきりがない。
となるとどこかで線引きをしなければいけないけど、その線引きの一つの手段が対面での会話の内容、受け答えの態度だと思う。
Emacs、一生入門できない
あたまがうんちで出来てる俺にはむり
package, use-package, leafやらのいろんな方法が混在していてわけわからん
便利そうなパッケージの説明見に行くと、設定方法の説明に使ってるのがpackageだったりuse-packageだったりもっと古いやつだったりでわけわからんくなる
結局packageとuse-packageの混在したわけわからんinit.elを書く羽目になる
しかも設定書いたつもりでも反映されてなかったりするし原因調べようにも全部英語
さっきもRedoってどうやるんだ?ってなってググった
いちいちググりに行かないといけないのがしちめんどくさい
しかもなんだよC-g C-/って。覚えてられっかよ。C-yでRedoさせろよ。なんだよyankって。
・とにかくキーバインドを覚えるのが面倒
「キーボードから手を離さずに操作を完結させる」ってものに憧れてEmacs触り始めたんだけどさ。
結局のところキーバインドいちいち忘れるから調べるのに結局時間かかって意味ねえじゃん
物覚えいい人達は気にならないんだろうけどさ
でもCtrl+f, b, p, n, a, e, m, hだけは覚えた これだけは他のエディタでも便利なので使ってる
あと、他のエディタでこういうの有効にする設定使うとコピーがM-wだったり検索がC-sだったりになるけどそこは我慢して使ってる 一回覚えちゃったし
・使ってる人が居ないので情報もない
もう既に使いこなせてる強い人だけが使ってるのか知らんけど、全然情報が無い
「2020年代のEmacs入門」とかいう記事書いてる人が居たんだけど、例によって強い人がなんかいろいろ書いてんなーぐらいしかわからん
あれ読んだ後によしEmacs使ってなんか書くぞ~~って進めるとは思えん 俺の頭がパッパラパーなだけな気もするけど
同じ人が書いた「Emacs入門から始めるleaf.el入門」とかもそうだけど、「初心者を想定して書いてます!」みたいな雰囲気を初め出しといて途中からぜんぜんわっからーん状態になる
Emacsについての情報が集まるらしいEmacs-jpとかいうslackのグループがあるらしいので覗いてみたんだけども
そこでされてる会話がムズすぎてロクに聞けん
beginners-helpって書いてる場所でされてる質問も回答もいみわからん
稀にいるガチ初心者も、幾つかやりとりした後は「〇〇って本読んで勉強してね」って答えだけ貰って満足してるし
俺その本持ってんだけど上で書いたパッケージのくだりとかわからんまんまだわ
さっきの入門記事もだけど、人はLinuxか、あってもMacしかつかわん前提なんか?ってくらいwindowsに冷たい
windowsのEmacsだと日本語打てるようになるまですら一苦労だった
なんかimeパッチ?とかいうのをあてたやつを配布してる人がいたからそれ使ってるけど
その人が居なくなったら俺Emacsのバージョン上げられなくなるじゃん!
WSLとかいうのも使ってみたけど、外部からファイルいじったら全てがバグってしんだ あとブラウザの起動ができなかったりそんなこんなでやめた
「windowsでEmacsを使う方法」とかいう便利そうなwikiに書いてあったからいけるやん!って思ったんだけどな~~~~~アホには無理でした
俺はほぼ初期設定のVScodeでやっていくわ
どうせ俺の仕事とかには関係ない趣味だけの話だしな いちいちイライラしたくない
文字打てたらそれで満足することにするわ
大学初年時に、プログラムって文字で書くんだーみたいな知識すら初めてだった自分が課題で使わされて以来、
いつか使えるようになりたいとおもってたけど諦めますわ
ふと、C言語でテトリスでも作りたいなぁ、GTKがいいなぁと思い、どの環境が一番適しているか調べてみたが
意外にもLinux&Qt Creator&CMakeの組み合わせが最強であった。
・Windows(MinGW)…pkg-configの出力がc:\msys2\mingwではなく/mingwになりIDEへのライブラリの設定に難儀するなど、何をするにもトラブる。
・Qt Creator…CMakeでプロジェクトを作って読み込んだらビルド設定やインテリセンス、補完、デバッガがすべて完璧に動作した。MakeFileプロジェクトでも、AutoToolsでも何でもうまく行く気がする。
・Vim…めんどくさすぎる
・Anjuta…AutotoolsでGTKのプロジェクトをデフォルトでサポートしていて何も設定が必要ないが、
ウィンドウの縦分割ができない、ブレークポイントの設定がマウスで出来ない、定義への移動のショートカットがデフォルトで設定されてないなどつらすぎる場面が多い
・Geany…補完をするのにctagsコマンドで辞書ファイルを作成する必要がある。このことから補完以外でもマトモな支援は期待できなそう
・Eclipse…ビルドツールの設定に難あり。依存ライブラリの追加が一個ずつしか出来ない。"."や"::"を入力するか、Ctrl+Spaceを押さないと補完が出てこない。
近年のものだけ挙げると
タイトル通り、アメリカのシリコンバレーでIT長者を目指す若者たちの物語。
作中で「Vim vs Emacs」、「スペース vs Tab」論争をやるくらいにはIT関連の描写が細かい。
逆に言えば上の意味が解らない人が観ても楽しめない可能性がある。
重度の精神疾患を患った凄腕プログラマーが巨大金融企業のサーバをハッキングすることで国民の借金を帳消しにして、経済格差を減らそうとする物語。
ハッキングに至るまでの手段や実際のコンソール画面が正確に描かれている。プログラマーでなければ解らない小ネタが多い。
例えば、主人公とある人物がLinuxのデスクトップ環境(KDEとGnomeのどちらが良いか)について話し合うシーンがある。
シリコンバレーと同様にITに理解がなければ楽しめない可能性がある。
これらのように正確な描写を徹底している作品はプログラマーの感心を買う一方で、大半の非IT従事者を置いてけぼりにしてしまう場合がある。
万人受けを目指すならハッキング描写なんて画面ピカピカ、変なサウンドピコピコ、エンターキーターンッくらいの方が受け入れられやすいとは思う。
「半沢直樹」を視聴するボリューム層がそのあたりに詳しくなさそうなのは明らかだし、そもそもITそのものがメインテーマでもないし。