『AIで書いたコードは危険』と語る著名プログラマーたちのコメント

 

🤔 Jake Wharton

I really dislike all this 'auto complete sold as AI by big corpo' crap.

私はこの“大企業がAIとして売っているオートコンプリート”というクソみたいなものが本当に嫌いだ。

Don't blindly trust code generated by AI; always review and understand it.

AIが生成したコードを盲目的に信頼してはいけない。必ずレビューし、理解すること。

 

🤔 Andrew Ng

Just vibe coding is not going to help. Using and relying on generated code is dangerous. AI generated code can produce hallucinations.

vibe codingは役に立たない。生成されたコードを使って頼るのは危険だ。AIが生成するコードは幻覚を生じる可能性がある。

 

🤔 Martin Fowler

When I’m using AI for coding, I find myself constantly making little risk assessments about whether to trust the AI, how much to trust it, and how much work I need to put into the verification of the results.

AIを使ってコーディングをしているとき、私は常にAIを信頼するかどうか、その信頼度をどの程度にするか、結果の検証にどれだけの労力をかけるべきかを小さなリスク評価として行っています。

 

🤔 Kent Beck

I feel good about the correctness & performance, not so good about the code quality. When I try to write the code as a literate program there's ...

私は正確性とパフォーマンスには満足していますが、コードの品質にはあまり満足していません。コードをリテラルプログラムとして書こうとすると…

 

🤔 Robert C. Martin

The clean coder 'Uncle Bob' aka Robert C. Martin reflects on his career, the way he works and what advice he would give to his younger self if he were to start ...

クリーンコーダー“Uncle Bob”ことRobert C. Martinは、自身のキャリア、働き方、そして若い頃の自分にどんなアドバイスをするかについて振り返っています。

 

🧑🏻‍💻 まとめ

著名なプログラマー達は、AIをコーディングの補助ツールとして評価しつつも慎重な姿勢を見せています。

AIが生成したコードは盲信せず、品質管理の最終的な責任は開発者自身が負うべきだと彼らは強調します。

結論として、AIは便利なツールですが、その出力は常に人間の手でレビュー・検証される必要があります。


【macOS】「Toggle Sticky Selection」を設定したい!

JetBrains系IDE(Android Studio、IntelliJ IDEA、PyCharm、WebStorm など)では、「Sticky Selection(固定選択)」という便利なモードがあります。これは、カーソルを移動するだけでテキスト選択を継続できるモードで、範囲選択を効率化できます。

通常は「Toggle Sticky Selection」にショートカットを割り当てて使いますが、デフォルトでは設定されていないため、手動でキーを割り当てる必要があります。たとえば、筆者は Control + Space に割り当てようとしました。しかし、ここで問題が発生しました。

 

🤔 Control + Space を設定しようとすると、IMEが切り替わってしまう

ショートカット設定画面で「Toggle Sticky Selection」に Control + Space を登録しようとすると、なぜか入力欄が反応せず、MacのIME(日本語入力)が英語に切り替わってしまいます。

つまり、IDEのエディタがそのキー入力をキャッチする前に、macOSのシステムが先に反応してしまっているのです。

これは macOS のデフォルト設定で、Control + Space は「入力ソースの切り替え」に使われているからです。Macで複数の言語(たとえば日本語と英語)を切り替えている人にはおなじみのショートカットですね。

このままでは、IDEエディタ側でショートカット登録ができません。そこで、macOS側の設定を変更する必要があります。

 

🤔 macOSのショートカット設定を変更して回避する

macOS のシステム環境設定から、ショートカットの競合を解消しましょう。


1.「システム設定」アプリを開く

2. サイドバーから 「キーボード」 を選択

3. 右側にある 「キーボードショートカット…」 をクリック

4. サイドメニューから 「入力ソース」 を選択

5. 「前の入力ソースを選択」 に割り当てられている ^ スペース(Control + Space) をクリック

表示されたチェックを外す、もしくは他のショートカットに変更

これで macOS 側が Control + Space を使わなくなるため、IDE側の設定画面で正しくこのキーを登録できるようになります。

 

🤔 無事にショートカット登録が可能に!あとは設定するだけ

macOS 側の干渉がなくなれば、IDE側の設定画面で Control + Space を「Toggle Sticky Selection」に自由に割り当てられるようになります。


1. IDE の「設定(Preferences)」を開く

2. Keymap(キーマップ) を選択

3. 検索バーに「Sticky Selection」と入力

4. 「Toggle Sticky Selection」を右クリック → Add Keyboard Shortcut

5. Control + Space を入力 → OK

設定後、エディタ上で Control + Space を押すと Sticky Selection モードに入り、矢印キーなどでカーソルを動かすたびに選択範囲が伸びていくことを確認できます。

 

🧑🏻‍💻 まとめ:macOSの干渉を避ければ自由にカスタムできる

Control + Space は便利なショートカットですが、macOS のデフォルト設定でIME切り替えに使われているため、IDEのエディタではそのままでは登録できません。

しかし、macOS の「キーボードショートカット」設定から「入力ソースの切り替え」を無効化または変更すれば、競合を回避できます。

この一手間を加えることで、自分の作業スタイルにあったショートカット環境が整います。エディタをもっと快適に使うためにも、こうした細かい調整はぜひ試してみてください 🎉


Android Studio エディタのカスタムショートカット私の場合

 

🧑🏻‍💻 Emacs風キーバインドで快適操作:⌃キーの力

多くの開発者やパワーユーザーにとって、キーボードだけでカーソルを自在に動かせる操作感は非常に重要です。macOSの多くのアプリ(特にテキストエディタやIDE)では、Emacs由来のショートカットがそのまま使えます。以下はその代表的なキー操作です:


⌃ + P:1行上に移動(Previous)

⌃ + N:1行下に移動(Next)

⌃ + F:1文字前に移動(Forward)

⌃ + B:1文字後に移動(Backward)

⌃ + A:行の先頭に移動(Ahead)

⌃ + E:行の末尾に移動(End)

これらを習得すれば、矢印キーに手を伸ばす必要がなくなり、ホームポジションから手を離さずにテキスト編集が可能になります。エディタによってはこの操作がデフォルトで有効になっていない場合もありますが、設定から有効化できます。

 

🧑🏻‍💻 Emacs風の編集:削除と選択もショートカットで完結

カーソル移動だけでなく、削除や選択もEmacsライクなショートカットで完結できます。


⌃ + H:カーソルの左側を削除(Backspaceの代替)

⌃ + D:カーソルの右側を削除(Deleteの代替)

⌃ + Space:選択開始(Toggle Sticky Selection)

Escape:選択解除(選択をリセット)

これらのショートカットを組み合わせることで、マウスやトラックパッドを使わずにスムーズに範囲選択・編集が可能になります。特にコードを書く際や長文を扱う場面では、こうしたキー操作が生産性を大きく向上させます。

 

🧑🏻‍💻 Emacsタブ機能の活用

Emacsといえば「タブ機能」も有名です。エディタやIDEでも似たような概念が使われており、特定のコードブロックを補完したり、自動インデントする際に「Tab」キーを活用します。多くの環境では以下のような挙動になります:


インデント揃え:コードの構造を整える

スニペット展開:よく使うコードを自動入力

オートコンプリート:候補を自動で補完

設定によっては、Tabキーの動作を「Emacs風に統一」することもできます。たとえば、Tabで選択中の行をインデントする代わりに、関数の補完を優先させるようなカスタマイズが可能です。

 

🧑🏻‍💻 設定のエクスポートと移行:.xml形式で管理

キーバインドやタブ設定など、細かくカスタマイズした設定を他の環境にも移したい場合は、「設定のエクスポート/インポート」機能を活用しましょう。

最近の多くのエディタやIDEでは、設定ファイルが.xml形式で保存されるようになっています。このため、以下のような運用が可能になります:


エクスポート:現在の設定を .xml ファイルとして保存

インポート:他の環境にその .xml ファイルを読み込んで設定を反映

JetBrains系のIDEやVS Code、Emacs本体でも、設定のエクスポート・共有がサポートされており、作業環境を素早く再構築できます。リモートワークやマシン変更時にも便利です。

 

🧑🏻‍💻 まとめ:ホームポジションを守る操作が生産性を支える

今回紹介したEmacs風キーバインドとその活用法は、キーボード中心の作業スタイルを大きく支えてくれる技術です。特に、ホームポジションを崩さずにカーソル移動・テキスト編集・範囲選択・削除といった操作を完結できるのは、集中力の持続にも大きく寄与します。

また、設定をXMLでエクスポート/インポートできることで、作業環境をどこでも再現できるのも大きな利点です。特に複数のMacや開発環境を行き来する方には重宝するでしょう。

Emacsを深く使いこなす必要はありませんが、macOSで使えるこれらの基本キーバインドを身につけるだけでも、日々の操作が格段に快適になります。まずは1つずつ、手に馴染ませてみてください。

👉 【macOS】IDE で 矢印 (カーソルキー) を使うと キーボード ホームポジション がずれる件
👉 【macOS】キーマップとキーボードショートカットの変更設定
👉 【macOS】「⌫ (delete)」 と「⌦ (forward delete)」の キーボードショートカット設定
👉 ⌘英かな から Karabiner-Elements へ ⌨️