これは純粋に、C / Java / etc開発者がJavaScriptを「誤って」使用する傾向があるためですか(主にセマンティックな意味で)?
いいえ、ポイントを1マイルも逃しました。人々がJavaScriptを使用する主な理由は、できるだけ多くのブラウザをサポートしたいからです。CSS3は新しいテクノロジーであり、最新の最高のブラウザーだけが理解できますが、JavaScriptは何十年も前から存在しています。
または、JavaScriptよりもCSSの利点はありますか?もしそうなら、なぜCSSが優れているのでしょうか?速いですか?
はい。ブラウザはシステムリソースを利用してアニメーションを実行する方法を最もよく知っており、CSSを使用してネイティブに実装する場合(ハードウェアアクセラレーションなど)にその仕事を最もよく行うことができるためです。JavaScriptを使用すると、ブラウザのスクリプトエンジンを使用してアニメーションを計算することになりますが、これは非常に高額になる可能性があります。
しかし、前述のように、最大の欠点はサポートが不十分なことです。
また、意味論的に言えば、CSSはスタイリング/ポジショニングにのみ使用されるべきではありませんか?では、CSSは設計の範囲を超え始めているのでしょうか。
大まかに言えば、これは常にプレゼンテーションを目的としていました。コンテンツや構造から懸念事項として分離すると、HTMLにプレゼンテーションの属性がいたるところに散らばっていたため、当時のフロントエンド開発者にとって開発地獄を綴っていました。
あなたが説明するこれらの派手な効果はすべて、プレゼンテーションの下で簡単に分類できます(つまり、アプリケーションロジック、ビジネスロジック、コンテンツ、データなどとは何の関係もありません)。したがって、CSSを使用して行うのが適切だと思われます。そして、それは私たちが今日いる場所に私たちをもたらします。
要約すると、次のようになります。
JavaScriptは、ブラウザーのサポートが最優先事項である場合に使用されます(ビジネス・アプリケーションでは、ほとんどの場合、JavaScriptが使用されます)。また、別のテクノロジーに変換または移行するにはコストがかかりすぎる場合も、そのまま維持されることがよくあります。
それ以外の場合は、CSSが使用されます。もちろん、JavaScriptフォールバックが提供されることがよくあります。これは、実験や新規/スタートアッププロジェクトでよく見られます。