JavaScript疲れ
JavaScript fatigue
JavaScript以外の言語で聞いたことがないから、JavaScript特有の何かがあるのかな?
JSというかそれに付随する環境かなあ
ブラウザは闇だしnodeも流行り廃りが激しいし
詳細が気になる
他言語でも大きな変更を伴うバージョンアップとかはあるし、それとの違いがわからない
「○○」はイケていると言われていたものがしばらく(一般的な感覚では短いと思われるスパン)すると時代遅れ扱いになっているようなケースが多いと感じます
よく聞く話だけど何が影響してるのか気になる
新しいライブラリ、言語機能ができるのはどの言語も同じだし
むしろ最近人気なPythonとかのほうが多く増えてそうな気もする
JavaScriptに関するものでも日本だと名前すら出てこないものもたくさんあるし
ライブラリも新しい言語機能も登場してから実際に浸透するまで早くても4年程度はかかってるし
これは短いと思われるスパンなのか?
言語やライブラリというより,Web開発というものの性質が原因かも?
企業やサービスが開始されるたびに新しくWeb開発プロジェクトが始まる
定期的にリニューアルされる
そのため、新しい技術を採用する機会が頻繁にある
JavaScriptそのものはモダンな環境に絞ればそこまで無い気がする Denoみたいにほとんど何も考えなくていい環境流行らないかな
これは絶え間ない変化に加担してないか?
JSは変化が速すぎて大変です 増井俊之.icon
他言語の変化より速いのは確か
正直疲れ切っています
ライブラリが増えるぐらいなら良いですが、プログラムの書き方が相当変わったりしますよね
コールバック書かなくなるとか
var 使うなとか
分割代入だの関数記法だの、どんどん機能や記法が増えてるし nodeなんかもう古いと言われるとか
coffeeが無くなったりとか
Cの場合、構造体に代入ができるようになったり、関数定義のカッコの中で型書けるようになったりするのに10年はかかってたと思う
昔はint func(int arg){ ... なんて書けなかった
int func(arg) int arg; { ... と書いていた
JavaScriptが生まれた1995年から今までの間にC++に加わった機能
を書こうと思ったが多すぎて挫折したw
C++11
rvalueリファレンスとmove
constexpr
型推論
ラムダ関数 [](int x, int y) -> int { return x + y; }
範囲ループの構文
code:c++
for (auto& x : my_array)
x *= 2;
C++14
二進法と桁区切り auto binary_literal = 0b0100'1100'0110; [[deprecated]]
Lambda capture expressions auto lambda = [value = 1] {return value;};
C++17
コンパイル時if
namespaceとenumeratorにもattributeが付く
てな感じ
Cが特に「変化しにくい生きている化石」なだけであってこれくらいの変化は互換性重視のC++でもやってるという話
Cは言語仕様が小さいけどC++はかなり大きい
JavaScriptが生まれてから今までの間に「JavaScriptよりグラフィカルな表現力が強い」というFlash(とActionScript)が生まれて消えた
たくさんのしかばねたち、思い出してあげて