リクルートの「2016年おすすめプログラミング言語」、1位はJava 108
下手に手を出してはいけない話題に 部門より
リクルートテクノロジーズは17日、ITエンジニアを対象に行った「2016年おすすめプログラミング言語」のアンケート結果を発表、2項目のうちいずれもJavaが最多を獲得し首位という結果となった(CodeZineの記事)。
このアンケートは、3言語以上を勉強したことがある全国の20代~40代のITエンジニア507名を対象にインターネット調査で取得されたもの。「初めて習得する人に一番おすすめのプログラミング言語」と「これから最も重要になりそうなプログラミング言語」の2項目について、ランキングが公開された。
まず「初めて習得する人に一番おすすめのプログラミング言語」では、1位がJava (17.4%)、2位がC (14.4%) で、以下VB.NET、C#、VB、PHP、VBA、HTML、C++ JavaScriptと続いている。次に「これから最も重要になりそうなプログラミング言語」だが、1位は同じくJava(26.9%)、2位は変わってJavaScript(8.7%)となり、以下C#、Ruby、HTML、Python、PHP、VB.NET、Objective-C、Cとなっている。 Javaの評価が高い理由としては、利用頻度の高さや情報の充実さ、比較的シンプルな言語であることなどが挙げられている。またVB系が初心者におすすめとされる一方、重要度ランキングでは姿を消し、代わってRubyやPythonが入っているところも興味深い。
なお、その後リクルートテクノロジーズはこの結果について「内容に一部不適切と思われる表現が含まれておりました」としてこのプレスリリースを撤回、代わりに「お詫びとお知らせ」という文章を出している。Javaに対し「Android, iPhone の開発で使用されるため」というコメントが付いていたり、C#に対し「ブラウザを問わず使えるから」というコメントが付いていたり、HTMLがプログラミング言語として挙げられているなど、内容について色々とツッコミが入っていることを受けての対応ではないかと思われる。
汗; (スコア:3)
Re:汗; (スコア:1)
Assembly languageはTIOBE Indexの上位15項目(20項目の間違いのようですが...)から作成した事前調査に含まれていた項目。
その他の雪面では事前調査において6名以上が回答した項目と書いてあります。
つまりAssembly languageがアセンブラではないと判断して「その他(自由回答)」として答えた人がそれだけいたということですね。
HTMLも設問作成者がアホなんじゃなくて、事前調査の回答者がプログラミング言語として挙げたってことですよ、コレ。
しかし2500人も対象にした事前調査でABAPやPower Builder,PL/IにRPGなんて言語でも6名以上のユーザーが経験ありと回答してるのに、
かすりもしない言語がたくさんあるのはどういうことなんでしょう。新進の言語に限らず、SmalltalkやAwk、Shellなんかも見当たりませんし...。
どんな層にアンケート取ったのか気になります。
# そもそも日本のIT現場を支えるプログラマなんてそんなものなのか
あれ…? (スコア:3)
Re:あれ…? (スコア:2)
そうそう、FORTRANやLISPは愛されているからこそ、歌まである。
Re:あれ…? (スコア:1)
スターウォーズが売れてるんだからFORTHだっていけるんじゃね。
これでキミもジェダイの騎士だ。
Re:あれ…? (スコア:2)
私はソースを使っている。
Luke Vaxhacker
Re:あれ…? (スコア:2, すばらしい洞察)
Sourceの暗黒面に堕ちないようにな。
Re: (スコア:0)
Don't think... write!
Re: (スコア:0)
FORTRANの歌って、ヤッホーFORTRAN RAN RANって奴?
昔俺が作詞して鼻歌で歌ってた曲なんだけど、なんで知ってるの?
Re:あれ…? (スコア:2)
39年前のFACOMのFORTRANの教科書には載っていたが…
Re:あれ…? (スコア:1)
いわゆる「コボラー」はホッパー准将閣下に比べたら愛されていないかもしれない。
選択肢の位置バイアスが結構有りそうな (スコア:3)
頭からなめて、とりあえず名称を知っているのを選択しがちなアレ。
Re:選択肢 (スコア:2)
だから、面倒でチェックを入れていない説...。
読むことで「多大なご迷惑」とは (スコア:2)
読むだけで多大な迷惑を被るとは凄まじいな。
公開直後に突っ込み多数で削除、「内容を精査します」とは、何かを思い出すけど [srad.jp]
何かを思い出すサブツリー (スコア:0)
公開直後に突っ込み多数で削除、「内容を精査します」とは、何かを思い出すけど [developers.srad.jp]
とりあえず現実的ではあると思う。 (スコア:1)
調べてるのがリクルート、尋ねた先も
現業のエンジニアと言う事で、面白くはないけど現実解かなと。
ただいつも気になるのは、たまに見る
「Java出来ますか?」「出来ます」みたいな会話。
現場としては、public static void main なだけの
コードをわんさか書いて「Java出来ます」とか言われても
正直困ったりする。
前に「Java歴10年、でもDIコンテナって何ですか?」みたいな
人が協力会社に居て、正直お願いする内容に困った
と言う経験がある。
Re: (スコア:0)
> 「Java歴10年、でもDIコンテナって何ですか?」
俺やんけ!
DIの何がうれしいのかはよく分かるし @Inject とか結構使うし
自分でDI機能つきアプリケーションコンテナ的なもの作れと言われれば多分作れそうな気がするけど
改めて「DIコンテナとは何か」を語ろうとしても、ぜんぜん語れん。
俺が知ってる「DI」にまつわるエトセトラのうち、
どの部分が「DIコンテナ」とかいう名前を付けられてるんだろうな?
Re: (スコア:0)
オブジェクト指向だとか、C++ だとかに置き換えてもおなじ。
多分、わかっているし、使えているのだけど、本当にそれでいいのかっていう不安は、理解がすすむほど大きくなる。
不安が減るほうの段階の人は、だいたいのケースで、何もわかってない。
# 世の中には10年やってても、オブジェクト指向で一番大事なのがカプセル化だとか言っちゃうレベルの人もいるわけなので、、、
Re:とりあえず現実的ではあると思う。 (スコア:1)
>オブジェクト指向で一番大事なのがカプセル化
「一番大事」の定義がぶれているのが違和感の原因ではあるまいか。
とりあえず、オブジェクト指向っぽい機能のうち、
日常的に一番役に立ってくれると体感しているものはカプセル化でいいと思う。
他の定義をすればほかのものが一番大事になるだろう。
個人的に一番しっくりくる意見を言えば、
「一番大事」なのか決めて、いったい何の得があるのか。そこをまずはっきりしてほしい。
Re:とりあえず現実的ではあると思う。 (スコア:1)
その発言は知ってますよ。
ここでの「一番大事」の定義は、どれか一つだけ取り除いたら、どれだけ困るかという意味ですね。
その定義はあまり実用的ではないと思います。
Re:とりあえず現実的ではあると思う。 (スコア:1)
オブジェクト指向に関連しない機能は除いたほうがいいのではないかなあ。
その制限をつけないなら関数とか変数とか型とかいろいろ。
空白記号が一切使えないというのもなかなかきついものが。
一番致命的といえばチューリング完全じゃなくなるような機能削除が痛いとは思う。
Re: (スコア:0)
オブジェクト指向で一番大事なのは何でしょう?
自分はイマイチ良く分かってないけど、結局の所カプセル化なんじゃないの、って気がしなくも無い。
機構として一番重要なのがインターフェイス。
…って感じに思ってるけどどうなんだろなぁ。参考までに見解をいただきたい。
Re: (スコア:0)
Javaのアノテーションってコンパイル時処理のフックとか付けば良いのになんでほったらかしなんだろう?
@ReadOnlyとかでPojoに読み出しはOKだけど書き込みはパッケージ限定のPrivateだよみないなのを定義できたら安全性増すとおもうのだけど(C#のget,setができないので非破壊をアノテーションでコンパイラに伝えたいとかいう凄いわがままではあるのだけど)
Re:とりあえず現実的ではあると思う。 (スコア:1)
それってこれのこと?
JSR 269: Pluggable Annotation Processing API
https://jcp.org/en/jsr/detail?id=269 [jcp.org]
まちがってない (スコア:0)
> C#に対し「ブラウザを問わず使えるから」というコメントが付いていたり
間違ってないよな?
Visual Basic (スコア:0)
HTMLはともかく、個人的には「初めて習得する人に一番おすすめのプログラミング言語」の5位「Visual Basic」が一番意味が分からん。
VB.NETとVBAが別にあるから、旧VBってことなんでしょうけど、2016年で初めて習得するのに今更旧VBっていったい???
この人たちの職場では、いまだVB6アプリが現役ってことなんでしょうか…微妙にあり得るのが怖い。
個人的には、VB.NETもVBからの移行用だと思ってるので、初めてならお勧めしない。.NET系学ぶならC#でいいっしょ。
後、初めての人にCとか、よく考えろ。挫折するぞ。
Re:Visual Basic (スコア:2)
VB.NETのことだと思いますよ。
Re: (スコア:0)
ところがですね…VB.NETは3位にランクインしてるんですよね。
VBAも7位に入っているので、どう考えても旧VBとしか思えないという。。。
Re:Visual Basic (スコア:1)
単に回答者がVisualBasicと答えたからってだけだと思う。どれを指しているかはたぶん回答者によって違うだろうけど確かめるのめんどくさいからいいや、程度では
うじゃうじゃ
Re: (スコア:0)
文字入力して計算結果を表示するプログラムを例題にするより、今の時代はGUI上での入力や表示が出来るものを最初の課題にしたほうがイメージがわきやすい。
明確に書けないと困るような部分や、勝手によしなに扱われても期待と違って困るのは、ある程度プログラムに慣れてきてからでしょう。
自分の命令通りにプログラムが動く / 命令通りに動くのだから命令が間違ったら動かない あたりの概念レベルでの初学なら、下回りの理解がなくても動かせるのは大事。
Re: (スコア:0)
これは選択肢の並びの二番目にVisual Basicがあるから、VB.net や VBA を推したい人が間違って選んでいるのかも。
> 初めての人にCとか、よく考えろ。挫折するぞ。
まったくもって同意。
推した人のコメントには積極的にCを選んだ理由が書かれているけれど、本当の初心者に教えるという前提を真剣に考慮せずに単なるアンケートだからとCを選んだ人が14.4%というCの得票率の数字の半分以上は居るのだと私も思う。
Re: (スコア:0)
初めての人にCは、悪く無いと思うけどね。
奥深くまで学ばせるのは危険だけど、入口として知るには良い。
基本文法は他の言語でもだいたい同じだし。
特に、メモリマップと変数アドレスとポインタの関連性を最初にしっかり教えておくと、以後別の言語を学んでも理解が早い。
逆に禁忌なのは、ポインタ演算などポインタの妙な使い方だね。混乱した結果、ポインタは難しいと思い込んでしまう。
ただしあくまで学習用だね。
VB6は、GUIとイベントドリブンと、オブジェクト指向の初歩の学習には悪く無いと思う。
ただし良いわけでも無いけどw
こちらも学習用としてちょっとやる程度ですかね…。
正直、今ならVB.Netの方がいいし、更に言えばC#でいいと思う。
Re: (スコア:0)
>基本文法は他の言語でもだいたい同じだし。
これはそもそも、Cからの移行狙いで後発の他言語のほうが、Cに似せて設計されたので。
Cが優れているというより、世界がCを中心に大規模に改鋳・改軌された。。
初めて習得する人に一番おすすめのプログラミング言語 (スコア:0)
VB.NET、VBAまではまだ解るけど、VB進めるのはどうなんだろう。
遺産はあっても今後増えないだろうに。
Re: (スコア:0)
純粋なVBは今後増えないでしょうね。
それでもVBを学ぶことには意味があると思います。
実際に行かされるのはVBAやVBスクリプトになってくると思いますが。
結局オフィスやSqlServerのレポートクリエイターはVBAやVBスクリプトのままなので、これらはVBのサブセットであります故。
元々のVBを学ぶと一応どれでも生かされます。
WSHもほぼMSは投げ出してますが、POWERSHELLよりVBスクリプトで書く方が楽なこともあったり。
(また、セキュリティ関連でPOWERSHELLはスクリプト実行を初期設定では禁止のため、お客さんが嫌がることもある)
まぁ、「現状意味がある」だけでMSはこれらもVB.NET形式に統一するべきと私も思ってます。
Re: (スコア:0)
これだけはやめとけプログラミング言語 (スコア:0)
とりあえずJavaとPHPから距離を取るだけでQoLは上がるとおもう(偏見)
0語が15% (スコア:0)
「過去に習得したことがある、または勉強したことがあるプログラミング言語」が0語のITエンジニアとは(哲学)
Re: (スコア:0)
コードは書けるけどしっかり勉強はしたことはないという意味で、謙虚なひとがそう答えてるとか。
Re: (スコア:0)
他の方のコメントにある「Visual Basic」に関する疑問だとか #3035263 [srad.jp]の方のコメントとそれに続く疑問だとかみていると、このアンケートはイギリスの国民投票じゃなくてスラドの国民投票みたいなものなんだと思います。
ボラクルさん無双 (スコア:0)
いつボラクルさんの気が変わって、「Java VMで実行可能なあらゆるファイルは我が社の著作物である」とか言いだしかねないのに、今から開始するプロジェクトにJava選ぶとか、これから先の若手に「Javaは、これから先最も重要になる」とか吹聴するとか一体なんなの?
オープンと称しつつ、AppleやMicrosoftの製品でしかまともに動作しない、あの言語とか、あの言語を選ぶことさえどうかと思うのに、そこで更に一歩踏み込んでボラクルさんにキンタマ握られに行くとかマゾヒストの鑑ですわ。
老害パネェ・・・・・
Re: (スコア:0)
これから・・初めて学ぶのにオススメって意味で
今後稼げる言語って意味ではないから
Javaを学んでおけば、次に別の言語を学びやすくなるだろうって意味かと
C言語が上位にあるのも同じ理由かと
Re: (スコア:0)
クセが強いし今時やらないだろうっていう古くさい手法がいまだに主流だから。
Re:ボラクルさん無双 (スコア:3)
それはないでしょ。
どんな言語であれプログラミングやってた人の方が新しい言語の習得は早いですよ。
手法も含めて新しい言語を学ぶわけだし、そもそも古臭い手法が使われている言語の方が圧倒的に多いし。
Re: (スコア:0)
それが良いことがどうかは別として現実なので。
JavaScriptが (スコア:0)
開発言語としてメジャープレーヤーになるのって健全なのかね? JavaScriptを高く評価するプログラマーに会ったことないんだけど。
Re:JavaScriptが (スコア:2)
自分の場合、
当初 DHTML とかの文脈でしか見て無かった頃は、ほとんど見向きもしてなかったが、
無名関数(と言うかクロージャ)の恩恵に気付いた瞬間、評価が激変して、
遥か昔から lambda 使えてた LISP 凄い!!!ってなった。
それが10年ちょっとくらい前。
おかげで C++11 出たときはキター!!!(・∀・)ヒャッハー!!!だった。
その一方で、
一昨年くらいに Java 8 にラムダ式が導入された時は、
今更導入してこれ?って感想しか出てこなかった。
uxi
Re: (スコア:0)
回りくどい書き方せずに、素直に「僕はJavaScriptが嫌い」って書けばいいのに。
Re: (スコア:0)
だよねー。
それに最近は一周してJavascriptの評価は高まってるでしょ
未だにHTMLの飾り付け程度に思ってる人は別だけど
メジャープレイヤーとしての開発言語を捉えるなら、
実行環境や普及度合も含めて考えないといけないし
Re:JavaScriptが (スコア:2)
そんなに評価されてるならES2016 [ecma-international.org]がリリースされた事はもっと話題になっててもよさそうなものだけど