我々は賢いので。

かんとーちほーのエンジニアの、仕事とか、趣味とか、いろいろなはなし。

【Qiita】突如現れた怪文書「今後必要になるプログラム言語」について【読書感想文】

Qiita に突如、彗星の如く現れ(そして消えていった)謎の投稿『今後必要になるプログラム言語』、
「ホラーだ」とか怪文書だ」とか「staticおじさんの再来だ」と話題沸騰中です。

はじめに

どうやら、ユーザアカウントがサスペンド(垢BAN?)されたようで、既に元記事は非公開になってます。

どっかにキャッシュねぇかな?
※【1109追記】コメント欄等で魚拓やWebArchiveのURL(後述)を教えて貰いました。本文には敢えて加筆修正しておらず、記憶違いは記憶違いのままなので、魚拓の方で確認してみてください。

f:id:sugaryo1224:20181108081450j:plain

一応、ぼくも昨日ちらっと本文を流し読みして「なるほど、わからん」となり。
その後Twitter「コメント欄が凄いことになってる」と聞いて見に行って。
「なるほど盛り上がってるなぁ、後でじっくり読もう」と思っていた所、記事が消えてました。

この日記は完全な記憶ベースで書いているので、細部に関して記憶誤りが含まれる可能性が高いと思って下さい。

※以降、長いので「今後必要になるプログラム言語 - Qiita」を 元記事 と記載します。

ことの推移とか(ぼく視点)

「今後必要になるプログラム言語 - Qiita」が話題に(なってすぐ消えていった)

昨日(11/07)の午前中かなぁ、Twitter「Qiitaにこんな怪文書が挙がってますよ」と教えて貰い、元記事を見に行ったんですよ。

ぼくの第一印象。

  • 日本語の文章がなんかおかしい。
    • 日本語に不慣れな外国人が書いたような、不自然な文章。
    • 或いは、AIの試作機か何かが書いたんじゃね?
  • 変な大文字が目立つ。
    • Java とか JAVA BEANS とか YOUTUBE という大文字表記が頻出。(何かの言語の文化?)
    • 中には JAVAscript という表記(せめて JAVAScript にしてくれ)も。
  • 言語のカテゴライズが不思議系。
    • JavaJavaScriptが同じ項目に含まれてたりして、違和感しかない。
    • これは意見が分かれる気がするけど、SQLが言語枠として挙がっている。
  • 不思議な単語が散見される
    • マスター言語 という聞いた事のない用語が見出しに登場する。
  • 根拠に乏しい
    • どんな主張であれ、根拠となるロジックがシッカリしていれば、たとえ見解が間違っていたとしても議論の土台にはなると思うんだけど、特に根拠や理屈が論理的に述べられていなかった印象。(ぼくの知識不足で拾えてなかっただけかも知れないけど)

って感じでした。

文章が文章だったし、内容も内容だったので、正直ぼくには理解が難しかったのでぶっちゃけ禄に読めませんでした。
こんなにすぐに消えると解っていたら、もっとしっかり読んだ(もしくは保存しといた)んだけどなぁ。

うろ覚えですが。

確かJava系のカテゴリの中にこんな挙げ方をされてました。

多分、あの記事を読んだ人の大半がここで脱落したんじゃないかと思います。
少なくとも、ぼくのSAN値はこの辺で限界を迎えました。

コメント欄でも当然Java欄にJavaScriptを挙げるな」と言ってる人もいましたね。

JavaJavaScriptは、インドとインドネシアくらい違う。

というのは、技術者が非技術者向けによく使う説明ですが、まさか本当にJavaJavaScriptが一緒くたにされている現場をこの目で見る事になろうとは思いませんでした。

総合的に見て。

『今後必要になる』じゃねぇな、って感じがしました。
どちらかというと『過去の開発案件で使ったスキルセット紹介』みたいな感じに見えました。

先に挙げた JAVA Servlet, JAVA Applet, JAVAscript という三点セットって、別にJavaでのWeb開発で必須の三点セットって訳じゃないし、そもそも今どきアプレットってこたぁねえだろ。
恐らく、ものすごく古い何かの開発では標準的なアーキテクチャだったものが、そのまま載せられてるんじゃなかと。
実際、コメント欄にも「タイムスリップしてきた人かな?」とか「時間軸の違う異世界の話かな」といった事が書かれてたので、ピンと来る人にはピンと来る古い技術の話っぽいです。

登場人物に PythonPHPRuby on Rails すらも出て来なければ、ScalaKotlin だって出て来ない。
ぼくの好きな C# だって当然のように出て来ない。
JavaScript に関しても完全に JAVA と抱き合わせの何かとして扱われていて、JS系の vue.jsreact.jsangular.js といったフレームワークに対する言及もナシ。

という事で、表題に対して著しく乖離してるんじゃねぇかなぁという印象。

コメント欄が活発に。

というのが昨日(11/07)の午前中から昼頃に掛けて。

同日、午後から昼過ぎに掛けて、コメント欄で指摘・ツッコミのラッシュがあったようで、しかもそれに対して元記事の投稿者からある程度レスポンスがあったんですよね。
そのレスポンスもまた、ちょっと不自然な所があったりして「マジでAIか何かなんじゃないの?」と言った声まで挙がっていました。

特徴として、大文字小文字の区別が曖昧で、ケースセンシティブでない(むしろ大文字寄り?)表記が目立ちました。

本人はjAVa と書こうが sCRIPT と書こうがそんなものはどうでもいい」 と言っており、 上の方でもちらっと書きましたが、なんか大文字に寄せる言語か何かの出身者なんでしょうかね。

垢BAN

で、あとでじっくり読もう、と思って一旦読むのをやめて用事を済ませ。

夕方頃に改めて見てみたら

消えてた。

ちなみに今確認したところ、ぼくが垢BANを確認したのが PM6:11頃 でした。

ユーザアカウント

この記事を書いたのは @administrator1974 というアカウントで、話題の記事意外にも幾つか(記憶ベースですが7~8記事ほど)投稿していたようです。

投稿記事に関して。

投稿数の割にカテゴリ(タグ)の種類は豊富で、円グラフはカラフルでした。
ただ、話題になってた元記事以外はほぼ反応がなかったようで、恐らく読んだ人もそんなにいないんじゃないかと思います。

うち2~3記事、適当に開いてみましたが、どれも似たような文体で読み難かったです。
内容に関してもまぁ、推して知るべし、って感じ。

軽い自己紹介的な投稿もあり、どうやら数日前(確か11/04とか11/05とか、ほんと最近)にQiitaにアカウント登録した模様。

ほんの数日のうちに話題になり、トレンド入りし、そして消えていった。

今はもう読めなくなってるので、元記事を読めた人はラッキーだったのかも知れません。

(垢BANにより限定公開化されていると言っているので、記事データ自体はQiita内部にありそうなので、Qiitaの中の人ならもしかして読めるんじゃねーかな、ずるいぞ)

1974年生まれ?

自己紹介記事でも明言されていた事として「Qiitaはまだよく解ってませんが」とありました。

また、コメント欄での各種ツッコミに対して『記事へ修正フィードバックする』のではなく「文句があるならお前らが反論記事を書いて挙げればいいだろ(※)」というスタンスでした。

突っ込み入れたいのであればトラックバック的に同テーマを自分で書いてPOSTすればよろしい。

まるで2chか何かの掲示板感覚、もしくはノイズの多いYahoo知恵袋か、増田(hatena anonymous dialy)か何かのノリですかね?

なんとなくノリが古いっていうか、『ドキュメントをオープンソース的に公開して、指摘や編集リクエストを受けて単一記事を皆でブラシアップしていく』っていうQiita的な利用方法を概念レベルで理解できてない気がします。

ハッキリ言うと、老害っぽい。

コメント欄でも数名、タイムスリップしてきたんじゃないかとかなんちゃらの時代から知識をアップデートしてないとこうなる的な話も散見されたので、やはり古い何かしらの技術の経験者なんじゃないかと思います。

アカウントIDの administrator1974 からし1974年生まれっぽいですし、今40代半ばですか。
この年代で、Java系でアプレット使った開発をメインにしてて、大文字文化がある(少なくともケースセンシティブでない)系統って線で探ってみると何か解るかも知れないですね。

もしかして、記事にあった謎ワード マスター言語 ってのも何かの固有用語ですかね。

以上。

ぼく視点で得られた情報としては大筋こんな感じ。

レビュー記事紹介

短期間とはいえ、界隈ではかなりのホットエントリになっていたので、既に幾つかレビュー記事が出てます。

少し前の侍エンジニア塾の騒動でも思いましたが、最近はこういうレビュー記事やカウンター記事が出るのが早いですね。

「今後必要になるプログラム言語」にひたすらマサカリを飛ばす - Qiita

一言で言うと皆が言いたいことを代弁してくれてる感じ。

qiita.com

今はもう元記事が読めなくなってますが、引用が多少あったり、指摘事項が的確に纏められており元記事自体を読まなくても大体どんな事が書いてあったのか何となく分かる、という意味で一読の価値あり、って感じ。

マスター言語とは???

真に問題なのは、見出しでさらっと「マスター言語」と呼び方を変えていることです。なぜ変えた?

マスター言語なんて呼び方聞いたこと無いんですけど、呼び方としてあるのでしょうね。「"マスター言語"」とダブルクォーテーション付きでググっても、元記事しか出なかったけど。

あ、ぼくと同じことやってる人おったwww

そう、かの人は マスター言語 って用語を使ってたんですが、ググってもヒットせず、少なくとも一般的な用語ではなさそう。
一般的な用語でないとなると、元記事を書いた人の造語であるか、いわゆるベンダー系の独自用語のどちらかでしょう。

コメント欄に時間旅行者説が

前述しましたが、時間旅行者説がここにもありました。

全体的に知識レベルが15年くらい前で止まってるみたいで、時間旅行者かと思いました。東日本大震災とか知らなさそう。

学生の頃を思い出して懐かしい気持ちになりました。

なるほど、15年前ベースっぽいのか、なるほど。
2003年頃かー、そりゃあぼくには匂いが嗅げない訳ですね。
(余裕で学生だったから)

JAVAJAVAscript

なんでJavaScriptが入ってるの?

これが強すぎて正直記事の内容が頭に入ってこないです。

Appletは既に廃止されてる非推奨の技術とかOSとJavaと関係ないとかJavaはバックエンドのシェア率高いけど統一されているわけではないとか動的HTML実現の一つにServletはあるけどそれだけじゃないとか言いたいことはいくつもありますが、それら全部が些細な問題に感じられるほどインパクトが強いです。

ほんとこれ。

この「なんでJavaScriptが入ってるの?」が疑問ではなく悲鳴に聞こえてくるよね、ほんとね。

SQLは開発言語か?

PL/SQL

なんでJava,Ruby,C++と並べた?

これ、同意。

これはこれで一つのテーマとして議論出来るくらい粒度が大きい話だけど、ぼくもSQLってJavaC#と並べて語るものではないと思うんだよなぁ。
いわゆるAPサーバサイドの開発言語に比べて、一段階か二段階くらい抽象的な気がするんだよね。
どっちかというと、データベースに対する操作を行う上での「規約」に近いと思うんだよなぁ。

実際問題、DBがじゃあ MS SQL Server なのか? Oracle なのか? MySQL なのか Postgre SQL なのか、それとも MongoDBDB2 なのか、、、とかで方言も出て来るし、個々にバージョンがある訳だし。

「今後必要になるプログラム言語」を読むに当たって - Qiita

これは凄い助かる!!

qiita.com

時代背景

元記事を読むにあたって(本来)必要な、時代背景とかその辺の情報が載ってます。

この記事によると、2000年前後の時代背景について述べられています。
先に挙げた別記事コメント欄にあった15年くらい前(2003年頃)とも合致しますし、なるほどなぁ、という印象。
(現役世代じゃないので、印象しかないけど)

この辺を元記事を書いた人が、きちんと『前提条件』として記載してれば、まだ記事の内容も「タイトルの『今後』を除けば成立するよね」という話で収まり、ここまでホットエントリになることもなかったでしょう。

多分。

Java黎明期の知識がいるらしい。

あの記事は HTML + JavaScript + Java Applet + Java Servlet を使う Java 黎明期の知識がないと読むのが難しいと思います。

だそうです。

なるほど、、、現役じゃないしなぁ、解らんかったわ。

これらを頭に入れてから、もう一度読んでみてください。

…やっぱり全然わかりませんね!!

ですよねー!!

「今後必要になるプログラム言語」について。 - はてなブログ

kiyou-binbou.hatenablog.jp

元記事へのツッコミではなく、元記事と同じテーマで書かれた、別な見解。

多分、この後数日のあいだに同テーマのエントリが増えるんじゃないかなと予想してます。
ぼくも書くかも知れないね、暇なら。

ちなみに本記事、改訂が入っているようで SQL が格上げされてます。

基本的に同意見ですね。

なんだろう、「SQLプログラミング言語だから」という理由で書かれてますが、むしろ逆かなと。
まぁ『プログラミング言語』の定義にもよりますが、ぼくとしては『DBを扱う上で必要なもの』だから、プログラミング言語云々とは『別枠として必要』な知識だと思ってます。
少し補足するなら、NativeSQL の知識と、ORマッパー の知識、ですかね。

何れにせよ、議論する上で『プログラミング言語』とはなんぞや?という点で共通認識が取れないので、定義が曖昧な言葉の上で議論してもしょうがないと思いますので、この話題はこれ以上掘り下げませんが。

感想

んー。

案外長くなってしまったので、簡潔に。

  • タイトルの『今後』はどう考えても嘘だよね。
  • 対象層をどこに置いているかによるかな。

記載されてる内容は明らかに古く『今後』というのはタイトル詐欺だよね、って話。

あと、仮にタイトルに沿って核としても『新人に向けて』なのか『中堅で稼ぎ時、転職を見据えてる人』なのか、それとも『定年間近の超ベテランの人』なのか、それによって『今後必要になる』って大きく話が変わると思うんですよねぇ、学習コストに対するトレードオフとかもあるしね。

それこそ、ほぼ逃げ切り目前の人ならCOBOLとかでもいいと思うんですよ、保守案件はまだ一定数あるらしいし、現役世代の退役が囁かれていて最後の特需があるかもしれないし。

でも新人みたいな、まだまだこの先五年十年とやっていくなら、次の技術へのスキルシフトをしやすい言語、特に新規開発が見込めるベクトルを目指すべきだと思うんですよ。
そういう意味で、既に古い方の言語となったJavaですが、まだ新規案件もあるし、何よりJVM系の後発言語へのルートを確保しやすいという点で、『現時点』と『この先』を踏まえて考えるとまだまだアリかなって思いますよね。
その状況が今後どこまで維持できるかは解らんけど。

あと、別件ですが、前述の「ひたすらマサカリ」の記事に元記事の web archive が追記されてました。


(*'▽') ここから先は追記分になります。

追記(11/09)

元記事Web魚拓

やはり、ある所にはあると言うか、取ってる人は取ってるって感じ。

コメント欄で、いわゆるWeb魚拓のURLを教えて貰いました。
まだ元記事を読んでなかったと言う人はどうぞ。

ちなみに、リンク貼った各記事の飛び先でも元記事のリンク修正がされてて、もう暫くホットエントリとして延命しそうな感じですね、、、。

ABAP経験者説を唱えてみる

コメント欄でも気にしてる人がいましたが、やはり『マスター言語』って表現がめちゃくちゃ気になりますよね。
しかし マスター言語 はググってもヒットしなかった。

ので、気になって マスタ言語 にしてググりなおしてみたら、幾つかヒットしました。

  • SAP
  • ABAP
  • マスタ言語/ログオン言語

ん・・・ABAP

アバップって何か聞いた事あるな。

確か、某案件でお客さんとの雑談で出て来た単語だ。
ABAPerつってCOBOLerと同列に扱われてた。
興味なかったのであまり調べなかったけど、何かそういう言語があった筈。

で、今度は ABAP でググってみた。

ABAP - Wiki

ABAP - Wikipedia

SAP SEの製品でのみ用いられるSAP独自のプログラミング言語

ほうほう。
SAPの独自言語じゃ知らねえわけだ。

ABAP - Qiita:

【第3回】超初心者が書くSAPについてのメモ 〜ABAP(基本文法)〜 - Qiita

リテラル以外の文字は、大文字小文字を同一視する

ほほう、ケースセンシティブではないと。

そう言えば、元記事書いた @administrator1974 さんは、大文字小文字を区別してなかったな。

何の実にもならないパロディ記事とかアンサー記事書きまくってる奴らへ - Qiita

と言う記事が投稿された。

qiita.com

ひどいブーメラン記事だという自覚はあるけど流石にトレンド汚染も酷いし本来的な使い方してるユーザーにとっては迷惑そのものでしかなかったので

と言う自覚があるらしいのでそこについてどうこう言うのはまぁナンセンスだから黙っておくとして、皮肉にもこの記事がトレンドに挙がってたんだよね。
Qiitaのトレンド判定もう少し何とかならないのかな、ってのは同意見。

やるにしても、(まさにこの日記のように)自分の持ち物のブログとか、或いはTwitterとか、何にしてもQiita外でやって欲しいなぁとは思う。


ちなみに、

突っ込み入れたいのであればトラックバック的に同テーマを自分で書いてPOSTすればよろしい。

件の怪文書作者自身がこう言っていたので、まぁ自分のブログで見解を述べるくらいは問題ないでしょう。

Add Starmasansa14sendai
  • ぽてと

    コメ欄を読むとわかりますが、今後というのは今後の最先端を指しているのではなく、今後の案件の変化を指しているのかと。ふるーい遺産が一新されず残っている一方で、人が新しい技術に推移するため、逆に需要が高まる ということを言いたかったのかなと。

  • ぽてと

    あと、JavaとJavaScriptについてですが、両方書かれていることから全く同じものと言ってるわけではないですし、バックエンドとフロントエンドのひとセットで捉えられるのでそこまでそんな変なものではないですよ。

  • すがりょー (id:sugaryo1224)

    随分と好意的解釈すぎやしないですかね。
    「Java」と言うカテゴリ内に入ってなければ言ってる事も理解できますけど、
    Javaカテゴリのバックエンドとフロントエンドの中にJavaScriptが入るんですか?
    擁護するにしてもちょっと苦しいと思います。

  • もっと読む
コメントを書く