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

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

6
プログラミング言語の1番目、2番目、3番目のクラス値の数学の基礎は何ですか?
追加しました 関連する2つの質問を見つけた /math//q/1759680/1281 /programming//a/2582804/156458 プログラミング言語では、Michael ScottのProgramming Language Pragmaticsから 一般に、プログラミング言語の値は、パラメータとして渡されたり、サブルーチンから返されたり、変数に割り当てられたりする場合、ファーストクラスのステータスを持つと言われ ます。整数や文字などの単純な型は、ほとんどのプログラミング言語で最高の値です。対照的に、「セカンドクラス」値はパラメーターとして渡すことができますが、サブルーチンから返されたり変数に割り当てられたりすることはできません。また、「サードクラス」値はパラメーターとして渡すことさえできません。 ラベルは、ほとんどのプログラミング言語では第3クラスの値ですが、Algolでは第2クラスの値です。サブルーチンは最も多くのバリエーションを表示します。これらは、すべての関数型プログラミング言語およびほとんどのスクリプト言語で最も優れた値です。また、C#での最高クラスの値であり、Fortran、Modula-2および-3、Ada 95、C、C ++など、いくつかの他の必須言語では、いくつかの制限があります。11これらは、他のほとんどの命令型言語では第2クラスの値であり、Ada 83では第3クラスの値です。 プログラミング言語の1番目、2番目、3番目のクラス値の数学の基礎は何ですか? 用語は一次/二次のロジックを思い出させますが、それらは関連していますか? それらの違いは、値を使用できる特定のケースであるように思えます パラメータとして渡され、 サブルーチンから返された、または 変数に割り当てられます。 なぜ特定のケースが重要なのに、他のケースは言及されていないのですか? ありがとう。

1
一意性タイプを使用して安全な並列処理を実装する
しばらくの間、純粋な関数型言語のモナドの代替として、一意性タイプに興味がありました。残念ながら、これは一種のCS研究の難解な分野であり、ユニークなタイプのプログラミングに関するオンラインリソースはほとんどありません。 参照(「ボックス」)や配列などのステートフルデータ構造を実装するために一意性タイプがどのように使用されるかは明らかですが、他の一般的なステートフルデータ構造を実装する方法を回避します。 たとえば、一意の型によるロックを実装することは可能ですか?一意性タイプを使用して、スレッド間で可変デー​​タを共有できますか?一意の型を使用して同期プリミティブ(ミューテックスなど)を構築することは可能ですか、またはメッセージの受け渡しは必要ですか?

1
ErlangとGoの並行プログラミング、CSPとアクター間の客観的な違いは?
私はErlangとGoプログラミング言語での並行プログラミングを検討していました。私の発見によると、それらはそれぞれアクターモデルとCSPを使用しています。 しかし、それでも私はCSPとアクターの客観的な違いは何かと混乱していますか?それは単に理論的に異なるだけで同じ概念ですか?

2
Scalaの他のすべてのタイプのサブタイプは何でもない
私は、Martin Oderskyのscalaを使った関数型プログラミングのコースを受講していますが、今のところ、意味が合わない2つのことを学びました。 Scalaは多重継承をサポートしていません Nothing 他のすべてのタイプのサブタイプです これら2つのステートメントは共存できませんが、これはどのように行われますか?そして、「他のすべてのタイプのサブタイプ」の意味は正確に何ですか 編集1 ではScalaのAPI、Nothingとして定義されているabstract final class Nothing extends Any...ので、どのようにそれは他のクラスを拡張することができますか?

6
2011年のCプログラミング[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 6年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 何ヶ月も前に、私は主に幅広いOS(Linux、* BSD、HPUX、VMSなど)をサポートするPOP3サーバーを維持しながら、生活のためにCコードをカットしました。 私はCのスキルからさびを取り除き、Cで簡単なFORTHをコーディングすることで言語実装について少し学ぶつもりです。 しかし、2000年以降、Cの世界で物事がどのように変化したのか(またはそうでないのか)疑問に思っています。 comp.lang.c 可能な限りANSI C(ただし、C99としてのC89はそれほど広くサポートされていません) gcc -Wall -ansi -pedantic 静的解析ツールの代わりに Emacs Ctags Autoconf + make(およびVMS、HP-UXなどの良さについてはポイント2を参照) 過去11年間Cで書いている人なら誰でも(もしあれば;-))何が変わったのか教えてもらえますか? (他のニュース、聖なるがらくた、私はこれを10年以上行ってきました)。

8
手続きコードとOOPコード
PHPで13000行以上のプロシージャスタイルのプロジェクトを完了しました(OOPは知っていますが、私はそれに精通しているため)、プロジェクトは完全に実行されています。 しかし、OOPに変換する必要がありますか?[ 世界はOOPで忙しいため ] 私のコードは、OOPの機能(カプセル化、継承は基本的に...)を必要としません! だから私は何をすべきですか? そして、OOPに変換するとどのような助けが得られますか?

9
「仕事に最適なツール」と親しみやすさのバランス[非公開]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 そのため、プロジェクトに使用する言語を選択するとき、理想的な世界では、言語が仕事に適したツールであるため、言語が選択されます。ただし、習得しなければならない言語や会話のみを行う言語よりも、流fluentな言語を使用することを好むことがよくあります。もちろん、言語の流encyさは、その言語の該当ライブラリの知識も伴います。Javaのようなかなり汎用的な言語が本当に好きだからといって、常にそれを使用する必要があるというわけではありませんが、同時に、何らかのテキスト処理が行われるたびにPerlのようなものを分解する必要があるわけではありません。ここでどのようにバランスを見つけますか?

15
ビット演算子は何に適していますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 プログラミング言語には、多くの場合、さまざまなビット演算子が付属しています(ビット単位の左シフトおよび右シフト、ビット単位のAND、OR、XORなど)。これらはあまり使用されませんが、少なくとも私の経験ではそうです。これらは、プログラミングの課題やインタビューの質問で使用される場合があります。または、ソリューションで必要になる場合があります。たとえば、 等値演算子を使用せずにtrue、2つの値が等しいときに戻る関数を作成します 3番目の変数を使用せずに、2つの変数の値を交換します これらは再び、おそらく実際の使用はほとんどありません。低レベルでメモリを直接操作するため、より高速になるはずです。 なぜこれがほとんどのプログラミング言語で見つかるのですか?現実のユースケースはありますか?

14
現代のソフトウェア開発では良いコードは不可能ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 開発ツールがより強固で堅牢になったとしても、優れたコードを書くことは困難になっているようです。そのツールでさえも強力であり、コードの品質は向上していません。私は2つの重要な要素を思いつきます。時間は短く、プロジェクトはより複雑です。現在使用しているツールはより強力であるため、より複雑なコードを書く方が簡単ですが、計画する時間がないため、振り返らずにコードの品質が低下し、バグとメンテナンスが増加します。以前に複雑なコードを書いたわけではありません。もっと複雑なコードを書くということです。 私の質問は次のとおりです。より強力な言語とツールがあることを考慮してください。 良いコードを書くのが難しいのはなぜですか? 要因、時間、複雑さがこれに寄与していますか? 方法論は正しく実践されていませんか? 私が考えるプロジェクトのタイプは、非常に複雑でビジネスロジックのあるエンタープライズアプリケーションです。「良いコード」の定義は個々のものです。「良いコード」の解釈にとらわれないでください。

10
Java開発者はScalaについてどう思いますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 IDEのサポートはそれほど良いものではありませんが、言語自体は関数型プログラミングのイディオムをよりきれいにサポートしています。

8
毎年新しいプログラミング言語を習得する場合、リストはどうあるべきですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 「実用的なプログラマー」の第1 章の最初の学習目標は次のとおりです。 毎年少なくとも1つの新しい言語を学びます。異なる言語は同じ問題を異なる方法で解決します。いくつかの異なるアプローチを学習することで、思考を広げ、ゲッターがruに陥るのを防ぐことができます。[...] キャリア全体でこれを達成するために、言語のリストはかなり長くなる可能性があります(特に管理に「進歩」したくない場合)。明らかに、プログラマー(または任意の形式)の教育は、商業的に有用な言語のコア(求人掲載からの通常のリスト:C、C ++、Ruby、Python、JavaScript、C#、Java、VB、.. 。)。さらに、公式または非公式の学習プログラムは、機能的なアプローチ(Haskell、LISP、ML派生言語など)をカバーしている可能性があります しかし、一度そのリストの合理的なサブセットが学習されると、次は何で、なぜですか?

3
静的分析の型に代わるものはありますか?
プログラミング言語での静的型付けは、コンパイル時に特定の保証を強制するのに役立ちますが、型はこの仕事のための唯一のツールですか?不変条件を指定する他の方法はありますか? たとえば、言語または環境は、配列の長さ、または関数への入力間の関係に関する保証を実施するのに役立ちます。型システム以外では、このようなことは聞いたことがありません。 関連することは、静的分析を行うための非宣言的な方法があるかどうかです(ほとんどの場合、型は宣言的です)。

5
多くのJVM言語をサポートするために、JVMが非常に多用途なのはなぜですか?
以下のようなJava以外の多くの言語ので、JVMがサポートGroovy,Clojure,ScalaするJavaとは異なり、関数型言語ですなど(私が言及していますバージョン8以前のJavaLambda'sそれほど多彩な機能capabilities.OnにJVMを作るもの高いレベルをサポートしていませんサポートされていません)オブジェクト指向言語と関数型言語の両方をサポートできますか?

2
Cが人気のTIOBEインデックスでそれほど高いのに、なぜC ++もすぐ下にあるのに、それほど人気が​​ないのですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 これを回避することはできません。Cがそれほど使用されているが、CはC ++ではない場合、CをC ++よりも使用する最も重要な理由を誰かが説明できますか?このCコードはすべてどこで書かれていますか? これは、命令型プログラミングに大きく依存しているが、C ++コンパイラの実装または調整のコストをサポートできない産業部門に関するものですか?多くのカーネルハッカーがいますか? チオベは関連していますか?私は決して記事につまずかず、単一のTiobeのランキングがどのようになっているのか、業界の本当のニーズを特定するために、業界が好きなものについて実際に何を言っているのか、業界が実際に何を使用しているのかをコメントしたり説明したりしませんでした。説明するのは難しいです。 多くの企業が、C / C ++の仕事がくだらないとしても、CまたはC ++の仕事ではなく、C#、PHP、Javaの仕事を望んでいるのは奇妙だと思います(失業とインタビューをここで関連付けているだけです)。代わりにそれらを取るでしょう。または、これは言語の誇大宣伝がここで強力な役割を果たすことを意味しますか?

4
管理言語とコンパイル言語の違いは?
コンパイルされた言語と管理された言語を区別しようとすると混乱します。経験から、私はほとんどがコンパイルされた言語をC、C ++と見なし、マネージド言語はJava、C#であると理解しています(明らかにもっと多くありますが、これらはほんの数例です)。しかし、2種類の言語の中心的な違いは何ですか? 私の理解では、使用する言語に関係なく、プログラムは基本的に低レベルのマシンコードに「コンパイル」されて解釈されるため、マネージ言語をコンパイル済み言語のサブセットにします(つまり、すべてのマネージ言語はコンパイルされた言語ですが、その逆ではありません)?

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