はてなキーワード: javaとは
>初期値で0与えて再帰の引数でカウント回したりとか、普通にあると思うけど
>プログラミング原則的な意味だとコードの中に現在時刻って変数が入ってくる時点でなんかおかしいとおもうんやが。
<
「よくわからん」癖に、いっぱしの批判してるつもりになってんじゃねーぞボンクラというのが一つの指摘なんで。
>プログラミング原則的な意味だとコードの中に現在時刻って変数が入ってくる時点でなんかおかしいとおもうんやが。
C#にしろ、Javaにしろ、JavaScriptにしろCにしろ、おまえは
「現在時刻」を得るために、いったいぜんたいどういう「変数」を使ってんのかねー?W
今日も日本の何処かで、基幹システムのリプレースが行われている。
基幹システム…そう、古くは汎用機にCOBOLという、枯れるを通り越してまさに朽ち果てんとしているアレだ。
そもそも朽ちて土に還る前に建て直すためのリプレースだ。
てか朽ちないんだったら、もう半永久的に触るべきじゃないと思うんだけど、形あるものは必ず滅びるのだ、作り直すしかない。勘弁してくれーという感じだ。
じゃあ何を用いて作り直すか?またCOBOLが一番手っ取り早そう(ソースいじらず移植という意味で)だが、それは許されないのだそうだ。ふざけんな。
今だったら大体どこでもJavaで作り直しだ。どういうわけか今のトレンド()だ。
てかそれ、オブジェクト指向とWebアプリに夢見過ぎじゃね?別にそれ銀の弾丸でもないしエクスカリバーでもなければ伝家の宝刀でもない、ただの道具なんですけど。
その証拠に、色々共通化されて保守性も拡張性も格段に上がったとか言ってる割に、その実態は、数える気にもならないほどインターフェースをimplementしまくった、複雑怪奇なクラスファイルの乱立ですよ。
もちろんドキュメントも上から下のレイヤーまで、そのクラスの分だけ揃ってる。というか山のようにある。いやそれ分量的に読めねーから。
ちなみに、今時の銀行や大企業は、基幹システム一つだけなんて事は無いケースが多い。基幹システムは複数あって相互に通信する巨大システム群の中の一つに過ぎなかったり。
そこで基幹システムだけ今風に作り直した所で、コスト増大の根本原因である複雑さの解消に、微塵も貢献しているとは思えないのだが、その質問はダメらしい。
もうさ、ぶっちゃけちゃうと、そもそも人間という柔軟な脳を持つ生き物がこなしている業務を、人間より正確かもしれないけど全く融通が効かないコンピュータに代替することが限界なんじゃね?と思うんだわ。
基幹システムを見ていると、そんな暗澹たる気分になる。
そりゃCOBOLと汎用機しか選択肢のなかった時代から比べて、今は色んなソリューションやソフトウェアがある。どれもシンプルに造るため、分かりやすく造るためにある。
しかしこの国の基幹システムは、それでもなお複雑さを解消していない。
あるいは、そういう大きなシステムを抱えている日本の組織性の問題なんですかね?
爆発しなくてもいいから、Google辺りに生息している本物のプログラマが、そういう複雑さを一気に解決するような、黒船もびっくりなソリューションで、今のITゼネコンありきのSIの世界に風穴を開けてくれることを切に願う。
http://crowdworks.jp/public/jobs/619358
まず、会社情報書いてなく、アカウント名が超適当。次にブラウザ開発だけなら不要な「Java / PHP / Ruby / Pythonなどの技術」を要求する(まあPythonだけならChromiumのツールで使ってるから許せるけど)。そして、とってつけたかのようなC++。依頼する気ないだろ。
ブラウザの改造を「ちょちょいとやったらできる」と思っているんだろうか。
Chromiumは約90日でメジャーバージョンが上がる。セキュリティ修正も含まれているので、修正は必須である。つまり、長くても90日単位で修正が必要になるので、メンテナンスコストが尋常じゃなくかかることを意味する。年1回じゃないんだぞ。90日だぞ。たったの1回で済むものではない。
どういう契約なのかも予算も知らんが、こういうのは安く買えるものではない。
ふと、http://d.hatena.ne.jp/JavaBlack/20160427/p1を思い出してしまった(リンク先の案件ほどひどくはないが)。同じクラウドワークスだし。
---
1年の間、プログラマとして働いていたが、続けていくことが無理だと思い、さようならする話。
プログラマになる前は、コーヒー屋で働いていた。しかし、色々とあり辞め、職業訓練校に通ってプログラミング(php)を学び、60人ほどのソフトウェア開発会社に就職した。
会社に入ると、まずC#の研修があった。研修と言っても、C#で内製ツールを独りで作るという研修だった。この研修中に「あれ、オレ、プログラム書けねー」と思ったりしたが、研修は終えることができたし、社内の人にも「なかなか良く出来ている」と言ってもらえ、大丈夫だろうと思っていた。
研修が終わり、C#の社内で実際に使われているツールに、機能をいくつか追加する仕事を振られた。前任者にどんな設計になっているのか大雑把に聞き、なんとなくイメージができ、コードを読み始めたのだが、これが全く意味不明で、何のために有るかがわからないクラスが大量にあった。名詞の王国だと思った。前任者に、何故このクラスは、この単位で分割されているのか聞くと、「単一責任の原則だよ」とか「hogeパターン使うと、後から機能追加しやすいじゃん」というような回答をもらった。納得は出来なかったが、プルリクも承認されて、このツールがデプロイされていたので、社内的にも、このコードは、クソコードと言われる物では無いはずだと思ったので、自分もプログラムを書き続けていれば、こんな感じの設計に慣れてくるんだろうと思った。モヤモヤは残っていたものの、仕事はしなければいけないので、前任者のコードに習うように、クラスを追加したりして、機能を追加した。プルリクを出すと、設計には何も言われずに、タイポや、テストコードを注意されただけだった。指摘された点を修正すると承認された。振られた仕事は完遂した。が、結局最後まで、モヤモヤは消えなかった。むしろ、モヤモヤモヤモヤになった。
次に振られた仕事は、内製ツールを設計から自分で行い作成する仕事だった。言語はGoだった。Goで書いてと言われた時は、以前からの自分のモヤモヤはオブジェクト指向のせいで、モヤモヤしているんじゃないかとも思っていたので、喜んで!という感じであった。が、Goを触ってみると、結局、Goも継承の無いオブジェクト指向言語やないかと思った。Goの標準ライブラリのinterface名もHogerみたいな感じに接尾辞に-erを持ってくることが慣習らしく、この命名だと、interfaceを満たす構造体自身が-erになるので、正にオブジェクトだなぁと思った。巷での「Goはオブジェクト指向ではない」というのに期待していたのだが、自分にとっては、とてもオブジェクトしていました。
Goに対する印象は良くなくなったが、ツールの設計をしないといけなかったので、Goの構造体をC#のクラスに見立て、前回の前任者のコードのように、単一責任も持つ構造体に(無駄に)分けて、プログラムを書いて、プルリクを出した。自分でクソなコードだと思いながら。だけれどもレビューでは、「errorのチェック忘れ」「標準ライブラリにこの機能ある」「こんな風に書ける」といった感じだった。こんなコードで良いんかよと思ったが、良いらしい。ワケワカメだった。
ここらで、プログラムを書く仕事は、無理だと悟った。現実世界は、自分が自然だと思う方法と違う方法で、プログラミングをすることを強要してくる。
ちなみに、仕事ではC#とGoを書いていましたが、オブジェクト指向と仲良くなるためにSqueak(Smalltalk)で、オレオレ言語を作ってみたりもしましたが、何が嬉しくて、オブジェクト同士のメッセージパッシングでプログラムを作るのかわかりませんでした。
Clojureは、気持ち良くプログラムを書いていても、Javaが顔を出すところでフラストレーションが溜まってしまって、つらくなりました。
Common Lispは、自分が触った言語の中でも、秀でて良いと思いました。プログラマを辞めても、プログラム書く必要に迫られたらCommon Lispで書こうと思うくらいにです。Land of Lispが楽しいです。あと、CLOSの総称関数の考え方が大好きです。
最後に、この投稿は、一種の決別の表明です。いつまでも、自分に向いていなかったことに、時間を掛けてしまっている自分との決別です。
http://b.hatena.ne.jp/entry/anond.hatelabo.jp/20160418101157
を使うのがスキルがあるみたいな思想の人が大量にいて頭痛が痛くなるわ。
低レベルのレイヤーがお釈迦様の手のひらとか、IDEよりバイナリエディタをいじってるのがすごいみたいな。
低水準の技術は、高水準のレイヤーとは独立した技術で、基礎とか土台ってわけじゃないけど、それを理解できない。
以前も「初心者はCから始めろCが基礎だ」みたいな与太話をしてる人がいたらから「CのベテランがJavaの現場にきたらひどいコードを書いてた」という反例をだしたら「そのベテランがダメなだけだ。Cをやっていればオブジェクト指向プログラミングも自然に身につく」とか言い出すのな。
小中でプログラミング必修に…政府の新成長戦略 : 政治 : 読売新聞(YOMIURI ONLINE)
http://www.yomiuri.co.jp/politics/20160416-OYT1T50044.html
id:uxlayman プログラミングやらんでいいから論理的思考をちゃんとおしえてくれ
id:bigburnbigburn 移り変わりの激しいプログラム言語を子供に教えてどうするんだ…義務教育では論理的思考を教えればいいのに
id:aya_momoaya_momo プログラミングを教える前に論理的思考を教えるべき。あと、数学にも力を入れるべき。
このへんのブコメに死ぬほど違和感があるんだけど、論理的思考力がどうこうって、プログラミングを教えるかどうかという話題とあんまり関係なくない?論理的思考力って学問でもビジネスでもあらゆる分野で必要なもので、プログラミングに特別に必要とされるものでもないだろ。コンピューターサイエンスを教えろみたいな話ならまだわかるけど。
print 'うんこ'
って書けば「うんこ」って表示されて、
if rand(3) print 'うんこ' end
って書けばたまにうんこが表示される、とかそういうレベルで知ってるだけでも、知識ゼロとはそれなりの違いがあるじゃん。こんなん小学生でもわかるし、世の中のソフトウェアなんてこういうのの積み重ねでしかないよ。もっと複雑なものを作るには、もちろん論理的思考力がないと苦労するだろうけど、そんなんプログラミングじゃなくても他のことでも一緒だよ。逆に論理的思考力が高いだけでうまくいくもんでもないよ、ソフトウェア開発って。
そもそも論理的思考を教えろって具体的にどういうことを教えてほしいんだ?プログラミングを学ばせることで論理的思考力を伸ばすという方法も全然ありなのでは?小中学生がもっと効率よく論理的思考力を伸ばせる方法があるというなら提案してほしい。小さい子に抽象的な知識だけ学ばせたってつまらんからどうせ頭に入らないし、教師だって正誤が明確に出るプログラミングのほうが教えやすい面もあるのでは?(教師が生徒の書いたものをデバッグできなくて困ることは多々ありそうではあるけど)
あと、プログラム言語が移り変わり激しいって本当に知ってて言ってるのか?CとかC++とか何年使われてると思ってるんだ?JavaとかRubyだってもう20年以上の歴史がある言語で、未だに衰退の気配はまったくない。新しい言語もあるけど、現場で実際に使われてる言語の平均寿命は相当長いぞ。今Javaとかやったとして、子供らが社会に出る頃に使われなくなっている可能性が高いとはあまりいえないのでは。最先端の現場で細かい部分が変わっていくのはどの業界でも一緒だし。
「富士通を退職した話」を読んで、20年近く努めている側からの感想と疑問について書いてみたいと思います。
私も、情報科学を大学時代専攻した後、新人で山奥というかむしろ雲の上にある天空の工場に勤務してメインフレーム関連の仕事をしていました。
その工場に配属される新人は(希望すれば)寮に入るわけですが、高専卒は工場の敷地内にある山頂の寮で二人部屋、学士卒は山の5合目にあるアパートの一人部屋、修士とドクターは街中にあるマンションという感じでした。
街中の下界から工場がある天上界への通勤はバスで移動することになるのですが、わたしは、バスのディーゼルエンジンの排気ガスが苦手なので、頼み込んで工場の敷地内にある寮にしてほしいと願い出て、山頂の寮に特別に入れてもらいました。そもそもが2人で一部屋なのですが、学歴の関係か私は一人で2人部屋を使わせてもらっていたため、ものすごく広々と部屋が使えました。
わりと頼み込めば、人事や勤労も柔軟に対応してくれる会社という印象です。
20年前でさえ、メインフレームは古いというイメージがありました。
ただ、私は古臭い部署に配属されたことは不幸とは思いませんでした。電話からスーパーコンピュータまで幅広く扱っている世界でも稀な会社に入ったからには、いろんなことを経験してみたい。
そのためには、そろそろ絶滅してしまいそうなメインフレームを今経験せずにいつ経験出来るのか?くらいな感じでむしろラッキーくらいに考えていました。
最新の流行を追いかけるのもそれはそれで面白いが、そういったものは出来合いのライブラリを組み合わせて流行を少し遅れて追っていく2位集団であるし、やりたければ個人で家でも出来るじゃないか程度の感覚です。
ただ、せっかくメインフレームの部署に来たのですが、私の担当はワークステーションで動作するUNIXやPCでの開発が主体でした。
そもそもが、メインフレームを扱っていた部署ですから、先輩の人達はあまりUNIXやPCに詳しくなかったので、大学でUNIXやPCを経験した新人が入ってきたことは非常に重宝されました。
その部署では開発言語は、社内の独自の言語(Cよりもさらに機械語に近い言語をマウスでグラフィカルに操作してコーディングする言語)を使っていました。もともとはメインフレーム用の言語なのですが、UNIXワークステーションやPC用にも
その言語コンパイラはあり、あわやその言語でUNIXの開発する羽目になりそうだったのですが、私は猛烈に反対して自分の意見を通しました。当時はJavaやRubyなどの言語は無くCが全盛でしたが、
その部署の開発メンバーはCをほとんど知らなかったのです。そこで、社内のカイゼン活動として、C言語の勉強会を開くことを提案し私が講師になってC言語をメンバーに習得してもらい、
PCやUNIXでの開発は独自言語ではなくC言語を利用することを認めさせました。
元の増田の方は、自分はエクセルのVBAソースが見れない立場のようだと言っていましたが、ソースをみようとしたらシートにロックがかかっていたのを見て諦めてしまったのではないでしょうか?
元のEXCELを使った業務が非効率であるならば、業務の改善活動として提案すれば、それを拒む上司というのはちょっと考えにくいです。
忙しい部署にも、改善活動のノルマが課せられるのですが、先輩はそういったことに関わっている時間が中々取れないので新人がそういった仕事をやると宣言しても拒むのはまずありえません。
下請けのプログラマーからみると富士通のような会社は中間搾取していて高給をとっているのに、仕事は丸投げという印象があるでしょうが、実際やってみると案外大変です。
私は、富士通本社のSE的な立場、グループ孫会社に出向して、そこから顧客先に派遣される4次受け5次受けのプログラマ両方を経験しましたが、はっきりと下請けの方が精神的に楽と感じました。
客商売や、自分でやっているわけではない人に依頼した仕事について、責任をとるのは非常に苦しいものがあります。そもそもプログラミングはとても楽しいというのもありますが。
私見ている範囲では違う部署に異動したいという希望は100%通りました。異動を希望しているのにその部が解散するまでその部署にいる羽目になった人など見たことがないです。
もちろん、「プロジェクトが佳境で君に今抜けてしまわれては困る」というケースはあるのですが、IT業界のプロジェクトの開発周期は年々短くなる一方ですから、割と早い段階で異動の希望は通る感じです。
もとの増田の方は巨大プロジェクトだったので大量の人がいるわけですが、こういった部署は異動の希望は通りやすいです。
なぜなら、新規プロジェクトで最も忙しいときは大量の人員を動員しているわけですが、バージョン2、バージョン3あるいはメンテナンスのフェーズに入ればそんなに大量の人員は必要がないので、会社としてもその部署の人員を異動させたいわけです。
けれど、プロジェクトで中核の技術を担っているようなメンバー、マイホームを天上界に立ててしまったメンバー、新しい仕事に対応しにくい高齢のメンバーは異動させにくいので、
EXCELをいじっているだけのような新人は異動の希望が通りやすいのです。
もとの増田も、もう少し我慢していれば希望が通った可能性は極めて高いですが、プロジェクトが佳境でまだ新人で入ったばかりといった状態では、もう少しその部署で頑張れと言われるだろうと思います。
ただし、異動先の都合もありますので、ここから出たいはほぼ100%通りますが、あそこに行きたいは必ずしも通りません。
今更「京」のスーパーコンピュータをやりたいといっても、人気部署ですし、プロジェクトの最盛期は過ぎているのでその希望が通る可能性は低いでしょう。
色々な部署がある大きな会社では、管理職クラスは頻繁に異動が起こりますから、嫌いな上司はわりと直ぐにいなくなります。小さい会社だとそもそも部署が開発部と人事部と営業部しかないというかんじなので、上司がやめるか自分が辞めるまで、嫌な上司と付き合う羽目になりがちです。
新人研修期間が終わった後、人事の面談のチャンスがあるのですが、そこにはコツがあります。
「おおざっぱにはっきりと希望を言うこと」です。
いちばん最悪なのが、大学での研究を話し、それを活かせる部署に行きたいと話すことです。
人事の人は技術には詳しくないですから、研究内容が最先端であればあるほど、人事の人には通じないです。
キャッシュコヒーレンシが。。とか話すと、「よくわからないけどこの人は基本ソフトウェアに向いているのかな?だったら、自社でOSを開発しているメインフレーム回そう」という感じになってしまいます。
それよりは、人事の人が、会社組織のどの部署に配属すればいいかわかりやすいように、おおざっぱに希望をいうことです。
例えば、
上記のことを強い口調ではっきりというのが良いと思います。
そのうえで、できれば○○製品をやりたいだとか、こういった業種のSEをやりたい等の希望だすと、どの部署に配属すればいいか相手にも伝わり希望が通りやすくなります。
私の同期で入社して新人研修で山奥に配属されたバブル時代の末裔のようなおねーちゃんとか、数人は、割とはっきり希望をいって、下界に戻っていきました。
私の父は政令指定市で、オフィス用品の販売・リース業を営んでいる。曾祖父の代から文房具店、雑貨店、音楽楽器店など時代の変遷に応じて事業を展開していた。
現在は、市役所や企業の、例えばパソコンとかプリンターとか、そういうものを販売・リースしたり、物品の委託購入を受注したりしている(市役所や県庁は取引できる企業が限られている)。
私は幼いころから社長令嬢としていわゆる「お嬢様」として周囲に振る舞ってきたし、周囲もそう扱ってきた。
それが自他ともに一番楽だった。だから私はピアノもヴァイオリンもやったし勉強も体育もがんばった。やればできるわけだ。
取り巻きの女子と、男子。が、たくさんいた。これが一番楽だった。
研修旅行で行った「島」で遭難した際も、何故か当然のごとくリーダーシップを求められた。普段私を陰でなんやかんや言うような人々でさえだ。
私はガールスカウトでアウトドアの素養があったし、大抵のことは自衛隊の人に教えてもらったからできた。キャンプは好きだった。
こういうのは私のような「深窓の令嬢」に任せるんじゃあなくて、あなたたち「庶民」的キャラの方が、あるいは「不良」系キャラの方が得意なんじゃないの?
思いきり相手を批判したくなる感情はおくびにも出さず、「島」での27日間の遭難から救出まで振る舞っていた。明るく気丈に。
私の取り巻きの、一番のお気に入りは園池という女子だった。彼女は私の如上の「お嬢様」としての振る舞いと、裏の心性とを、物ごころついたあとかなり早い時点で看破していた。
だから彼女には、年に数回程度だけれど「素」で接することが出来たし、彼女は彼女でそれを他者に対しどうすることもなかった。名前は五位鷺という驚くべき名前だった。
東京から越してきた彼女の方が、実は真にお嬢様で、世が世なれば和歌を読んだり牛車で移動するような、そんな身分の女だった。
彼女が「島」で破傷風になったとき、私はペニシリンを精製して投与した。他の人はこういうことに対しては役に立たなかった。
二人きりになった時、死を覚悟した彼女は、彼女の家に伝わる呪文のようなものを私に伝えてくれた。
文体が学校で習った『梁塵秘抄』に似ていたから、その頃から彼女の家に伝わったのだろう。20分に及ぶ、苦しみながらの口述をノートに記した。
「島」の別の場所から救助が来て、重症の五位鷺は「島」の病院に搬送された。それ以来、誰も五位鷺の姿を見る者はない。
父から、父の仕事を聴くことがある。「島」の施設にオフィス用品を提供することもある。独立行政法人らしい。「島」に商用で出向くこともあるという。「島」ではなにか医療施設があるようだ。
彼女のあれは、本当に破傷風だったのだろうか。私は見ないようにしていた。大抵のことは知っているつもりだった。だから目を瞑った。
あの時、彼女の顔に黥面が現れたように見えた。黥面なんてみたことないんだけれど、黥面という言葉が、あの学校で習った古い中国の文章に出てくる言葉が、唐国の人が東夷の異文化を表現した時の言葉が、ぴったりだった。そして目や髪や爪なんかも、この世のものとは思えない彩色になっていた。おそらく彩色されたものではない。紋様なんだろう。紋様だ。意味のある紋様のように思えた。おそらく全身に。が、なにも考えたくなかった。とにかく私の出来ることは現実的に知っていることだけで、ペニシリンを精製して投与することくらいだった。声すらかけられなかった。いつも一緒にいてくれたのに。うわごとで紡がれた呪文を必死に書き写した。そうして彼女と別れた。
最近生体ネットを経由してデータを違法にダウンロードし、肉体を強化する人が増えている。麻薬のようなもので歯止めが効かなくなり、やがて身体をコントロールできなくなる。そんな時、不思議なことに体に黥面のようにコードが浮き出る。Java。
「ウイルスはC#で作られてる」→「ゆうちゃんはC#の実務経験がない」→「C#ができないから犯人でない」みたいな議論があったときに「実務経験は関係ないだろ」って言ってる人が少なかったな。
「Java歴3年以上」みたいな募集をしてるSIerとかならともかく、はてな界隈のWeb系のひとたちなら言語の一つや二つ趣味で覚えられるって分かると思うけど。
:echo 1 / 0 :echo 0 / 0
2147483647 -2147483648
きっしょwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
他の言語もチェックしてみるか
package main import "fmt" func main() { fmt.Println(1 / 0) fmt.Println(0 / 0) }
echo 1 / 0; echo 0 / 0;
PHP Warning: Division by zero。
print 1 / 0 print 0 / 0
ZeroDivisionError: integer division or modulo by zero
print(1 / 0) print(0 / 0)
ZeroDivisionError: division by zero
nodejsだと1/0と0/0で異なるメッセージが表示された。
console.log(1 / 0);
Infinity
console.log(0 / 0);
luajitだとnodejsで表示されたメッセージの短縮形で表示された
print(1 / 0)
print(0 / 0)
main = do print(1 / 0)
Infinity
main = do print(0 / 0)
public class Test { public static void main(String[] args) { System.out.println(1 / 0); } }
public class Test { public static void main(String[] args) { System.out.println(0 / 0); } }
Exception in thread "main" java.lang.ArithmeticException: / by zero at Test.main(Test.java:3)
#!/bin/bash echo $((1 / 0)) echo $((0 / 0))
test.bash: 行 4: 1 / 0: 0 による除算です (エラーのあるトークンは "0") test.bash: 行 5: 0 / 0: 0 による除算です (エラーのあるトークンは "0")
haskellとnodejsとluajitはエラーにならないけどまあいい。
Vimはやべえよ。
人が少ないのか荒れないので質問と回答が成り立っている。
ム板のJavaスレやらWindows API系のスレは荒れまくってる。
もはや何のスレなのかわからないほどに荒れまくって過疎ってしまった。
どんな分野でも使える人が多くなるとやっぱり荒れる。
今はコミュニティーの多様化によって、2ちゃんねるでプログラミングの話題をする時代ではなくなった。
Yahoo知恵袋ってさ人を見下すような喧嘩腰の回答者いるよね。
ひどいカテゴリはPHP、Linuxかな。他はあんまり覗いてないからよく知らない。
初心者がびびってるのか面倒くさいのか無理やりベストアンサーにしてるケースとかもあるよね。
ただの説教とか、ググレカスとか、こんなものは回答じゃないんだよ。
回答になってない文章を世の中に出荷しないでほしい。
無理に回答でもない文章を書き込まなくてもいいんだよゴミになるだけだから。
飽きたからもう見てないけどさ。
人が増えればコミュニティーも荒れるだろう。
荒れたら閉鎖的にならざるを得なくなる。
ぼくの場合はオムニ補完とコードチェックとコメントアウト機能の3タイプが必要だ。
コードチェックはVimでやらなくてもいいんだけどquickfixでさくっとエラーの場所に飛びたいのでsyntasticは外せない。
補完についてはtern for vimとかjava-complete2など特定の言語に特化したもの。
補完自体の機能はVim本体で十分強力だからneocompleteもyoucompletemeも入れてない。あいまい検索ができるのは便利だと思うけどね。なくても困らない。
そして次の優先度としてVimにバンドルされているVimファイルでは物足りない機能を補強するプラグインをインストールしている。
pythonの場合だと標準のインデントではへんなインデントになるのでhynek/vim-python-pep8-indentを入れている。
プラグイン管理の楽がしたいのでvim-plugを使用している。
syntax系はこだわりがないので一切入れない。
大切なことはそのプラグインを入れなければいけない理由が言えるかどうかってこと。
パフォーマンスに影響ないなら気にせずにどんどん入れてもいいと思う。
先ずどの環境で作るかを考える。
AndroidならJava、iOSならSwift、ブラウザならJavaScript、MacやWindowsもある。
どれにしても習得するのはそこそこ難しい。
難しい。頂点シェーダー・フラグメントシェーダーも書く必要がある。
AndroidやiOSのライブラリに余りいいものはないかもしれない。
WebGLならThree.jsがメジャー(シェーダーも自分で書かなくてもいい)。もっと小さいライブラリもある。
JavaScriptプログラムをAndroidやiOSやパソコンで動かす事もできる。
勉強している内にUnityを使ったほうがいいかなとか色々思うだろう。
そうで無くても、GUIプログラミングは全てが一つのプログラムに入り複雑。
ここまで認識するようになるのに1年ほどかかるだろう。
(何か環境を一つに決めて初心者用の本の通りにすれば短期間でできるが。)
処理ごとにファイル出力して(メモリより時間がかかるが)分離しやすい場合も多い。
Rなどでのプログラムも案外手軽にできる。