【IT】習得したいプログラミング言語、したくない言語 プログラミング言語実態調査 2018
■ このスレッドは過去ログ倉庫に格納されています
ITエンジニアは今後、どんなプログラミング言語を学びたいのか。またもう要らないと感じているプログラミング言語は何か。これらを明らかにするために、日経 xTECHでは「プログラミング言語実態調査 2018」を実施。
その結果、ITエンジニアが今後有望視するプログラミング言語が浮かび上がった。
調査では、今後スキルを磨きたいプログラミング言語を複数回答で聞いた。すると、スキルを磨きたい言語の第1位は「Python」だった。回答者1000人中、実に670人がPythonを選んだ。ITエンジニアのおよそ3人に2人がPythonを推す状況だ。
https://i.imgur.com/hPHc5Q2.png
今後、スキルを磨きたいと思う言語
Pythonは最近のAI(人工知能)関連のシステムで欠かせないプログラミング言語になっている。ライブラリーやフレームワークも豊富であり、AIブームの到来で有望視するITエンジニアが多いと見られる。
スキルを磨きたいプログラミング言語の第2位は「JavaScript」(547人)だ。過半数を占める回答者がJavaScriptを挙げている。
同じくWeb技術の「HTML/CSS」(373人)も4位に入った。こうしたWeb技術を用いたシステムが現場で増えている表れだろう。
第3位は「Java」(391人)、第5位は「C/C++」(372人)、第6位は「C#」(364人)だった。いずれも現在利用しているプログラミング言語の上位を占める言語である。
次に、スキルを磨きたい言語と年齢の関係に着目した。全体の傾向は大きく変わらなかったが、29歳以下のITエンジニアの75%がPythonと答えていた。若手ITエンジニアにとってPython
@以下非公開です
2019/01/24
プログラミング言語実態調査 2018
習得したいプログラミング言語、したくない言語
安藤 正芳=日経 xTECH/日経SYSTEMS
https://tech.nikkeibp.co.jp/ JavaScript?
いつから
プログラミング言語になったんだw >>91
学校教育にそこまで必要?
そもそも政府がどんな人材に育てたいのかも謎なんやけど。
プログラムなんて仕事についてからでええやんって今でも思うけど。
たぶん、そもそも就きたがる人がおらんから無理やり詰め込んでやろうってハラなんだろうけど。
だいたいね、PCそのものが日本語とあまりにも相性悪すぎんだわ。
中国の躍進を見てると2バイト文字文化だけを槍玉に挙げるのはいささかヘタレな気もするが。 言語なんてただの道具だから目的にあった物を使えばいい >>98
文法とかはさして問題にならない
すでにある構造やライブラリにもっとも大きな影響を受けるから >>93
javascriptはともかく、python使いってそうとう高いレベル求められるよね。
自分で得意って思ってるやつの殆どが不採用で弾かれそうな勢い。 >>98
c/c++知ってればjavaもnodeのjvascriptもc#もなんとかなってますし 言語は用途ごとに別物に専用特化した方が個々の学習効率とその分野における
適合性は当然ながら高くなる。しかし別の分野に対しては効率が悪かったり
記述性が悪かったりするので、分野ごとに別々の言語を学ぶ羽目になる。
汎用言語はなんでもできるが、記述の手数が多かったり、とくに何かが得意
だったり問題に適した記述能力が無かったりするので、コーディング量が
増えたり生産性が悪い。
得に低レベルのことまでなんでもやりたいのなら機械語やアセンブラという
ことになるが、それはこんどはマシンごとに異なっている。
C言語はマシンごとに異なるほどではないが、言語自身の些末な
機能が多いので学習に少し手間が掛かる。
C++はCに無理矢理竹に木を継いだようにオブジェクト指向の機能も
付けてみましたといったようなものなので、C言語も受け付けるために
オブジェクト指向の本来あるべき安全性などの面が損ねられている。
それではJavaではどうかということになるが、JavaはCよりは
すっきりしているし、C++よりはずっとまともなオブジェクト指向の
実装になっているようだが、普通は処理速度が劣るほか、クラスライブラリ
をよく理解してその使い方を憶えなければ実用コードを読めなかったりする。
クラスライブラリの知識量が多いので、言語自体は簡素であったとしても
プロなら憶えなければならないことは多い。
LISPは、言語はエレガントだが、効率面で今のキャッシュやパイプライン
を前提とするCPUのアーキテクチャーではポインターを触りまくるのでは
実行効率が著しく悪い。
Pythonは簡易に比較的高度なデータ構造が扱えてオブジェクト指向だが、
基本的にはインタプリターであるので動作がどうしても遅い。多次元の配列
が不便だ。いろいろな拡張機能のパッケージが(Javaのクラスライブラリの
ように)あって、それを問題に応じて使う才覚が必要になる。
。。。。 >>103
例えば因数分解を理解できていないプログラマと
理解できているプログラマの差は何かわかるでしょう
いかにステップ数を少なく出来るか
因数分解は中学生程度でも知っている 学校教育は関係ないでしょう
2バイト文字はプログラミングに直接関係ない HTMLとかJavaScriptとか
ホームページを魅せるためだけのものが
それほど必要なわけないだろ
あんなもんホームページビルダーで
チョチョイのチョイだわwww Javascriptは一行(文)でクイックソートかける
https://ideone.com/Gh42zB
QS = X=>X.length<=1? X:[
...QS(X.filter((x,i)=>i>0&&x<X[0]))
,X[0],
...QS(X.filter((x,i)=>i>0&&x>=X[0]))]; >>103
赤本がわかるプログラマと黒本がわかるプログラマでやれる範囲が全く異なるので
それぞれの役目を果たせばいいのではないかと なんでもいいが。参考書とか買ったりするやつは出来が悪い 習得しないのが一番賢い
恫喝スキルとゴマスリスキルと資料作成スキル上げとけ
中途半端に技術があると言われてみろ、
50歳過ぎても馬鹿が作ったシステムの面倒見させられるハメになるぞ。 >>112
HTMLはともかく、JavaScriptはホームページ作るだけじゃないよ >>114
おじいちゃん、そういうのはperlの悪行にならってはいけないって教わったでしょ? >>48
そこが単なるオペレーターと技術革新を行うイノベーターの意識の差なんよね
プログラムのプの字も知らない人間がプログラム組めるようにする基盤を作ることを考えるか否か
そして将来的には必ずそういう方向に向かうわけ
車なんか作れないけどみんな使えるようになったのと同じ
少なくともここでどの言語がいいとか書いてるのはイノベーターになれない >>88
いやさー
これ動くん?って場面多すぎて
同時に習ってたC#の方に行ってから
Java見たら拒絶反応してしまう。
過剰な機能てんこ盛りにし過ぎて分かりずらいと思うんだけど
慣れたら簡単なもんなの? 俺はプログラマーじゃなく
研究でアプリのカスタマイズにPythonをかじっていた程度なんだが、
あんなスクリプト程度のものがこれほどモテはやらされるようになるとは・・・
あ、IT全く分かりません >>112
今はそうじゃないんだよ
高速なWebサイトを作ろうとすると
当然サーバー通信を極力減らそうとする
この負荷がHTML&JavaScriptに行く訳だ
HTML&JavaScriptクライアントアプリを作れという乗りだよ >>81
んなわけねえだろ
英語ペラペラな奴がこの業界の平均像になっちまうじゃねえかw >>108
CとC#は文法は似てても、本質的に異なる。
何とかなってると思っていても、C#を使いこなせていない可能性がある。 >>1 HTML/CSS って何だよ。 言語に入らないだろ。 javascript と組み合わせて初めて言語と言える。
perl が落ちたな。 Pythonに変わりつつあるのか?
Objective-C がかなり落ちたのは Swift への移行が進んでるんだな。 >>126
COBOLを捨てて早15年俺はJava以外で飯の食い方を
知らん男だからな 他所は解からんよ
だから嫁さんも未だに貰えない COBOLは元号チェックをハードコーディングしてそう。 C覚えること少ねえしいいんだけど、流石に今はなあ。
ただ、現場は新しい言語だった現場で面倒見るから、CならCでみっちりやってくれればそれにこしたことはないかとも。 なんかかなり遅れてるランキングって印象
まあ未経験の人達から聞いたらこんな感じになるのかもね >>133
CはC++のサブセットだから、まあ問題無いんじゃね? CよりC++の簡単だぞ
全機能、全文法を知るのは別にして使いこなす分には
C++はCのほぼ上位互換で、追加の便利機能が使えるのでC++でいい Obj-Cはかつては現実的な範囲だったけど
Swiftの環境があるとなるとかえってお邪魔なだけだからね
古いソースを扱ってるくらいじゃないかな >>125
だよね
知らんぷりしつつ家に帰ってから夜中までPython使って遊んでるやつも多いし >>124
確かにな
開発現場なんてインフラやってる側と
インフラに必死にのって開発する側で全く違うしね。
そうとうの基地外じゃないとプログラム言語のイノベーター何かになれるわけねー。 >>141
大丈夫なのね
C++からスタートするわ 現役エンジニアの中でRubyが大分使用率落ちたんだよな
前は3位以内とか入ってたのに今10位以下にいきそうだし アセンブリ言語ってあるけど、これってCPUによって表現方法が変わるよね…
当たり前だけどインテル系とモトローラ系、ザイログ系(はもうないのか?)みたいな感じで。
基本的な考え方は一緒だから、せめてニーモニックやオペランドの表記方法を統一して欲しいわ… >>141
C特有の問題が山ほどあるからそれはそれで
やること多いんだからあえての苦労をする必要はないとも言える COBOL、PL/I、RPGがわかればIBM系で引っ張りだこやで >>137
俺はそれでもかまわんと思う。
昔はソースファイルだけ見て、それを修正すれば済んだけど、
今はなんとか定義ファイルとか、DBとか、リソースファイルだとか、
どこにそういうのがあるか、探すのが大変なんだよ・・・
作った人は「ソースから分離した!凄い」って思っているんだろうけど、
どこに分離したのか、後任の担当者としては探すのが辛いんだ・・・
探し出したとしても、影響度調査するのも大変だし。 C++は糞だぞ変な癖付くから最初に覚えるのには相応しくない たとえばC言語で文字列操作や、可変配列を使うのは面倒だったりするが。
C++だと文字列連結は、a + b でできる。 string a = "aaaa", b="bbbbb";だとして。
Cだとできない。 >>98
文法ってw ドイツ語とスペイン語覚えるわけじゃねーんだから
特徴とマニュアルさらっと読めばわかるだろ
君は机に向かって、赤ペン引きながらプログラミング言語学んでるのか?
すげえ努力家だな C++はC++20でまただいぶ変わるから
今から調べておくといいぞ >>50
わりかし速いと聞いた
ワシはCしか知らないジジイだか >>150
RubyはPython以上にエンジンが使い物にならないからわからなくもない
とはいうもののPythonが人気には違和感覚える >>114
例えば、99万件の住所録(名簿)が登録順にクラウド上にあったとします
クライアントユーザが名前順にして閲覧したい要求があるとします
・・・order by 名前 で良いけれど、レスポンスが遅すぎる
さて、どのように解決するか?いくつかの方法があるけど
どの手法を選択するか?プログラマ資質が問われる
クイックソートの知識だけでは机上の論理でしょ >>98
なんの言語も使えないやつが言いそうな発想だなこれ >>157
そもそも文字列なんてねーし。文字配列はあるけど。
一番最初にやりそうなところからポインタ絡んでくるのがCのまずいところだね。
たいていごまかして最初は流すけど。 >>156
そういうわけでかつて学校でのプログラミング言語はLISPにすべしという運動があったのだよ
普遍的な観点で
しかし産業界では使われないので以下略 なんか知らねーけど古い言語で良くね。
できること変わらないっしょ。
つーかクラウドがほんと嫌い。 俺はビスケット!
女子小学生にモテモテさ!
(マジ) >>83
いい先輩メンターですね。
私も言われました。外注のPGさんでした。 まあ、SQLとかHTMLとかドメイン特化言語はともかく何から入ろうと
書き続けていればある程度才能があればできるようになるし変わらんきもする。 ランキング下位とはいえCOBOL・FORTRAN・PL/Iがランクインしてるのがオドロキ >>53
システム作りがプログラムの王道なんてこと別にないんで >>108
そこ
上流の言語しか知らない人は根幹をわかってない人多い
アセンブラもバリバリかけますって人はある程度信用できる C言語使いはオブジェクト指向というものを知らなすぎるのか、そいつがJavaプログラム作成すると超絶見辛い >>169
MacにはMacの
WindowsにはWindowsのフレームワークがあるのでそこにだいたい縛られる
統合環境なんかもあるが制約に引っかかった場合の問題解決に時間を取られる C言語における文字列連結
とても簡単に思えるけれど、実はパフォーマンスについて考えることもあるんだよ、というお話。
char* str_join(const char* a, const char* b)
{
char* p = malloc(strlen(a) + strlen(b) + 1);
strcpy(p, a);
strcat(p, b);
return p;
}
こんな風に書いてしまったあなたは及第点です。
より良いコードはこうなります。
char* str_join(const char* a, const char* b)
{
size_t la = strlen(a);
size_t lb = strlen(b);
char* p = malloc(la + lb + 1);
memcpy(p, a, la);
memcpy(p + la, b, lb + 1);
return p;
}
strlen()を明示的にまとめることで、余計なメモリアクセスがグっと減ります。
https://www.kaoriya.net/blog/2012/01/15/ >>176
低レベル言語しか判ってない人も抽象性を理解できているのか怪しいけどね・・ >>124
おそらく、コンピュータに作って欲しいプログラムをコンピュータに伝えるための仕様書というのは、
欲しいプログラムそのものを作るよりも手間がかかる。 >>174
fortranの場合は実数ライブラリがいまだに強くて天文系でも大活躍してる
これが置き換わるってことはあんまり考えられないくらいには >>177
使いもしないメソッドをまず作るんだけ?
それがなんか嫌なんだよなw
なんかバカみたいな作業やっている気がして。 >>179
memcpyなんか書いた時点でクビ確定だけども
それぞれの環境においてキャッシュラインが異なるので適切な例えではない ソースの自動生成って、コピペが発明されてから、廃れ気味だと思う。
今のプログラマはコピペを使って、自動生成みたいなこと既にやっているからな。 ひとつ覚えたら他もすぐ覚えられるからどうでもいいよな どれも 一月で\\\覚えられつかえるようになる。
たいしたことでhない。 入社して最初の研修でC言語でボーリングの点数計算のプログラムが課題だったわ
あれから20年… まるで自分がマシンかの様にハンドアセンブラをすらすらと >>178
ああ、それは俺にもわかるわ。
vbaのコードはマックじゃ動かなそうなにおいがぷんぷんする。
osに依存してそうなコード書くもんな。 まーた用途も考えないでメモリガー効率ガーとか言う低水準言語原理主義者が湧いてる いま、ほんとに技術者日照りだな
7案件かかえてるがほんと人みつからない
無職有能を高額報酬でつっこみたいわ 仕事が設備管理なんだけどスマホアプリで日常点検を簡単にポチポチ入力できて
パソコンと同期してエクセルとかに出力できるようなの作るには何が向いてるの?
プログラム素人なのにやらされそうになってて困ってる >>13
Googleマップとかも、JavaScriptの発展技術だぞ >>177
逆にオブジェクト指向知ってると、組込みでCで書くのがものすごくめんどい。
最近の言語によくあるような便利な表現が全然使えなくてイラッとするw >>91
言語はcobolのみな企業でした。金融機関なので。アルゴリズム概念は知ってたけど実際は何がどうなの
統計学は就職後に通信教育で独習。
もうフリーランスだけどね。 ■ このスレッドは過去ログ倉庫に格納されています