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

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

8
Qtフレームワークを通じてC ++を学習していますC ++を実際に学習しています[非公開]
私が抱えている問題は、私が読んだC ++の本のほとんどは、構文や言語の基本(forループwhile、配列、リスト、ポインターなど)にほぼ永遠に費やしていることです。 しかし、彼らは学習に使用するのに十分シンプルでありながら、言語の哲学と力を理解するのに十分な実用的なものを決して構築しないようです。 それから素晴らしいライブラリーであるQTを見つけました! しかし、彼らが持っているデモを通して、私は今、逆のジレンマに陥っているようです。金持ちの息子が父親の助成を受けたスポーツカーを走り回っているような気がします。私は素晴らしいソフトウェアを構築できたが、内部で何が起こっているのか見当もつかないように。 私のジレンマの例として、単純なWebブラウザーを構築するタスクを取り上げます。純粋なC ++では、どこから始めればよいのかさえわかりませんが、Qtライブラリを使用すると、コードの数行以内で実行できます。 私はこれについて文句を言っていません。言語の基本構造とQtフレームワークが提供する高レベルのインターフェースとの間の知識の空白を埋める方法を疑問に思っていますか?

16
BASICに触れると心が傷つくと思いますか?[閉まっている]
BASICを以前に経験したことのある生徒に優れたプログラミングを教えることは事実上不可能です。潜在的なプログラマーとして、彼らは再生の希望を超えて精神的に傷つけられています - エドガー・W・ダイクストラ 私はダイクストラに深い敬意を持っていますが、彼が言った/書いたすべてに同意するものではありません。35年前にダートマスBASICの実装について書いたリンクされた論文のこの引用には特に同意しません。 私の同僚や友人のプログラマーの多くはBASICを使い始めました。以下の質問には、多くのプログラマーがBASICでのプログラミングの最初の経験があることを示す回答があります。私の知る限り、多くの優秀なプログラマーがBASICプログラミングを始めました。 リソースがいっぱいのマシンで実行されているVisual BasicまたはBASICの他の「現代の」方言については話していない。「おもちゃ」コンピューターで実行されている昔のBASICについて話しています。コンピューターには数百個しかないため、わずかなバイトを保存するために文字列として計算する必要のない小さな数字を保存することをプログラマーは心配しなければならなかった、またはより強力な機能がないために計算されたgotoを使用する必要があります。また、何かをしてプログラマーに創造性を強いる前にプログラマーが考えることを必要とする他の多くのことを行う必要があります。 リソースが限られたマシンで昔のBASICの経験があった場合(今日のシンプルなマイクロコントローラーは1975年のコンピューターよりもはるかに多くのリソースを持っていることを念頭に置いて、BASICはより良い解決策を見つけるためにあなたの心を助けると思いますか?エンジニアやBASICがプログラミングの暗黒面にあなたを引きずり込み、精神的に傷つけたのですか? 初心者プログラマーがすべて間違っていることができ、プログラムが大きな問題なく実行できるリソースがいっぱいのコンピューターで実行されているプログラミング言語を学ぶのは良いですか?それとも、プログラマーがどこを間違えないかを学ぶ方が良いでしょうか? BASICについて、あなたはより良い/より悪いプログラマーになるために何を助けましたか? 2KB(仮想)マシンで実行されている古いBASICを来たるプログラマーに教えますか? 確かに、BASICへの露出だけが悪いです。おそらく、他のプログラミング言語と同様に、現代のBASICはプログラマが深く考えられない機能を提供するため、現代のBASICはあまり役に立たないという私の意見を共有するかもしれません。 追加情報:なぜBASICなのか?

1
キャレットが累乗ではなくXORに使用されたのはなぜですか?
この構文上の問題に直面したことがある人にとっては本当に問題ではないというわけではありません^が、広く受け入れられている数学的な累乗演算の代わりにキャレット()をXOR演算として使用することに起因する大きな混乱が見られます。 もちろん、キャレットの(誤った)使用法を説明し修正する場所はたくさんありますが、キャレットに異なる意味が与えられた理由についての明確な情報源はありません。 それは利便性の問題でしたか?事故?明らかに、推論はさまざまな言語で異なる可能性があるため、あらゆる点で情報は洞察に満ちています。

5
C#とJavaが参照の等価性を「==」のデフォルトとして使用するのはなぜですか?
私はしばらくの間、JavaとC#(および他の言語)がデフォルトでの等価性を参照する理由を熟考してきました==。 私が行うプログラミング(確かにプログラミングの問題のごく一部にすぎません)では、オブジェクトを比較するとき、参照の等価性ではなく、論理的な等価性がほとんど常に必要です。私は、これらの言語の両方が、==論理的な平等性を持ち.ReferenceEquals()、参照の平等性を使用するのではなく、このルートを採用した理由を考えようとしました。 明らかに、参照の等価性を使用することは実装が非常に簡単で、非常に一貫した動作を提供しますが、今日見られるほとんどのプログラミング手法にうまく適合するとは思えません。 論理比較を実装しようとすることの問題について無知に思われたくはありません。また、すべてのクラスで実装する必要があります。また、これらの言語はかなり前に設計されたものであることに気づきましたが、一般的な疑問が残っています。 これにデフォルトを設定することの大きな利点はありますか、それとも単にデフォルトの動作が論理的等価であるべきであり、クラスに論理的等価性が存在しない場合に参照の等価性にデフォルト設定することは妥当と思われますか?

7
「言語Aは言語Bで書かれている」とはどういう意味ですか?
言語Aは言語Bで書かれているという言葉をよく耳にします。たとえば、PHPはCで書かれ、C#はC ++で書かれています。 誰かがそれが何を意味するのか、それが正しいのかを説明してください。それは、言語で使用されるインタープリターのコンパイラーと関係がありますか? さらに、実装言語の選択の基礎となる要因は何ですか?

6
なぜプログラミング言語が変数と関数のシャドウ/非表示を許可するのですか?
(などC ++やJava、Pythonなど)で最も人気のあるプログラミングlangugesの多くの概念持って隠しを / シャドーイング、変数や関数の。非表示またはシャドウイングに遭遇したとき、それらはバグを見つけるのが困難な原因であり、これらの言語の機能を使用する必要があることを発見したことはありません。 私には、非表示とシャドウイングを許可しない方が良いと思われます。 誰もがこれらの概念をうまく利用していることを知っていますか? 更新: クラスメンバー(プライベート/保護されたメンバー)のカプセル化について言及していません。

14
オブジェクトが参照渡しされるのはなぜですか?
OOを勉強していた若い同僚が、なぜすべてのオブジェクトが参照で渡されるのかと尋ねました。これは、プリミティブ型または構造体の反対です。これは、JavaやC#などの言語の一般的な特性です。 彼の良い答えが見つかりませんでした。 この設計決定の動機は何ですか?これらの言語の開発者は、毎回ポインターとtypedefを作成することにうんざりしていましたか?

11
実際のアプリケーションにLISP(の方言)を使用しますか?どこで、なぜ?[閉まっている]
LISP(およびScheme、Common LISP、Clojureなどの方言)は、かなり適切なプログラミング言語であるにもかかわらず、多くの業界からの支持を得ていません。(現時点では、彼らは牽引力を得ているようです)。 さて、これは質問に直接関係していません。生産プログラムにLISP方言を使用しますか?どのようなプログラムとその理由は?他のコード(Cなど)に統合される種類の使用法も含まれていますが、それはあなたの答えの意味であることに注意してください。幅広い概念が望ましいですが、特定のアプリケーションも同様に適切です。


10
Math.Sqrt()が静的関数なのはなぜですか?
静的メソッドとインスタンスメソッドに関する議論Sqrt()では、静的メソッドではなく、数値型のインスタンスメソッドである必要があると常に考えています。何故ですか?それは明らかに価値に作用します。 // looks wrong to me var y = Math.Sqrt(x); // looks better to me var y = x.Sqrt(); 多くの言語にはインスタンスメソッドがあるので、値型にはインスタンスメソッドを含めることができますToString()。 コメントからいくつかの質問に答えるには:なぜ1.Sqrt()合法ではないのですか?1.ToString()です。 一部の言語では値型のメソッドを使用できませんが、一部の言語では使用できます。Java、ECMAScript、C#、Python(__str__(self)定義済み)など、これらについて話します。同じことがceil()、floor()などの他の関数にも当てはまります。


9
セルフホスティングコンパイラが新しい言語の通過儀礼と見なされるのはなぜですか?
尊敬に値するために、言語がセルフホスティングコンパイラを使用するか、少なくとも持っていることを人々が期待していると、今では多くの場所で聞いています。 これがなぜなのか興味があります。コンパイラは書くべき非常に重要なソフトウェアのようであり、すべての言語がそれらを作成するのに適しているわけではないと思います。より良い結果をもたらす何かに努力を費やす方が理にかなっていますか?

9
プログラミング言語には何種類ありますか?[閉まっている]
基本的に、私は多くのプログラミング言語を学び、優れたプログラマーになりたいです。私はほんの一握りの深さしか知らないので、いくつかのクラスやタイプのプログラミング言語があるかを誰かが説明できることを望んでいました。グループで学習しなければならない場合に、それらをひとまとめにする方法が好きです。 Javaのバックグラウンドから来た私は、静的な型付けに精通していますが、動的な型付けに加えて、可能な場合はカテゴリの内訳を確認したいほど利用可能な言語が多様でなければならないことを知っています。

18
言語Xが得意なのはいつですか?
これは、彼女との会話に戻ります。プログラミング言語(C ++)で自分を良いと思うほど十分に感じていないことを彼女に伝えようとしました。彼女はそれから私に尋ねました、「さて、あなたはいつ自分を十分に良いと思いますか?」 それは興味深い質問です。私は彼女に何を伝えるべきか分からなかった。だから私はあなたに尋ねています。 プログラミング言語、フレームワークなどの場合、いつ座ってあなたがポイントに到達するか、あなたがやったことを見て、「ねえ、私は実際にこれでかなり良いです」と言いますか?「うん、私はXが得意です」と正直に言うことができるように、「良い」をどのように定義しますか。 さらに、他の人ができることを比較することで、これらの結論に達しますか? 追加情報 あなたがこの分野の専門家になるまでに1万時間かかる標準的な論文を読みました。(この論文が再び呼ばれることを知っている人への小道具) また、人々へのインタビューに関するコーディングホラーのさまざまな記事を読みました。一部の人々は、「フレームワークの外では機能できない」と言われました。したがって、それらはそのフレームワークにとって「良い」かもしれませんが、そうでなければ言語ではそうではありません。これは本当ですか?

26
誰かが教育なしでプログラマーとしての仕事を見つけることができますか?[閉まっている]
高校の学位を取得していなくてもプログラマーとしての仕事を見つけることができるかどうかを、より経験豊富な人から知ることに興味があります。この人は平均的なプログラマーであると考えてください。誰かが彼/彼女にインタビューの機会を与えることを検討しますか?関心のある言語はpython / php / java / c#です お住まいの地域/都市/国のみに回答してください。「学校に戻る」という回答はありません。

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