X



【IT】「最も嫌いなプログラミング言語は何?」栄えある1位に輝いたのはあの言語
■ このスレッドは過去ログ倉庫に格納されています
0001ノチラ ★
垢版 |
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
0534名刺は切らしておりまして
垢版 |
2017/11/16(木) 03:49:42.82ID:YMglnno9
簡単なTool程度ならPerlでも問題ないだろ
0535>533
垢版 |
2017/11/16(木) 03:52:41.43ID:ceL8JzwL
いいお、ごめん。
あんまり考えても、今、CGI系ないからさ、
一緒にいたら友達になりたいタイプお。
0538名刺は切らしておりまして
垢版 |
2017/11/16(木) 04:44:09.39ID:+2Aor68e
まじな話、Perlの後継言語はPowerShellだと思う。

Perlができた経緯もシェル言語への不満で、
PowerShellはコンピュータサイエンスや現代的技術をベースに一から作り直した感じ
0541名刺は切らしておりまして
垢版 |
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なども台頭してきて、極めたような人以外は使う人が少なくなってしまったみたい
0544名刺は切らしておりまして
垢版 |
2017/11/16(木) 23:34:02.80ID:+KuXLUGy
>>494
いやますます重要になってきているだろ
お前の使っているその言語のランタイムやライブラリが何でかかれているか少しは意識しろよと
0545名刺は切らしておりまして
垢版 |
2017/11/17(金) 00:02:26.45ID:+IGS1+vG
>>544
下の層の詳細や実装方法を知らなくても大丈夫
例えばそのC/C++で書いていてもCPU個別のアセンブラを意識する部分はカーネルの一部だけであるし
アセンブラで書いていてもCPU内部実装を意識することは稀で公表スペックまで把握していればよいし
さらに下位層には電気工学的にどうなのか、分子レベルでは、原子レベルでは、量子レベルでは、となる
つまり各プログラミング言語の仕様まで把握していればそのコンパイラやインタプリタで用いられている言語は気にしなくてよい
0546名刺は切らしておりまして
垢版 |
2017/11/17(金) 01:56:06.80ID:AX4OZo7z
>>545
上の層の言語の重要性が増すほど、その機能やらライブラリの充実やら高速化やらの需要が増す
で、それに答えるためにも下の層での開発効率がより重要になるんだな。
c++も保守的だった昔と比べて11以降楽に書くためのsyntaxシュガー導入やらライブラリの充実やらの勢いは凄い
まあ言語仕様や理解のための必要知識がガンガン肥大化していって素人お断りなところも加速している気もするが
でも本当にライブラリのユーザーとして振る舞うだけならコーディング量はLLと比べても大差ないレベルまで来ている
0547名刺は切らしておりまして
垢版 |
2017/11/17(金) 03:25:36.92ID:QNYMwQm6
高レイヤー「低レイヤーは俺らの奴隷だから」

低レイヤー「高レイヤーの馬鹿どもには書けねーから」
0548名刺は切らしておりまして
垢版 |
2017/11/17(金) 09:42:13.97ID:+IGS1+vG
>>547
レイヤーの高低に優劣さはない
そしてレイヤー間は独立していて互いにその内部の仕組みや実装をしらなくても利用できることが本質
それなのに>>546はそれを理解しないどころか論点をすり替えてc++を意味不明な方向で持ち上げているだけ
0549名刺は切らしておりまして
垢版 |
2017/11/17(金) 12:48:51.87ID:9zGQ9hqZ
別レイヤーは意識しないでいい人間が大半だけど、だから低レイヤーは要らんとか言うのとは別の話
0550名刺は切らしておりまして
垢版 |
2017/11/17(金) 13:59:32.60ID:797EYKX8
>>548
> レイヤーの高低に優劣さはない
CPUの設計をしてるエンジニアと、
Javaで業務システムをコーディングしてるエンジニアに
優劣はないと信じてるのね。
0551名刺は切らしておりまして
垢版 |
2017/11/17(金) 14:18:01.70ID:DdvjfxXk
>>550
逆を返すとCしか知らない上にCやらせてもそこそこしか出来ない人もいれば
今時のモダン言語でWebシステムを超短納期で作れる人もいる

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

低レイヤー「低レイヤーは馬鹿には設計できない」
0554名刺は切らしておりまして
垢版 |
2017/11/17(金) 21:38:33.19ID:797EYKX8
>>552
優劣があるかどうかはどうでも良いけど
報酬に大きな差があるのは事実。
0556名刺は切らしておりまして
垢版 |
2017/11/17(金) 22:45:06.23ID:+IGS1+vG
>>554
どちらの報酬が大きいと思っているのでしょう?
レイヤーによる収入差はなく、むしろ同じレイヤーでも個人差による収入差の方が大きいでしょう
0557名刺は切らしておりまして
垢版 |
2017/11/18(土) 00:33:45.80ID:a/wsOLFr
Rubyは単に外人は知らないから扱いたくないというだけの事で、
それをdislikeと評するのはおかしいのではないでしょうか?
0558名刺は切らしておりまして
垢版 |
2017/11/18(土) 00:38:38.53ID:q8dcdGEA
>>557
Rubyは単純に言語仕様&記法に癖があって使い勝手が良くない点と
メリットが皆無(以前はRoRがあった)という点でRubyを使うメリットが外人に限らず日本人にもない
0559名刺は切らしておりまして
垢版 |
2017/11/18(土) 00:45:45.89ID:a/wsOLFr
>>557
この調査日本人は殆ど関係ないみたいですけど。
外人さんはメリットがどうこう以前に
Rubyなんて名前しか知らんという人が大半なのではないでしょうか?
0561名刺は切らしておりまして
垢版 |
2017/11/18(土) 00:58:32.96ID:q8dcdGEA
>>559
Ruby on Rails (RoR)によって外人さんもRubyを知っている
そして当時画期的だったRoRを高く評価していたのも外人さんたち
しかし他の言語でも同じようなフレームワークや改善されたものが次々と出現してRoRが没落
RoRというメリットを失ったRubyは単なる癖があって使いにくいプログラミング言語の地位に落ちてしまい嫌われている
0562名刺は切らしておりまして
垢版 |
2017/11/18(土) 01:04:54.70ID:uj2g9ysK
言語が悪いんじゃない、それを使う人間が悪いんだ
0563名刺は切らしておりまして
垢版 |
2017/11/18(土) 14:58:54.57ID:8qPkqgPv
>>533
見做せません
文脈自由文法でなくなってしまいます
いわゆるdandling else問題

パーザ絡みで不利
メタが当たり前なご時世にelif/endif相当を導入しないのは愚策
endifなしだと不味い
0565名刺は切らしておりまして
垢版 |
2017/11/18(土) 15:01:32.55ID:fyWSzBue
>>556
本当にそう思ってるの?
0566名刺は切らしておりまして
垢版 |
2017/11/18(土) 15:02:40.22ID:fyWSzBue
>>555
各レイヤーの底辺とトップを比べても意味ないよ?
0567名刺は切らしておりまして
垢版 |
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」が必須となってしまうのである
0568名刺は切らしておりまして
垢版 |
2017/11/19(日) 05:43:24.01ID:0PnnLASA
>>567
perlでは else if という記述は通らない。
0569名刺は切らしておりまして
垢版 |
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がこの構文を許さない理由はなぜだろう?
0571名刺は切らしておりまして
垢版 |
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();
のどっちなのかが分かりにくくなるからじゃね?
0574名刺は切らしておりまして
垢版 |
2017/11/19(日) 17:08:15.02ID:3SrYGjqE
>>493
よくわからんがプログラミング素人でも何となくわかる感じ?
0575名刺は切らしておりまして
垢版 |
2017/11/20(月) 18:07:27.19ID:TRgdoO1R
>>30
Perlはプログラム初心者が最初に学ぶべき言語では無いだろう。
いきなりオライリーのPerlの聖典読んでもわからんだろうし。
最初にPerlのCGI的なものに集約して取り上げたような断片的で
直ぐに通用しなくなるようなものも含まれるようなのを読んだ人はつまずいただろう
0576名刺は切らしておりまして
垢版 |
2017/11/20(月) 18:10:13.77ID:Bq39Jsm4
アセンブラはプログラミング言語に入らないのか
0580名刺は切らしておりまして
垢版 |
2017/11/21(火) 15:10:34.24ID:HvnTMiqb
組み込み系もアセンブラとか駆逐されてるな。
せいぜい非力な8ピンPICとかくらいだろ。
0585名刺は切らしておりまして
垢版 |
2017/11/22(水) 19:44:13.54ID:sZfvTWgS
>>32
テンプレート最高に便利じゃん
0589名刺は切らしておりまして
垢版 |
2017/11/23(木) 06:07:46.31ID:p9Wl0qx7
>>585
便利だけどさ、あれ単なる静的型付けされたマクロやん
書く分には良いけど、デバッグの際に地獄を見る

後発言語のジェネリクスは本当にテンプレートの良いとこどりした感じで良い
0590名刺は切らしておりまして
垢版 |
2017/11/23(木) 20:53:52.98ID:o5u3CrAn
>>463
みたいな考えの人間おる?

俺もこっち派なんだが。JavaもKotlinも俺には合わない。
Pythonみたいに適当に動かせるほうが好き。
型宣言が無くてソース追えないというのはあまり理解できない。

JavaやKotlinはなんだかんだメソッド動かす(オブジェクト初期化するも含む)のに、
いちいち型をあわせるとか本当に面倒でさ。
メソッドが必要とする引数オブジェクトの型が
プリミティブ型ならまだいいけど、
生成するのが面倒なクラスのオブジェクトとかだと本当にイラつく。
一気にテストするのがだるくなる。

しかしテスト大賞のメソッドで使うオブジェクトのプロパティとかメソッドは
大抵一部で、大多数のプロパティは不要なのがうざい。
メソッドに不要なプロパティもオブジェクト生成のために再現しないといけない。

だから、関数が使うプロパティやメソッド名が引数のオブジェクトにあれば、
その型は気にしないって考え方のほうが好き。
ダック・タイピングって言うのかな?

メソッド流しながら引数となるオブジェクトに
必要なプロパティやメソッド確認できるから。
そのほうが俺はデバッグしやすくて嬉しい。
0593名刺は切らしておりまして
垢版 |
2017/11/23(木) 21:23:51.13ID:sId0LGMI
プログラマで食うのなら、Cはキチンと書けないとな
実際の仕事でCを使うか分からんが、必要なのはロジックなんだな
0595名刺は切らしておりまして
垢版 |
2017/11/24(金) 04:48:38.60ID:+DDE6RVb
>>590
そっちの人って、やたらタイプ数を減らそうとするよね。
コーディングにかける時間なんて開発のほんの一部なんだから、大した効果ないのに。
0598名刺は切らしておりまして
垢版 |
2017/11/24(金) 10:07:00.72ID:7ffBKwBL
>>590
ほぼ完全に同意
現在は型を厳格に宣言することにほとんど意味はない
昔はコンパイラ等で最適化に有利だったが現在は自動で判別される
0600名刺は切らしておりまして
垢版 |
2017/11/24(金) 21:58:26.56ID:Mv8TFP1J
やっぱりc++が最強
0603名刺は切らしておりまして
垢版 |
2017/11/25(土) 10:25:05.39ID:jagLR6f0
目的でものを考えてないから
型が必要とか思っちゃうんだろうなあ。

静的な言語の型推論と
動的な言語の目的は本質的に同じこと。
0604名刺は切らしておりまして
垢版 |
2017/11/25(土) 10:27:38.85ID:jagLR6f0
要は推論が得意な奴は
型はいらないと思える。

気付けない、推論ができない
地頭の悪い奴は多分型が無いと
読み取れないんだろ。きっと。
0606名刺は切らしておりまして
垢版 |
2017/11/25(土) 10:50:26.00ID:qtsI0T9B
ペルルと読むのかとおもった
0607名刺は切らしておりまして
垢版 |
2017/11/25(土) 11:00:21.97ID:788ScNMq
C?
VB.NETさえできればいいんだよ
IF

ELSE

END IF

ほら、美しいだろ無駄な括弧はいらないし、型の定義も基本的に強制だし
ポインタなんて使わない
リファレンスも豊富だし
オブジェクト指向もできる
ほかの言語は回り道に過ぎない
VB.NETこそ至高なのです Your Highness
0608名刺は切らしておりまして
垢版 |
2017/11/25(土) 11:14:04.81ID:jagLR6f0
ソース読めばわかるようなことをコメントしないと気がすまなかったり
すぐに手順書ばかり欲しがったり
なんでもかんでも冗長に書きたがったりするような奴が
きっと型を欲しがるのだと思う。

ソースからその人間の意図を理解できる勘が良いやつなら
そうした冗長性は無駄にしか思えないのだろう。
結局型を欲しがるか欲しがらないかは
人間としての資質の差だと思う。
0611名刺は切らしておりまして
垢版 |
2017/11/25(土) 12:42:17.70ID:jagLR6f0
冗長じゃないと
わからない、納得しないような地頭の悪い人に合わせてあげてるだけだよ。

目的論の話をしてる時に、
厳密性にこだわり話の筋を折るような人に
あげ足取られないようにするためにねw
0612名刺は切らしておりまして
垢版 |
2017/11/25(土) 12:48:44.08ID:qh4tQhf4
>>608
そんなあなたにはアセンブリ言語がおすすめです。
0614名刺は切らしておりまして
垢版 |
2017/11/25(土) 13:50:04.52ID:+BnMF243
VBAで食わしてもらってます。あまりに評判悪くて将来が心配です。他言語を身につけるなら何がいいですか?
0618名刺は切らしておりまして
垢版 |
2017/11/25(土) 15:18:42.08ID:VBRjvtb3
PHPは言語仕様を読んでるだけでめまいがしてくる
なんであんな建て増し旅館みたいになってんだ
0619名刺は切らしておりまして
垢版 |
2017/11/25(土) 17:33:06.57ID:AuyeipEx
>>618
PHPは馬鹿でも出来る。頭が馬鹿になりそうだとか
前に吹聴してるの見た事があるけど、あれは嘘なのか?
0620名刺は切らしておりまして
垢版 |
2017/11/25(土) 18:33:21.19ID:Gt5DsI0N
>>440
DOS時代にすべてアセンブラで書かれたという
TARGETという競馬データーベース・ソフトがあった
初めて使ったとき、あまりの速さにびびった

その後Windos版になるにあたってDelphiで書いたそうだ
少しでも処理の速さを考えて、と作者が言ってたな
それでもDOS版には及ぶべくもないが
0623名刺は切らしておりまして
垢版 |
2017/11/25(土) 18:44:15.75ID:qh4tQhf4
>>622
RDBだけがDBじゃないぜ
0624名刺は切らしておりまして
垢版 |
2017/11/25(土) 18:58:44.40ID:Gt5DsI0N
>>622
なんだが? と言われても困るがw
0625名刺は切らしておりまして
垢版 |
2017/11/26(日) 02:00:22.32ID:H4WgDlt6
>>613
多分地頭の悪い人なんだろwww
0626名刺は切らしておりまして
垢版 |
2017/11/26(日) 10:24:56.69ID:f2rIAKa1
>>220
では、昨今のoss時代、redisを使ってみよう。
あまりの速さに再び感動するだろう。
やはりoss時代の爆速インタプリタ luaと組み合わせれば軽い処理にわざわざ
javaで書こうとも思わなくなる。
0627名刺は切らしておりまして
垢版 |
2017/11/26(日) 10:25:36.15ID:f2rIAKa1
↑アンカー先まちがえた。
>>620 宛だった
0632名刺は切らしておりまして
垢版 |
2017/11/26(日) 12:14:06.37ID:BTZjXZyk
>>607
マジレスだけど、VBAとExcel、Accessで業務の90%はカバーできると昔から言われているし、残りの10%をその他の言語がカバーしてるんです。ただ、誰でも容易にソース書けるのが逆にデメリットなんですよね。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況