タグ付けされた質問 「language-features」

特定のコンピューター言語の特徴的な側面に関する質問。特に、それらの記述方法、またはプログラマーに提供される表現能力に関する質問。

5
Java instanceof演算子はリフレクションと見なされますか?
Java演算子を使用することinstanceofは一種の反省かどうか、今日同僚と話し合いました。そして、議論はすぐに実際に反射を定義するものに進化しました。 だから、反射の定義は何ですか? そして、instanceof考慮された「反射を使用する」の使用法はありますか? さらに、instanceof反射と見なされる場合、多型も「反射を使用する」わけではありませんか?そうでない場合、違いは何ですか?

3
C#では、なぜtryブロック内で宣言された変数のスコープが制限されていますか?
エラー処理を追加したい: var firstVariable = 1; var secondVariable = firstVariable; 以下はコンパイルされません: try { var firstVariable = 1; } catch {} try { var secondVariable = firstVariable; } catch {} 他のコードブロックが行うように、try catchブロックが変数のスコープに影響を及ぼす必要があるのはなぜですか?一貫性を別にして、リファクタリングなしでコードをエラー処理でラップできるのは理にかなっていますか?

6
プログラミング言語が他の言語にコンパイルされると言うにはどうすればよいですか?
プログラミング言語を他のプログラミング言語にコンパイルできることを英語で言うにはどうすればよいですか? 例はHaxeです。Webサイトでは、言語は「マルチプラットフォーム」と記述されています。 マルチプラットフォーム:Haxeは、JavaScript、Flash、NekoVM、PHP、C ++、C#、Java(すぐに)の高速コンパイラーを使用して、すべての一般的なプログラミングプラットフォームにコンパイルできます。 しかし、マルチプラットフォームはハードウェアまたはソフトウェアプラットフォーム(win、mac、linux)と誤解される可能性があります。 それでは、この能力を表す最も適切な言葉は何ですか?

24
プログラミング言語で興味深いまたはユニークなタイプ?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 整数、浮動小数点、文字列、および時折10進型を見てきました。あなたが遭遇した最も奇妙な、ユニークな、または有用なタイプのいくつかは、有用であるかどうか?

1
Haskellレコードの進捗はどうですか?
最近、私はHaskellの記録の問題、特にフィールド名の一意性に再び出会いました。(痛みです...) 私はすでに読んハスケル内のレコードのための提案を SPJとグレッグ・モリセットから、その最後の更新は2003年にされた 別の紙と呼ばれるHaskellのための軽量の拡張レコード SPJからとマーク・ジョーンズはさらに古いです:それは1999年にHaskellのワークショップからです。 Haskellに新しいレコードを提供するプロセスが進展したかどうかは疑問です。 誰かがそれについて何か知っていますか?

2
隣接する文字列リテラルの連結について
CおよびC ++は、隣接する文字列リテラルを単一の文字列リテラルとしてコンパイルします。例えばこれは: "Some text..." "and more text" 以下と同等です: "Some text...and more text" C#やJavaなどの他のCファミリ言語では、これは構文エラーです(完全に問題ありません)。 CおよびC ++がこれを行う理由/歴史的理由は何ですか?

4
Javaに「サブクラスのみ」のアクセス修飾子がないのはなぜですか?
Javaには、メソッドに使用可能な4つのアクセス修飾子があります。 public -すべてのクラスがこのメソッドを使用できます。 protected -同じパッケージ内のクラスおよび任意のパッケージ内のサブクラスは、このメソッドを使用できます。 private -このクラスのみがこのメソッドを使用できます。 no modifier ( "package private")-同じパッケージ内のクラスのみがこのメソッドを使用できます。 よく起こるのは、すべてのサブクラスが使用できる便利なメソッドをスーパークラスに入れたいということです。しかし、他のクラスがこのメソッドにアクセスすることは意味がなく、ある意味ではカプセル化を破ります。 したがって、これらの便利なメソッドをスーパークラスpublicまたはで宣言するprotected必要があります。これにより、少なくともパッケージ内の他のすべてのクラスに公開されます。それらはサブクラスによってのみ使用されることを意図していますが。 subclasses-onlyJavaにアクセス修飾子がない理由はありますか?私にはとても奇妙に思えます。何か不足していますか? また、subclasses-onlyアクセス修飾子は、サブクラスにのみ変数を公開する場合にも役立ちます。私にはこれがよく起こります。

11
Pythonがエントリレベルのプログラミング言語として推奨されるのはなぜですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 P.SEについては、初心者プログラマがPythonを最初のプログラミング言語として選択することをお勧めします。 誤解しないでください、私はPythonが好きです。それは大好きです!しかし、その哲学は「私たちは全員ここで大人に同意している」ことを中心に展開しています。 経験/知識の観点から見ると、初心者プログラマーは大人ではありません。それはちょっと傷を乗り越えても足で自分を撃ち、いくつかの悪い習慣を拾いやすくなることを意味します。 「より静的な」言語では、制限が厳しくなるため、自分自身を足で撃つことは難しくなると考えています。 質問に戻ります。Pythonがエントリレベルのプログラミング言語として推奨されるのはなぜですか? プログラミング言語を教えるのに適している点は何ですか。または...アドバイザーの個人的な好みですか?

7
Javaで、保護されたメンバーが同じパッケージのクラスにアクセスできるようになったのはなぜですか?
公式文書から... モディファイヤクラスパッケージサブクラスワールド パブリックYYYY 保護されたYYYN 修飾子なしYYNN プライベートYNNN 問題は、同じパッケージ内のクラスから保護されたメンバーにアクセスする必要があるユースケースを覚えていないことです。 この実装の背後にある理由は何ですか? 編集:明確にするために、同じパッケージ内のサブクラスとクラスの両方が保護されたフィールドまたはメソッドにアクセスする必要がある特定のユースケースを探しています。 package some.package; public class A { protected void protectedMethod(){ // do something } } package another.package; public class B extends A{ public void someMethod(){ // accessible because B is a subclass of A protectedMethod(); } } package some.package; public class C …

10
開発者が動的に型付けされた言語で型を指定できないのはなぜですか?
私が知っている動的に型付けされた言語は、開発者に変数の型を指定させたり、少なくともそれを非常に限定的にサポートさせたりすることはありません。 たとえば、JavaScriptは、便利な場合に変数のタイプを強制するメカニズムを提供しません。PHPを使用すると、メソッドの引数のいくつかのタイプを指定できますが、ネイティブ型(使用する方法はありませんint、string引数のために、など)、および引数以外の型を強制する方法はありません。 同時に、手動で型チェックを行うのではなく、場合によっては動的に型付けされた言語で変数の型を指定する選択肢があると便利です。 なぜそのような制限があるのですか?技術的/パフォーマンス上の理由(JavaScriptの場合)なのか、政治的な理由(PHPの場合)なのか?これは、私がよく知らない動的に型付けされた他の言語の場合ですか? 編集:回答とコメントに続いて、説明の例を示します。プレーンなPHPに次のメソッドがあるとします。 public function CreateProduct($name, $description, $price, $quantity) { // Check the arguments. if (!is_string($name)) throw new Exception('The name argument is expected to be a string.'); if (!is_string($description)) throw new Exception('The description argument is expected to be a string.'); if (!is_float($price) || is_double($price)) throw new Exception('The price …

10
オプションのパラメーターは役に立ちますか、それともアプリケーションのメンテナンスの妨げになりますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 3年前に閉店しました。 タイトルに記載されているように、C#で使用されるパラメータなどのオプションのパラメータは有用ですか、それともアプリケーションのメンテナンスの妨げになり、コードを理解しにくくするために避けるべきですか?

10
Java 1.4.2以降に見逃していたものに追いつくのを手伝ってください[終了]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧くださいを。 7年前に閉鎖されました。 私はソフトウェア開発者としての最初のプロとしてのキャリアを開始しようとしています。そして、私は多くのJavaコードを書くことになるでしょう。私が具体的に何を書いているかについてはあまり知りませんが、さらに、とにかくコードに関してはかなり幅広い興味を持っています。 議論するに値しない理由のために、私の最後のインターンシップでは、Java 1.3および1.4 SDKのみをコーディングしました。また、私の大学教育は、言語の機能やライブラリではなく、主にアルゴリズム、データ構造、その他の理論に焦点を当てています。 したがって、上記を念頭に置いて、現在のバージョンのJavaのどの機能、クラスなど(とにかく、現在どのくらいの数になっていますか?)プログラマーとしてのあなたの人生を楽にする1.4.2以来、私が見落としていたことは何ですか? 特定のパッケージなどを見つけて使用する方法の例とストーリーも素晴らしいでしょう。

5
異種リストに特定の目的はありますか?
C#とJavaのバックグラウンドから来た私は、リストが同種であることに慣れていて、それは私にとって理にかなっています。私がLispを取り上げ始めたとき、リストが異種であることに気付きました。dynamicC#でキーワードをいじり始めたとき、C#4.0の時点で、異種のリストが存在する可能性があることに気付きました。 List<dynamic> heterogeneousList 私の質問は、ポイントは何ですか?異種リストは、処理を行う際のオーバーヘッドがはるかに大きくなるようであり、1つの場所に異なる型を格納する必要がある場合は、異なるデータ構造が必要になる場合があります。私の素朴さはそのい顔を育てているのですか、それとも異種のリストを持つことが本当に役立つときがありますか?

3
なぜ「自己」が必要なのですか。インスタンス変数を参照するPythonで?
Java、Ruby、Haskell、Pythonなどの多くの言語でプログラミングを行ってきました。作業しているプロジェクトが異なるため、1日に多くの言語を切り替える必要があります。今、問題はself、Pythonの関数定義の最初のパラメーターが同じオブジェクトのメソッドを呼び出すことと同じであるため、書くのを忘れることが多いことです。 そうは言っても、このPythonのアプローチには非常に驚かされます。基本的には、JavaやRubyなどの言語では、現在のオブジェクトの変数を自動的に参照することで簡単にできるように、もっと入力する必要があります。 私の質問は、なぜこれがself必要なのですか?それは純粋にスタイルの選択ですか、それともPythonでselfJavaとC ++で省略できる方法を省略できないのthisですか?

2
C 2011で可変長配列がオプションになったのはなぜですか?
VLAがC 1999で導入されたとき、私はそれが言語の大きな革新だと思っていました。しかし、C 2011でオプションになったことを知ったので、ステータスの変化につながったのはなぜか、そしてそれが機能が実際に陳腐化に向かう​​ことを意味するのかどうか疑問に思っています。もしそうなら、それを置き換えると考えられている動的にサイズ変更されたデータの自動管理の同等の概念がありますか? C 2011の理論的文書を見つけようとしましたが、まだ公開されていないようです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.