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

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

3
プラットフォームと「言語文化史」はどのような役割を果たしますか?
私は最近これに出くわしました数年前の記事。言語の実際の違いではなく、VBとC#を取り巻く文化の大きな違いが、C#コーダーが一般にVBコーダーより才能があることに貢献すると主張します。明らかに、それは多くの火炎戦争を引き起こし、C#ersとVBersのどちらが愚かであるかという質問には答えられません。そうは言っても、特定のプラットフォームを取り巻く文化がチームの質に貢献していると、作家は主張しています。たとえば、現時点ではJavaでアプリを開発する方が効率的ですが、Google Go開発者のチームは、Java開発者のチームよりも平均して高い能力を持っているようです。超初期の採用者であり、フロンティアハッキングの達人になること。簡単に言えば、あるプラットフォームまたは別のプラットフォームを取り巻く文化は、そのプラットフォームの平均的な開発者の品質に、もしあれば、どのような影響を与えますか?

7
ゲームプログラミング:C#またはC ++?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 私が本当にやりたいのは、ゲームプログラミングを行うことです。だから、自問自答のプログラミングを学びたい18歳のとき、C#とC ++の間で最も適したプログラミング言語は何ですか?(私は、Windowsが依然として最も使用されるOSであると信じているため、Unixを気にしないと述べるべきです) 私はC ++の基本を知っていますが、C#については知りません。C ++にはチュートリアルガイド、dllなどがありますが、C#にはないことを知っていますが、一人でプログラムを開発するのは習得して使用する方がはるかに簡単ですが、プログラムが難読化されていても読んでいますソースを入手するのは簡単です。 まあ、まず基本に集中したいのですが、C ++の方が自分に適していると感じているからといって、C ++を好みますが、私は一人で働くことを考えなければなりません。だから、たとえそれが好きだったとしても、それが最善のことではないかもしれません。 どっちがいいかわからない、いろいろなウェブサイトでたくさんのスレッドを読んだことがあるし、C#がC ++よりも人気が出てきているようだ。しかし、そうは言っても、私はゲームプログラミングをしたいとも指定しました。ですから、「C ++はそうではないのに.NETメモリを処理するのでC#の方が簡単です」よりも良い点をいくつか知る必要があります。

9
Prologは専門的に役立ちますか?
ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 私は何年も前に大学でプロローグを学びました。私の職業生活の間、私はPrologを使用する必要がありませんでした。何か特別なものを見逃していませんか? 私が覚えている限り、Prologは著名なプログラミング言語と比較してまったく異なる考え方を必要とします。 プロローグは、専門的に有用なものを実装するために本当に使用されていますか?

7
ASP.NET Ajax、jQuery、およびJavaScriptについて混乱[非公開]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新する Software Engineering Stack Exchangeのトピックになるようにします。 6年前に閉鎖されました。 昨日、ASP.NET 4の本からASP.NET AjaxとjQueryの章をいくつか読んだところ、これらのフレームワークが非常に興味深いことがわかり、それらについてさらに学ぶことにしました。 今日、私はAjaxとJavaScriptのライブラリからいくつかの本を借りました。ASP.NET AjaxはAjaxとは異なり、jQueryは「新しい」JavaScriptのようです。 JavaScriptをスキップしてjQueryを直接学習できるということですか? 一方、私が借りた非ASP.NET Ajaxの本は、クライアント側のWebプログラミングにのみ適用されるようで、ASP.NET Ajaxから学んだものとは大きく異なります。私がASP.NET開発者であれば、クライアント側のAjaxではなくASP.NET Ajaxに固執すべきだと思いますか?PHPはどうですか?ASP.NET Ajaxに似た「PHP Ajax」はありますか? 他のツールを習得するのが面倒なわけではありませんが、適切なツールに集中したいだけです。

8
CVのプログラミング言語として「アセンブリ」を含めるべきですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 1つの質問の答えで誰かがそれを書いたassembly is not a language, it's a process。アセンブリの「言語」は実行するアーキテクチャに依存しているため、同意する傾向があります。これは、CPUごとにかなり異なる場合があります。 あるアーキテクチャ用にアセンブリを記述した場合、それは単にassembly他のプログラミング言語と一緒にCVに組み込むことができるということですか?または、その特定のアーキテクチャ用のアセンブリを記述したと明示的に言っていますか? 編集:「ダブリング」を「書き込み」に変更しました。英語は私の母国語ではありません。私はこの用語を誤解しました。それはあなたがほんの少しではなく多く使用したことを意味すると考えていました。

16
何のために文字列の反転を使用しますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 PHP strrev()では、Rails .reverseではですが、ほとんどの言語には文字列の逆関数はありません。いくつかは、文字に使用できる配列反転関数を持っています。私はこれは大きな見落としだと思っていましたが、それは私に起こりました、あなたは実際に文字列リバースを何のために使用しますか? 私がそれを見たと思うことができるのは、デモとレッスンで「Hello World!」をオンにすることだけです。「!dlroW olleH」に。 私の質問は 文字列を反転する用途はありますか、それとも完全に無意味ですか? 。 補遺 私が予想していたより多くの答えがありましたが、それらすべてが完全にアカデミックなわけではありませんでした。私は誰も正当な例を思い付かせることができないお金を入れていただろう。また、新しいことを学ぶとは思いませんでしたが、Mark Canlasの正規表現の提案は素晴らしく、それを証明する機会を楽しみにしています。ありがとうございます。

2
美しいアーランコード[閉鎖]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新する Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 私は今まで遊んでいたおもちゃプロジェクトよりもErlangについてもっと学ぼうとしています。この目的のために、私はProgramming Erlangといくつかのアーカイブを読んでいます Armstrong on Softwareの。 また、他の言語では不釣り合いに難しいと思われるErlangで作成できるものの種類を紹介するサンプルコード(できれば製品版)を読みたいと思います。を除いて(私は仮定する)Yawsに、言語の理解を深めたり、さまざまな言語構成体の慣用的な使用法を確認したりするために読み通せる美しいErlangコードの公開例はありますか? 私は特にそうではない「仕事を取得します」というコードを探していますが疑わしい慣行、または「ここにあなたが書く方法ですの線に沿っ例使用factorialErlangでの」。 同様に、この言語を学習するための優れた文献(言及されている「プログラミングアーラン」以外)をお勧めできますか?好みとしては、あなた自身がそれを学習するために使用したものですが、コミュニティ標準の本がいくつかある場合は、それらも入れてください。

9
言語の人気傾向を測定するための最良の客観的な方法は何ですか?(TIOBEより優れているものはありますか?)[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 10か月前に閉鎖されました。 私が知っているコンピューター言語の人気に関するデータを取得する最良の方法は、TIOBEインデックスです。しかし、誰もが TIOBEに絶望的な欠陥があることを知っています。(誰かがこれをサポートするリンクを提供したら、ここに追加します。) それでは、一般的に意味があると考えられるプログラミング言語の人気に関するデータはありますか?私が知っている他の唯一の選択肢は、実際に欠陥があり、求人情報に基づいているIndeed.comのトレンドを見ることです。 インデックスだけに基づいて将来の言語を決定するのとは異なりますが、友人や同僚と話をすることで得られるゆがめられた見方に役立つバランスを提供するかもしれません。 その偏りを説明するために、私が個人的に知っている人々の経験に基づいて、今日専門的に使用されている言語(人気順)はJava、C#、Groovy、JavaScript、Ruby、Objective C、およびPerlのみであると指摘します。(C、C ++、およびPHPが過去に使用されたことは明らかです。) 私の質問は、誰もがTIOBEを叩きますが、他に何かありますか?もしそうなら、誰もが代替案がより良い方法論を持っていることをどのように知っているか説明できますか?ありがとう。

3
汎用プログラミングをサポートする最初の言語
これは、ジェネリックプログラミングサポートを備えた最初の言語であり、ジェネリックサポートを備えた最初の主要な静的型付け言語(広く使用されている)です。 ジェネリックは、パラメーター化された型の概念を実装して、複数の型を許可します。総称という用語は、「クラスの大規模なグループに関係する、または適切な」ことを意味します。 「最初」の次の言及を見てきました。 一次パラメトリック多型は、静的型付けプログラミング言語の標準要素になりました。System F [20,42]および関数型プログラミング言語から始めて、構造体はJavaやC#などの主流言語への道を見つけました。これらの言語では、一次パラメトリック多型は通常ジェネリックと呼ばれます。 「Generics of a Higher Kind」、Adriaan Moors、Frank Piessens、およびMartin Oderskyから ジェネリックプログラミングは、後から指定する型に関してアルゴリズムが記述され、パラメーターとして提供される特定の型に必要なときにインスタンス化されるコンピュータープログラミングのスタイルです。1983年にAdaによって開拓されたこのアプローチ ウィキペディアからジェネリックプログラミング

4
高度なプログラミング言語の使用が増えると、コンピューターアーキテクチャの知識を持つプログラマーが不足する可能性がありますか?
ウィキペディアの記事「高レベルプログラミング言語」の引用: 高レベルのプログラミング言語は、コンピューターの詳細から強力に抽象化されたプログラミング言語です。低レベルのプログラミング言語と比較して、自然言語要素を使用したり、使いやすくしたり、プラットフォーム間で移植性を高めたりできます。このような言語は、メモリアクセスモデルやスコープの管理などのCPU操作の詳細を隠します。 つまり、プログラミング言語のレベルが上がると、プログラマーがプログラムを実行するハードウェアから離れるほどです。 今、私はレベル全体の言語使用の統計を知りませんが、より高いレベルの言語がより低いレベルの言語に取って代わりつつあると思うでしょう。もしそうなら、これはコンピューターアーキテクチャーの知識を持つプログラマーの不足につながることがありますか?これは業界にとって問題になりますか?

30
言語ごとの最も人気のあるIDEは何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 これは、お気に入りのエディターやそれに類するものとは関係ありません。言語ごとに、最も人気のある統合開発環境は何だと思いましたか?競合がある場合は、トップ2〜3です。(認知されている人気で十分です) これまで: C# -Visual Studio、SharpDevelop Java -Eclipse、NetBeans、IDEA Objective-C -Xcode Delphi -RAD Studio Object Pascal -Delphi、ラザロ C、C ++ -Visual Studio、Vim PL / SQL -RapidSQL、Oracle SQLDeveloper PHP -Eclipse、NetBeans、Nusphere PHPed Actionscript(AS2、AS3) -FlashDevelop フレックス -Flash Builder 4 Python -Eclipse、IDLE Perl-パドレ Common Lisp -Lispworks、Emacs ルビー -TextMate Haskell -Vim Fortran -Vim Visual Basic …

2
ジェネリックは最新のコンパイラにどのように実装されていますか?
ここで私が意味しているのは、テンプレートからT add(T a, T b) ...生成されたコードにどのように行くかということです。これを実現するいくつかの方法を考えました。汎用関数をAST Function_Nodeに格納し、それを使用するたびに、元の関数ノードに、すべてのT型が使用されています。例えばadd<int>(5, 6)のための一般的な機能のコピーを保存するaddと、すべてのタイプに置き換えてT コピーで持ちますint。 したがって、次のようになります。 struct Function_Node { std::string name; // etc. Type return_type; std::vector<std::pair<Type, std::string>> arguments; std::vector<Function_Node> copies; }; 次に、これらのコードを生成しFunction_Node、コピーの場所リストにアクセスすると、すべてのコピーcopies.size() > 0で呼び出しますvisitFunction。 visitFunction(Function_Node& node) { if (node.copies.size() > 0) { for (auto& node : nodes.copies) { visitFunction(node); } // it's a generic function so …

1
LLVMにツリーのようなIRではなく、アセンブリのようなIRがあるのはなぜですか?または:プロジェクトがclangのASTではなくLLVM IRをターゲットとするのはなぜですか?
なぜLLVMの中間表現(LLVM IR)はツリーのようではなくアセンブリのようですか? あるいは、言語の実装がclangのASTではなくLLVM IRをターゲットにしているのはなぜですか? そのように思える場合、私は一度に2つの異なる質問をしようとはしていません。私にとっては、クライアントとライブラリの両方のプログラマーが、LLVMのAPIは明らかに優れたソフトウェア設計であり、「なぜ?」 私が尋ねる理由は、IRがASTに似ていればLLVMがフロントエンドにより多くの機能を提供できるように見えることです。clangのASTベースのツールはどのフロントエンドにも使用できるからです。あるいは、LLVM IRを対象とする言語は、clangのASTを対象とする場合、より多くの機能を取得できます。 ClangにはASTを作成および操作するためのクラスと関数があり、LLVMプロジェクトに強く結び付けられている唯一のフロントエンドプロジェクトです。なぜclangのAST機能はLLVMの外部にあるのでしょうか。 私の頭上では、Rust(rustc)、D(ldc)、Haskell(GHC)はすべてLLVMをバックエンドとして使用できますが、Clang ASTは使用しません(私が知る限り、間違っている)。これらのコンパイラのすべての内部詳細はわかりませんが、少なくともRustとDは確かにclangのASTにコンパイルできるようです。Haskellも可能かもしれませんが、それについてはあまり確信が持てません。 これは歴史的な理由によるものですか(LLVMはもともと「低レベルの仮想マシン」であり、clangは後で登場します)?これは、他のフロントエンドがLLVMに供給するものを可能な限り制御したいからでしょうか?clangのASTが「非Cライク」言語に不適切である根本的な理由はありますか? 私はこの質問をマインドリーディングの練習にするつもりはありません。コンパイラー設計に興味はあるが、まだ流notではない私たちにとって役立つものにしたいだけです。LLVMおよびclangプロジェクトは公開で開発されているため、これらのプロジェクトの開発に精通している人が答えられるか、答えがコンパイルオタクにとって十分に明白であり、彼らが答えるのに十分自信があると感じることを望んでいます。 明らかではあるが不十分な回答を先取りするには: はい、アセンブリのようなIRを有するIR工芸誰により詳細に制御できます(おそらくX langは打ち鳴らすより良いコードベースとASTの形式を持っている)が、それが唯一の答えだ場合、その疑問は、なぜLLVMはない」となっのみ assembly-を持っています高レベルのツリーのようなIRと低レベルのアセンブリのようなIRではなくIRが好きですか?」 はい、プログラミング言語をASTに解析するのはそれほど難しくありません(少なくとも他のコンパイル手順と比較して)。それでも、なぜ個別のASTを使用するのですか?他に何もなければ、同じASTを使用すると、ASTで動作するツールを使用できます(ASTプリンターのような単純なものでも)。 はい、よりモジュール化することは良いことであることに強く同意しますが、それが唯一の理由である場合、他の言語実装がclangのASTではなくLLVM IRをターゲットとする傾向があるのはなぜですか? これらのプリエンプションは誤っているか、詳細を見落としている可能性があります。詳細がある場合、または私の仮定が間違っている場合は、お気軽にこれらの回答を行ってください。 より明確に答えられる質問に答えたい人のために:アセンブリのようなIR対ツリーのようなIRの長所と短所は何ですか?

3
変更に対してプログラミング言語をより安定(互換)にするメカニズムはありますか?
プログラミング言語は多数あります。それらのいくつかは成長し、非常に人気があります。人々はそのような言語をますます頻繁に使用します。そのような言語の創設者(または設立組織/コミュニティ)は、言語を改善するために変更を実装しようとする場合があります。しかし、下位互換性のために変更を加えるのが難しい場合があり、そのようないことは何年も言語にすでに存在しており、多くのユーザーによって使用されています。 言語設計段階で、言語設計者が下位互換性を破ることを恐れないように、より安定させるのに役立つアーキテクチャの原則や手順はありますか?

10
同じクラスから構築されたオブジェクトは、一意のメソッド定義を持つことができますか?
同じクラスを共有する2つ以上のオブジェクトのポイントは、振る舞いが同じ、つまりメソッドが同一であるということなので、これは奇妙な質問のように思えます。 ただし、フィールドに異なる値を割り当てるのと同じ方法でオブジェクトのメソッドを再定義できるOOP言語があるかどうか興味があります。結果は、まったく同じ動作を示さなくなった同じクラスから構築されたオブジェクトになります。 私が間違っていなければ、このJavaScriptを実行できますか?この質問とともに、なぜ誰かがこれをしたいのでしょうか?

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