問題タブ [programming-languages]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cross-platform - 主要な言語とプラットフォームごとの使用率は?
主要な言語/プラットフォームのそれぞれを使用している開発者の数を知りたいのですが、最近の良い調査を見つけることができませんでした. 良いデータを知っている場合は、調査の方法論 (誰がどのように調査したかなど) とその結論 (開発者の 16% が Java を使用し、12% が RoR を使用するなど) の簡単な概要とともにリンクを提供してください。
c# - C# または Java 型言語の専門用語は何ですか?
これはおそらく非常に単純な質問ですが、このクラスの言語を表す専門用語は何ですか?
それらは、JVM または CLR を介して送信される「中間」アセンブリ タイプ言語を使用します。どちらもオブジェクト指向であり、Java 仮想マシンや共通言語ランタイムなどの仲介者に依存して、ネイティブのマシン言語にコンパイルされます。
Asm/C/C++ とは異なり、ネイティブ マシン言語に直接コンパイルされず、集中的なメモリ割り当ての知識が必要です。どちらもガベージ コレクションを使用します。
Java と C# を C++ から分離する専門用語はありますか?
programming-languages - 最も興味深い非主流言語は?
コンパイラ、インタプリタ、言語に興味があります。
あなたが知っている、忘れられた、または知られていない、最も興味深い言語は何ですか? さらに重要なことは、なぜですか?
私はコンパイル言語、インタープリター言語、VM 言語の両方に興味がありますが、Whitespace や BF のような難解な言語には興味がありません。
もちろん、オープン ソースはプラスになるでしょう。
programming-languages - 意図的なプログラミングとは正確には何ですか
読書をしているときに、意図的なプログラミングと呼ばれるものに出くわしました。ある程度は理解できましたが、完全ではありません。誰かがそれをより詳細に説明できる場合は、してください。実際のアプリケーションで使用されていますか?
performance - 掛け算と割り算のどちらを使うべきですか?
ここにばかげた楽しい質問があります:
変数の値の半分が必要な単純な操作を実行する必要があるとしましょう。これには通常、次の 2 つの方法があります。
言語で提供されている標準の演算子を使用していると仮定すると、どちらがより優れたパフォーマンスを発揮しますか?
通常は乗算の方が優れていると思うので、コーディングするときはそれに固執しようとしますが、これを確認したいと思います。
個人的にはPython 2.4-2.5 の回答に興味がありますが、他の言語の回答も投稿してください。また、必要に応じて、他のより洗練された方法 (ビットごとのシフト演算子の使用など) も自由に投稿してください。
programming-languages - オフサイドのルールをどのように実装しますか?
トリックを実行するジェネレーターを既に作成しましたが、オフサイドルールを実装するための最良の方法を知りたいです。
手短に:オフサイド ルールとは、このコンテキストでは、インデントが構文要素として認識されることを意味します。
これは、使用可能な形式でインデントをキャプチャするトークナイザーを作成するための疑似コードのオフサイド ルールです。言語によって回答を制限したくありません。
このレイアウタは、一度に複数の NEWLINE を生成することはなく、インデントが発生しても NEWLINE を生成しません。したがって、解析ルールは非常に単純なままです。かなり良いと思いますが、それを達成するためのより良い方法があればお知らせください。
しばらくこれを使用しているうちに、DEDENT の後にとにかく改行を発行するのが良いことに気付きました。この方法では、INDENT DEDENT を式のトレーラーとして保持しながら、NEWLINE で式を区切ることができます。
ruby - Ruby が他のプログラミング言語よりもプロジェクト数が少ないように見えるのはなぜですか?
私は、Ruby が非常に魅力的であることを発見しました。すべてがオブジェクトであり、その構文が非常に魅力的であるという事実が気に入っています。
今年は人気が高まることを期待していましたが、Ruby での活動はあまり見られません。
たとえば、SO に追加されたタグの数を取ると、「ルビ」とタグ付けされた質問は約 700 しかありません。これには次の理由が考えられます。
- Ruby はとても簡単で、誰も疑問を抱くことはありません。
- このサイトは .Net コミュニティからさらに引き寄せられ、Ruby 開発者はその存在を無視しています。
- 他のプログラミング言語のプロジェクトほど多くの Ruby プロジェクトはありません。
他のリソースは、Ruby が他のプログラミング言語ほど人気がないことを示しています。
その背景にはどのような理由があると思いますか。
リンク:
.net - .NET はさまざまな言語の区別をなくしましたか?
特定のシナリオで使用するのが望ましい言語は常にあります。迅速なプロトタイプ開発のために、VB6 は当然の選択でした。VB6 は、シンプルなデスクトップ ユーザー インターフェイスと、標準的で単純なデータベース操作の要件を備えたプロジェクトで選択されました。低レベルのルーチンを使用してデバイス ドライバーを開発する場合は、おそらく C または Visual C++ に依存していました。ASP は、Web インターフェイスの開発の標準的な選択肢でした。大雑把に言えば、すべての言語には特定の「ドメイン」または「専門化」がありました。
.NET フレームワークでは、すべての言語が相互運用可能であり、おそらく一貫性があります。さまざまな言語のモジュールをまとめてプロジェクトに含めることができますが、最終的にはすべて同じように扱われます (すべて IL にコンパイルされます)。
これは、私たちが以前持っていた区別がもはや存在しないことを意味しますか? その差別化は必ずしも悪いものではなく、何らかの制約によるものではなく、設計によって存在していたものです。これは、.NET フレームワークとそのさまざまな言語の処理により、明らかにいくらか減少しています。
java - コンポジションの構文は、Java に追加するのに役立ちますか?
まず第一に、私は言語理論についてほとんど何も知りませんし、Java 以外の他の言語はほとんど知りませんが、私はクールだと思うアイデアを持っていまし
た
.言語 x が何年もの間それを持っていた
方法 c: 頭がおかしい
d: 上記のすべて
このアイデアは、構成にコードの再利用を同じように容易にextends
します。
したがって、次のようなクラスがあるとします。
そして、次のようなクラスがありました:
その後、これを行うことができます:
B のクラスに委任を追加する必要はありません。ただし、継承と同じこともできます。つまり、次のようになります。
欠点は次のとおりです。
- メソッドはソース コードに隠されているため、呼び出し元がわかりにくくなっていますが、これは次の場合にも当てはまります。
extends
- 構成されたフィールドが同じメソッド シグネチャを共有する場合、競合を解決する必要があります (競合するインターフェイスはこれをどのように解決しますか?)
- 同じタイプの複数の合成フィールドが必要な場合は、どのフィールドに委譲するかについて明らかな競合が発生します。
- おそらく私が考えたことのない他の100のこと
私が言うように、私は明らかに言語理論家ではありませんし、それについて何年も考えたこともありません。アイデアが頭に浮かんだだけで、自分がどれほど間違っているかを知りたいと思いました. ちょっとクールだと思います。
programming-languages - 関数/ロジック/オブジェクト指向プログラミングからのアイデア
誰かが、さまざまなプログラミング パラダイム (関数/論理/OOP) について説明している記事や本を教えてくれませんか... 私は構文の詳細を探しているのではなく、それらを改善するためのアイデアを探しています..
例:関数型プログラミングを使用すると、副作用を回避できます..アイデアを知っていれば、それを強制しない言語(OOP)でも副作用のないプログラムを書くことができます。