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

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

5
関数型プログラミングはまったく違うのですか、それとも実際にはもっと難しいのですか?
関数型プログラミングはまったく違うのですか、それとも実際にはもっと難しいのですか? プログラミングをまったく学んだことがなく、関数型プログラミングを教えられた人のことを言ってください。vsプログラミングをまったく学んだことがなく、命令型プログラミングを教えられた人。彼はどちらが厳しいでしょうか?または同じ? 私の質問:今の問題は入力をキャメルケースにすることだと言って、 そのようにqwe_asd_zxc_rty_fgh_vbnなるqweAsdZxcRtyFghVbn 手順は次のとおりです。 に沿って分割する _ 最初の項目をスキップして配列をループします エントリごとに最初の文字を大文字にします 結果を結合する 機能的な方法は次のとおりです。 _返品が見つからない場合input input最初に沿ってカットします_(取得するqweおよびasd_zxc_rty_gfh_cvb) の最初の文字を大文字にし、headそれを連結しますf(tail) あなたが持っている場合は[OK]を機能的なバックグラウンドをと手続きプログラミングにおける豊富な経験を持って、私はお願いしたいと思います:それは、手続きの方法を見つけ出すにお時間がかかりますか、それは機能的な方法を把握するためにあなたのために長い時間がかかりますか? あなたが持っている場合は、手続き-背景をが、機能、プログラミングで長年の経験を持って、私は同じ質問をしたいと思います:それは、手続きの方法を見つけ出すにお時間がかかりますか、それは、機能を把握するために、あなたのために時間がかかります仕方?

12
最初のプログラミング言語としてのアセンブリ?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 4年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け付けていません。 最初のプログラミング言語としてアセンブリ(ある種のバリアント)を教えることはどれほど良い考えだと思いますか?たとえばJavaやPythonを学習するよりも多くの労力がかかりますが、「少なくとも1日のプログラミング」(少なくとも多くの高レベル言語と比較して)から多少なりともマシンを十分に理解できます。どう思いますか?少なくとも余分な努力をする準備ができている人にとって、それは現実的なアイデアですか?長所と短所? 注:私は教師ではなく、ただ好奇心が強い

5
言語指向プログラミングは実用的ですか?
言語指向プログラミングに関するこの記事を読みました。彼は、プログラミングに対する最新の手続き型/ OOPアプローチの弱点を指摘し、それらを解決する新しいプログラミングパラダイムを提案します。 私は小さな、疎結合のプログラムパーツに賛成です:ほんの少しだけ使用するいくつかの大きなことより、使用するすべての小さなことを学ぶ方がはるかに優れています。 記事を読んで、著者が次の2つのいずれかを推進しているという印象を受けました。 簡単に作成できる多数のスクリプト言語 プログラマのニーズに合わせて自分自身を書き換えることができる、単一の簡単に拡張可能な言語 彼が2番目を提案している場合、私は「もうやった!」と答えます。そして、例としてLispを与えます。ポール・グラハムが示唆するように、言語はとにかくこれに向かって絶えず動いているようです。 最初のものに関する限り、それらをすべて結び付ける基礎となる言語がある場合、これは良いアイデアだと思います。それは私にとって弱点であるように思えます:言語間のコミュニケーション。プロセス間通信を思い出させる手続き型の概念またはメッセージの受け渡しである呼び出しを使用しますか?すべての言語を同時に使用するのが簡単な場合は、小さなドメイン固有の言語で作業する機会を歓迎します。このアプローチ(LOP)は実用的でしょうか?

7
HTML5 / JSは最終的にすべてのクライアント側言語を置き換えますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 私はすべての将来について疑問に思っています。私見、テクノロジーの行き先を定義する4つの力があります:マイクロソフト、アップル、グーグル、アドビ。 AppleのiPhone / iPadではiADをHTML5でプログラムできるようになりました。それでは、HTML5が最終的にObjective-Cに置き換わることを意味するのでしょうか? また、Microsoftは現在、その焦点をWPF / SilverlightからHTML5にシフトしており、Visual Studio 2011はHTML5のツールサポートに関するものだと思います。それはマイクロソフトが行うことだからです。(ツール)。数か月後のIE9では、最後の主要なブラウザーがHTML5をサポートします。 同様に、アドビはHTML5の時流に乗っており、最新のツールでFlashコンテンツをHTML5にエクスポートできます。 そして、Googleがhtml5でどれだけのベッドにいるのかを知っています。ちなみに、最新のオペレーティングシステム(Chrome OS)は、太ったWebブラウザに他なりません。 モバイル向けアプリ(iPhone、Android、WM7など)は、特に多くの異なるデバイス(それぞれが独自の言語)向けにプログラムするのが企業にとって非常に難しいため、これは長続きしないと思います。つまり、HTML5が統一言語になります。これは、ユーザーがWeb上で「クールな」html5アプリを無料でプレイできるようになり、料金を請求するのが難しくなるため、アプリ開発者にとってはやや悲しいことです。 それで、強く型付けされた言語は本当に運命にあり、将来、たとえば5-10年で、クライアント側のプログラミングはHTML5のみになりますか?私たち全員がjavascriptプログラマーになりますか?:)標識は確かにそのように指しているので...

12
ドラッグアンドドロッププログラミング-飛びますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 8年前に閉鎖されました。 私が知っているすべてのプログラミング言語は書かれています-つまり、何らかの方法でテキストの長さとして入力されます。しかし、プログラム全体をドラッグアンドドロップするだけのプログラミング言語はあるのでしょうか。ループを取得するには、ここでこのボックスを選択し、「コード」のそのセクションにドラッグします。そして、このようなものがなければ、それが発明されたら飛ぶでしょうか? 個人的に私はそれがそんなに良い考えだとは思わないが、あなたの考えを聞きたい。

2
オベロンは本当に「より良いパスカル」ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 Niklaus Wirthを読むと、Pascalの人気にもかかわらず、彼は(PascalとModulaの「洗練された」後継者として)Oberonがあまり人気を得なかったことに気付かないことがあります。私はOberonで何もしませんでしたが、Pascal開発者向けのOberonのページを読んで、Delphi / pascal開発者としての変更の多くが本当に好きではありませんでした。 予約語を常に大文字にする 言語の大文字と小文字を区別する 列挙型を取り除く Oberonについてどう思いますか、それは本当にあなたの観点から「より良いPascal」ですか?

5
スクリプト言語の作成に関する質問
たとえば、私のためにプログラミング言語またはスクリプト言語を作成するために誰かに支払いたいと思ったとします。まさに私が望むものが何であるかを完全に理解するために、彼らはどんな種類の文書を必要とするでしょう。 つまり、問題の新しいプログラミング/スクリプト言語を説明する標準文書はありますか?

22
どの有用な代替制御構造を知っていますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 同様の質問がSOで終了しました。 プログラミングをしているときに、特定の制御構造が非常に役立つことがありますが、プログラミング言語では直接利用できないことがあります。 計算を整理するのに便利な代替制御構造は何だと思いますか? ここでの目標は、チャンキングと推論を改善するために、コードの構造化についての新しい考え方を獲得することです。 現在利用できない希望的な構文/セマンティックを作成するか、既存のプログラミング言語であまり知られていない制御構造を引用することができます。 回答は、新しいプログラミング言語や実際の言語を強化するためのアイデアを提供するものでなければなりません。 これはブレーンストーミングと考えてください。だから、おかしなアイデアだと思われるものを投稿してください。 それは命令型プログラミングについてです。

2
構造体にtypedefを使用する理由
C(ANSI、C99など)では、構造体は独自の名前空間に存在します。リンクリストの構造体は、次のようになります。 struct my_buffer_type { struct my_buffer_type * next; struct my_buffer_type * prev; void * data; }; しかし、ほとんどのCプログラマーが次のような構造体を自動的にtypdefすることは非常に自然に思えます typedef struct tag_buffer_type { struct tag_buffer_type * next; struct tag_buffer_type * prev; void * data; } my_buffer_type; そして、通常の型のように構造体を参照しget_next_element(my_buffer_type * ptr)ます。 今、私の質問は次のとおりです。これには特定の理由がありますか? ウィキペディアによると、http://en.wikipedia.org/wiki/Typedef#Usage_concerns 一部の人々は、typedefの広範な使用に反対しています。ほとんどの引数は、typedefが変数の実際のデータ型を単純に隠すという考えに基づいています。たとえば、LinuxカーネルハッカーでありドキュメンタリーであるGreg Kroah-Hartmanは、関数プロトタイプ宣言以外の目的での使用を推奨していません。彼は、この慣行はコードを不必要に難読化するだけでなく、プログラマーが単純に大きなタイプの構造であると誤って誤用する可能性もあると主張します。[4] typedefを使用すると、コードの保守が簡単になると主張する人もいます。K&Rは、typedefを使用する2つの理由があると述べています。まず、プログラムの移植性を高める手段を提供します。プログラムのソースファイル全体に現れるすべてのタイプを変更する代わりに、変更する必要があるtypedefステートメントは1つだけです。第二に、typedefは複雑な宣言を理解しやすくします。 場合によってはstructtypedefされた構造体を使用しない別の名前空間を使用することで十分なメリットがないのか、他にもCプログラミング文化がいくつかあるので(Windows CプログラミングにはLinux Cプログラミングとは異なる伝統があります)私が知らない伝統。 それから私は歴史的な考察に興味があります(前任者、Cの最初のバージョン)。

4
プログラミング言語を構成するものと、プログラミング言語の著作権をどのように保護するのですか?
私は自分自身のプログラミング言語を作成することに決めました。しかし、私はそのすべての法的側面に興味を持ちました。 たとえば、特定のプログラムを特定の条件の下でライセンスすることができます。ただし、言語のライセンスを取得するにはどうすればよいですか?また、言語(コンパイラとVM)の実装だけでなく、標準自体も意味します。私が見逃しているプログラミング言語に他に何かありますか? そのようなライセンスによって達成したいこと: それを完全にFOSSにします(言語はFOSSになることもできますか、それともFOSSになることができる実装ですか?) 作者としての地位を確立します(合法的に言語の作者になれますか?あるいは、実装だけですか?) 私の言語を実装するすべての人が私を帰属させる必要があるようにしてください(MITスタイル。ただし、実際にそうする人はいないだろうことに注意してください。私はただ学んでいるだけです)。 私の解決策は、私の言語のVMとコンパイラを「公式の実装」として個別にライセンスし、次に、設計ドキュメントを言語自体としてライセンスすることだと思います。 ここで正確に何が欠けていますか?

2
i、j = 1は本当に紛らわしいですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 2年前に閉店。 1つのライナーでの複数の変数の初期化に関する一般的な議論があります。 たとえば、int i、j = 1; 一部の人々は、両方の変数が初期化されていると誤解する可能性があります 誰かが自分の言語の構文を十分に知って、それについて間違えないようにする必要があると主張できます。別の議論は、開発者が非常に多くの言語を学習し、言語間の特異性の間で間違いを犯す可能性があることです。 しかし、その非常に特定のケースでは、次のように構文i、j = 1が両方の変数を初期化する言語も存在するのだろうか? そうでない場合、その引数は適用されません。

3
なぜ言語はブロックの明示的なマーカーよりもインデントを好むのですか?
Haskellを学んでいますが、自動インデントツールを探していました。私はあまり見ていませんでしたが、Haskellでは(Pythonのように)インデントがブロックを意味することを学びました。その結果、{}(中括弧)やbegin endキーワードなどの明示的なマーカーを使用する、Cファミリの他の言語ほど強力な自動書式設定ツールを作成することは不可能だと推測しています。 読みやすくするためにインデントを強制する言語は気にしませんが、インデントの強制と明示的なマーカーの両方の利点を理解できないため、自動化ツールはどのブロックに属するかを理解できます。 ブロックをマークするインデントの設定が、コードの見栄えを良くするためのものである場合、その利点はまだ理解できません。タブやスペースが異なるエディターや異なるフォント(モノスペースフォントは見栄えが良いなど)で異なって表されることを考えると、プログラマーがコードを適切に提示することを期待することは不可能です。現在のテキストエディタを考慮に入れることができるツールは、コードを正しくフォーマットするためにはるかに適切です。 言語設計者が明示的なブロックマーカーよりもインデントを選択するのはなぜですか?

7
OOPはプロパティの概念を含むようにどのように進化しましたか
私はC ++のバックグラウンドから来て、現在の仕事でC#を使い果たしており、パブリックフィールドとプロパティの違いと、このバリエーションと化身の前後の違いについて多くのQ&Aを読んでいます。基本的な質問(たとえば、このSO投稿と関連するすべてのリンクされた質問)。これらの質問はすべて、プロパティシステムの存在を当然とする実際的な違いの観点から説明されていますが、最初のプロパティをサポートすることを決めたすべての言語のデザイナーがこのテーマにアプローチするのは良いと思います場所は考えていました(Wikipediaの記事のリストをチェックしてください)。OOPはC ++ / Javaからどのように進化し、Wikipediaの記事で興味深いことにメソッドとメンバーデータの中間であると特定されました。 「つまり、プロパティはクラスのメンバーコード(メソッド)とメンバーデータ(インスタンス変数)の中間であり、プロパティはパブリックフィールドよりも高いレベルのカプセル化を提供します。」 MSDNはさらに背景を追加します。 「プロパティは技術的にはメソッドに非常によく似ていますが、使用シナリオの点ではまったく異なります。スマートフィールドと見なすべきです。フィールドの呼び出し構文とメソッドの柔軟性があります。」 カプセル化のこの中間レベルが一般的なプログラミングに有用であることが判明したことを知りたいと思います。この概念は、OOPパラダイムを表現したプログラミング言語の最初の化身には存在しなかったと思います。

2
素人の言葉で言えば、左再帰とは何ですか?
code.google.comの1ページによると、「左再帰」は次のように定義されています。 左再帰とは、再帰的な非終端記号を指し、それ自体を含む知覚形式を生成する場合、それ自体の新しいコピーが生成規則の左側に表示されます。 ウィキペディアには、2つの異なる定義があります。 文脈自由文法の観点では、rの生成(「代替」)の左端の記号がすぐ(直接/即時左再帰)または他の非終端記号を介して、非終端記号rが左再帰である場合定義(間接/非表示の左再帰)は、rに再度書き換えます。 「文法が左再帰的であるのは、それ自体が左記号として最終的に文型を導き出す非終端記号Aを見つけることができる場合です。」 私はここで言語作成を始めたばかりで、暇なときにそれをやっています。ただし、言語パーサーの選択に移ると、このパーサーで左再帰がサポートされているか、そのパーサーがすぐに前面および中央に表示されるかが問題になります。「文型」などの用語を検索しても、専門用語のリストが表示されるだけですが、「左」再帰の区別はほとんど非常に単純でなければなりません。翻訳をお願いします?

3
プログラミング言語の内部を理解する必要がありますか?
私はPythonの初心者で、これまでのところ本当に気に入っています。よく頭に浮かぶ質問の1つは、プログラミング言語の内部構造を理解する必要があるかどうかです(したがって、私の場合はPythonです)。ご存知かもしれませんが、Python自体はCで書かれています。 だから私の質問は次のとおりです。この言語に堪能であるか流であるためには、プログラミング言語にどのくらい深く潜らなければならないのか。この質問を「自然な」言語と比較します。私は母国語の文法のすべての詳細を知りませんが、その言語で問題なく自分を表現することができます。これは私が言語に堪能だと言うときです。それはプログラミング言語にも当てはまりますか?

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