【IT】「最も嫌いなプログラミング言語は何?」栄えある1位に輝いたのはあの言語

1ノチラ ★2017/11/03(金) 19:35:56.37ID:CAP_USER
プログラマが最も嫌うプログラミング言語に関する調査が行われ、かつてウェブ上で高いシェアを誇ったあの言語が堂々の1位に輝いた。

 これはStack Overflowが実施したもので、結果は「Perl」がダントツの1位、次いで二番手グループが「Delphi」「VBA」、三番手グループが「PHP」「Objective-C」「Coffeescript」「Ruby」という結果になっている。調査方法はやや特殊で、同サイトのDeveloper Storyという求職ページに登録しているプログラマが「扱いたい」と回答している言語に加点、「扱いたくない」と回答している言語を減点するという方式によるもので、投票などによる選出よりもある意味で信頼できる結果と言える。同調査ではこのほか「嫌いな技術」についても同じ方法で調査を行っており、そちらはIEやFlashなどが上位に挙げられている。
https://internet.watch.impress.co.jp/docs/yajiuma/1089747.html

528名刺は切らしておりまして2017/11/16(木) 03:24:53.45ID:ceL8JzwL
>嫁、ファーストレディーに似てます。

529名刺は切らしておりまして2017/11/16(木) 03:25:09.89ID:eZ0d92k7
未だにDelphiが出てくるんか

530名刺は切らしておりまして2017/11/16(木) 03:40:10.00ID:ceL8JzwL
526さん、すまんけど、おっぱいあんまり好きではないっす。。。
母さんができる、できないことを、自らに嫁にゴタゴタ言うのは、
と。。。

鼻たれですが、自らの心と判断なさって。

531名刺は切らしておりまして2017/11/16(木) 03:41:14.35ID:Q7c1xuJn
>>219
自分も「ぴゅう太」の語が浮かびました(笑)

532名刺は切らしておりまして2017/11/16(木) 03:43:38.02ID:PH5h60O7
COBOLは扱いがどうのうこうのよりも、もう、話題になる事が無くなったって事やろ

まあ、まだ動いている所はありそうだけど、クローズなシステムでバグさえでなければ
そのまま死ぬまで動いてもらえば良いって感じな所も多そうだし

533名刺は切らしておりまして2017/11/16(木) 03:46:21.65ID:JYJUvbsG
>>480
"else if"を合成でelseif・elsif・elifと書くのはSyntax Sugar(糖衣構文)に過ぎないとみなせる
つまりelse ifへと置き換えてコーディングすることも可能

例えばその中でもPerlは一番自然にelsifを単純にelse ifに置き換えても動く(C言語と同じ表記になる)
if (cond1) {
} else if (cond2) {
} else if (cond3) {
} else {
}

ところがRubyはend方式ので同様にelse ifに置き換えると末尾にendが3つと不自然になる
if cond1
else if cond2
else if cond3
else
end end end

さらにPythonはインデント方式なので同様にelifをelse ifに置き換えるとインデント地獄で読みにくい書きにくい
if cond1:
else:
  if cond2:
  else:
    if cond3:
    else:

このように3者が全く異なる結果となってしまう

534名刺は切らしておりまして2017/11/16(木) 03:49:42.82ID:YMglnno9
簡単なTool程度ならPerlでも問題ないだろ

535>5332017/11/16(木) 03:52:41.43ID:ceL8JzwL
いいお、ごめん。
あんまり考えても、今、CGI系ないからさ、
一緒にいたら友達になりたいタイプお。

536名刺は切らしておりまして2017/11/16(木) 04:14:29.13ID:+2Aor68e
PHPが入ってないなんて…

537名刺は切らしておりまして2017/11/16(木) 04:20:09.34ID:v1APEzjp
>>103
マジそれ。

538名刺は切らしておりまして2017/11/16(木) 04:44:09.39ID:+2Aor68e
まじな話、Perlの後継言語はPowerShellだと思う。

Perlができた経緯もシェル言語への不満で、
PowerShellはコンピュータサイエンスや現代的技術をベースに一から作り直した感じ

539名刺は切らしておりまして2017/11/16(木) 16:08:53.05ID:J42WOLdz
怒涛の連投w

540名刺は切らしておりまして2017/11/16(木) 17:30:47.92ID:zFSLXLNO
ID:ohz972dw
面白いからコメント続けてくれ

541名刺は切らしておりまして2017/11/16(木) 18:10:44.46ID:3/jn8msJ
>>533
それでみんなに嫌われてるPerlだけど、極めた人が有用性が理解できるよ。

Perlが嫌われる1位になった理由を考察してみたけど、
一部のホームページにもこんな事が書かれてた。

ごく普通の言語(COBOL,C,Java,VB等)を知っている人が、
Perlをやり始めるといろいろと悩むことがあります。

暗号のような記号のオンパレード
文脈(コンテキスト)によって意味の違う関数
構造体がないデータ構造
同名で意味が違う変数
比較先がない比較
代入文がないのに代入される
正規表現の拡張
return文がないリターン値
foreach文がいつのまにかfor文に
サブルーチンなのに関数に
ファイル名がいつのまにかハンドル名に

是に加え文字化け。文字コードの扱いが途中でグチャグチャしすぎ。
この辺りから。
第31回 encoding:いつまでもjperlから抜け出せない方に
http://gihyo.jp/dev/serial/01/modern-perl/0031
第32回 Encode:日本語だけ扱えればよいのではなく
http://gihyo.jp/dev/serial/01/modern-perl/0032
第33回 enc2xs:標準の文字コード表にはない文字を変換する
http://gihyo.jp/dev/serial/01/modern-perl/0033
複数の文字コードを扱う似た様なモジュールや命令が幾つもある為に何が本命なのか迷う。
文字コードの扱いが面倒で厳しいので、本文の処理に集中できない。
Paypalなどの決済サイトでも、PythonやPHPやJAVAやASP.NETはコードがあるのに、
Perlだけ文字コードトラブルが多いのかユーザーが扱いきれない事が多いのか推奨されてないらしく出てこない。
Perl5辺りで、文字化け問題を内部UTF8に全部押し付ける事で解決を図ろうとした仕様を
標準化してしまったために、逆に色々な問題が起きて敬遠されてしまったんだろう。

Perl5になってからCPANで外部モジュールの追加で全部解決しようとした為に
言語処理がユーザーには理解しがたいものになってしまい、
その間に、PythonやPHPなども台頭してきて、極めたような人以外は使う人が少なくなってしまったみたい

542名刺は切らしておりまして2017/11/16(木) 19:20:52.05ID:Je4TU/sj
>>466
Kotlinは変数型は省略可能
スペルすら間違ってるあたり背伸びしてるのがミエミエ

543名刺は切らしておりまして2017/11/16(木) 22:28:28.97ID:DuCWvvW6
5chでtypoを得意気に指摘する奴w

544名刺は切らしておりまして2017/11/16(木) 23:34:02.80ID:+KuXLUGy
>>494
いやますます重要になってきているだろ
お前の使っているその言語のランタイムやライブラリが何でかかれているか少しは意識しろよと

545名刺は切らしておりまして2017/11/17(金) 00:02:26.45ID:+IGS1+vG
>>544
下の層の詳細や実装方法を知らなくても大丈夫
例えばそのC/C++で書いていてもCPU個別のアセンブラを意識する部分はカーネルの一部だけであるし
アセンブラで書いていてもCPU内部実装を意識することは稀で公表スペックまで把握していればよいし
さらに下位層には電気工学的にどうなのか、分子レベルでは、原子レベルでは、量子レベルでは、となる
つまり各プログラミング言語の仕様まで把握していればそのコンパイラやインタプリタで用いられている言語は気にしなくてよい

546名刺は切らしておりまして2017/11/17(金) 01:56:06.80ID:AX4OZo7z
>>545
上の層の言語の重要性が増すほど、その機能やらライブラリの充実やら高速化やらの需要が増す
で、それに答えるためにも下の層での開発効率がより重要になるんだな。
c++も保守的だった昔と比べて11以降楽に書くためのsyntaxシュガー導入やらライブラリの充実やらの勢いは凄い
まあ言語仕様や理解のための必要知識がガンガン肥大化していって素人お断りなところも加速している気もするが
でも本当にライブラリのユーザーとして振る舞うだけならコーディング量はLLと比べても大差ないレベルまで来ている

547名刺は切らしておりまして2017/11/17(金) 03:25:36.92ID:QNYMwQm6
高レイヤー「低レイヤーは俺らの奴隷だから」

低レイヤー「高レイヤーの馬鹿どもには書けねーから」

548名刺は切らしておりまして2017/11/17(金) 09:42:13.97ID:+IGS1+vG
>>547
レイヤーの高低に優劣さはない
そしてレイヤー間は独立していて互いにその内部の仕組みや実装をしらなくても利用できることが本質
それなのに>>546はそれを理解しないどころか論点をすり替えてc++を意味不明な方向で持ち上げているだけ

549名刺は切らしておりまして2017/11/17(金) 12:48:51.87ID:9zGQ9hqZ
別レイヤーは意識しないでいい人間が大半だけど、だから低レイヤーは要らんとか言うのとは別の話

550名刺は切らしておりまして2017/11/17(金) 13:59:32.60ID:797EYKX8
>>548
> レイヤーの高低に優劣さはない
CPUの設計をしてるエンジニアと、
Javaで業務システムをコーディングしてるエンジニアに
優劣はないと信じてるのね。

551名刺は切らしておりまして2017/11/17(金) 14:18:01.70ID:DdvjfxXk
>>550
逆を返すとCしか知らない上にCやらせてもそこそこしか出来ない人もいれば
今時のモダン言語でWebシステムを超短納期で作れる人もいる

スキルとレイヤーは完全にXとYの関係であって、比べること自体愚かだ

552名刺は切らしておりまして2017/11/17(金) 15:25:44.96ID:+IGS1+vG
>>550
優劣はないよ
まさかどちらかが優秀だとでも思っているのかな
個々の人間には向き不向きはあれどどのレイヤーにもどの分野にも優秀な人とそうでない人がいるのは事実だけどね
いずれにしてもどんな優秀な人間でさえ1人であらゆるレイヤーあらゆる分野をカバーすることは不可能なので分担協調が不可欠
レイヤーが明確に分かれているとレイヤー間のインターフェース/プロトコルさえ守れば独立に作業できるので効率が良い

553名刺は切らしておりまして2017/11/17(金) 21:27:48.60ID:QNYMwQm6
高レイヤー「レイヤーに優劣はない」

低レイヤー「低レイヤーは馬鹿には設計できない」

554名刺は切らしておりまして2017/11/17(金) 21:38:33.19ID:797EYKX8
>>552
優劣があるかどうかはどうでも良いけど
報酬に大きな差があるのは事実。

555名刺は切らしておりまして2017/11/17(金) 22:29:41.18ID:zvozN2HL
>>554
高レイヤーと低レイヤーで収入に有意差ないぞ
スキルや政治力は顕著に差が出る

556名刺は切らしておりまして2017/11/17(金) 22:45:06.23ID:+IGS1+vG
>>554
どちらの報酬が大きいと思っているのでしょう?
レイヤーによる収入差はなく、むしろ同じレイヤーでも個人差による収入差の方が大きいでしょう

557名刺は切らしておりまして2017/11/18(土) 00:33:45.80ID:a/wsOLFr
Rubyは単に外人は知らないから扱いたくないというだけの事で、
それをdislikeと評するのはおかしいのではないでしょうか?

558名刺は切らしておりまして2017/11/18(土) 00:38:38.53ID:q8dcdGEA
>>557
Rubyは単純に言語仕様&記法に癖があって使い勝手が良くない点と
メリットが皆無(以前はRoRがあった)という点でRubyを使うメリットが外人に限らず日本人にもない

559名刺は切らしておりまして2017/11/18(土) 00:45:45.89ID:a/wsOLFr
>>557
この調査日本人は殆ど関係ないみたいですけど。
外人さんはメリットがどうこう以前に
Rubyなんて名前しか知らんという人が大半なのではないでしょうか?

5605592017/11/18(土) 00:46:38.72ID:a/wsOLFr
>>557
>>558

561名刺は切らしておりまして2017/11/18(土) 00:58:32.96ID:q8dcdGEA
>>559
Ruby on Rails (RoR)によって外人さんもRubyを知っている
そして当時画期的だったRoRを高く評価していたのも外人さんたち
しかし他の言語でも同じようなフレームワークや改善されたものが次々と出現してRoRが没落
RoRというメリットを失ったRubyは単なる癖があって使いにくいプログラミング言語の地位に落ちてしまい嫌われている

562名刺は切らしておりまして2017/11/18(土) 01:04:54.70ID:uj2g9ysK
言語が悪いんじゃない、それを使う人間が悪いんだ

563名刺は切らしておりまして2017/11/18(土) 14:58:54.57ID:8qPkqgPv
>>533
見做せません
文脈自由文法でなくなってしまいます
いわゆるdandling else問題

パーザ絡みで不利
メタが当たり前なご時世にelif/endif相当を導入しないのは愚策
endifなしだと不味い

564名刺は切らしておりまして2017/11/18(土) 15:00:43.17ID:8qPkqgPv
>>558
仕様や記法より問題は実装だったよ

565名刺は切らしておりまして2017/11/18(土) 15:01:32.55ID:fyWSzBue
>>556
本当にそう思ってるの?

566名刺は切らしておりまして2017/11/18(土) 15:02:40.22ID:fyWSzBue
>>555
各レイヤーの底辺とトップを比べても意味ないよ?

567名刺は切らしておりまして2017/11/18(土) 16:02:20.53ID:q8dcdGEA
>>563
もちろんその例の3つ(Perl,Ruby,Python)いずれもendifはある
Perlは「}」、Rubyは「end」、Pythonはインデントでendifを表現している

このうちなぜPerl,C,Java,JavaScript等で用いられる「}」形式が圧倒的にelse if問題で有利になるのかというと
丁寧に冗長に記述すればこのように最後が「}}」となる(条件が5つなら「}}}}}」)ところを
if (条件1) {
} else {
 if (条件2) {
 } else {
 }
}
ここでelseの後ろのブロック内がif-else分だけなので「{」「}」を外して
if (条件1) {
} else if (条件2) {
} else {
}
と簡略に書ける点にある
つまりPerlでは「elsif」が必須ではなく単純に「else if」で代替でき、CやJavaと同じ記法となる

一方でRubyやPythonではこれができず複数のendが続いたり深いインデントとなる >>533
そのためRubyやPythonでは「elsif」や「elif」が必須となってしまうのである

568名刺は切らしておりまして2017/11/19(日) 05:43:24.01ID:0PnnLASA
>>567
perlでは else if という記述は通らない。

569名刺は切らしておりまして2017/11/19(日) 12:24:12.92ID:+yxqcDMr
Cでこのようにelseの後ろに{}無しの一文は通るが
if (value) {
 printf("true\n");
} else
 printf("false\n");

Perlでこのようにelseの後ろに{}無しの一文は通らないんだな(syntax error)
if (value) {
 print "true\n";
} else
 print "false\n";

記法なんでも有りのPerlがこの構文を許さない理由はなぜだろう?

570名刺は切らしておりまして2017/11/19(日) 12:43:49.62ID:2PjyFN8x
そういうもんだから

571名刺は切らしておりまして2017/11/19(日) 14:57:23.86ID:yj73JdZ+
>>569
else に限らず then 側も同じだろ
C なら
if (value)
 printf("true\n");
else
 printf("false\n");
でもいけるし

> 記法なんでも有りのPerlがこの構文を許さない理由はなぜだろう?
if() a = 1 if();
って書かれた時に
if() { a = 1 if() };
{ if() a = 1 } if();
のどっちなのかが分かりにくくなるからじゃね?

572名刺は切らしておりまして2017/11/19(日) 15:36:49.91ID:+yxqcDMr
>>571
それはパーサー部分で優先度・左右結合力が決まっていればどちらかに一意にできると思う

573名刺は切らしておりまして2017/11/19(日) 16:36:39.83ID:yj73JdZ+
>>572
それはそうだが「人間に」分かりにくいって話かと

574名刺は切らしておりまして2017/11/19(日) 17:08:15.02ID:3SrYGjqE
>>493
よくわからんがプログラミング素人でも何となくわかる感じ?

575名刺は切らしておりまして2017/11/20(月) 18:07:27.19ID:TRgdoO1R
>>30
Perlはプログラム初心者が最初に学ぶべき言語では無いだろう。
いきなりオライリーのPerlの聖典読んでもわからんだろうし。
最初にPerlのCGI的なものに集約して取り上げたような断片的で
直ぐに通用しなくなるようなものも含まれるようなのを読んだ人はつまずいただろう

576名刺は切らしておりまして2017/11/20(月) 18:10:13.77ID:Bq39Jsm4
アセンブラはプログラミング言語に入らないのか

577名刺は切らしておりまして2017/11/20(月) 18:31:00.84ID:cWzyKL+n
アセンブラプログラミングって言うくらいだから入るでしょう

578名刺は切らしておりまして2017/11/20(月) 19:15:47.22ID:Xjfp7p1b
>>576
今時アセンブラも使わんがな。

新着レスの表示
レスを投稿する