タグ付けされた質問 「programming-languages」

タスクを完了するために計算のステップを実行するようにコンピューターに指示するための人工言語。プログラマーがコンピューターと通信できるようにします。

8
プログラミング言語にボトムタイプがある理由はありますか?
ボトムタイプは、数学タイプ理論に主に現れる構成です。空のタイプとも呼ばれます。値を持たないタイプですが、すべてのタイプのサブタイプです。 関数の戻り値の型がボトム型の場合、それは戻り値がないことを意味します。期間。永久にループするか、例外をスローする可能性があります。 プログラミング言語でこの奇妙なタイプを持つことのポイントは何ですか?それほど一般的ではありませんが、ScalaやLispなどの一部に存在します。

7
forループでセミコロンとコンマが交換されるのはなぜですか?
多くの言語(CからJavaScriptまでの幅広いリスト): ,引数をコンマで区切る(例func(a, b, c)) セミコロンで;区切られた順次命令(例instruction1; instruction2; instruction3)。 したがって、同じ言語のforループでこのマッピングが逆になっているのはなぜですか: for ( init1, init2; condition; inc1, inc2 ) { instruction1; instruction2; } 代わりに(私にとってより自然に見えるもの) for ( init1; init2, condition, inc1; inc2 ) { instruction1; instruction2; } ? 確かに、for(通常は)関数ではなく、引数(すなわちinit、condition、increment)より、関数の引数のような一連の命令よりも動作します。 それは歴史的な理由/慣習によるものですか、それともループの交換,と;ループの良い根拠がありますか?

28
いつ自分のプログラミング言語を作成するのが合理的ですか?
長い目で見れば、独自の言語を作成する方が優れているような、キラーアプリケーションのタイプ、アルゴリズムの問​​題のクラスなどはありますか? PS:確かに、私は既存の言語用の新しいコンパイラではなく、新しいプログラミング言語とコンパイラを意味します。 編集:答えてくれてありがとう。DSLの作成が絶対に不要な場合や、DSLが良いアイデアである場合の例をいくつか挙げてください。

3
Node.jsのユニークな点は何ですか?[閉まっている]
最近、Node.jsに対して多くの賞賛が寄せられています。私は、ネットワークアプリケーションにさらされている開発者ではありません。Nodes.jsの私の理解から、その強みは次のとおりです。複数の接続を処理するスレッドが1つしかないため、イベントベースのアーキテクチャを提供します。 ただし、たとえばJavaでは、NIO / AIO(私の知る限りの非ブロッキングAPI)を使用して1つのスレッドのみを作成し、そのスレッドを使用して複数の接続を処理し、データを実装するイベントベースのアーキテクチャを提供できます処理ロジック(コールバックなどを提供することでそれほど難しくないはずです)? JVMはV8よりもさらに成熟したVMであり(より高速に実行されると思います)、イベントベースの処理アーキテクチャは作成するのが難しくないように思えますが、Node.jsがそれほど注目されている理由はわかりません。重要なポイントを見逃しましたか?

4
最初のC ++コンパイラはどのようにC ++で作成できますか?
Stroustrupは、最初のC ++コンパイラであるCfrontがC ++で作成されたと主張しています(Stroustrup FAQ)。 しかし、最初のC ++コンパイラをC ++で作成することはどのように可能ですか? コンパイラーを構成するコードもコンパイルする必要があります。したがって、最初のC ++コンパイラーをC ++で作成することはできませんでしたか?

6
PythonをゼロからWeb開発まで学ぶにはどうすればよいですか?[閉まっている]
私は、Web開発のためのPythonの学習を検討しています。 すでにJava(JSP /サーブレット)の基本的なWeb開発経験があると仮定すると、Webデザイン(HTML、CSS、JS)、基本的なプログラミングの概念に精通しており、Pythonを初めて使用する場合、どうすればよいですか構造化された方法でPythonを学習し、最終的にはPythonとDjangoを使用したWeb開発につながりますか? PythonでWebアプリケーションを作成するのが急いでいないので、PythonでのWeb開発に関連する技術の知識にギャップを残さないように、徹底的に学びたいと思います。私の努力に役立つ本、リソース、またはテクニックはありますか?それらをどの順番で読むべきですか? 更新: 構造化された方法で学習するということは、基本から始めて、Pythonが提供する重要な詳細/機能の一部を残さずに高度なものを学習することを意味します。プログラミングで既に知っていることをPythonに適用する方法を知りたいです。

4
可変型の「演算子」を持つ言語がそれほど多くないのはなぜですか?
私はそれをこのように意味します: <?php $number1 = 5; // (Type 'Int') $operator1 = +; // (Type non-existent 'Operator') $number2 = 5; // (Type 'Int') $operator2 = *; // (Type non-existent 'Operator') $number3 = 8; // (Type 'Int') $test = $number1 $operator1 $number2 $operator2 $number3; //5 + 5 * 8. var_dump($test); ?> しかし、この方法でも: <?php …


9
最も直交プログラミング言語は何ですか?[閉まっている]
プログラミング自体とはまったく関係のない特別な言語規則(配列からポインターへの減衰など)について新入生に教えなければならないことに、私は何度もイライラしています。だから私は疑問に思いました: 特別な言語ルールの数が最も少ないプログラミング言語とは何ですか?すべてが第一級であり、迷惑な技術的制限なしで構成できますか?そのような言語は完璧な教育言語ではないでしょうか? モデレーターノート いくつかの説明とコンテキストを提供する長い回答を探しています。言語をリストするだけでなく、言語が質問に答える理由を説明してください。何も説明していない回答は削除されます。詳細については、良い主観、悪い主観を参照してください。

13
なぜ最新の動的言語よりも重いGUIアプリを構築するのにC ++が好まれているのですか?[閉まっている]
重いGUIコンテンツを含むアプリのほとんどは、通常C ++で開発されています。ほとんどのゲーム/ブラウザはC ++でコーディングされています。 最新の動的言語でより良いGUIアプリを開発することはできませんか?私はjavaが素晴らしい選択ではないことを知っています。しかし、ネイティブにCで構築されているpythonのような言語はどうでしょうか?最新の言語は祖先よりも優れているはずではありませんか?なぜ最新の言語よりも古いC ++を優先する必要があるのですか? また、GUIの処理速度を向上させるために、C ++で責任を負うのは何ですか?一方、他の最新の言語に欠けているのは何ですか?

6
サーバー側プログラミング言語へのアクセス方法の説明
Webサイトのサーバー側開発には、あらゆる汎用プログラミング言語を使用できることを理解しています。 サーバーとプログラミング言語を連携させるために、サーバーにはCGIなどのインターフェイスが必要だと思いますか?もしそうなら、なぜいくつかのプログラミング言語(phpなど)が他の言語よりも人気があるのですか?

14
プログラミング言語でエラーが「例外」と命名されているのに「エラー」と命名されていないのはなぜですか?
私は実際にかなり長い間それについて考えてきました。私は英語を母国語とする人ではありませんが、それでも何年もプログラミングの経験があり、常に私に尋ねました。なぜエラーとしてではなく例外として名前が付けられているのですか? のPageNotFoundError代わりになりPageNotFoundExceptionます。

26
最も心を曲げるプログラミング言語ですか?[閉まっている]
より合理的にあなたが最も心曲げであることがわかります一般的なプログラミング言語、? 私は多くのポッドキャストのプログラミングを聞いており、今後予定されている重要な新しい言語を習得するために少し時間をかけています。私は必ずしもBrainFuckについて話しているわけではありませんが、どのプログラミング言語が一般的なプログラミングパラダイムに挑戦する言語だと思いますか? 私にとっては、1990年代にいくつかの機能およびロジック(たとえばProlog)プログラミングを行ったので、そこで何か特別なものを見つけたとは言えません。 私はその専門家には程遠いですが、今日でも私にとって最も心を痛めるプログラミング言語はPerlです。ではないので、「Hello World」の実装が困難であるのではなく、最も困難な解決策のいくつかは私の頭をクリアするので、詩的に、私は離れて私の端末から外部に歩かなければならないことを分解することができることをそんなに字句柔軟性があります。私は商用ソフトウェアの実装を販売する可能性が高いと言っているのではなく、Perlがそれほど有名であるという明確な理由があるというだけです。基本的な本のリストをご覧ください。 それで、あなたのより良いプログラミングと実践を促進するあなたの心を曲げる言語は何ですか?

10
なぜ高レベル言語ベースのOSがないのですか?低レベル言語はより効率的ですか?
予想外のことをせずに、この可能性を検討してほしい。現在、ほとんどのOSはかなり低レベルの言語(主にC / C ++)に基づいています。Androidなどの新しい言語でもJNIを使​​用しており、基礎となる実装はCで行われています 実際、(これは個人的な観察です)Cで書かれた多くのプログラムは、高レベルのものよりもはるかに高速に実行されます(例:Transmission(Ubuntuのbittorrentクライアント)は、Vuze(Java)またはDeluge(Python)よりもはるかに高速です)。PyPyは例外ですが、PythonコンパイラでさえCで書かれています。 これには特別な理由がありますか?優れた「OOP」の概念を備えたいわゆる「高レベル言語」がすべて、堅牢なOSの作成に使用できないのはなぜですか? 基本的に2つの質問があります。 なぜ低レベル言語で記述されたアプリケーションは、HLLの対応言語よりも効率的ですか?低レベル言語は、低レベルであり、マシンコードへの翻訳が簡単であるという単純な理由により、パフォーマンスが向上しますか? 完全に高レベル言語に基づいた本格的なOSがないのはなぜですか?

5
Javaが型推論を行わないのはなぜですか?
私はいつも、Javaが言語であり、そのVMが非常に成熟していることを考えると、Javaが型推論を行わない理由を常に疑問に思っていました。GoogleのGoは、優れた型推論を備えた言語の例であり、必要な入力の量を減らします。この機能がJavaの一部ではない背後に特別な理由はありますか?

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