【JavaScript】スクリプト バトルロワイヤル55【php,py,pl,rb】 [無断転載禁止]©2ch.net
で、その簡単に書けてるJSで仕事って取れてるの?
そんな美味い話はありません
仕事取れるレベルのJSなら難しいものです >>714
また論点そらしか。その程度だとプログラマとしては無理だから止めた方がいい。
それのどこが「JSが比較的難しいプログラミング言語」になるんだ?
お前は学生なのかそれ以下なのか知らんが、
当たり前だが、誰でも出来るようなことで簡単に給料を得る方法なんて無い。
それはどの職業でも同じ事だ。勿論プログラマも含まれる。
お前が言ってるのは「プログラマは誰でもなれて高給を得られる職業ではない」であって、これはその通りだ。
しかしこれだと論点がずれていることにすら気づけないお前ではプログラマは無理だ。止めとけ。
前述の通り、給料を得ようと思えばそれなりなのが必要なのは全職業だし、
プログラマに限っても、『どの言語でも』同じ事だ。
まあそれでも比較的JSとPHPはプログラマ全体から見たら馬鹿が多いからWeb系と馬鹿にされてるわけだが、
しかしこれも、逆に言えば比較的馬鹿でも給料を得られるということではある。
ただし今Webがバブルってるだけかもしれんが。
まあJSすら理解出来ない馬鹿と話しても意味がないと理解した。
次の論点逸らしには返答しないからそのつもりでよろしく。
お前には未来永劫「JSは難しい」とつぶやき続けて次世代から馬鹿にされる未来がお似合いだよ。 jsが難しいというか
js周りのフレームワークは移り変わりが激しい
生jsはIDEの支援が少ない
という理由で開発する人は大変という印象 >>716
> js周りのフレームワークは移り変わりが激しい
乱立しているのは事実として、
いちいち付いていきたくなければ使わないのもありだし、古いのを使い続けるのもありだろ。
Javaみたいに10年間進化しない方がいいのならこれでいい。
選択肢がある分ましだと思うが。
> 生jsはIDEの支援が少ない
これは動的型言語共通の話で、Python/Ruby/Perl/PHPとも同じだし、同程度には支援があると思うよ。
それ以上の支援が欲しければ型を明示的に書くしか無く、TSがこれになる。
逆に、静的型言語で型を(全面的に)省略することは出来ないから、これも選択肢がある分ましだろ。
まあPythonは意図的に選択肢を絞っているし、それが受けているようではあるが、
俺はMatzと同様、いろんな実装方法があった方がいい、という意見なので。 >>716
それ故に新しい環境にちゃんとついていける奴は少なくなるし
ついていければ有利だろうって算段でやってる
>>715
オラオラしたいだけの学生キッズと違って大人はお金や+@が必要なんよね
無駄なエネルギーを使うのをやめたほうがいい >>717
>これは動的型言語共通の話で、Python/Ruby/Perl/PHPとも同じだし、同程度には支援があると思うよ。
原理上はそうだけど環境の比較であれば実際に入手できる環境の優劣はあるね。
VSCodeのlanguage serverはTypeScriptじゃない生jsでもかなり強力に推論してくれるし
Pylanceもそこそこ使えるものになっている。
PHPとRubyはこれからってところじゃなかったかな。 >>719
その辺に関しては結局のところ人数勝負であり、JSとPython以外については死体蹴りでしかない。
ただしVSは(Codeは知らんが多分同じ)ただのフロントエンドであり、
IDEサポートについてはどの言語でも原理は同じなので、横方向展開は(やる気があれば)早いはずだが。
まあバトルロワイヤルなら第一ラウンドは終わって、これから優勝決定戦が JS vs Py で行われるといったところだろう。
ついでにPythonも滅ぼして欲しいところだが、JSは非同期強制なのとコンソールがないのが痛い。
MSがPowerShellとかいうゴミに逃げずにCScriptを発展させてくれれば良かったのだが、
これはどっちかというとMSが追い出された側だからJSの失態だが。
して、JS vs Py はお互い相手を滅ぼすほどの決定打を持たず、しばらくは膠着状態が続くのだろうね。 >その辺に関しては結局のところ人数勝負であり、JSとPython以外については死体蹴りでしかない。
あんたが死体を並べておいて何言ってんの?
>IDEサポートについてはどの言語でも原理は同じなので、横方向展開は(やる気があれば)早いはずだが。
原理的には同じであっても各々の開発者コミュニティのやる気や能力には差があるわけで。 pythonが生き残ってる理由ってnumpyがあったからでしょ。単に機械学習の分野で使われてるだけ。
単にスクリプト言語としてならjsの方が遥かに優秀だし可能性はあるよ。
非同期強制に関しては何が悪いのかわからない。
コンソールはあるし。 > pythonが生き残ってる理由ってnumpyがあったからでしょ。
殆どの言語はそれなんだから当たり前。どれでもいい言語が大半。
選ぶ理由は言語ではなくライブラリやフレームワーク
> 非同期強制に関しては何が悪いのかわからない。
非同期強制ではない。四則演算などは同期的に処理される
何が悪いかというのは、二通りのやり方がある所
ライブラリのデフォルトがほぼ非同期になってる所
つまりライブラリが悪い スクリプト言語としての活用の仕方っていっぱいあるじゃん。例えばクローリングや業務の効率化の為とか。
そう言ったニッチな分野でもpythonが使われてるけど、その理由は機械学習がトレンドだった時代にpythonが推されて、それを見たユーザーがpythonを勉強してたからでしょ。pythonを何故か書ける人が多い理由はこれだと思う。
そういう分野でも俺はjsが向いてると思うよ。nodeやそれを取り巻くエコシステムが充実してるから。インタラクティブな環境もあるし。
数理処理を除いて基本的にpythonにあるライブラリはjsにもあるし、逆も然りでしょ。
イベントループってご存知?実promiseとかasync awaitとか非同期処理を書くときの概念は最初は戸惑うけど、かなり合理的だよ。
まぁ、pythonは数理処理を行うためなら良いと思うけどね。 そういうのは、非同期に処理したいときだけ、使えば良いんですよ。
必要もないのに、誰か(ライブラリ)に強制されるのがアホらしいのであって JavaScriptも同期的処理がメインのライブラリ、実行環境がでればいいけど
それがでないのでPythonの変わりにはならない
逆にブラウザで動くのはJavaScriptしかないから、PythonはJavaScriptの変わりにはならないが
それはJavaScriptが優れているからという理由ではない。
単にブラウザがJavaScriptを選んだってだけ 結局の所、ライブラリや実行環境という
言語以外の部分を理由に、言語を選ぶのであって
言語自体で選んでないのよ 必要もないのにpromiseを使ってる例を教えてね。多分必要があるからそう書いてると思うよ。
ライブラリや実行環境含めてpyは貧弱だってことだよ。
パッケージの管理やlintとか。型システムとかね。
pipenvとかメンテされてんの? > 必要もないのにpromiseを使ってる例を教えてね。多分必要があるからそう書いてると思うよ。
例えばデータベースのデータを取ってくる時に
データが返ってくるまで待ちたいのに
Promiseを強要される所 それは当たり前にpromise返すよね。
複数の非同期処理を直列で行いたい、並列で行いたいとか書き手のあらゆるユースケースに対応するためのものじゃん。 >>731
並列で処理したいとか思ってないんだが?
データがないとその先の処理はできないんだから非同期にする理由がない
ただデータを欲しいだけで、その処理を並列でやろうとか思ってない
なのにPromiseを強要されるって話をしてるんだが?
言っただろ?
そういうのは、非同期に処理したいときだけ、使えば良いんですよ。 今なんの話をしてるのかわかってないのか?
ブラウザのユースケースの話ではない
サーバーアプリのユースケースの話ではない
それらのユースケースでは非同期は必須だが、
非同期が必須じゃないユースケースもあって
そこには非同期ばっかり使う今のJavaScripの実行環境とライブラリは
適してないって話をしてるの気づいてる? 俺が例を聞いて、データベースの例出してきのは君だよね? async awaitの登場でそこら辺も意識しないで済むでしょ。
そのうちtop level awaitもサポートされるし >>734
データベースからデータを取得するプログラムが
いつ非同期が必要になったんだ?w
データベース自体が必要なのと、
データベースを使う「アプリ」が必要なのの
違いも区別できてないのか?
今話をしてるのはJavaScriptで作るアプリの方だろうが >>735
async awaitを使うか使わないかを
使い分けてる時点で意識してるw asyncawait全然難しくないのにそんな同期欲しいか?
中途半端に同期APIに門戸を開くと実質同期waitが可能になって
モラルハザードが起こるから要らないんだけど >>738
どちらかに統一されるならまだしも
同期と非同期の2つが頻繁に混ざることが問題
同期メインで必要なときだけ非同期を使うほうが楽だって言ってんの すまんけど混ざった経験がない
混ざるってなに?
非同期メインでどうでもいい時だけ同期を使う方が正直楽 >>740
日付操作ライブラリは非同期ではない
普段書いてるJavaScriptコードも非同期ではない >>723
基本的に ID:Y7rxETSL の言うとおりであって、空回りしてるのはお前が色々無知だからだ。
今言ってる「コンソール」ってのは、「『コンソール』アプリケーション」の「コンソール」であって、
つまりC/C++/Java/AWK/Perl/Ruby/Pythonのデフォの動作環境のことだ。
JSがPyhtonを滅ぼせないのはまずこれで、
動作環境が全く違うから、他スクリプト言語(AWK/Perl/Python/Ruby)の置き換えが単純には出来ない。
逆に、これらの言語間では容易に置き換えが出来、勝者はPythonになりつつある。
なおこの意味ではPHPも動作環境が全く異なるのでとりあえずは生き残る。
非同期が駄目な点は、単純に難しくなるからだ。
Python等で処理される事柄の大半は同期処理で全く問題ない。
JSの場合はC10K問題を非同期で解決するというのが宗教になってて、実際これは上手く機能しているが、
通常用途にはオーバースペック過ぎる。(データ待ちで待たされても何ら問題ない)
必要な時だけ非同期にさせろ、というのが正しくて、他言語はほぼ全てこうだが、JSは宗教だからこれを認めない。
asyncとpromiseでー、というのは、「一方ロシアは鉛筆を使った」を学んでこい。
個人的に勿体ないと思うのはIndexedDBの同期I/Oが廃止されたことだ。
書き込みだけでも同期I/Oが残っていればbeforeunloadで使えて、LocalStorageを廃止出来たはずだが、
現状そうでないからJS的に目の上のたんこぶな同期強制のLocalStorageを廃止出来ずにいる。
ここら辺は仕様を作る奴等が間抜けだと思う。
(ただし現行LocalStorageは設定値保存に使われており、
これが非同期読み出しだけになると大半の連中はまともに組めなくなるとは思う。《モーダル/モードレスよりも難易度が高くなる》
この意味ではLocalStorageを同期のままで残しているのは現実的な方策ではある)
>>738
> モラルハザードが起こるから要らないんだけど
これが典型的な宗教家だよ。
本来誰でも簡単に組めて、技量があればもっと素晴らしくも組める、というのが正しくて、
技量がないと組めない、というのは間違いなんだよ。
サーバーアプリも、DBつつくと無駄に非同期がいるから、JSよりもPHPの方が簡単に書けてしまう。
これがJSがPHPを滅ぼせない理由の一つだよ。 今言ってるコンソールって誰も言っていません。どこで出てきましたか?
コンソールアプリケーションのコンソール=動作環境という論理で話していますが、意味がわかりません。
難しいからダメというのは話になりません。
俺は幅広いユースケースに対応できるのはjsだよねって話しています。まともな反論はなかったです。
置き換えが容易、pythonが勝者だというソースを出してください。 indexedDBの同期apiがなくなったのは当たり前。localstrageも非同期になって欲しいくらい。
基本的にどんなioをjsでは非同期になってほしい。
そうすることで待ち時間に処理を実行できたりするから。 > 俺は幅広いユースケースに対応できるのはjsだよねって話しています。
どの言語でも幅広いユースケースに対応できてるだろ
C言語で作れないものはないとでも言えばわかるか?
> 基本的にどんなioをjsでは非同期になってほしい。
非同期が必要ないユースケースは?w
非同期が必要ないユースケースなのに非同期を強要され
だからといって非同期に統一されているわけでもない
自分の都合ではなくライブラリの都合で、同期と非同期を混在させなくてはいけなくなる
どうせ統一できないのであれば、必要なところだけ非同期にしたほうが楽だろ 非同期が必要ないユースケース=待ち時間にする処理がない場合
例えば取ってくるデータがなければその後の処理ができない場合、
データを取ってくる処理を非同期にしてもただ待つだけで
待ち時間にする処理が何もことがない >>743-744
お前が日本語もプログラミングも出来ないのは分かった。
相手する価値がないからもうやめにする。
> pythonが勝者だというソースを出してください。
と言う以上、お前はこれを否定出来るソースを出せるのだろ?まずそれを出せ。
このレベルの既知の事柄についていちいちソースソース言われても話が進まなくてウザイだけだし、
そもそもこの点に反論したいのなら743の時点で君が君側のソースを出す手もあった。
それが出来ないのは君が会話が出来ない馬鹿だからだよ。
> localstrageも非同期になって欲しいくらい。
これも既に言ってるだろ。
JS界では同期I/OのLocalStorageは以前から問題視されてて、非推奨とされているが、いまだに廃止出来てない。
それは廃止出来ない理由があるからであり、俺は既にそれを言ってる。
君は日本語が不自由だから話について来れず、何度も同じ事を説明されないと分からない馬鹿だ。
それだと話が全く噛み合わず、進まないんだよ。
実際、他の件もそうだろ。ここで会話出来る最低限の日本語レベルに達してないし、プログラミングの知識もない。
まあそれでも君みたいな馬鹿でも非同期ガーとイキれるのはJSの良いところで、
つまり馬鹿でも出来てそれなりに見栄えのする結果も得られ、出来ると勘違い出来る言語、ということでもある。
ただ、イキってる馬鹿はどの言語にもいるが、JSのイキリ馬鹿は他言語に比べてもだいぶ酷い。 よくよく考えてみると、JavaScriptでPromise(≒非同期)を使う場合って
「処理が終わるまで(何もしないで)待つ」時に使ってるよな?
非同期を使ってる本当の理由をわかってない気がする
非同期を使ってる人、ちゃんと使っている理由を正しく言えるのだろうか?
1. ブラウザで画面が反応しなくなるのを防ぐため
2. サーバーアプリで他のリクエストを処理するため
に非同期を使ってるんだぞ
並列処理とごっちゃになってそうな気がする
非同期は速くするためにやってるわけじゃない >>748
>よくよく考えてみると、JavaScriptでPromise(≒非同期)を使う場合って
>「処理が終わるまで(何もしないで)待つ」時に使ってるよな?
待つ時以外にも用途があるわ。
例えばファイルをreadする処理がある場合、非同期だとreadする時間を有効活用して何か処理を実行できたりするだろ >>750
> 非同期だとreadする時間を有効活用して何か処理を実行できたりするだろ
うん、可能性としてはそういうこと出来るよね。
でも、そんな考えで非同期使ってることってほとんどまずないよね
ただ待つためだけに使ってるよね。
ちゃんと画面を反応を止めなくするため or 他のリクエストを処理するために
非同期使ってますって意識してる? それを知ってるなら、コンソールアプリなどのユースケースは
画面の反応(更新やクリックとか)が不要で、他のリクエストもないってわかるよねw
ブラウザやサーバーアプリ以外、
それが必要もないのにpromiseを使ってる例だよ 勿論手元でワンライナー書く程度のどうでもいい用途には同期APIで十分
だからnodeのI/Oには一部同期APIも入ってる
ただしどこまで同期APIを用意するかは最早さじ加減の話
〇〇に同期APIがないからダメって言われても困る >>754
そしてそのどうでもいい用途向け言語がいわゆるスクリプト言語で、実際にそういった用途が大半なわけだ。
状況が変わってきてるんだよ。
昔と比べて(文系含め、コンピュータのことを全く知らない、いわゆる)馬鹿がプログラミングするようになった。
これ自体はスマホが一般化するのと同様に自然な流れなのだが、その分、簡単な言語が必要とされるようになった。
Pythonが伸びているのはこれ。他と比べて比較的簡単だから。
PHPに至っては、プログラミングの何たるかを知らなくても何とかなってしまうという、すさまじく簡単な点が受けている。
(なおC->Javaに移行したのも簡単だからだ。というか、ど素人含めて全員Cで書け、という90年代が今から考えたら無茶すぎた)
非同期が駄目ってわけではないが、非同期縛りは馬鹿にとってかなり高い参入障壁になってる。
JSやって最初に引っかかる点も大体ここだろ。
JSが覇権を取る為に何かを修正するのなら、俺はここだと思うね。
逆にPythonが覇権を取る為には実行速度で、連中があまりここに着手しないのが俺にはよく分からない。
(とはいえPythonにはそれ以前に色々駄目な点が多いが)
ついでに言うとRubyも実行速度だと思う。
Pythonが今程度に遅いうちにJSの速度に追いつけば、Pythonを食う可能性も十分あると思うのだけど、
連中も何故かあまりここには手を付けないんだよね。 >>754
なんでワンライナーが基準なの?
曖昧なこと言ってないでもう少し具体的に言おうか 少なくともJSにとっては大半じゃないよ
書き捨てこそスクリプトって話ならperlが覇権とってたハズでしょ 例えばgitの実装なんか、非同期処理は殆どいらないだろ? CLIコマンドのほとんどは非同期は必要ない
非同期なら空いた時間に他のことが出来る?
同期であってもI/O待ちなんかでCPUが解放されるんだから
空いた時間の他のこと(他のプロセスの処理)は出来るって
そういう基本的な所がわかってないんだよなw >>757
Perlが覇権取ってたのは事実だが、それも過去になりつつある。
Perl6に移行してる奴はほぼ居なかったはず。
そして今時は「インストールスクリプトでPython使ってます」という理由で
Pythonがインストールされてないとインストール出来ない物が当然のように出てきており、
俺のPCにも使いもしないPythonはインストールされてる。2も3もだ。
この意味ではPython汚染はPerlより酷いと思うよ。
なおRubyもインストールされてる。同様に何かRubyを必要とする物があって入れたと思った。
まあこれがいいかどうかはさておき、JSはこの分野に進出出来ないでいる。
これが覇権を取りきれない理由でもある。 JSサイコー、愛してるぜ・・・(*´Д`)ハァハァ 日本国内でjavascriptを使えるプログラマーはどの位いるのでしょうか?
10万人程度?