はてなキーワード: javaとは
C# Objctive-cだけ使う
VisualStudio Xcodeだけ使う
VisualStudio Xcodeを機能をフル活用する
WindowsServerを使う
デザパタを覚える
コミュニケーションはredMine,イラレGit Svnを使う
動的言語は使わない。
動的本をすべて捨てる(人の手に渡るような捨て方はしない ちり紙交換がよい)
動的DBは使わない。リレーションのない動的DBは使わない(mongoDBやNoSQL系)
動的オープンを紹介してくるメデイアのステマに気づき騙されない
Silerが勧めてくる技術は独立できない技術だからやらない 関わらない
職務経歴書に黒歴史(PHP Java JavaScript Ruby RoR Html5)を書かない
PHP Java JavaScript Ruby RoR Html5の仕事は請け負わない
動的言語をこれ以上広げるな 罪を重ねるな 脆弱性をばら撒くな トラブルを撒くな
セキュリティに問題のある動的言語はどこにいってもトラブルになる
原発のシステムにRuby,PHP,JavaScriptを使いたいと思うか?Silerはなら提案してくるだろう儲かるから
使えば必ず原発はハックされる
C# ASP.netは2007年頃から海外では大流行だった 一方日本のメディアは盛んにLAMP!LAMP!RoR!RoR!煽っていた
C#(静的言語)は14年前のソースが今でも使うことができる。VisualStudioにはソースを自動バージョンアップ機能があり書き換えてくれる。 コードが負債にならない コンパイル時バグがわかる DLLのバージョンをチェックしてくれる ブレイクポイント リモートデバッグ
動的言語・オープン系は 手作業で直す どこにバグあるか実行しないとわからない 脆弱性が出るたび バージョンアップ、機能追加のたびに修正することになる リファクタが使えない 負債言語
この数字を見て動的言語関係者はびっくりしているだろう。 14年前のPHPソース 使えると思うか?関係者は首を横に振るだろう。時間と人手をかけて改修すれば使えるかもしれない(多くの場合作り直したほうが安上がりという結論になると思うが) 脆弱性や仕様変更がたくさん埋まっているソースだ 修正には手間と時間と予算がかかる
C#なら一瞬で最新の.netフレームワークのバージョンに書き換えてくれる。エラーや警告の表示も一緒に出力されるから手直しが簡単
&blanklink(PHPを捨てたほういい理由){http://www.slideshare.net/neuecc/c-22979400?v=qf2&b=&from_search=42}
今はRoRのステマが醜くそれに騙されて使ってしまった人がいるが、今後、仕様変更やバグ、脆弱性は出続け、そのたびに全ソースを検索し手動で手直しをしなければならなくなる それは新しいことをやっている時に起こるだろうし、今やっている新しいことが負債に変わる。作れば作るほど負債が増え、前に進むことができなくなる言語 それが動的言語 メンテナンスが常に必要でほっとけばハックされる。保守や改修に人が多く必要で中間業者は儲かるのでメディアや無料育成を通して広めてくる 煽っておいて自己責任の国 日本
静的言語のサーバーサイドで何がいいかというと 自分は C# Asp.net(asmx or webApi) Ado.net 接続 & 非接続のDataSet 管理.exeアプリ(C# WinForms)をお勧めする やり方
もうお分かりいただけただろうか?動的言語とはSilerが定期的に仕事を得るために広めたガラクタ言語だったということを この言語をいつまでも高い稼働の保守作業が必要だ。機能追加、言語の仕様変更、脆弱性を修正するのにお金も時間もかかる Silerはパンク屋だったのだ。 メーカー製の静的言語を使えばここまで時間も手間もかからなかった。
これ以上元請けはSilerが言われるがままにガラクタ言語を導入しないほうがいいだろう。技術者はSilerが無料で教育してくれるからといってガラクタ言語を学ぶのはやめたほうがいい。(洗脳されて信者になるな) 特に技術者はこの言語をマスターしたからといって独立はできない。なぜなら、5人以上のプログラマーが働いてやっと出来上がるものがほとんどだ。手間がかかるということは自分が一番よくわかっているはずだ。言語とともに使い捨てられる運命にあるのだ。IT経営者やSilerはその方が都合がいい。こき使ってやめられても独立できないのだから。雇ってはこき使って使い捨てる。それに加えて酷いピンハネ。100万で売って7割以上搾取 一人送れば70万円入る世界だ。まさにIT版のねずみ講 上のしか儲からないようになっている。Silerにとって開発現場は炎上すればするだけよい。言語は脆弱性があればあるほどいい、システムが手間が掛かるなら掛かるほどいい その分人を送り込めるからだ。その辺にいる素人を適当に教育して3年開発の下駄はかせて送り、現場を炎上させて新たに人を送り込んで利益を得ている。
#1 PHPで改修しようにも簡単には改修できなくて、その間にハックされ情報が流出すること結構あるようだ @WikiはPHP
#2 2013年 Javaフレームワーク Strutsのサポートが終了した こういうフレームワークをメデイアで煽っておいて最後は自己責任される。オープン言語はやってはいけない
#3 これはどの業界にも言える事だが、気合い、根性の気合馬鹿から組織を乗っ取られないようにするにはどうすればいいか考えないといけない。コミュニケーションで社員を懐柔し組織を乗っ取った筋肉馬鹿は面倒なことを気合い根性で乗り切ろうするから失敗する。日本はそのしわ寄せがまず下くるから会社が壊れる。脳筋バカは最後まで居残る。(○ーイズ、○ルマー、○ニー、旧日本軍)タバコ室や残業は特定の社員を仲良くさせるからだめなんだろう 履歴書の項目が少ないのも問題なんだろう 理系か体育会系,血液型,さう脳とか履歴書は書く項目が少なすぎる
#5 仕事の最終目的はコミュニケーションではない コミュニケーションするコストが高いといつのまにかそれが目的に置き換わってしまう事がある。コミュニケーションの得意な奴が本当に優秀な人をさしおえて前にでてくることだってある。 RedMineイラレSVNなどでコミュニケーションコストを下げることで優秀な人が大声を張り上げなくても力を発揮できる環境を作るべきだ
#6 事務仕事のツール化、自動化、ロボット化、コミュニケーションコストを低くするツールの導入で、声が大きい人や事務だけ得意な人が権力を握ることを防ぐ事が出来る
#7思えばSiler業界は自分たちが儲かりがたいためにガラクタ言語(Java,PHP,RoR,Ruby,Js,Html5,Flash)に人材を誘導しすぎた。出来損ない言語の非効率な生産性と保守作業をしている間に社会の進化が遅れ世界とのソフト技術に差がついてしまった。人材も非効率的なスキルしか身に付かなかったしそれしかやらせてもらえなかった。
しょーもない言語を技術者に学ばせて社会の発展を止め、技術者を路頭に迷よわすよりも、有益な言語を一つだけ覚えさせ、いろんな業界で使い回した方が業界的にも技術者的にも幸せになれたはずだ
C#はロボットや組み込み機器,医療機器,WEB,スマートフォン,ゲーム,CG デスクトップアプリ,業務用ツール 様々なところで使う事ができるのだ。
特にロボットはMocrosoft Robotics StudioというVisualStudioのロボット版の開発環境が2006年頃から出ており、ロボット産業を発展させることだってできたのだ。(そのころのIT業界はJavaとLampが主)
http://gigazine.net/news/20121231-kiva-system/
それを開発している会社の採用情報 採用言語はC++ C# Java
http://www.kivasystems.com/careers-at-kiva/
PHP RoR JS Rubyなんてどこにも書いていない 数年もすれば仕様が変りバグや脆弱性を出す危ない言語だとわかっているのだろう こんな危ない言語は使ってはいけない
Mocrosoft Robotics Studio
http://www.saturn.dti.ne.jp/npaka/robotics/index.html
https://www.microsoft.com/en-us/download/details.aspx?id=29081
続きはWEBで
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言語なんて大嫌いだ。
ImageJ用のプラグインを書くために、デバッガを設定してコンパイルする方法まとめ。
大部分はtotobookさんのブログを参考にしたけど、3年半経つと変わっているところも増えるらしく、ちょこちょこ必要なステップが増えていた。
totobookさんのブログ: http://d.hatena.ne.jp/totobook/
ちなみに、書いたプラグインはITCNという自動細胞計測プラグインを拡張し、作業フォルダ内の画像をROIごとに全自動で計測し、結果をテキストファイル保存するというもの。
ITCN: http://www.bioimage.ucsb.edu/downloads/automatic-nuclei-counter-plug-in-for-imagej
(ア) http://d.hatena.ne.jp/totobook/20101028/1288277567
(イ) http://d.hatena.ne.jp/totobook/20101030/1288468881
(ア) これをしないとjava.lang.ClassNotFoundExceptionが出てくる
(イ) NetBeansになんか言われるけど無視。コンパイルは通る。
① http://support.apple.com/kb/dl1572
(イ) ツール>Javaプラットフォーム から、プラットフォームの追加でJava1.6を追加する。フォルダは探してください。
(ウ) プロジェクトの一番上(今回はImageJ)を右クリック>プロパティ>Javaソースのクラスパス Javaプラットフォームを、JDK1.6にする。
(ア) 以下のサイトにImageJで実装されているクラスの詳細が書いてある。けど、Google検索から探すのが手っ取り早い。
(イ) http://rsbweb.nih.gov/ij/developer/api/ij/ImageJ.html
(ア) http://d.hatena.ne.jp/totobook/20101030/1288468881
(ア) java.lang.ClassNotFoundException
① ソースファイル1行目のpackages plugins; を削除する。
② jar cvf などのコマンドでコンパイル済みファイルを圧縮すると何故か出てくる。圧縮せず使いましょう。
① ImageJのJavaをver1.7にする方法が見つからなかったので、NetBeansのJavaを1.6にする。詳しくは上に書いた。
HTMLとCSS, JavaScriptはちょっとだけ分かる
dotinstallとか見てブラウザでタイマー作ってわーいって喜んでるくらいのスキル感。
→本を買ってやるのは安上がりだけど途中で挫折しそう
→じゃあお金稼ぎながら学んだらいいんじゃ
バイト始めることになった
バイト始まる
課題を出されて、できたら業務に入れる
誰も教えてくれない
ググってググってググりまくる
ひーひー言いながら2~3週間でなんとか終えた
なんとかなった
このときくらいにパーフェクトPHPを読んだ。FWは、つくれる!
あーようするにURLを受け取って振り分けたり、DBからデータ引っ張ってきて画面に表示させたりするのね
分かった気になる←分かってない
GET/POSTでごにょごにょすればいいんだね楽勝だわ←全然分かってない
FuelPHPを聞きかじって、何をトチ狂ったのか在宅でwebサービスの受託をやる
まあ良い経験になった
フレームワークいくつかやって、web開発のいろんな概念やtipsがたくさん頭に入ってきて、
あーあれかーくらいには思えるようになった
DBのCRUD操作, ORM, DBマイグレーション, RESTfulとは, コマンドラインでコード生成,認証周りのプラクティス ...
さて、バイトが本格的?になってくる
一人で開発 責任おもい
でもなんか躓いた。
書いたコードに自信が持てない
これでいいのか不安になって手が進まない
セキュリティで手直しはたくさんもらった
フレームワークにはDB操作のライブラリがちゃんとついてるのにそれ見ずに自分でSQL組み立てて案の定エスケープしてないし、とか
でも、なんとか完成させた
プッシュして、マージされて、できちんと本番環境で動いてる。やったね。
Rubyを知った
PHPと違って()が殆ど無いし、;ないし、do~endとか何だよって感じだった。
Railsも知った
それからは空いている時間の大半をRubyとRailsにつぎ込んだ
まずはRailsTutorialをやってみた
テスト周りでつまづいたけどなんとか終わらせた
dotinstallやらミニツクやら、検索して出てきた記事・チュートリアルはとりあえず手をつけて学んだ
はじめはRubyを理解せずにRailsをやっていたけど、すぐにRuby自体に興味が出てきた
はじめてのRuby・はじめてのプログラミング・たのしいRuby・プログラミング言語Ruby... 入門系の本を乱読した
PHPでさんざん苦労していたからか、Rubyでオブジェクト指向を学ぶとなんの無理もなく頭に入ってきた
その後、パーフェクトRubyで標準ライブラリやらGemやらSinatra(支那虎じゃなかった)やらについて学んだり、
メタプログラミングRubyで黒魔術を学んだりした。巻頭のMatzの言葉痺れたなー
バイトのほうも何とかこなせるようになってきた 成長すげー
Vagrantをかじる
AWSでいろいろ遊ぶ
webスクレイピングとか検索APIとか使ってムフフな画像をアハーンしたりして遊んでた
Rubyで言語をつくろうだの、スクリプティングを極めようだの、JavaとRubyがどうだの。
メタプログラミングだの、デザインパターンだの、テストだの、リファクタリングだの。
借りられる本は借りて済ませた。全部買ってると破産する
他にもRubyとつかない本もいろいろ。
プログラマが知りたい97の何とか。いい本
Rubyの関数オブジェクトからのつながりで関数型プログラミングにも手が伸びる
OOPと全く違う。
就活はじめるよー
まあ、エンジニア枠で探すことにする
エントリーめんどくさい
ので、1社受けて落ちたら次の会社エントリーするという作戦にした
無計画玉砕作戦
とはいえ、なんとかなると思ってやってく
気を揉む期間
やたらパララックスつかってゴテゴテにしてるわりに、何が言いたいのか伝わってこない
せめてよく使ってる言語くらいはのっけておいて欲しい。
で、1社選んで応募して、選考が始まった
面接、失敗したなと思ったところもあったが
嘘つかない
知らないことを知ってるように話さない
は通せたので良かったと思う。
で、進んでいって最終面接。これもなんかよく分からないうちに終わってた
相手が適宜フォロー入れて話しやすいようにしてくれたのは覚えてる
うん、ぜひ当社にご入社いただけたらと思いますとのこと。やったね。
前から気になってた会社ではあった。勝手にリスペクトしてた会社。
自分が憧れてる技術者さんたちが在籍してる会社でこれから働くことができる
いろいろと運が良かった。嬉しい
他の会社はどうしようかな。
受けてみたい気もするけれど、エントリーがめんどくさい
続けるかどうかは未定だけど、ひとまず休憩することにする
何が言いたいのか分からないが、サーバー的な所で作業する、ってのはファイル編集なんてのは別にメインじゃないんですが?
その中で、さくっとファイル開いてちょちょっと編集するのにViとかが便利だった、って話で、軽いから。
今やサーバーとは言ってもある程度余裕あるし、それこそVimが普通に入ってるし、Emacsだって余裕だろうし。
てか、NetbeansはJavaだけじゃないっすか、便利なの。
Java使わない時には何にもいみないじゃないっすか。
Cとかメインの人でNetbeansな人ってほとんど居ないでしょ。知らないけど。
俺の経験から、プログラミングスキルがある奴とない奴の特徴を書いていく。これからプログラマの学校に行きたいと思ってる人の参考になればと思う。断っておくが、今回話すのは「プログラミング」のスキルについてだ。職業プログラマについてはマイナビでも見てくれ。一応俺の自己紹介。俺はプログラミングの専門卒業して、今はプログラマーやってる。自慢ではなく、事実だけを述べれば同級生でプログラミングのスキルは俺がダントツだった。
よく勘違いされるんだよね。プログラミングやってるから数学できるんですよねーとか。違うからな。プログラミングは一言で言うとコンピュータとの対話なんだ。そしてプログラミング言語はコンピュータと会話するための言葉。数学というよりは、国語に近いな。あと論理的思考力。とにかく物事をフワフワしたものじゃなくて、図形として構造的に考えることが重要なんだ。下の図を参考にしてもらいたい。
http://www.mhlw.go.jp/shingi/2004/04/images/s0414-5g.gif
これは学校によって加減はあるが、就職率が優秀な学校ほどこの傾向が強い。ITに国家試験では基本情報技術者試験を筆頭に、高いレベルのものが沢山あるんだ。基本情報とったら次応用情報とか。バリバリやらされる。俺の学校では入学して半年間はほとんど座学の勉強だった。
よく言われる話だが、職業プログラマーにはコミュニケーション能力が必要だ。特に日本の場合大規模な物を大人数で作ることが多い。だから個人のスキルよりも全体にいかに合わせられるかが重要なのだ。ゼネコン構造の最底辺のプログラマーでさえ、プログラミングスキルよりは上司や同僚と打ち解ける力や分からないことを聞きにいけるスキルが重要なのだ。※ちなみにアメリカでは逆で、高収入なプログラマーほどコードを書いてるらしい。
実際、俺の学校でもプログラミングが得意な先輩ほどボサボサの髪で学校はいつも遅刻してた。そういう俺も人のこといえないくらいだらしなかったが。就職につよいのは、そこそこITのこと知ってて、普通に話せて、外観もスッキリしてる奴だ。
とりあえず言いたいことは上の3つだ。最後に付け加えるとしたら、「プログラミング」はめちゃくちゃ楽しいってこと。おそらく専門ではJAVAとかいう退屈な言語をやれされてプログラミングが嫌いになるだろう。しかしそこで自分で一歩踏み出して色々な言語をやって欲しいと思う。質問があれば答える。
http://getlife.hateblo.jp/entry/2014/02/06/030300
こういう無知なおっさんが居るから、日本のIT業には魅力がないのだよなぁ、という印象
自分はプログラマというよりは、どちらかというと研究で飯を食ってる非SIのエンジニア
このブログの著者のおっさんが言うところの、プラスアルファは手に入れてる側ではあるんでしょう
普通のプログラマであることでは、差別化が出来ないと考えたからこそ様々な挑戦を繰り返し
基本的には、実装スキルのない人間の設計などはものの役に立たない、という所は同意して貰えるだろうけど
逆に、コーディング以外の技術、例えば無知なおっさんが例にだしてるデータサイエンティストであれば
統計だの機械学習の学術的な知識、体系だって勉強してきた数学力がなければ、まともな設計はできない。
各アルゴリズムがどんな計算をしていて、どの程度の計算量を要求し、どの程度の資源を求めるか、誤差はどうか、
負荷はスケールアウト出来るのか、他にいい手法は存在しないか、といった知識は一朝一夕には手に入らない
実際のコードをイメージしながら、各モジュール群を適切に設計し運用するには、どちらかでは不足がある
つまりコーディングスキルを含めた言語などの道具への理解と、それを使った技術力、そして経験は不可分のもので
揃ってやっと1人前の”プログラマ”と呼べる。そういう人間だからこそ、高給取りになれる。
プログラマ=コーダという認識は、プログラマという職業や技術を軽視しすぎている人間に見られる
結局のところ、プログラムを書く人(=コーダ)ではなく、プログラムを使ってビジネスが出来る人(≠コーダ)が生き残るって面では日米大差ありません。
ちっちゃい商売で食えてることがこの人の自慢なんだろうけど、これこそが日本のSierがゴミな理由だ
世の中にどんな技術があり、どんな研究が進んでいて、何が出来て、何が出来ていないのか?
それを知らない人間が良くこういうことを言う、顧客のニーズを汲み取れるだけでビジネス(笑)が生まれるとかないでしょ
例をあげると、海外ではCADのソフトの研究開発は盛んだけど、もう国内では殆ど生き残ってない。
国内には世界的な自動車メーカーがあれほどあるにも関わらず、CADソフトは国内には著名なソフトがない
こういう例には枚挙にいとまがない。日本のゲーム企業は世界的だがそこで使われている、ツールやらレンダラは海外製だし
SIerお得意のビジネス(笑)を生み出す、クラウド、分散コンピューティング関係でも、OpenMPIなど海外製だ
GitもMercurialも海外で生まれているし、OpenCVを初めとした画像認識ソフトやその技術も海外で生まれている
カメラによる画像認識で車や人を判断してブレーキする車は日本で作られるが、その根幹を為すアルゴリズムは
海外の研究者やらエンジニアが作っている訳だ。広大の栗田先生など一部例外はあるけれど。
それぞれ、SIerが言うビジネス(笑)なんか比較にならないほどの市場規模を持っているのに、それらを無視してビジネスとはなんだろうか?w
電機・機械系では、研究開発が盛んで、技術と儲けることは不可分なのに、IT業界だけはどういうわけか
ビジネスとは技術を何一つしらない無知なおっさんが作るものであるらしい
本物のプログラマにとっては、全く魅力がない、そんな業界な訳だ
お客からしたら技術の中身なんかぶっちゃけどうでもいいんです。JAVA で書こうが、Cで書こうが、COBOLで書こうが、そこに価値の本質はないから。
道具というのは、それを適切に選択して使ってこそ価値がある。
フランスではOCAMLが普及しているが、なぜだか考えたことがあるか?
何を選択すればコストが抑えられるかをすら考えたことすらない
言語なんかなんでも一緒?w
なるほど、鋸でなくともノミでも木は切れるだろうなw
切断面の美しさやかかった時間などは客には関係ない、切れてさえいればいいかw
お客にとっては技術などは確かにどうでもいい、しかし、それを上回る製品がないという前提だ
どうやって世界と伍して戦う?
どうやって他の製品を上回る?
微々たる使い勝手の差などは、技術力の差の前では圧倒的に無力だということは
データベースはオラクルだのSQLに依存し、製品ではSAPなどに完敗を喫し続けているSIerこそ理解すべきだろう
本当にビジネスを作る、というのが、技術と不可分なのは言うまでもない。
もちろん、その技術にはコーディングスキルも含まれている、という当たり前の話です。
オッサン論法でいけば、SIerがサービスとして提供するものと、同一の機能を持った製品との間の明確な区分など
客には存在しない。どっちのほうが凄くて安いか、だ。
そんで、もう、そういう勝負に負けまくってるのがSIer、技術で勝てないから安さで勝負するために
オフショアに必死になったり、ブラック企業化してプログラマを潰しては、ますます技術力とサヨナラしていってるね
http://anond.hatelabo.jp/20140206172641
普通は「IT系」って企業の一部門だし実際日本でも自動車メーカーやら電機メーカーやらゲーム会社やら内部でプログラマーを雇用して国際的な成果も上げてる企業なんていくらでもあるんですよね。
全くだな。
技術力をもった企業やエンジニアがフィーチャーされるべきなんだが、例えばゲーム屋だと
プロデューサーだのディレクターだのが表に出て学生のあこがれの対象になるし、
他もプロマネが表に出てくる事が多いので、文系職の比重の高さが問題なんでは・・・みたいな方向になるよな
大手でもホンダ、ソニー、日立など、研究部門が成果を上げている、中規模でもデンソーとか良い企業もあるし
小さい会社だと、先日googleに買われたシャフトとか、CADのラティスとか、モーションポートレイトなど、固有技術で食ってる会社もある
Javaって最初は大変だけど、徐々に楽になっていく言語だと思う。大規模はもちろん、小規模でも。
ここで言われているような、Javaでも大丈夫な案件というレベルなら
どれでもいいなら、富士ソフトABCなんかが多く抱えているエンジニアが使える言語が採用されるだろ。
「大規模開発に向いてる」なんていってない。「大規模開発にも使える」といっている。
はっきりいって、世にあふれる軽量言語は大規模開発には使えない。
根拠の一つは、大規模ソフトウェアの代表であるIDEだ。私は、軽量言語の中で主要な開発環境として自身で実装されたIDEが使用されている例を知らない。Python IDELを常用している人は少ないだろうし、Emacs Lispを軽量言語にふくめていいかも疑問だ。PHPでかかれたPHP開発環境があるか? PerlでかかれたPerl開発環境は広く使われているか?
(この点、Visual Studioで開発されているVisual Studioは立派な環境だと思う)
Javaは軽量言語でできることの大部分を同じようにこなせる。そのうえ大規模開発にも使える、といっているのだ。同じように「奴隷向け言語」ともいってない。「奴隷でもつかえる言語」といっている。
誤読されているようなので一部修正
----
http://b.hatena.ne.jp/entry/koduki.hatenablog.com/entry/2014/02/01/192819
こういうJavaの良しあしの話題のときに必ずあらわれる「大規模開発に向いてる」という人たち。
レベルの低い(安い)プログラマに作らせるのに「チェックが厳しいから」「スタイルを強制できるから」向いてるって話ね。
Javaの良さをしぶしぶ認めざるを得ない人たちが悔し紛れに言ってるとしか思えない。
オブジェクト指向らしいコードを書けるプログラマはJavaで書いてもPythonで書いてもオブジェクト指向らしいコードを書けるし、書けないプログラマはJavaで書かせようがRubyで書かせようが書けない。
JavaのIDEや各種チェック機能も「有能なプログラマには無駄な機能で、残念なプログラマ専用」ってわけじゃない。
口汚い人がJavaを「奴隷向け言語」と言っていたのを見たことあるけど、むしろ機械にやらせられる仕事を人間が目をさらのようにしてやらなければならない言語のほうが非人間的だと思う。
「たとえレベルが低くてもとりあえず数を集められる」みたいな言語と関係ない理由ならともかく、言語機能から見たら「レベルを問わないで人海戦術的にプログラマを投入する大規模開発に向いてる」みたいな言説は完全に間違い。
なんか偉そうに書いてみた。
SFCには頭がおかしいプログラミング言語使いがたくさんいる。特に研究室に入ると、バイトでバリバリ書いている人間や、研究や趣味でライブラリを量産する人間に出会うこともあるだろう。彼らに惑わされてはいけない。最初は彼らの言っていることは一つも理解できないだろう、理解する必要は無い。彼らはプロダクションで安定するかどうかという縛りから自由だ。流行り廃りに敏感で、昨日言ってることと今日言ってることが違う。
これは実際に手を動かして使ってみて好感触かどうかささっと確かめられる人間だからできることで、プログラミングできない人がこれについていこうとしたら間違いなくプログラミングが嫌いになる。
こういう言葉に惑わされるな、コードを書くための勉強をするな、コードを書け。
できる人は概ね、できない人の気持ちがわからない。受動的になるな。積極的に書け。
「プログラミングなんて特殊技能で、少なくとも教養じゃないでしょ..」という認識が横行している今だけのチャンスとも言える。
webプログラミングができると「技術的には簡単だがアイデア一発で作ってみた」もので、ほんのちょっとだけ有名になれる可能性がある。論文を書いて学会に投稿したりニュースになったりするよりも、よっぽどお手軽に(一部での)社会的ステータスを高めることができる(かもしれない)。
↓ こういうのでいい(失礼だが)。
こう言っている人間を見て何を思うだろうか。
「いや少しずつでいいから今やれよ」とか「英語できたらもっと世界ひろがるのに..」とか「大学生なのにそれで恥ずかしくないの」とか思うかもしれない。
知らない世界を知らずにいることは大いなる機会損失である。プログラミングに金はいらない。金はないけど時間はある、時間を大量投入できる最後の機会、大学生である内に学んでおいた方が望ましい。
基本的なスタンスとして、講義ではプログラミングを教えてはくれない。講義に期待するな。プログラミングに限らず、全ての講義は自習への足がかりであり、興味のとっかかりである。実際に意思を持って積極的にコードを書かない限りプログラミングのことは好きになれない。自分で考えながら手を動かしてコードを書かなければ覚えないし、初学者が配られたプリントを写経しても血肉にならない。
「今日から俺は!」という感じでプログラミング講義を受けると爆死は約束された未来である。「腕試ししよう」「これなら楽勝じゃろ」という意気込みで講義を受けると、意外に学ぶことが多い。完全な初学者の域は脱しておいた方が講義は有効的に活用できる。少なくとも、最初の2週間をインストールと環境構築のみで終わらせるスジの悪い講義を取得してはいけない。
また、講師によってはJavaScriptのことをJavaと呼称したり、JavaScriptはLispに比べて読解が平易であるためハッキングを受けやすいと言ったことを平然と言ってのける。選別にあたっては「講義名」と「講師名」を明言した上で「先輩に聞く」「Twitterを活用する」等の手段をとるべきである。十二分に注意されたし。
道具を選ばないのはプロだけである。初学者は多少高くても自分をサポートしてくれる良いマシンを入手すべきである。1行のコードを書くだけでも恐ろしい手数が必要なアーキテクチャを選択するのは愚行だ。
モデルは何でもいい、無理して上位機種を買う必要は無い。お金が余ってるならMacBookProを買えばいいし、勿論一番安いMacBookAirでも全く問題ない。特にweb系のコードを書く際、インターネットで検索して出てくる記事はだいたい「OSがUNIX系であること」を前提としたサンプルである。これをWindowsの開発環境に読み替えるのは、初学者に取ってつらいだろう。
また、Macならばパフォーマンスは多少犠牲になるがwindowsも起動できる。どうしても光学機器が必要になればCNSコンサルタントで外部接続式の光学機器を貸し出してくれる。Macが気に入らなくてもどうせ研究が射程に入る3年生に上がったぐらいのタイミングでPCを買い替えるだろう。バイトして稼いだ金で「俺の考えた最強のマシン」に買い替えればいい。それまではMacを使え。
OSに固有の使い方なんて学ぶ価値はない、覚える価値も無い、操作時間が短縮されるだけだ。「普通の会社はWindowsなんでしょう?」というくだらない理由でWindowsPCを選択肢の第一候補にするな。Windowsを買うなら積極的選択としてWindowsを買え。
SFCにおいて、PCは毎日抱えて通学し、毎日開いて講義を受け、苦楽を共にする相棒だ。消極的に選択するな。
SFCには「共同購入PC」という制度がある、これを利用してはいけない。
もし要件が変更され、Macがラインナップに入れば積極的に利用するべきである。
条件を示す。
見た目に変化が無いと楽しくないだろう、こんなのを実行しても何も楽しくないはずだ。
#include <stdio.h> int main() { int a; a = 1 + 1; printf("%d", a); }
マイナーな言語を選択してはいけない。「ライトウェイト言語」と呼ばれるくくりから選択肢するのがいいだろう、以下のようなものがある。
中でもjavascriptとrubyは推薦できる、SFCでも書いている人間は多い。
phpとperlはおすすめできない。ドキュメントは多いが、不慣れであればロジック以外に割かれる労力が非常に多い。pythonは日本語のドキュメントが少ないため最初はつらいだろう。
最初にjavascriptをやるのは理に適っている。index.htmlというファイルを作り、scriptタグの中にコードを書き、ブラウザでindex.htmlを開けばもう実行されている。web上のドキュメント量も豊富だ。
rubyも推薦できるが、少なくとも「自分でHTTPサーバを立てる」という言葉にピンと来るようになってから使い始めた方がいいだろう。きっと何をしていいかわからないはずだ。
他にもProcessing(http://processing.org)などが推薦できる。ダウンロードに時間がかかるだけでインストール作業は必要ない。こちらに関しては旧プロダクト名である「proce55ing」をキーワードに検索すると記事が引っかかりやすいという暗黙のルールがあった、今はどうだか知らない。
最近ではnode.jsの採用事例も増えてきた(他に比べれば圧倒的少数、増加傾向にあるという意味)。クライアントでもサーバでも活躍できるjsは学習コストパフォーマンスが高いと思われる。
書ける言語は一つにしぼってはいけない。なるべくたくさんの言語を使ってみよ。ブログ記事を読みあさり、「その言語は何が得意なのか」調査しろ。不得意なことをその言語にやらせるな。
下記のような上達ストーリーが考えられる。
例えばpythonは音響処理や数学計算が得意だったりする。そういった特徴を徐々につかみながら書ける言語の種類を増やし、好きな言語を見つけて好きな言語のことをもっと好きになればいい。
自分が好きな言語のことを胸を張って自慢できるようになったなら、あなたは既に初学者ではない。
人に聞くとvimやemacsを推薦されるかもしれない。もしそれを使ったことが無いなら、あるいは「プラグインの導入方法がわからない」なら、やめろ。Terminalを開かなくても書けるGUIアプリのテキストエディタを使え。
具体的にはSublimeText(http://www.sublimetext.com/3)を使うのがよい、無料である。
ライセンスが必要だが、起動時に「買ってね!」というダイアログが出続けるだけで無料で使用し続けられる。信頼できるエディタだと思ったら買えばいい。
SublimeText3にPackageControlというものを導入すると、標準で備わっていない機能を拡張できるようになる。こちらのブログ(http://p.tl/Ev7b)の「インストール手順」セクションのみを実行する。たとえば「Jadeという言語を、文法に従って色付けしてほしい(SyntaxColoring)が、その機能が無い」という時に、「Jade用プラグイン」をSublimeText内で検索し、インストールすることができる。
もし使い方がわからないければ、回りにいる「プログラミングができる優しい人」に上の記事を見せ「インストールしてくれませんか?」と頼んでみろ。きっと戸惑いながらも正しい操作をしてくれるだろう、一挙手一投足を見逃さず学べ。
エロ画像を集め続けるツールが欲しいとする。どうやったらいいか考える。クライアントjsだけでは限界が来る。rubyなど別の言語を試すステップを踏む。
http://www.slideshare.net/shokai/ss-26387303
プログラマ同士じゃないと伝わりにくい用語が頻発すると思う。逐一人に聞いていてはラチが開かない。人に聞くな、適当に読み飛ばせ。
ブログ記事は本ではない、それを読解しなければならない理由はない。適当にはてブでもつけといて、次の記事を読め。たくさん読めば共通項が見えるだろう、コードが書けるようになるに従い読めるようになるだろう。
みんなが息をするようにコード書いてさ、みんなでしあわせになろうよ。
お仕事は?
どんな技術があるの?
→高専までで使ったことのある言語はC/android/C#/C++/javaなどなど
→業務経験では、node.js/JavaScript/PHP/chefなどなど
どこが嫌か?
あくまで、生きるための手段であって、生きる目的ではない。
だが、社長は仕事が生きる目的であって、それを僕にも矯正してくる。
2,同僚が嫌
考えなしに、酷い事(嫌味)を自分はオモシロイと思って、言いまくる素敵な社員
3,クソPMがいる事
そのPMは、今仕事が無いので、社内では、もっぱら艦こればかりやってる。
しかも、PMの経験が豊かか?というと、アジャイル開発やスクラム開発、ウォーターフォール開発等の言葉も知らないらしい。
しかし、ヤバイのは、そんな僕でも出来ちゃうような状態の酷さのくせに、我が物顔で、僕に説教をしてくる。
正直、キレそうになる。
あのな、お前そんなんじゃ、少なくとも俺は、お前の指示聞きたくないぞ。
つうか、お前、俺より無能のくせに、俺のことを、お前っていうな。名前で呼べ、アタリマエのことだろ。
4,クライアントが嫌
クライアントが日本語が不自由な人で、質問をすると、キレてくる。(日本人です。)
お前の社内チャットの文面、いつも体言止めで終わってて、本当に意味不明なんだよ。
例
高橋さん DシステムのXX機能
(このあと、返信するまで、何もなし)
XX機能がどうしたよ!何が言いてえんだよ!!!1111意味がわからないんだよ。
頼むよ。続きの文面書いてよ・・・。エスパーじゃないからわからないんだよ。
はぁ、転職したい。
年明け出社したくないよ・・・。