はてなキーワード: Eclipseとは
あまりコミニュケーションが得意ではないのもあって、入社直後は非常に苦労した。
正直人見知りだったのでわけのわからないことをのたまっていた時期もあった。
とはいえもう4年目であり色々と手馴れてきて精神的にも余裕ができてきた。
しかも、最近の現場は9時-5時で帰宅できるようになり肉体的にも余裕がでてきた。
と、ここらでレベルアップを図りたいと思っており色んな設計書の問題点を指摘した記事とかを読み漁ってきたわけだが
アジャイルだの詳細設計書がゴミだのいろいろ指摘しているのは見かけるのだが今の自分の現場と環境があまりにも違いすぎてピンとこないのだ。
なんせ、入社してからやったのがガチガチのウォータフォール型の開発でアジャイルだのなんだのをまったくやったこともないからだ。
Gitなんて使ったこともないし、eclipseでSVNでソースを管理し、古いシステムならCVSだって未だに現役がちがちだ。
幸いにもドキュメントはがっちり作ってあって過去のシステムがどういうものなのかはよくわかるようになっているが。
もちろん転職しちゃえとか色々まぁ考えようはあるが別に今の会社に大きく不満があるというわけではない。
そこでSE経験の長いお歴々に色々尋ねたいことがある。
http://nantonaku-shiawase.hatenablog.com/entry/2014/05/18/012107
↑上記のサイトでウォーターフォール型開発の例を逐一説明してくれているがこんな一文がある。
ネットで検索すると、みんなが批判している。私も作ったことがない。というか時代遅れと言われがちなSIerの私ですら書いたことが無いのに、書かせる企業 is 何。
詳細設計書ってよくわからない - 未来のいつか/hyoshiokの日記
詳細設計書に何を書くべきか? - Sacrificed & Exploited
EXCEL設計書 Vol.1 怪文書大公開 | Same Old Lucky Day
詳しすぎる詳細設計書 - SiroKuro Page
ネットで検索すると、みんなが批判している。私も作ったことがない。
俺は入社してからずっとガチガチに詳細設計書を書いていたし、先輩も皆書いてる。
一体どこの世界の話なんだ。
いくつかの現場にも出向したがそこでも普通に詳細設計書を書いていたぞ?
どういうことなんだこれは。
でもよくよく考えたら、なんだか説明されている詳細設計書と機能設計書は俺が書いている「詳細設計書」ではひとつにまとまっている気がする。
そもそもそんなのないかも知れないが。
そこで尋ねたいのは事例として機能設計書や詳細設計書の具体例が欲しい。
書籍でもWEBページでもなんでもいい。
そうじゃないとなんだかそもそも話に付いていけない。
あと、詳細設計書がかけなくなりそうだ(切実)。
ところが俺の住んでいるところではExcelにテスト項目を俺が書いて俺が単体テストを手動でやって、結合テストも俺が手やる。
結果列に○だの×だの書いて失敗したらまたやり直しだ!
延々とこれを繰り返す。
別にそれがいやだといってるわけじゃなくて(嫌だけど)、皆テストとかどうやってんの。
テストとかそもそもやってんの?
アジャイルだの何だのに手を出すのもいいのかもしれないがそもそもウォータフォールなV字モデルをぜんぜん理解し切れてない。
誰か教えてくれ。
最初はSpaces使って、Space毎に特定アプリを起動し、Ctrl+矢印でSpace移動し、特定アプリへアクセスしていたのだが、
Spaces廃止し、MissionControlが採用されるにあたりExposesを使うようになった。
Spacesの二次元にデスクトップが並べられる機能が廃止したことにより、デスクトップ間の移動が億劫になったのが大きな理由。
Exposesでウィンドウがアプリ毎にまとまるようになり、特定アプリへのアクセスが容易になったのも一つの理由。
だらだらと閲覧する時は上記の通り、トラックパッドからExposes起動しアプリ切り替えしているが、
キーボードでゴリゴリ作業しているときはBetterTouchToolを使って、ショートカットキーにアプリアクティブ機能を割り当てている。 (automator使う方法もある)
Ctrl + ~ でiTerm がアクティブに
Ctrl + 1 でchrome
Ctrl + 2 でslack
Ctrl + 3 でeclipse みたいな感じ。
大きく分けて、Spaces派 (現状は1次元デスクトップ並び)とExposes派がいると思うけどみんなはどっちを利用している?併用?それともドックアイコンクリック?
20代の数年間SIで働いた。1年以上前に退職して今は別業界にいる。
今日、Evernoteを整理していたら「退職理由、SIの嫌な点」というメモが発掘された。退職直前のかなりストレスがたまっていた時期に書き殴った文章だった。学生の頃の私は絵を書いたりしていて、ものづくりで暮らしたいな〜などと思って始めたプログラミングが楽しかったので安易に受託開発業を選んでしまったが、その後悔が如実に表れていた。
一部自分でも覚えていない話もあったがコンテンツとしては面白かったし、今でもシステムインテグレーター業界で消耗する若者を減らしたいとは思うので公開してみる。
以下、同メモに加筆・修正したものなのでファンタジーだと思って読んでくれ。
受注した時点で売上がおよそ確定するので、後はその予定工数に収めて納品できれば御の字という考え方。よくある話だが、見積がおかしくても顧客と対等な関係が築けていないから追加請求もできない。時間(工数)をかければ良い成果物ができるかもしれないがそれを説明して顧客に嫌な顔をされたくないから、限られた工数の中での最善を尽くす。最善を尽くす、聞こえは良いが要は手を抜く。
つまり、どう頑張っても売上は同じなのだから、良いもの・価値を生むものを作ろうと考えない人が多い。社内で開発者と呼ばれる人間もそうだし、マネジメント層はそういうものづくり志向を持った人をリスク扱いすることもある。
これが諸問題の根源で、いかに述べるような組織・プロジェクトが出来上がっていく。
マニュアル作業の正確さをかたくなに信じてる人だらけで、ITとは何なんだと考えさせられる。
私は定型作業を効率化しようとjsやrubyでスクリプトを書いたりしていた。テストデータを開発用DBに突っ込んだり、テキスト処理して整形したり、Excelからコード生成したりするよくあるやつ。
あるとき上司に肩越しに自分の作業を覗かれて「何やってるの?」と聞かれ、そういうスクリプトを作ってると答えたら、工数とリスクの話をされた。曰く「そのスクリプト作るのに何日かかるの?工数に乗ってないよね?」「スクリプトのテストもちゃんとしないと結果が正しいって保証できなくない?」と。この時はイラッとして「30分でできる数十行のスクリプトだし自分の作業工数内で完結する。むしろ後工程や別の人でも同じことを再現性できて楽になる」とか真面目に説明してプログラムも見せたが、読もうとはせず(読めないので)1時間無駄にした。
前述したようなビジネスモデルだから、営業力と、予定工数で無難にプロジェクトを終えるマネジメント力が大事。IT企業だが開発者は自社で持たない。不況の時に待機コストが発生するリスクがあるし、自社で抱えるより単価の安い開発者が人材派遣系の企業や下請けにいっぱいいるから。
社長があるとき社内広報で「技術は買うものだ」と言っていた。文脈で明らかに技術=技術者のことだったので、使い捨ての人売り業と揶揄されていることへの自覚が無いと思う。
そういう人が集まっているor残っている組織なので開発者はほとんどいない。20〜30人ぐらいの課に1人ぐらいの割合でstaticおじさんがちらほらいるぐらい。大体20代からプロジェクトリーダーという立場をやり始め、だんだん大型の案件を扱えるようになっていき、後は出世ゲーム。部長のお気に入りが課長になり、部門長のお気に入りが部長になる。その繰り返し。
開発案件でのBP(ビジネスパートナー、委託先、派遣、下請け)比率は自分の周りだと1:5ぐらいが多い。プロパー社員一人が5人の開発を仕切る、みたいな形。案件規模によりだいぶ差があると思う。この比率が高い=マネジメント力のある組織と考える会社はこの数字を上げようと必死で、比率の低い組織は評価が下がる。
私は開発が好きだったのでエンジニアとして生きていきたい、というようなことを評価面談の度に伝えているが、その度に会社の目指す方向を説かれてモチベーションが下がる。
上述の通り、案件で接する開発者は基本的に社外の人間なのだが、彼らの技術力と意識の高さにはものすごいばらつきがある。言われたものはなんでもこなせる人、何でこの歳まで技術者やれてるんだと疑う人、このプロジェクトはおかしいと良い意味で騒ぐ人、何も意見を言わない人、CっぽくJavaを書く人、人当たりは良いが技術力がいまいちな人、すぐ休む人、バグやミスを隠す人…etc。
まぁ色んな人がいるのはどの業界のどの職種も同じだが問題は質だ。私の主観になるが本当にエンジニアとして尊敬できるレベルの人は1%いるかいないか。というのも、ほとんどの技術者は長年SIやその周辺企業と付き合ってきているので同じ体質に染まっているのだ。顧客が良いといえば良いという態度(この場合の顧客は私が所属する企業)、請負の場合は工数を超えない範囲で手を抜く姿勢、その他諸々。技術力だけをひたすら磨き続けてきたという人はごく一部だけだったし、そんな人でもGitHubアカウント持ってない・ブログやってない・OSSに貢献したことない、といった具合でクローズドな世界で生きている。
そうした技術者とやっていく中で最も厄介なのが教育コストだ。案件のあるなしで人が都度入れ替わり、新しい人が来るたびに同じシステム・技術要素の説明をして何とかやる気が出るようモチベートして、というのを繰り返すのに疲れた。私の会社固有の変なルールの説明はてきとうにしておいて、私は技術が好きな仲間が欲しかったので今のシステムの課題と技術面での改善や展望をよく話す。が、あまり食いつかれることはない。これは私の問題だが、そうした期待と落胆のループも疲弊の一因だ。
ある時、一つの課に6年近くいるというBPと一緒に仕事をする機会があった。その課にはプロパーの技術者が長いことおらず、彼がその課の技術的中心を担っているという話だった。抜けられると途端に色んなものが崩壊するからという理由で、その人の派遣元にはかなり高額の単価を支払っていたと聞いた。課員が口をそろえて「あの人はすごい」「何でもできる」というので初めはかなり期待していた。
だが、拍子抜けした。あまりにも仕事が雑なのだ。コミットされたコードはTODOコメントだらけだし、バグがあまりにも多かった。一度も実行されずにコミットされ、他の人がチェックアウトした時点で判明したバグなんかもあった。それでも声が大きく、プロパーが技術を知らないのをいいことに自分のブランディングに完全に成功していた。客先にも顔を出し、信頼を得ているらしかった。「自分は設計が得意でテスト以降の工程には興味が無い」と言っていた。確かに彼が関わった各システムには独特の概念が埋め込まれた設計があったが、その複雑な設計は保守性が低く、他の開発者が触ると容易にバグを引き起こしていた。
また、彼はJavaの有名なフレームワークであるStrutsを拡張したいわゆるオレオレフレームワークを開発しており、それの出来は悪くなかったと思う。そのフレームワークに欠けているものをうまく補うような形になっていた。だがフレームワークのバージョンを上げると壊れるというのが残念な点で負債になりかけていた。
私は異動したが、彼は今でもそこにいると聞いた。
(最低限のものしか作らないから)安くて早い!という触れ込みで売っているので、テストの工数が異常に少ないことも多い。特にテストコードを書くなんてもってのほか。そういう世界でやってきた人ばかりなので、30や40超えたマネジメント側は「テストコードって何?」状態だ。大型の改修案件が来た時にはコア機能だけでもテストを書いていこうと見積段階から社内で提案したが「顧客に『そんなメリットあるなら何で今までのプロジェクトではやってないの?』って問われるから、絶対言うなよ」と拒否された。
保守案件をやっていた頃、時間を捻出してコソコソとテストコードを書いたりしていた。その案件を離れてしばらく後、ある時リポジトリを覗いたら私が書いたテストコードがばっさり消えていて驚いた。コミットログから課内のstaticおじさん的な人が消したとわかったが、そのコミットコメントが「現在使用していないコードを削除」だった。これはもう問う気も失せて何も言えなかった。
先述したようにテストがそもそもないプロジェクトが基本なのでリファクタできないのだが、たとえテストがあったとしても勝手なリファクタは許されない。ソースコードは顧客の持ち物なので同意なしに改変することはいわば契約違反なのだ。たとえ内的品質が向上してコスト削減に繋がるとしても、そのためにお金を支払う顧客はまずいない。
私がいたどの案件にもコードレビューがなかった。リーダーと開発者数人という構成の場合、まず開発者は全員下請けでリーダーは技術の心得がない場合が多い。そうなると彼らの成果物の良し悪しを図るのは目に見えるシステムの挙動と実施されたテスト結果のExcel報告書だけになる。これが非常に非効率で、少しコードを読めばわかる明らかなバグや仕様理解の齟齬が頻発していた。特に受入試験と呼ばれるリリース直前の顧客側での最終確認や本番稼働中におけるhotfixは全機能をきちんとテストせずにデプロイされることが多く、そのhotfixがさらなるバグを引き起こしたりもしていた。
そもそもテストを書けという話だがテストが無いプロジェクトに足すのはかなり大変なので、レビューサイクルをきちんと回すだけでもかなり変わる。実際、私が入った案件ではすべてのコミットに目を通すようにし、明らかな問題は都度指摘することで品質の向上に繋がった。欲を言えば他の開発者にもレビューしてもらいたいが、下請けの彼らの工数を増やすことは嫌がられる。
無難にプロジェクトをこなすことと新しい技術を試すことの両立こそ技術者の腕の見せどころだと思っているが、ほとんどの場合それは許されなかった。新規にせよ継続にせよ案件を受注する段階で営業やマネジメント層と顧客間で「今回は過去に実績のあるこの技術でやります」という契約が結ばれているからだ。その技術(言語やフレームワーク)がいかに古く、保守性も将来性もないものだとしても受注できればよいし、その技術のサポート切れか何かの拍子で再度リプレイス案件でも受注できればさらにラッキーぐらいの考えでいる。
また横に倣えが加速してさらに悪い事に、同じアーキテクチャ・ネットワークを再利用するために既存のサーバに新システムも相乗りすればよいという発想も珍しくない。「資産の再利用によりコスト削減」という触れ込みだったが、ただでさえスケールしない低スペックのオンプレミスサーバ上で複数のアプリケーションサーバを運用した結果、予想通り耐障害性が下がった。
また、Oracleのライセンスが高いという理由で一つのDBインスタンス上に10数個のシステムが同時稼働しているなんてこともあった。1つのシステムが高負荷なクエリを投げたせいで関連する全システムが共倒れになったこともあったがOracleのバグとして報告していた。
新人の頃にOJTでstaticおじさんの下に付いたことがあった。そのとき担当したのはPerlでデータ連携用のバッチを書くという開発業務だったのだが、最悪の思い出だ。
まずプログラム構造仕様書というのを書かされた。メソッド単位でのモジュールを全てExcel上に記述し、処理の順番と内容を説明するという謎資料だった。あまりに意味がわからなかったので「UMLのクラス図を書けばよいのですか?」と聞いたら「Perlにクラスなんて必要ない。構造化プログラミングを研修でならってないのか」と返ってきた。「俺が前に書いたPerlのバッチがあるから参考にしろ」と言われ、あるリポジトリをチェックアウトして見てみると1ファイル4,000行の.plがいくつか並んでいた。その時の私は何もわかっていなかったのでそういうものかと思ってしまったが後で調べて明らかにおかしいと気づいた。
また、そのプロジェクトのメイン言語はJavaで、Eclipseを使っていたのでPerl用プラグインを入れてコーディング・デバッグをしていたらやめろと言われた。理由は「Eclipse上で動くPerlが信用できない。サクラエディタで書いてプリントデバッグすれば充分だ」と言われた。その時の私は何もわかっていなかったので、プラグインの品質が悪いとかそういう話かと思い「じゃあvimで書きます」と言ったら「サクラエディタにしろと言っただろ!」と一喝され、vim vs サクラエディタという史上類を見ないエディタ論争が起きた。
SI業界の中では高いのかもしれないが決してよくはない。4年目(たぶん25歳)ぐらいで残業込みで年収400万にやっと届いたがそこからほとんど変わっていない。30歳の先輩に聞いたところ「500万前後、残業してない場合の月の手取りは未だに20万切ることがある。残業抜きでは新婚生活が厳しい」と言っていた。いわゆる年功序列がきっちりしていてこのまま続けてもしばらくは給与が伸びないということがわかった。
個人での貢献で差がつくのは±10万程度。その程度ならいっそ無くてもいいのでは、と思う。というかそもそも生産性をきちんと評価する制度が存在しない。これはどの組織でも難しい問題だと思うが、形骸化した評価制度で上司の気に入った人間にS評価を付けているだけならいっそ止めたほうが時間の無駄にならなくてよい。
会社から貸与されるノートPCは低スペックすぎて開発には使い物にならない。なので開発者は基本的にデスクトップを使用せざるを得ないのだがこれもメモリ4G、1.2GHz程度で大したマシンでもない。本当に開発する気がない。
いつの間にかどこかで意思決定がされていて、関与する機会がほとんどない。だがほとんどの社員がそれで良いと思ってる。失敗しても自分が決めたことじゃないから上層の責任だ、そう言えるので楽だから。
情報共有をしない、というか意図的にしないようにしているとまで感じる。連絡はメールと添付ファイルベースで行っているし、共有のファイルサーバなんてのもあったが一部のフォルダは権限を持った人間しか見られない。何で他の部や課が行った過去の見積や提案資料が自由に見られないんだよ。
ソースコードのリポジトリも同様。外部に公開しないのはまだわかるが、プロジェクト外にすら基本は公開していない。別に奪われて困る大した技術もない。
会社が用意した提案資料共有サイトみたいなのもあったが、それに至ってはもっとひどい。課長以上もしくは部長から承認を与えられた者のみ閲覧可能。共有とは。
どうでもいいことを決めるにも承認や根回しや説得が必要になる。それがプロジェクトの利害関係者ならまだわかるものの、まったく関わっていない上長(課長や部長、時には部門長)を通さないと進まないという異常さ。
利益率向上のためにコスト削減ということがしきりに言われており、過剰なコスト削減対応が生産性の低下を招いている。たとえば顧客に見せる資料以外は白黒で印刷しろ、みたいなルール。色がないために情報が伝わりにくい。というかそもそも印刷せずに各自のノートPCで見ろという話だが、先述したようにノートPCは低スペックすぎるので多くの社員がデスクトップを使っている。ITとは。
本当に無駄としか思えない承認・申請フローの煩雑さに加え、使っているシステムの使い勝手も悪く、ひどい日は一日がそうした事務作業で終わる。しかもそのシステムは自社で以前開発したものだというから泣けてくる。こんな作業が定常的に発生するのでいっそ事務員を派遣で雇うべきという提案が何度もされたが、課の予算をオーバーするから無理だという回答しか返ってこない。
表向きは社員の健康促進という触れ込みで残業時間削減を全社的に取り組んでいる。残業減らせと声をかけただけでは誰も帰らないので、勤怠システムと入退館管理システムを監視し、削減できていない組織や人間の評価を下げるようになった。
その結果、サービス残業が復活した。30時間を超えると部長に説明しないといけない、50時間を超えるとその上へ…みたいなループ。表向きの残業時間削減・コスト削減としては成功したかもしれないが、社員の残業時間を管理するとかいう無駄な仕事を増やしたし、管理される社員のストレスとサービス残業に繋がったので下策だと思う。
他人の残業時間をExcelにまとめる仕事があって、そこに給与が発生してると思うと泣きたい。
そもそも無駄な作業や工数至上主義で作業効率が悪いから残業しているので、残業が少ない奴が偉いと一斉に舵取りしただけでは生産性をちゃんと評価できていないことに変わりはない。一昔前の残業多い奴は頑張ってて偉い、というのと本質レベルで何も変わっていない。
(Qiitaのほうに2019年版があるので今はそちらを…。こちらは2015年版な感じです。)
Vimの外でもVim風の操作ができたりするのは彼らのおかげだ。
デフォルト、オプション、プラグイン、アドオン、様々な手段で提供されている。
Vimを使っている人でも使うかどうかは人それぞれだし、
どの程度Vimを再現できているのかも実装によってまちまちなのだが、
なんだかんだで有名どころのテキストエディタや統合開発環境では何らかの形で提供されることが多くなったように思う。
(一覧に無いものは私が知らないか忘れているだけなので、実際にはまだあると思う)
統合開発環境 | 名称 |
---|---|
Visual Studio | VsVim |
Xcode | XVim |
Eclipse | Vrapper |
NetBeans | jVi |
IntelliJ IDEA | IdeaVim |
MonoDevelop | Vi Mode |
Qt Creator | FakeVim |
テキストエディタ | 名称 |
Emacs | VIP |
Emacs | Viper |
Emacs | Evil |
Atom | Vim mode |
Atom | vim-mode-plus |
Sublime Text | Vintage |
Sublime Text | Vintageous |
Brackets | vimderbar |
Visual Studio Code | Vim |
Light Table | Vim |
ブラウザ | 名称 |
---|---|
Firefox | Vimperator |
Firefox | VimFx |
Firefox | Vimium |
Chrome | Vimium |
Chrome | Vrome |
Chrome | Vichrome |
Chrome | cVim |
Opera | VimOperate |
Opera | wasavi |
Safari | sVim |
Safari | vimari |
いくつかのコマンドでも。
コマンド | 分類 |
---|---|
bash | シェル |
zsh | シェル |
ksh | シェル |
tcsh | シェル |
yash | シェル |
tig | gitインターフェース |
less | ページャー |
cgdb | デバッガ |
LuaKit | Webブラウザ |
名称 | 操作 |
---|---|
jkで前後の項目に移動 | |
TweetDeck | jkで前後の項目に移動 |
jkで前後の項目に移動 | |
Google+ | jkで前後の項目に移動 |
Tumblr | jkで前後の項目に移動 |
GitHub | jkで前後の項目に移動 |
jkで前後の項目に移動 | |
Pixiv(複数投稿) | jkで前後の絵に移動 |
ニコニコ静画(漫画) | jkでスクロール |
ニコニコ静画(電子書籍) | hjklで前後のページに移動(wasdでも可) |
はてなブックマーク | jkで前後の項目に移動 |
ゲームも。
名称 | 操作 |
---|---|
nethack | hjklで上下左右に移動(yubnで斜め移動) |
> viのhjklは先行する何かの影響で実装された記憶があるので、操作が共通だからというだけで「viを忍ばせる」というのは言い過ぎではないかという気がする
> まして「vimを忍ばせる」というのは、ちょっとその、まあなんというか…
確かにVimではなくviの模倣だったりして無理があった…。hjklの大元を辿るとどこに辿り着くんだろう(ビル・ジョイの使っていたキーボードとは別?)
ここ2,3年くらい、Vimが妙に流行っている。はてブやqiitaでもVim関連のページが出れば大量にブクマがつくし、「俺はVim派だから」みたいな発言を大学だったりtwitterだったりでもみる。
しかしその実、世間に出回る「vim tips」みたいなのをみると、cやr,はたまたw,$,0,..など超がつくほど基本的なものしか載っていない。
なんでこんな常識的なものにこんなにブクマつくの???っていっつも驚く。
昔はvimに憧れるワナビーがブクマをつけてるのではないかと思っていたが、どうやら今のネット界隈では「vim派」と言って通ぶることが一種のステータス?になっているのではないかと思うようになった。
ちょっと前に流行ったvim pluginブームにもびっくりした。vimはあくまでもIDEなんていらないスクリプトを書いたり、CUIでエディットしたい時に使うものだろう。
ものには使いみちというものがある。文章、少なくとも日本語はVimに向かないし、Javaの開発ならeclipseですらvimよりよっぽど生産性が高い。
vimにpluginなど入れて喜んでいる一部の人達をみると、やはりvimで通ぶっているだけではないかと思えてしまう。
.vimrcは長けりゃいいっていうものではない。それがemacsに対するvimの美徳のひとつではなかったのか。
そもそも、vim人口が見かけ上増えているにもかかわらずemacs人口が増えていないのがおかしい。どうも最近のvim派の人たちはemacsをあまりうまく使えていないようである。(俺のまわりだけかもしれないが)
昔のhackerはエディタ戦争なんて言いながらもお互い両方のエディタを使えたものだ。大体がshellでset -o viなんてしたら使いづらくて仕方がない。shellはctrl-aで先頭に戻るし、ctrl-rで履歴検索をするものである。
そもそもエディタ戦争なんて洒落にすぎないんじゃないかと個人的には思っている。viとEmacsは基本教養である。どちらかしかできないのは文盲のようなものである。
vimvim言ってブクマしてるみなさん、vimtutorは起動したことありますか?Vim関連の記事を100個ブクマするよりよっぽど有用です。
Do one thing and do it wellって知ってますか?一つのプログラムでなんでもしたいならwordかVSで十分です。無理してviを使う必要はないです。
俺はまだLinuxを使い始めて10年くらいだけれど、エディタはvi(m)一筋だった。
何がいけなかったのだろうか。
あとviとvimがうんぬんというブコメありましたが、逆に今日びviとvimを使い分けることがあるんでしょうか…?
(もちろんインストール直後のdebianとかだとvim.tinyしか入ってないけど)
普通/usr/bin/viってvim.basicを指してることが多いと思います。もしvim.tinyを指していたらごめんなさい。
てかaliasなりupdate-alternativesみたいなの使われたほうがいいのでは…?
id:akanehara (増田はじめてだからよくわかんないけどブコメに返すのこれでいいの?)
いやね、俺はNeoなんちゃらとかなんちゃら.vimとかのプラグインが流行りまくってるのどうかと思うんよ。
vi使いたくてあんなゴタゴタした画面分割するならtmuxかscreenで別タブにシェル開けばいいしそのほうが拡張性高いじゃん…っていう。
それかVSなりIntelliJで(ちなみに俺はeclipse使います。微妙にdisったけど)
あとはSIGSTOP(てかSIGTSTPか)で止めるのもよい使い方だと思う。
とにかくこれからviなりunixを使い始める人達がああいう害悪に影響されてほしくない。Neoほげほげよりtmuxとかctrl-zのほうがのちのちず~~~っと役に立つから。
viが流行ること自体はいいと重います。emacsももっとはやって欲しいです。nanoは即update-alternatives --config editorするんで知りません
と思ったらなんかみなさんいろいろ考察してくださっていますが、今やviクラスタ≠unixクラスタなのか…
なんてこったい
TeXは確実にGUIのほうが使いやすいよ。俺はTeXstudioだけど、シェアウェア買ってる人もいるね。特に仕事道具にしてる人は。
vimじゃあPDFからジャンプとかできないから校正の時とか使いづらいことこの上ない
一理ある
問題はvim scriptはelispに劣ってるところだと思う。
言語プラットフォームとしてみたときやっぱりemacsには一日の長があるよ
なのにpluginとか言って喜んでるのはなんか違うと思うなあ。
■7:00 起床
最近使い始めたアラームアプリは簡単な計算問題を解く必要がある。
今日は27-13。
最初は良かったけど、最近は寝ながらでも問題を解けそうなので、
■7:05
■7:30 出社準備
またネットサーフィン。
未だにテスト駆動開発とか言ってるのを見つけて懐かしい気持ちになる。
去年死んだでしょ?
■8:40 家出
自宅を出て駅へ。
5分後ぐらいに別の交差点で会う。
数年かけて最短コースを探索したつもりだったけど、
まだ他に抜け道でもあるのか。
■08:57 電車に乗る
■09:30 会社最寄駅到着
09:15には出社する予定だったはずだけど気にしない。
コンビニでお昼ご飯を買う。
■09:45 会社到着
ネットサーフィンする。
相変わらず真面目で面白味のないやつだ。
2chも二次裏もニコ動もネトゲもはてなも発言小町も知らないらしい。
うむ、その生き方が正しい。
やっと雑用が終わってEclipseを立ち上げる。
起動を待ってる間にネットサーフィン。
木村岳史の極言暴論コラム、今度は「中国にも抜かれるIT後進国ニッポン、
この記事Facebookいいねランキング一位なんだけど…IT後進国だと実感するわ。
今日は早く帰るだろうと思い、残業用に残しておいた菓子パンも食べる。
■12:45
「達人プログラマー」を読み返す。本に書いてあるようには上手くいかない。
自分だけがDRY原則や割れ窓理論を守ってもしょうがないんや…
昼寝。
■13:00 午後の仕事再開
「この社内業務用のサイトがやたら遅いんだけどなんで?」
あーとりあえずF12押してからF5押してください。デバックできます。
…このサイト、ただプルダウン表示するだけでサーバと六千回通信してる…!?
■13:30
いつも思うけど、どうやったらあんなつくりにしようと思えるのか。
といっても朝だらだらしているうちにだいたい考えていたので、
あとはタイプするだけ。
■14:00
「去年君が作ったプログラム見てるんだけど、
一時期私の中ですべてXMLに書くのが流行った時期があるからですよ。
■14:30
本気で飽きたので業務と関係のない自動化プログラムを作って遊ぶ。
あとは上司にこのExcelを開かせれば楽しいパーティーの始まりだ!
だいたいこういう調子に乗っているときはよくないことが起きる。
■15:10
幸い運用は止まっていないけど今まで見たことのない挙動をしてる。
■15:30
「今日は様子を見るので遅くまで残っておいて」とのこと。
昼に菓子パン食べたの後悔。
■16:00~
記憶がない。
■21:00
帰宅準備。
落ちないかな、と思っちゃいます。」
古事記にもそう書いてある。
■21:30
スマホを取り出すとこの前の日曜に遊んだ女子大生からLineが来てた。
「ブラック企業って本当にあるんですか??」
もう一週間未読放置されてる。徹底的すぎるでしょ。
事務連絡っぽく送ったんだからせめて既読ぐらいつけてくれてもいいのに。
■22:00 晩御飯
■23:50
この日記を書き始める
スマホゲームを作りたくなって、cocos2dxというライブラリを使うことにしたのだけど、環境構築がむずかしかった。
解説書を三冊買って、本の手順どおりにやったのだけど、うまく動かない。
三冊のうち二冊は今年でた本なのに、もう情報が古くなってるのな。
AndroidのサイトからEclipseをダウンロードしろって書いてあるけど、もうAndroidStudioに移行していて、Eclipseはダウンロードできなくなってるの。
Eclipseの本家のサイトからダウンロードして、SDKのプラグインを入れたらいいのかなとか思っていろいろ試したけどどうしても実行できない。
で、結局Eclipseなくてもビルド&実行できると気づいて、開発はxcodeですることにした。
ホリエモンがプログラムはHelloWOrldにたどり着くまでが難しくてあとは簡単とか言ってたけど、まじそうだな。
MSSQLだったのがMySQLになって新たにTomcatとMyBatis、Springを使うようになった
Frameworkがガラッと変わってとても使いづらかった。ASP.NET使ったら簡単にできるようなことを
上手く動かなくて面倒くさかった。こんな使いづらい言語だれが使うんだ!?とか普通に思っていた。
Java自体というより実質標準になっているFrameworkが面倒くさい
設定ファイルが多すぎ。意味不明過ぎ。あとエラーログが正確じゃなくてがわけわからん。
正式のドキュメントが充実してない。一般のブログに頼る必要がある。
Eclipseも使い始めたけど、DBViewer使いづらい。やっぱMicrosoftと比べるとヒドイね。
DBViewerのスクリプト書くところで選択した領域だけ実行したいんだけど、どうやんだ、これ。
Eclipseも使いづれー
でも人口多いんだよなーJava。なんで使ってんだろ。みんな。Microsoftに比べて安いからか?
品質と使い勝手を天秤にかけてもJavaを使いたくなるようなものか?
まぁ、一回Frameworkの仕組みを覚えたら案外使いやすいかも、とも思う。
あと、Update期間めちゃくちゃ長いですね。Java6,7,8って10年ぐらいかかってんじゃないですか。
何が良くて使ってんだろみんな。
そもそも、静的型付け言語みたいに、インターフェイスを型で揃える必要ないけど(ダックタイピング)。
命名規則で充分だろ。Pythonでは'_'を先頭につけるのが標準。
Javaのビルドのほうが遥かにめんどくさいじゃん。Eclipse無しに複数ファイルコンパイルとか、プロでもできないやつ多いんじゃね?
初心者がプログラミングを始めるのに、コマンドラインで始めるべきかIDEを使うべきかって話で「IDEを使って楽して覚えるとろくなプログラマにならない。敷居は高いけどコマンドラインで覚えるべき」みたいなことを言う人いるじゃん。
掲示板とかで「プログラミングをやりたいけどどうしたらいいですか」「とりあえずMSのサイトからVSをダウソしろ」とか言われて、VSをインストールして起動してもなにしていいかわからないだろうし、eclipseなんかインストールの段階でつまづくんじゃないの。
あと、2chあたりで10行や20行くらいのコードを貼って「動きません。教えてください」みたいな書き込みしてる人がいるけど、こんなのもデバッガで変数の中身見ながらステップ実行すれば簡単に分かるのにって思うようなのばっかり。
こういう人は、学校でコマンドラインで教えられてデバッガの使い方を知らない学生なんだよね。
コマンドラインを薦める人のイメージとは違って、コマンドラインからの入門は敷居は低いけどイージーに始められるからデバッガの使い方も知らないようなプログラマを生み出してる結果になってる。
この記事のタイトルをみて、えって思ったけど読んでみたら全画面表示 & 画面分割のマルチウインドウだったわ。
PCも現状のオーバーラップウインドウは間違いで、Windows1.0時代のタイリング(画面分割)が正しいUIで、昔からちょくちょくネットにそれを書いてるけどまったく同意されたことがなくて、世の中おかしいと思ってたわ。モバイル時代になって風向きが変わってきたね。
http://hp.vector.co.jp/authors/VA016533/chartscape/Emulators/W10-1.GIF
世の中、マニアックに人間以外は、Officeとか、全画面表示か、たまに二つ並べるくらいでオーバーラップウインドウなんて活用してないだろ。
VisualStudioとかEclipseみたいな開発ツールも、小さいウインドウを敷き詰める方式でオーバーラップウインドウなんて活用してないし。
ウインドウのレイアウトなんて、人間がマウスで手動でやらなくてOSがインテリジェントにやるべきなんだよな。
これいうと自動でウインドウを配置するツールがあるって揚げ足とったつもりになってるツッコミがくるけど、そういうツールだってオーバーラップウインドウをタイリング風に配置してるだけだから、オーバーラップウインドウは不要だって余計思うだけだわ。
エディタで。vimのキーバインドで。teratermの背景色で。ログファイルの名称で。変数名で、タブの桁数で。spfileの設定で。jbossの設定のおまじないで。stratsの継承方法で。エラーのクラス名で。プロパティ名で。セッター、ゲッターを付けるかつけないかで。コンストラクタで。newを上書きするかしないかで。jreのeditionで。eclipseの見た目で。javadocのエディションで。クラウンのドキュメントIDで。githubにいくつ持っているかで。tryのインデントで。タブを表示するかしないかで。エディット中の飲み物で。待ち合わせはスタバなのかエクセルシオールなのかで。セブンイレブンのコーヒーのサイズで。そのコンビニのコーヒーが一番うまいかで。IDカードは伸びるストラップがいいのか悪いのか。寝るときは机の下か椅子を並べるのか。デスクの上にフィギュアは置いていいのか悪いのか。めんまかつるこか。
理由くらい書けよ糞が
他のWindowsプログラムがやっていて、多くの方が「できて当然」だと思っていることは、7割くらいであれば.NET(フレームワーク名)を叩けばできます。
.NET対応言語はC#、VB.NET、J#、F#、JScript.NET、C++/CLIなどがあり、実際の開発においてはこれらの中から自分に合った言語を選ぶことになります。
個人的な感想ですが、この中で最もゆとり仕様なのはC#です。StackOverflowなどのノウハウが一番蓄積されているのもC#だと思います。
「頻繁なアップデートを追跡しないといけない」「Visual Studioが必要」という問題はありますが、がんばってください
なお、.NETはメモリを食うので、数値計算みたいなことをしたいのであればC++が現状一番まともだと思います。がんばってください
昔のMacのプログラムのGUIはCarbonというライブラリで作っていました。今はCocoaというライブラリで作っています。
残念なことに、どちらも言語はObjective-Cです。がんばってください
ブラウザアプリは、ユーザのWebブラウザ(Chrome、Firefox、Opera、Safariなど)上で動作するシステムと、遠隔のサーバ上で動作するシステムが連携して成立します。
従って、ブラウザアプリを作る言語は、サーバ用言語とクライアント用言語の2種類を考えなければなりません。めんどくさいですね。
ひとたびそのめんどくささを突破してしまえば、Webブラウザさえあればどこでも動くようになります。素晴らしいですね。
クライアント用の言語は、まぁ、JavaScriptしかないと思います。がんばってください
JavaScriptも(正直なところ)あまり褒められた言語ではないので、近頃ではもうちょっとまともな言語を作って、それをJavaScriptに変換する方法が取られたりします。CoffeeScript、TypeScript、Haxeとかですかね。がんばってください
JScriptとかいう、名前が紛らわしい上にゴミブラウザ上でしか動かないゴミ未満言語もありますけど、そんなもんで作っても私の環境では動かせませんので悪く思わないでください。
そもそも選択肢が全くありませんので仕方がないです。がんばってください
Xamarinがあるじゃないかって?まぁそういうのもあるかもしれませんね。がんばってください
私の勉強不足で、Java以外の選択肢は知らないです。Java以外にあるんですかね?
Perlは使い捨てスクリプトを作るのに適しています。CPANクライアントは昔から安定して動きません。だいぶオワコン化してます。がんばってください 私は鞍替えしました
PythonはPerlより見た目がすっきりしたPerlです。easy_install・pipはすごく安定していてびっくりします(Windows除く)。3系とかいう邪念は捨てて2系教の悟りを開きましょう。がんばってください
RubyはPerl(の処理系のソースコード)より(処理系のソースコードが)綺麗なPerlです。私の手元のUbuntuで「ruby」と入力すると「Command not found.」と返ってくることからも解るとおり、多くの*NIXではOS標準でインストールされておりません。昔のgemは何故あんなにすごい時間をかけてrdocを作っていたのでしょうか。日本人が作ったのでムラ意識の強い日本人の仲間が大勢います。他の国は知りません。がんばってください
これ以上言語を増やすのはやめましょう。バベルの塔で大勢の人間が不幸になったのに、それを人間が自ら引き起こしてどうするんですか。
言語処理系を作るのであれば、BNFという言語で文法を定義して、yacc・bisonというツールに食わせればひな形ができます。ぶら下がりelseとの格闘が待ってますが、がんばってください
1からOSを作った方もいますが、デバイスドライバの流用などを考えると、だいたいはLinuxやBSDのソースコードを改変するお仕事だと思います。
昔はCGIと言っていました。所詮は80番ポートでlistenするだけのプログラムであり、BSDソケットをlistenできるライブラリを有する言語であれば何でもいいのですが、いくつかの宗教があります。
PHPはバンドネオンと同じくらい習得が困難な言語なのに、宣伝の仕方を間違えたために「自分はできる」と勘違いしたプログラマが暴徒と化し、イスラム教と同じくらい不当に低く評価されている言語です。きちんと勉強して使う分には、悪くない選択肢だと思います。がんばってください
Javaは、Eclipse・Netbeansといった超重量級IDEを起動して、Java EEやSpringといった超重量級ライブラリに依存したwarを、Jboss・WebSphereなどの超重量級アプリケーションサーバ上で動作させるため、メモリが貧弱な環境ではIDEとサーバを同時に起動すらできません。サーバのメモリが潤沢であれば悪くない選択肢だと思います。がんばってください
C#は、選択肢が全くないことを除けば、状況はJavaとあまり変わりません。Microsoftがお好きな方、何かの間違いでWindowsサーバを使わざるを得ない方であれば、悪くない選択肢だと思います。がんばってください
こういう記事が上がって
それへの反応
記事の最初のカッコの省略だけど、世界的に評価されて広く使われてるようなプロジェクトのコードを見ると、案外{}が省略されていたりしてそんなことは気にしてない。(たとえばlinux, apache, postgresql, mysql, chromium, netbeeans, eclipse, llvm, jruby, android)
で「こんなコードを書くヤツは夜道に気をつけろ」「八つ裂き」みたいな大げさな反応してるのって、どういうコードを書いてるかよく分からないような人たち。
自転車置き場の議論的な、素人でも分かりやすいポイントだからこのツッコミって人気あるのかね。
―――――↓見てないかもしれないけどブクマとかへの返信を追加―――――
2chあたりでコーディングスタイルの議論になったときは、俺様基準じゃなくて実際に成果を出してる人たちが採用してるコーディングスタイルを基準にしようぜってことで、誰もが認める成果を出しててソースを見れるオープンソースのコードを引き合いに出すことが多いんだけど、そうするとよくある反論が二つある。
みたいなの。
さすがにはてなやツイッターじゃ、前者のような「お前は20年前からタイムスリップしてきたのか」みたいな認識の人はいないみたいだけど後者のような人は何人もいるね。
高度なコードを書いてる人とITドカタのコーディングルールは違うってなんなんだろうね。
「高度なコードを書いてる人は低レベルなケアレスミスなんてしない、だからカッコを省略しても平気なんだ、レベルの低い連中はケアレスミスをするからカッコが必要なんだ」って認識なのかね。
まあたしかに「viは一晩で書かれた」みたいにハッカーが複雑なコードを一気に書きあげてバグがなかったみたいな伝説ってあるけど、素人じゃないんだからそういうハッカーのイメージで高度な人たちをとらえるのはやめよう。
集中力が高度でケアレスミスをしないとか、今どきのソフト開発の「高度」はそういう意味じゃありません。
高度なソフトを開発している人たちは、おおむね読みやすさや保守性にセンシティブです。そのらのSIerなんかに比べたらはるかに。
で、そういう人たちが、カッコを書くか書かないかなんてどうでもいいって認識だからカッコを省くコードが書かれてるんです。
昔ハンガリアン記法がコードの質を高めると信じられてたときとか、if (100 == n) のように比較で定数を左にもってくるのが流行ったときも、そういう流儀の人たちは自分らは安全側に倒してるから正義だって信じて主張を全然曲げなかったですね。
テクノブレイク.jpという、エロ専用RSSサービスを公開しました。
これは、自分のお気に入りのエロサイトの更新動画を、サイトすべてに訪問して確認しなくてもチェックすることができる、というエロのための時間を効率化させるWebサービスです。
今年文系で大学を卒業し、まったくの未経験で大手IT企業に入社し、研修を経て初めてプログラミングを触ることになりました。
それでも少しはできるようになったため、「ゆとり」でも「未経験」でも「文系」でも自分でwebサービスが作れるんじゃないか?と思い至り、ちょっと力試しということでやってみるか!!!とこのサービスを作りました。
僕は以下のような人間ですが、「仕事」を通じてプログラミングを学びました。もちろん今も勉強中です。
まだまだ働き始めたばかりなので、僕はプログラミング初心者が数ヶ月勉強したという方と同じような人間です。
なので現在上記にあてはまる人でも作ろうと思えば「自分でサービスを作れる」ということがわかっていただけたらと思います。
僕はオナニーをする時は、スマホのアプリで必ずエロ動画を探すのですが、だいたい以下のようなステップを踏むんですよね。
このように1つの動画を見るために、9つのステップを踏むんです。
もう何がいやだって、(7)ですよ。これが面倒くさい。
それから(2)のブックマークからエロサイトを開くことも面倒じゃないですか。
だって(1)〜(9)をサイトごとにやらないといけないわけですから。
これらを簡単にすることができないもんかなと。
だから、毎回だらだら開発を進めると時間がかかり、最終的にモチベーションが下がり、何もしなくなってしまうんです。
プログラムだけじゃありません。デザインを考えたり、仕組みを考えたりしないといけません。
あとで、このプログラムじゃ、仕組みじゃダメだったな、ってわかり手直しをすることだってあります。
すべてをそこそこ、80%におさめてください。
最初はすべて80%です。
ここで言う100%とは、あなたの考える理想を100%叶える、という意味です。
そういった意味では100%はありませんが、あなたにとっての理想の100%はありますよね。
走りながら、目指してください。
早くリリースすればするほど、ユーザーからの声を早く拾うことができます。
ユーザーの声こそ、そのサービスの目指すべき姿のことが多いです。
80%完成してリリースすればいいのに、残りの20%を埋めようとあなたが頑張ったとします。
もしかしたらその自分勝手な20%は、ユーザーに取っては不必要な20%かもしれませんよね。
なぜならドメイン代を支払ってるんですから。その金を無駄にしたくないですよね。
で、サーバーは後、というのは開発が無駄に3ヶ月かかったとすると、その3ヶ月分のサーバー代金が無駄ですよね。
実サーバーテストは、テスト環境でテストを終えてからやればいいかなと思ってます。
まずどんなコンセプトか、どんな機能が必要か、どんなUIにすべきかという目標をたてましょう。
なぜこうするかというと、常に自分が何をすべきかが明確になるからです。
なにも決めずにやろうとすると、
なんてことになります。
だから、頑張りすぎなくていいんです。
Webスクレイピングとは、サイトのコンテンツから欲しいデータを取得する方法です。
僕がどうやってRSSサービスを作ったかというと、このwebスクレイピングのおかげなんです。
広告、注目動画、アーカイブなどのそのサイトのコンテンツははじきます。
で、その主要コンテンツから、記事の画像とタイトル、URLをゲットしてきます。
やり方としては、主要コンテンツからそのサイト内部のリンクが貼られたimgタグを探し出します。
そして、そのリンクのタイトルまたは記事のタイトルを取得します。
こうすることで、そのサイトの更新一覧から更新記事のURLとタイトル、画像がわかります。
BootstrapはウェブサイトやWebアプリケーションを作成するフリーソフトウェアツール集である。 タイポグラフィ、フォーム、ボタン、ナビゲーション、その他構成要素やJavaScript用拡張などがHTML及びCSSベースのデザインテンプレートとして用意されている。
これを利用すると、基本的なWebサイトのデザイン(htmlとcss)が手に入れることができ、そのまま利用できたりします。
デザインを作る上で、非常に助かります。なぜなら最初からすべて自分でコーディングする必要がないからです。
僕は以下の時間に開発をしてました
だと思います。
どうしているかというと、Readdleの「Downloads」というスマホアプリを利用しています。
これは写真やファイルをクラウド上に保存したり、Dropboxや外部サーバーとファイル共有をすることができるアプリです。
画面は小さくてストレスがかなーーーりありますが、僕は外出中はこれでプログラミングをしています。
通勤中にこれでプログラミングをし、降車した後の徒歩で続きのプログラミングをキリが良いところまでする、という感じです。
また、歩きながらでもテストはできると思うので、歩きながらプログラミングは難しいという方はテストだけでもやってみはどうでしょうか。
Webサービス俺もやってみようかなーと少しでも思ってくださった方へ、
僕は開発をしながら、本当にやりたいことがあったら、時間はいくらでもつくりだせるなって感じました。
歩いてるときだって、トイレにいるときだって、電車にいるときだって、いつだって今の時代はできるんですよ。
それだけ現代って便利で、生きやすくて、なんでも挑戦しやすい環境のある時代なんです。
恐らく、少し前の時代、スマホが出る前の時代では歩きながらプログラミングなんて考えられないと思います。
そう考えると数年前と今って格段に何かを始めることができやすい時代なんですよ。
それでも挑戦しないって、もったいないねーなーって思ったんですよね。
だから、なにか本当にやってやりたい!!!ってことがあれば、まず一歩を踏み出してみてください。
ググれば、一発ですよ。
こんなことGoogleが日本に来るまでは考えられないことですよ。
だって、昔の検索エンジンって十分に欲しい情報が手に入らなかったですもんね。
「MacはUnix互換」とかMacユーザはいうが、Linuxユーザからするとディストリビューションが違うので正直使いにくい。別に調べりゃ使えるしLinuxユーザというのは黙って調べる人たちなので文句を言わないだけで、好んでMacをUnixのように使おうとは思わない。GUIがクソだが便利なLinuxユーザからすればMacはGUIがすげぇ糞なディストリビューションだ。情報少ないし。
なお、これは他のLinuxについても言えることで、Ubuntu使いからするとRedhat系は使いにくいし、Redhat系からするとUbuntuはコマンドがわからんことが多々あるので若干めんどくさい。もちろん他のディストリビューションも同じ。BSDとかあんまり使いたくない。まぁやりゃできるのだが、めんどくさいを極めた結果としてコマンドライン使ってるのに、調べるのはもっとめんどくさい。あと変なエラーが出ると大変なのでPCライトユーザにはまったくおすすめしない。
最近はWindowは一発ポンで入ることが増えてきたので便利だと思う。Cygwin使うよりはVM使ったほうが楽でねーかと個人的には思うが。PHPなどはXamppがあるのでむしろWindowsのほうが楽。文字コードが面倒だが。
なおLinuxは常に糞めんどくさい。すでに入ってるパッケージのバージョンが古いが、ディストリビューションによっては上げるのに四苦八苦とかふつうにある。サーバー関連のプログラム以外はいまどきWindowsとかMacとかのほうが断然楽だ。
Windowsのコマンドはよくわからんが、最近は情報が多いので特に…あと下手にコマンドいじるよりはフリーウェアを探してくれば良いと思う。
Linuxは慣れてるディストリビューションならCUIだけで十分。慣れてない奴はめんどくさい。
Windowsも良いとは言わないが、不便はない。細めのフォントが好みなのでむしろWindowsのほうが見やすい。
そりゃiOSアプリを作るならXCodeしかないし、XCodeは悪く無いと思うが、C/C++とか書く時は使いにくい。
WindowsアプリつくるならVisualStudioしかないし、最近のVSは使いやすいので特に文句はない。C#も良い言語だと思いますよ。すごくよく考えられてると思うし。
Webアプリケーション系もnetbeansなんかはWindowsのほうが軽い印象があるなぁ。ただC++はnetbeansだと補完機能が弱めになる気がする。まぁそもそもWindows上でMSのライブラリ使わないC++とか書きたくないですね。色々違うし。
LinuxのIDEはEclipse一択みたいな感じになっているが、正直Javaはいいが、それ以外は微妙。と言うか糞重い。netbeansが個人的には好きだが、前述のとおり補完機能がEclipseより弱いかんじがするのであんまり。Rubyはすっげぇ使いやすかった。C++で一番軽いIDEはQtかな。Vim?いうほどいいかね…まぁEmacs派なんですけどね
そりゃiOS開発するならMacしかないだろう。Windowsアプリケーション開発するならWindows機使うしかないのと同じでな!!!
LinuxでGUIのあるアプリケーション作るとか、考えたくないな!つうかGUIつかいたくないからLinux使ってんだよ!
Macは選択肢が少なすぎる。金だせばなんでもできるが、カネがないとストレスが溜まる。あとかねかければかけるほど周辺機器もグレードアップしなきゃいけなくなる感じがするのだが…正直Unix系のマインドに反しすぎていると思う。
あといまおれのMacbookProはバッテリが膨らんできてパッドが使えなくなったんだが、Mac対応のマウスがないのでコピペすらできない。キーボードも純正のやつ使いにくくね?プログラマとしてはHome,Endあたりはキー一個で対応して欲しいですし、Backspaceキーがないのは意味がわかりません。deleteキーって書いてるけどそれBackspaceやん、ほんとのdeleteどこいった!!!とにかくキーボードがひどいのでMac使ってプログラミングしようという意欲がおこらない。むしろ俺がMac嫌いな理由の一番がそれですね!
しらねぇがLinuxで音楽制作しようとする奴はアホだと思う。
が、若干コントラストが強目にでるか?という気がする。
Mac以外のディスプレイを自分で細かくカスタマイズしたほうが実際にあってる場合もあり、なんとも言えない。
ちょちょっといじる素人用フリーウェアが貧弱すぎて辛い。いやらしい成金に札束で顔はたかれているような気持ちになる。
いいわすれたがLinuxでデザインやデジタル現像しようっつうやつはアホだね。Ubuntuならあるのかなぁ…でもさいきんUbuntu重すぎて…
しらん。
MSOfficeは使いやすい。Officeを貶してる奴はだいたいOfficeを使いこなしていない。
LibreOfficeとか一昔前のMSOfficeじゃないですかーLinuxだとそれしか選択しないけど使いたくねぇ…それならGoogleDriveのをつかうわ…一太郎とか悪い冗談はやめていただきたい。
ただ、Latexを使う場合はLinuxは使い良いとおもう。もちろんWindowsならLatex用のエディタあるんですけども!
WindowsとMacで特に違いはないが、あえていうならMacはフリーウェアが少ない。
Linuxをホームユースで使いたがる人がいたら止めたいが、最近はWebだけでも色々できちゃうので、別段問題ない気がしてきた。
9. Macは性能に対してコストパフォーマンスが高い(……かも)
スペック対価格を比較すると、CPUやメモリやらのコストパフォーマンスが悪くない、と思います。
10年前は「Macは高くつく」という印象だったものが、ここ5年で「Macって割安」という印象に変換したと記憶しています。
むしろ使ったらMacって割高…って思うと思うけどなぁ。最近のWindows機は安いしデスクトップなんて価格破壊完全に起こしてるし、使い始めてからもほとんどお金がかからない。情報も多いし。なんか情報が全体的に五年くらい古い感じがしますね。もしかして2009年ごろからいらした方が書いたのでしょうか。
何をもって"無駄"と判断するか、非常に難しい論点ではありますが。
へんてこなアザラシのマスコットがデスクトップを泳ぎ出したり、なんとも言えないモッサリ感の明るさ調整ソフトが突如画面に出現したり。なんて事はありません。
常駐ソフトウェアはWindowsは決して多くないし、あるならメーカプリインストールアプリじゃねぇのっていう。
明るさ調整ソフトってそれはディスプレイのやつだろ?Windowsのせいじゃねぇよ。むしろMacはそういうの調整するときに探すのが大変。いや、あかるさ調整くらいならキーボードでできるけどさ…
常駐ソフト気にするならLinuxが一番管理できると思いますし、LinuxにくらべればMacもWindowsも似たようなもんです。
http://www.tiobe.comで、プログラミング言語の人気ランキングを、どっかで見かけるたびに
俺は、C言語をお遊びではなく仕事として使ってきたわと静かに震えるのがほぼ反射神経になっている。
「C言語一筋で、オブジェクト指向の知識はあるけどCPPもJavaも知りません、あ、C#とVBAは自作ツールを作成する過程で勉強しました。」
業務経歴書を片手に面談で話したときの、微妙な空気を知ってからだ。
C言語は、この業界にいる誰もが一度は耳にしていて、しかし業務として使った経験がある人はあまりいないであろう、不思議な言語だと思う。
組み込み屋のSEとして入社して、教育期間が終わってすぐに回されたのがAndroidのLinuxカーネルのドライバー周りのお仕事だった。
C言語というかLinuxカーネルのAPIばかり覚えさせられて、初めて触った構成管理ツールがgitで、管理任されたビルドサーバーはFedoraで、開発はTeraTerm上でemacsを使ってた。
思えば、すごく先進的な開発現場だったのだ。なんでC言語?と言語のロートルな側面ばかり見ていたが、
毎週のようにリリースされるカーネルパッチには、急速な変化に対応した野心的な取り組みが山のように入っていた。
世の中にはレガシーJava(1.4)で、構成管理ツールがSVNで、開発はEclipseのGalileo、Ganymedeかsakuraエディタという
時代に取り残された場所があるなんて想像だにしていないかったのだ。
最も当時はコミットされたバッチのコメントを追うだけで精一杯で、どうして議論になっているのか分かりもしないLKMLを読んで知ったかぶっていた
だけで、raspberry piを手慰みに遊ぶまでは実を結んでいた自覚なんてなかったのだけど。
思われてる。社会情勢が教えてくれる。いや、そんなことない、それは妄想だ。様々なところで使われているじゃないか。
でも、そこで食える飯はもうほとんどなくなっている。
カーネルのメンテナーにパッチを送ったことすらない、中途半端な技術力しかない俺の市場価値は、今限りなく低い。
だから、いつまでもC言語がプログラミングの人気ランキングにいつまでもいることを苦々しく思う。
C言語を使って、可能な限り先進的なことをやって。それは、C言語という埃をかぶったようなイメージとはかけ離れていたはずなのに。
実際は井の中の蛙で、外から見たらひとくくりに時代遅れとされたのが許せなく、そしてやるせなかった。
自分は今、実際、先にいったような環境ですら、状況の対応に四苦八苦する有様だから。
C言語なんて大嫌いだ。