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

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

6
シギルはソースコードを読みやすくしますか?
ほとんどのプログラミング言語では、変数にはPHPのような識別文字がありません。PHPでは、変数の前に$文字を付ける必要があります。 例; var $foo = "something"; echo $foo; ビジネスアプリケーション用の新しいスクリプト言語を開発していますが、ターゲットユーザーにはプログラミングのバックグラウンドがありません。これらの文字はコードを読みやすく、使いやすくしますか? PHPを使用する理由の1つは、$PHPがないと、名前が関数参照か変数参照かを判断できないためです。これは、言語が関数への奇妙な参照を許可しているためです。したがって、この$シンボルは、パーサーが名前空間を分離するのに役立ちます。 パーサーにはこの問題はありません。したがって、私の質問は読みやすさと使いやすさだけです。私はPHPで長年コーディングしてきたので、これを見る$fooと、これを変数として簡単に識別できます。私はこの識別子にバイアス設定を与えているだけですか?

2
「ダングリングエルス問題」とスキャナーレス解析は何の関係がありますか?
Dangling Else問題に関するWikipediaの記事のこの文は理解できません。 [Dangling Elseの問題]は、コンパイラの構築、特にスキャナーレス解析でしばしば発生する問題です。 誰かがスキャナーレス解析技術がこの問題を悪化させる可能性があることを私に説明できますか?問題は文法にあるようです-曖昧だからです-解析手法の選択ではありません。私は何が欠けていますか?

4
フェルナンドJ.コルバトーの「制約言語」
彼のために1990年チューリング賞を受賞スピーチ、フェルナンド・J・コルバトは、複雑なシステムは、必然的に失敗する理由を記載されています。彼の結論で、彼は失敗の確率を減らすためのいくつかの提案をします。彼は1つのアイデアを次のようにリストしています。 設計または合成のための制約された言語の[U]は強力な方法論です。プログラマーやデザイナーが無関係なアイデアを表現できないようにすることで、起こりうるエラーの領域ははるかに限定されます。 「制約言語」とはどういう意味ですか? しばらくの間、制約プログラミングを検討しました。ただし、制約プログラミングとは、プログラムのソリューション空間を制限することです。これは、プログラマを支援するツールです。Corbatóが言及している機能は、実際にプログラマを制限するものであるか、または少なくとも彼女がより簡潔なコードを書く傾向があるように思われます。 私の第二の考えは、彼が保守的なプログラミング言語に言及しているということです。コルバトーは、1960年代と1970年代に行われた仕事に対してチューリング賞を受賞しました。彼が多くのパンチカードを扱ったことは私の理解です。私はパンチカードを見たことがないので、どのようにプログラムするかわかりませんが、パンチカードのプログラミングは非常にリベラルだと思うかもしれません。型チェック、静的分析などの概念は単に存在しなかったと思います。だから、Corbatóはおそらく開発者が愚かな間違いをするのを制限する言語のアイデアに言及していますか?これも事実ではないようです。安全性チェックとデータモデリングは簡潔さとは関係がありません。それは、彼が「許可しない...関連性のないアイデア」に言及したときに話しているようです。

2
クラスを介してすべてのコードを構造化し、クラス(Javaなど)にコンパイルすることの長所と短所
編集:私の言語は、Javaとは異なり、複数の継承を可能にします。 教育、レクリエーション、潜在的に有用な目的のために、独自のプログラミング言語の設計と開発を開始しました。 最初は、Javaをベースにすることにしました。 これは、すべてのコードがクラスの形式で記述され、そのコードがVMによってロードされるクラスにコンパイルされることを暗示しています。 ただし、インターフェイスや抽象クラスなどの機能は必要ないため、除外しました。彼らはパラダイムを実施しているようで、私の言語はそれをしないようにしたいです。クラスをコンパイル単位として保持したかったのは、実装が便利で馴染みがあり、アイデアが気に入ったからです。 それから、クラスをstaticディレクティブを使用して定数と関数を提供する「名前空間」として、またはインスタンス化する必要のあるオブジェクトのテンプレート(「実際の」クラスの目的)として使用できるモジュールシステムが基本的に残っていることに気付きました他の言語で)。 今、私は疑問に思っています:コンパイル単位としてクラスを持つことの利点と欠点は何ですか? また、私のデザインに関する一般的なコメントは大歓迎です。私の言語に関する有益な投稿は、http://www.yannbane.com/2012/12/kava.htmlにあります。

3
プログラミング言語の構文は、ユーザビリティテストされていますか?
この投稿を改善したいですか?引用や回答が正しい理由の説明など、この質問に対する詳細な回答を提供します。十分な詳細がない回答は、編集または削除できます。 一般に公開される前に、プログラミング言語の構文はユーザビリティテストを受けていますか?もしそうなら、どのような種類のテストが実行され、結果は何で、テスト結果は言語の設計にどのような影響を与えましたか?

5
Goのような言語に対する従来のOOPの利点
私は言語設計と「理想的な」プログラミング言語に必要な要素について多くのことを考えてきましたが、GoogleのGoを勉強することで、そうでなければ一般的な知識の多くを疑問視するようになりました。 具体的には、Goはオブジェクト指向言語の構造を実際に持たずに、オブジェクト指向プログラミングの興味深い利点をすべて備えているようです。クラスはなく、構造のみがあります。クラス/構造の継承はなく、構造の埋め込みのみです。階層はなく、親クラスも、明示的なインターフェイス実装もありません。代わりに、型キャストルールはアヒルのタイピングに似た緩やかなシステムに基づいており、構造体が「リーダー」または「リクエスト」または「エンコード」の必要な要素を実装する場合、キャストして使用できます。一つとして。 Goのような言語に移行するときにあきらめなければならない、本質的に機能性、保守性、強力な、C ++およびJavaとC#で実装されたOOPについて何かありますか?この新しいパラダイムが表すシンプルさを得るために、あきらめなければならないメリットは何ですか? 編集 読者が過度にハングアップして怒りを覚えるように見える「時代遅れの」質問を削除しました。 問題は、一般的な言語の実装でよく見られる従来のオブジェクト指向のパラダイム(階層など)は、この単純なモデルでは簡単に実行できないものを提供する必要があるということです。または、言い換えると、今日言語を設計する場合、クラス階層の概念を含めたい理由はありますか?

1
Mercuryプログラミング言語は現場で使用されていますか?
私は関数型および論理型プログラミングに強い関心があり、Mercuryはこの2つをうまく融合させているようです。業界で使用されていますか?私はその楽しみのためだけに言語を学びたいと思っていますが、実用的で雇用可能な手段があればいいと思います。言語のウェブサイトでの産業での使用例についてはあまり見つけることができませんでした。

9
練習しないとプログラミングの知識は減りますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 私は初心者プログラマーです。C、C ++、Python、Javaなどの言語を勉強しています(主にC ++に焦点を当てています)。私はあなたが「若くて経験の浅い人」と呼んでいますが、そうでないと主張することはできないからです。 学生として、プログラミング以外にも多くの問題があります。プログラミングをできる限り頻繁に練習しています。特に、先生がクラスの他の部分よりもはるかに多くのエクササイズを提供しているため(非常に低いレベルです)、多くの場合、学校のプロジェクトやスポーツなどの他のことを何週間も費やしています。旅行、プログラミング以外のもの。 誤解しないでください、私はプログラミングが大好きです。私は、機能的なコードを作成し、ボタンを押すだけでプログラムが実行されるのを見て、できる限り多くのことを学ぶのが大好きです。事は、私はそれのための多くの時間がないだけです。 質問にまっすぐになります。あなたのプログラミングの知識は時間の経過とともに低下し、練習しませんか?「どのくらいの時間を意味しますか?」と尋ねることができます。特定の時間を意味するわけではありませんが、参考までに、例として2か月から1年かかることもあります。 知識とは、構文から言語機能までを意味します。

4
Rubyが正しかったこと(またはRailsだったこと)[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 ほとんどのプログラミング言語には、使用法と適用可能性に影響する設計上の決定事項がいくつかあります。 例えば: Pythonは、コードの保守性/可読性に焦点を合わせ、インデントを言語自体の一部にしました。 Javaの意図は、クロスプラットフォームOOPをC ++より「簡単」かつ「使いやすい」ものにすることでした Objective-Cは、当時のC ++の未来を知らないCのオブジェクト指向ラッパーとして構築されました。 Erlangは、高度なフォールトトレラントな同時システム向けに設計されています Webページの動的作成を処理するために設計されたPHP Javascript の優れた部分を公​​開し、OOPの構文糖を追加し、JSの「舞台裏」などのニュアンス(グローバルなど)を隠すように設計されたCoffeeScript 各プログラミング言語は、特定のニッチなIMHOを活用して活用しようとしました。上記は、プログラミング言語の創立原理であり、それらの進化と広範な採用可能性を支配したものについての私の見解です。もちろん、もっとたくさんありますが、リストは例としてのみ意図されています しかし、Rubyの基礎となる人気の原則とその人気の高まりを理解するのに苦労しました。今日人気のあるRubyの設立原則は何でしたか?それとも、Railsフレームワークを設計した一人の男の天才でしょうか?後者が、RubyがRailsの設計をより良く、より簡単に、より速くしたとしたら?どのような意味で? その作成者による最も一般的に引用された理由は、「...弱く型付けされた楽しいプログラミング言語を望んでいた」です-新しいプログラミング言語を完全に作成する理由とは思いません!プログラミングは言語に関係なくまったく楽しいです(各言語にはいくつかの悪い部分がありますが、それを回避するか、それと一緒に生活します)。 では、現在の言語では活用されていないRubyの活用法はどのようなニッチなのでしょうか?広く採用されているRubyの「強み」(USP)とは何ですか?Rubyは、これまで行われなかった(または非常に困難だった)ことをしましたか? 私はRubyプログラマーではなく、単にRuby初心者であり、それゆえ混乱しています。 免責事項:これはフレーム戦争ではなく、Ruby vsプログラミング言語タイプの回答を探しているわけではありません。私は、Rubyのベースとなっているデザインの決定を探しています。Rubyが人気を博したために満足しているニッチとは何か、それは純粋にRailsに起因するものですか?

8
単一責任の原則-私はそれを過度に使用していますか?
参考-http://en.wikipedia.org/wiki/Single_responsibility_principle アプリケーションの1つのモジュールで元帳エントリを作成するテストシナリオがあります。実行できる3つの基本的なタスクがあります- 既存の元帳エントリを表形式で表示します。 [作成]ボタンを使用して新しい元帳エントリを作成します。 テーブルの元帳エントリ(最初のポインタで説明)をクリックして、次のページで詳細を表示します。このページの元帳エントリを無効にすることができます。 (各ページにはさらにいくつかの操作/検証がありますが、簡潔にするためにこれらに限定します) そこで、3つの異なるクラスを作成することにしました- LedgerLandingPage CreateNewLedgerEntryPage ViewLedgerEntryPage これらのクラスはそれらのページで実行できるサービスを提供し、Seleniumテストはこれらのクラスを使用して、アプリケーションを特定のアサーションを作成できる状態にします。 私が同僚と一緒にそれをレビューしていたとき、彼は圧倒され、すべてのために1つのクラスを作るように頼まれました。まだデザインがきれいだと感じていますが、単一責任の原則を使いすぎているのではないかと疑っています

5
学習体験のための新しいスクリプト言語を作成しますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 私自身の個人的な学習経験のためにスクリプト言語を作成する価値はありますか? 私が尋ねる理由は、すでに非常に多くのプログラミング言語が利用可能であることです。私は、良い学習体験を提供する以外に、私の実際の使用は決してないことを知っています。ただし、スクリプト言語を学習体験として作成しようとすることには欠点があります。より「生産性の高い」何かをするためには多くの時間と労力が必要になります。 プログラミング言語(その目的、構文、哲学、インタープリターなどのドラフトの作成を含む)を作成することは、時間、労力、および学習経験に値するでしょうか?それとも、もっと恩恵を受けることができる他のプロジェクトはありますか?

7
プログラミングにおけるスレッドの適切な使用とは何ですか?
多くのプログラムがプロセスごとに最大100を使用する一方で、プロセッサごとに1つのスレッドのみを使用することを推奨することを聞くのはうんざりです!例えば、いくつかの一般的なプログラムを取ります vb.net ide uses about 25 thread when not debugging System uses about 100 chrome uses about 19 Avira uses more than about 50 スレッド関連の質問を投稿するたびに、プロセッサごとに複数のスレッドを使用するべきではないことをほぼ毎回思い出し、上記のすべてのプログラムは単一プロセッサのシステムで台無しになっています。

4
一部のライブラリを多くのプログラミング言語に書き換えるのはなぜですか?
たとえば、Java(100%pure Javaなど)で記述されたLuceneなど、さまざまなプログラミング言語で記述されたバージョンで使用可能なライブラリがありますが、C ++、C、Perlのバージョンもあります、Ruby、Lispおよびその他の言語。そして、私はFFIインターフェースだけでなく、これらの言語での実装について話している。 なぜ人々はそうするのですか?明白な理由の1つを見ることができます。プロジェクトの依存関係が少ないほど、展開と配布(そしておそらく開発も)が容易になります。しかし、他に何かありますか?どのような状況で価値がありますか?



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