はてなキーワード: Ideとは
今やほとんどのPCユーザはWindowsを使っているのだから、UNIX系を追加で学ぶことで、Windows以外の環境でもプログラミングできるという話。
それだけ引き出しが増えるし、環境の差異に振り回されず物事を考える取っ掛かりにもなる。
CLIに全く触れることなくプログラミングを学ぶことが問題なんだよ。
もし最初からIDEでプログラミングを覚えてしまったら、多分もう二度とCLIでプログラミングをする機会はないと思う。
そもそもIDEでの開発ありきという姿勢が、つい最近までWindowsでの開発スタイルだったわけだし、その意味でも非Windowsな開発スタイルも知る必要がある。
IDEってCLIで開発しているときには考えられないくらい、色々便利な機能が付いてるじゃん。
そういう機能がないと、エラーに出くわしても何にもできませんみたいな人にならないか?というのが気になる。
CLIのほうが覚えることが少ないのはその通りで、IDEの使い方とか余計なこと考えずにプログラムの中身に集中できるのは、初心者には重要だよね。
俺「〇〇して」
俺「〇〇するときって最初どうすんだっけ、えーと……これして」
CLI「ほい」
俺「で、次はえーと……あれして」
CLI「むりやで」
俺「え? あー、最初が間違ってる、そうじゃなうくてこうして」
CLI「ほい」
俺「で、次は、こう……であってるよな……、えっとお……」
俺「これをこれこれこうした後でそれしてあれして最後にこれでまとめて」
俺「まずねー、これをね……」
IDE「これ?」
俺「うんそう、それ。それをこうしてくれる?」
IDE「……こう?」
俺「そうそうそう、ありがとう。合ってる。次はねー、これを……」
IDE「これ?」
俺「そう、それをこうして……」
IDEを使う上で覚えることは決して少なくないし、CLIだったら実行するためのコマンドとエラーメッセージの読み方だけに絞れる。
そしたら「自分のプログラムがなぜ動かないか」という本質的な問題に直面しやすいだろ。
たった1文字書き誤っても動かない、だから書く時は注意の仕方にコツがいる(≒単純なコピペであってもすぐ動くとは限らない)とか、実地に学べるじゃん。
一方で、スペルミスとかもいちいち丁寧に教えてくれる、IDEの親切な機能に最初からおんぶにだっこみたいなプログラミングがいいとは思えない。
あと、こっちはIDEの便利さは否定しないどころか、効率的に開発するなら必須だと思っているけど、最初からセットで覚えるものじゃないと言っているだけなんだが。
なんで最初からIDEでプログラミングを覚えるべきなのかが理解できない。
これもう言いがかりやん
CLIだとCLIしか使えないプログラマーが出ても問題ないってこと?
IDEしか使えない問題点ってそれほどないし事前にわかってれば回避可能じゃね?
さらにIDEを使いこなすことばかりに注意が行って、データ構造とアルゴリズムへの意識が甘いプログラマとかも生まれそうだよね。
macだとカーソル移動させる時にctrl+aで行の先頭、ctrl+eで行の末尾とかできるけど、Windowsだとそういう無いの?
検索したらカーソル動かすのは矢印キー、行の先頭へ移動させるのはHome、行末へはEndとか出てくるけどWindowsでプログラミングしてる人はそれでカーソル移動してるの?
ctrl+f,b,p,nとかでカーソル移動させるのに慣れすぎてて、ホームポジションから手を離す以外にカーソル移動させる方法しかないのが信じられなくて増田に書いてみた。
AutoHotkey(?)でキーコンフィグできるみたいだけどそういうの導入してるのかな。
capsとctrl入れ替えるのにCtrl2Capとかわざわざソフトインストールしないといけないってマジ?
ctrl+dでdeleteしたいよー。
何か暗黙的にWindowsでプログラミングする時にはこういうツール導入して、こういうキーボードショートカットに変更するよみたいなことがあれば教えて欲しい。
そういうは特に無くて慣れの問題なら、Windowsのキーボードショートカットはそういうものだとして受け入れることにするよ。
ちなみにIDEはとりあえずVisual Studio使い始めた。
プログラムのインデントで未だにスペースでインデントしてるのか理解できん
タブ文字を使えよ
タブキーでタブサイズ分のスペースが入力されるからって、それはわざわざタブ文字の動きをエミュレートしてるだけ
間違ってバックスペース押したせいでインデントがずれてたけど気づかなかったとかそんな余計な問題が発生するだけだろ
タブ文字にしたらそんなことは発生しないし、エディタ問わずタブ文字単位でカーソル移動もできる
スペースインデントは2文字か4文字かで対立したことがないか?
ネストが深くなるとインデント幅は浅めにしたいが、浅いと離れたところのインデントレベルが同一かを瞬時に判断できない
インデントの文字数が8文字もあればその点では迷うことはないが横スクロールが発生して見づらくなりやすい
タブ文字は幅が可変なものだから大抵のエディタでは簡単にインデントの幅を調整できる
スペースでもできなくはないが対応してるのは一部のIDEくらいだ
それに実体としてのスペース数が変わってしまうから複数人で扱うファイルの場合はバージョン管理や自動フォーマット等の環境が整ってなければ手間が増えるだけだ
最近はウェブだとアクセシビリティだとか言って普通に画面を作る分にはなくていい属性を色々追加しろよみたいな雰囲気がある
そんなアクセシビリティとか考えるならまずタブ文字にすべきだろう
令和にもなってWordやExcelでスペースで位置調整するのと同じような馬鹿なことをしないでもらいたい
ITエンジニアなんてのはそういうのはやめるべきっていう側だと思うんだが
---
ちなみに念のため、これは行頭における話