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

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

3
左から右への言語構文の利点
私はChannel9 でハーブサッターとのインタビューを見ていましたが、彼はビデオの最後で、左から右への言語構文が将来のC ++標準のウィッシュリストの一番上にあると述べました(彼はそのようにC ++を変更することを認めていますがまったく別の獣になります)。 の他に: 人間がより理解しやすく、肉眼で明確 //C syntax /*pointer to function taking a pointer to function(which takes 2 integers as arguments and returns an int), and an int as arguments and returning an int*/ int (*fp)(int (*ff)(int x, int y), int b) //Go analogous syntax which is left to write …

3
デコレータのデザインパターンに関する初心者の質問
私はプログラミングの記事を読んでいて、デコレーターパターンについて言及していました。私はしばらくの間プログラミングを行ってきましたが、正式な教育やトレーニングは一切受けていませんが、標準的なパターンなどについて学ぼうとしています。 それで、デコレータを調べて、ウィキペディアの記事を見つけました。デコレータパターンの概念は理解できましたが、この文章に少し混乱しました。 例として、ウィンドウシステムのウィンドウを考えます。ウィンドウのコンテンツのスクロールを許可するには、必要に応じて、水平または垂直のスクロールバーを追加することができます。ウィンドウはWindowクラスのインスタンスによって表され、このクラスにはスクロールバーを追加する機能がないと想定します。それらを提供するサブクラスScrollingWindowを作成するか、この機能を既存のWindowオブジェクトに追加するScrollingWindowDecoratorを作成できます。この時点で、どちらのソリューションでも問題ありません。 ここで、ウィンドウに境界線を追加する機能も必要であると仮定します。繰り返しますが、元のWindowクラスにはサポートがありません。ScrollingWindowサブクラスは、新しい種類のウィンドウを効果的に作成したため、問題を引き起こします。すべてのウィンドウに境界線のサポートを追加する場合、サブクラスWindowWithBorderおよびScrollingWindowWithBorderを作成する必要があります。明らかに、この問題は新しい機能が追加されるたびに悪化します。デコレータソリューションの場合、新しいBorderedWindowDecoratorを作成するだけです。実行時に、既存のウィンドウをScrollingWindowDecoratorまたはBorderedWindowDecorator、あるいはその両方で装飾することができます。 OK、すべてのウィンドウに境界線を追加するように言ったら、オプションを許可するために元のWindowクラスに機能を追加するだけではどうですか?私の見方では、サブクラス化はクラスに特定の機能を追加したり、クラスメソッドをオーバーライドしたりするためのものです。既存のすべてのオブジェクトに機能を追加する必要がある場合、スーパークラスを変更するだけではいけないのはなぜですか? 記事には別の行がありました: デコレータパターンは、サブクラス化の代替です。サブクラス化はコンパイル時に動作を追加し、変更は元のクラスのすべてのインスタンスに影響します。装飾は、個々のオブジェクトの実行時に新しい動作を提供できます。 「...変更は元のクラスのすべてのインスタンスに影響します」と言っている場所がわかりません-サブクラス化は親クラスをどのように変更しますか?それがサブクラス化のポイントではないでしょうか? この記事は、多くのWikiのように、明確に書かれていないことを前提としています。その最後の行で、デコレータの有用性を確認できます-「...個々のオブジェクトに対して実行時に新しい動作を提供します。」 このパターンを読んでいなくても、個々のオブジェクトの実行時の動作を変更する必要がある場合、おそらく、この動作を有効または無効にするメソッドをスーパークラスまたはサブクラスに組み込みます。デコレータの有用性、そして初心者の考え方に欠陥がある理由を本当に理解してください。

15
高級言語でプロトタイプを作成することは一般的ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 私は現在、(C)で実際の経験がほとんどない言語での現在のプログラミング能力をはるかに超えるプロジェクトに着手するというアイデアをいじっています。全体的な設計を進めるために、私がよく知っている(Perl / Python / Ruby / C#のような)高級言語でプロトタイプを作成することは価値があるでしょうか? 最終的に、最終製品はパフォーマンスに敏感であるため(データベースエンジンです)、Cを選択しますが、Cをよく知らないと木のために森を失うことになるのではないかと思います。 同様の質問を探しているうちに、プログラマーがPrologでプロトタイプを作成し、それをアセンブラーで試していたという1人の仲間がいることに気付きました。

12
言語仕様を読む価値はありますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 もしあなたがその言語やそれに類するもののためのコンパイラ/インタプリタを書こうとしないなら、言語仕様/標準文書(例えば、Java言語仕様)を読む価値があるのだろうか?このような本を読むことは、誰もが初めて言語に触れるべきではないことを理解していますが、その詳細を学ぶには素晴らしい方法です。 他の人を悩ませたことはありますか?

3
プログラミング言語に関する研究はありましたか?
プログラミング言語は形式言語ですが、多くの形式とは異なり、運用セマンティクス、またはマークアップ言語の場合はプレゼンテーションセマンティクスによって定義される特定の固有の意味もあります。プログラミング言語は、実際には形式的ではありますが、許可されるコミュニケーションの点では自然言語に非常に似ています。 プログラミング言語の開発は人工的ですが、自然言語の進化、借用、混合、および突然変異のプロセスにはすべて、かなり明確な人工的な対応があります。だから、私は疑問に思っている:言語学者の観点からプログラミング言語の進化と振る舞いに関する大規模で詳細な研究はこれまでにありました か?

14
スクリプト言語はジュニアプログラマーにどのような影響を与えますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 先日、先生の一人と話し合いました。 シンプルなスクリプト言語(PythonやRubyなど)がジュニアプログラマーに与える影響について議論しました。 彼は、初心者が「内部」で何が起こっているのか理解していないので、スクリプト言語がずさんなコーディング技術を生むと主張した。彼はまた、スクリプト言語がプログラマーに効率、メモリ管理、操作の複雑さなどに関する懸念を無視させることが多い方法の他の例を引用しました。 低レベルの言語は一部の人々にとっては多すぎるかもしれず、プログラミングへの情熱を開発する前にgiveめるかもしれないと主張しました。最初のプログラミング言語(C)を学び始めたとき、私は指針に行き着き、概念が難しすぎるためにgaveめました(私の防御では、私はまだ14歳でした)。Javaがなかったら、私はプログラマーにならなかったかもしれません!もっとシンプルな言語から始めて、深く掘り下げていたら、あきらめずに、Cで始めたのと同じくらい学んだと思います。 どちらかの側が完全に探検される前に、クラスは終了しました。 ここまで、初心者はスクリプト言語から始めて、深く掘り下げるべきだと説教してきました。しかし、その議論の後、私はこれが誤った思考であるかどうか疑問に思い始めました。 それでは、スクリプト言語はジュニアプログラマにどのような影響を与えますか?

14
プログラミング言語のパフォーマンスが遅いのは本当に悪いことですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 ここに私がそれを見る方法があります。 マシンコードがあり、コンピューターが何かを実行するために必要なのはそれだけです。コンピューターはプログラミング言語を気にしません。マシンコードがPerl、Python、またはPHPのどれであるかは関係ありません。プログラミング言語はコンピューターに役立ちません。プログラマーに役立ちます。 一部のプログラミング言語は他のプログラミング言語よりも動作が遅くなりますが、それは必ずしも問題があるためではありません。多くの場合、それは、プログラマーがしなければならないこと(つまり、メモリ管理)をより多く行うためであり、これらのことを行うことにより、プログラマーにサービスを提供することになります。 それでは、プログラミング言語のパフォーマンスの低下は、本当に悪いことですか?

16
今日、ソフトウェアプロジェクトにCを使用しますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 はいの場合、どこで、なぜそれを使用しますか? いいえの場合、Cが受け入れられない理由を説明してください。

11
動的言語は常に解釈されますか?
ほとんどの(すべてではないにしても)動的言語(Python、PHP、Perl、Rubyなど)を見ると、それらはすべて解釈されます。私が間違っている場合は修正してください。コンパイル段階を経る動的言語の例はありますか?動的言語はインタープリター言語と同一ですか?

6
BASICが利益をもたらした理由 [閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 1970年代、Bill Gatesという男性がBASICのインタープリター、Altair BASICを開発しました。私の理解では、彼はマイクロコンピューター会社の担当者に、彼が販売したすべてのマイクロコンピューターに通訳プログラムを含めるよう説得することができました。どうやらこれはゲイツを幸運にした。私が理解していないのは、プログラミング言語が今日ほど有益ではない理由です。過去にどのような要因が利益を上げたが、今日はそうではないのか?

4
多くのプログラミング言語でmod(%)が基本的な数学演算子であるのはなぜですか?
モジュラス演算子が多くの言語のように見える標準演算子の小さなセットの一部である理由は、歴史的であろうとなかろうと、ありますか?(+, -, *, /および%、JavaおよびCの場合**、RubyおよびPythonの場合)。 modを「基本」として含めるのは奇妙に思えます(たたくのではなく、たくさん使いますが、累乗、絶対値、下限/天井なども使用します。これは、Java、C、Ruby、Pythonがすべて従う特定の仕様で行われた古い決定でしたか、それともすべての派生言語ですか?私の知る限り、ほとんどのLisp方言には+, -, /とのみが含まれてい*ます。 最初は、modがバイナリレベルで実装するのが特に簡単かどうか疑問に思いました(「基本的な」演算子とすべきでないものに関する決定に関して違いが生じるのでしょうか)。それは私が考えるよりもプログラミングではるかに一般的に使用されていますか?

4
標準に準拠する必要がありますか?
Stack Overflowには、C標準について常に語る経験豊富な人々がいます。たとえ私のために働いていても、人々は非ポータブルなソリューションを好まないようです。わかりました、標準に従う必要があることを理解していますが、プログラマーの創造性に束縛をかけませんか? 標準に従うことから得られる具体的な利点は何ですか?特に、コンパイラは標準をわずかに異なる方法で実装する場合があるためです。

6
最初に来たのは、コンパイラーですか、それともソースですか?
コンパイラの誕生に興味があります。プログラミングはどのように始まりましたか?ある特定のコマンドセットを認識するハードウェアを最初に構築したのですか、それとも言語を定義してからその周辺のハードウェアを構築したのですか?また、関連するメモでは、最初のプログラミング言語は何でしたか?

4
プログラミング言語が冗長か簡潔かを判断する方法は?
プログラミング言語は、多くの場合、冗長または簡潔であると説明できます。 私の理解では、冗長言語は読みやすく、理解しやすく、簡潔な言語は簡潔で簡潔ですが、読むのはより困難です。定義で考慮すべき他のものがありますか? 今日の一般的なプログラミング言語の多くは冗長であるように思われ、これらの用語2つの用語は、ある言語を他の言語と比較して多かれ少なかれと表現するためにのみ使用されます。 プログラミング言語が他の言語よりも冗長/簡潔であるかどうかをどのように判断しますか? 例:C#はJavaより冗長ですか?

6
CVで2次言語を作成しますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 すべてのプログラマーは、ほとんどの場合に使用する主要言語を持っているため、よく知っています。 しかし、過去に本当によく知っていたが、しばらく使用していない、またはあまり使用しないので、あなたほどそれらに没頭していないという意味で、あなたがちょっと知っている言語もありますあなたの第一言語です。 間違いなくこれらの言語で生産性を高めることができますが、少し自分自身を再理解し、いくつかの構文規則を調べる必要があるかもしれません。私の質問は、これらの言語を「知っている」言語としてあなたの履歴書に書くでしょうか?

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