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

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

16
若い人はポインターの概念を学ぶ必要がありますか?
CマスターのDennis RitchieがCにポインターを導入したのはなぜですか?そして、なぜVB.NETやJavaやC#などの他のプログラミング言語がそれらを排除したのですか?Googleでいくつかのポイントを見つけました。あなたのコメントも聞きたいです。なぜ現代の言語でポインターの概念を排除するのですか? Cは基本的な言語であり、ポインターはCを強力で際立ったものにし、Cをより現代的な言語と競争させる概念であると人々は言います。それから、なぜ彼らはより近代的な言語のポインターを排除したのですか? 新しいプログラマーにとって、ポインターの知識はまだ重要だと思いますか?最近人々はVB.NETまたはJavaを使用していますが、これはCよりも高度な機能をサポートしており(ポインターの概念を使用していません)、現在見ている多くの人々(私の友人)は、高度な機能をサポートするためCを無視してこれらの言語を選択します。Cから始めるように伝えます。Cでは不可能なVB.NETまたはJavaの高度なことをしているときに、ポインターの概念を学ぶのは無駄だと言います。 どう思いますか? 更新: Googleで読んだコメントは次のとおりです。 初期のコンピューターは遅すぎて最適化されていませんでした。 ポインターを使用すると、アドレスに直接アクセスできるようになり、関数呼び出しでアドレスのコピーを作成する代わりに時間を節約できます。 ポインターを使用するとセキュリティが著しく低下するため、JavaとC#にはポインターが含まれていません。 これらと、さらに私が見つけたもの。私はまだいくつかの貴重な答えが必要です。それは大歓迎です。

30
PHPにはどのような機能が必要ですか?[閉まっている]
今はホリデーシーズンであり、誰もが希望を抱いているので、PHPでどの言語機能を追加したいのでしょうか。私は、言語に対する実用的な提案/要望に興味があります。実用的には: 実際にできること(「PHPが私のコードの意味を推測してバグを修正してくれることを望んでいる」または「コードが5ミリ秒未満で実行されることを望んでいる」) PHPを別の言語に変更する必要のないもの(「中括弧の代わりに$記号を削除してスペースを使用したい」または「PHPをコンパイルし、静的に入力し、名前に#を含めたい」) 既存のすべてのコードを壊す必要のないもの(「500個の関数の名前を変更し、それらのパラメーターの順序を変更しましょう」) 何かない言語やそれのいくつかの興味深い側面を変更(ない:「私はXYZのプロトコルをサポートするための拡張があったことを望む」または「私はバグ#12345を希望するが最終的に固定されました」) 暴言以上のもの(「PHPがそんなにひどく吸わないように」) 誰にも良い願いがありますか? Mod編集:Stanislav MalyshevはコアPHP開発者です。

8
「副作用」とは何ですか?
副作用の概念を明確に理解していません。 プログラミングの副作用とは何ですか? プログラミング言語に依存していますか? 外部および内部の副作用などがありますか? 副作用を引き起こす原因の例をいくつか挙げてください。

4
命令型プログラミング、手続き型プログラミング、構造化プログラミングの違いは何ですか?
(書籍、ウィキペディア、SEに関する同様の質問など)を調査することで、命令型プログラミングは主要なプログラミングパラダイムの1つであり、コンピューターが実行する一連のコマンド(またはステートメント)を記述する(つまり、特定のアクションを実行するように多くの順序を指定するため、「命令型」という名前が付けられます)。ここまでは順調ですね。 一方、手続き型プログラミングは、命令型プログラミングの特定のタイプ(またはサブセット)であり、プロシージャ(関数)を使用してコンピューターが実行するコマンドを記述します。 最初の質問:手続き型ではない命令型プログラミング言語はありますか?言い換えると、プロシージャなしで命令型プログラミングを使用できますか? 更新:この最初の質問には答えられているようです。言語は、手続き的または構造化されていなくても不可欠です。例は、純粋なアセンブリ言語です。 次に、構造化プログラミングもあります。これは、命令型プログラミングの別のタイプ(またはサブセット)と思われ、GOTOステートメントへの依存を取り除くために登場しました。 2番目の質問:手続き型プログラミングと構造化プログラミングの違いは何ですか?あなたは一方を他方なしで持つことができますか?画像のように、手続き型プログラミングは構造化プログラミングのサブセットであると言えますか?

6
なぜPythonの人気はそんなに突然でしたか?[閉まっている]
Pythonは1991年に初めて登場しましたが、2004年までTIOBEランキングが意味のあるものを定量化するかどうかは不明でした。 どうした?この13歳の言語への関心が屋根をくぐった原因は何ですか?Pythonが最初の10年間でPerlの本当の競争相手と見なされなかった理由はありますか?Pythonがさらに10年間、比較的あいまいな状態を続けなかった理由はありますか? 個人的にはPythonはとてもいい言語だと思います。私だけではないことを嬉しく思います。しかし、企業の支持や関連性の突然の上昇を説明するキラー機能はありません。 誰もが物語を知っていますか?

11
単に言語の詳細を学ぶのではなく、実際にプログラミングの方法を学んでいることを確認するにはどうすればよいですか?[閉まっている]
本物のプログラマは1週間以内にどんな言語でも簡単に学べるとよく耳にします。言語は物事を成し遂げるための単なるツールである、と私は言います。プログラミングは、習得して習得しなければならない究極のスキルです。 単に言語の詳細を学ぶのではなく、実際にプログラミングの方法を学んでいることを確認するにはどうすればよいですか?また、1つだけではなくすべての言語に適用できるプログラミングスキルをどのように開発できますか?

13
OOPのオブジェクトはエンティティを表す必要がありますか?
オブジェクトはエンティティを表す必要がありますか? エンティティ私のような何かを意味Product、Motor、ParkingLotなど、物理的、あるいは明確な非物理的な概念オブジェクト-だけでなく、いくつかのコアデータは明らかにオブジェクトに属していると、定義されているもの、およびいくつかの関数/メソッドコアデータを明確に操作します。 たとえば、aのオブジェクトDemon、それ自体のエンティティ、想像上のオブジェクト、おそらく物理的ではなくエンティティを持つことができます オブジェクトは、メソッドのコレクション、共通の目標に結び付く共通のプロシージャセットになりますか? 例:クラスを呼び出すことができるMotorOperationsか、MotorActionsそこには実体ではありませんが、クラス内のメソッドは次のようなことを行う場合には、 getMotorDataFromHTMLForm() getMotorManufacturers() selectMotorFromUserRequirements($ requirements) canMotorCanHandleOperatingConditions($ conditions) computePowerConsumptionForMotor($ id) クラスは通常、オブジェクトの中心となるデータ+データの操作として定義されます。そのため、Motorモーターの仕様に関連するいくつかのモーター変数があり、それらのデータを組み合わせて何かを生成する操作があります。 私の場合、データを操作するクラスとクラスを通過するデータを持っているようなもので、一時的なクラススルーデータ以外に「モーター操作」を中心としたデータはありません。 質問 クラスはエンティティのないオブジェクトを表すことができますか?そうでない場合、なぜそれらは悪い/不完全/非OOP中心ですか?OOPに合わせて概念的に変更/改善する必要がある方法はありますか?

11
一般的にプログラミングは、経験を積むにつれて読みやすく、書きやすく、理解しやすくなりますか?[閉まっている]
私はプログラミングの初心者であり、本を読んだり、勉強したり、記事を読んだりしています。プログラミングを学び始めてから素晴らしい結果が得られており、初心者の頃はプログラミングに関するすべてを知っていたと思っていましたが、学習するにつれて、この分野の難しさを実感しました(実際、すべての分野は難しい、しかし、それはポイントではありません)。 今日、私は機能的なソフトウェアを書き、3つの言語の基本を学び、たった1つの言語で中級です。MYSQL、OpenGLプログラミング、またはVisual Studio C ++コードなどの高度なものを見ると、頭痛の種になります。また、多くのWebサイトのHTMLソースコードを視覚化するときでも(Google Chromeで見られるWebサイトのほとんどのソースコードは、非常に乱雑で整理されていないようです) )それは私の脳の極限に私を混乱させます。最初はすべてシンプルに見えますが、これらの高度なものを見ると、どうやってそんなに学ぶことができるのかと思うようになります。 簡単に言えば、質問は、プログラマーがキャリアを進めるにつれて、これらのことがより明確になるかどうかです。上記のような複雑なトピック(OpenGL、MySQL、高度なhtmlサイト)は、学習するにつれて読みやすく、書きやすく、理解しやすくなりますか、それとも複雑になりますか?あなたがプログラミングの世界でアリであり、このようなものがあなたをつぶそうとしているという気持ちにどうやって対抗できるでしょうか?

11
Javaで文字列が不変なのはなぜですか?
その理由を理解できませんでした。私は常に他の開発者のようにStringクラスを使用しますが、その値を変更すると、Stringの新しいインスタンスが作成されます。 JavaのStringクラスの不変性の理由は何ですか? StringBufferやStringBuilderのような代替手段があることを知っています。それは単なる好奇心です。

7
アーリーバインディングとレイトバインディングは何ですか?
アーリーバインディングとレイトバインディングについてよく耳にしますが、それらが何であるかはわかりません。私は理解できない次の説明を見つけました: アーリーバインディングとは、設計時に変数に値を割り当てることを指し、レイトバインディングとは、実行時に変数に値を割り当てることを指します。 誰かが2つのタイプのバインディングを定義して比較できますか?

5
Pythonは解釈またはコンパイルされますか?
これは、インタープリターおよびコンパイルされた言語について読んでいたときの不思議です。 ソースコードは実行時にインタープリターによって処理されるため、Rubyは間違いなくインタープリター言語です。 それどころか、Cはコンパイルされた言語であり、マシンに応じて最初にソースコードをコンパイルしてから実行する必要があります。これにより、実行速度が大幅に向上します。 Pythonに来ました: Pythonコード(somefile.py)をインポートすると、同じディレクトリにファイル(somefile.pyc)が作成されます。インポートはpythonシェルまたはdjangoモジュールで行われるとしましょう。インポート後、コードを少し変更し、インポートされた関数を再度実行して、まだ古いコードが実行されていることを確認します。これは、*。pycファイルはCファイルのコンパイル後に作成された実行可能ファイルに似たコンパイル済みのpythonファイルですが、*。pycファイルを直接実行することはできません。 pythonファイル(somefile.py)が直接実行された場合(./somefile.pyまたはpython somefile.py)、. pycファイルは作成されず、コードは解釈された動作を示すように実行されます。 これらは、Pythonコードが新しいプロセスにインポートされるたびにコンパイルされ、直接実行されたときに解釈されながら.pycを作成することを示唆しています。 それで、どのタイプの言語と考えるべきですか?解釈またはコンパイル?そして、その効率は、インタープリター言語およびコンパイル言語と比較してどうですか? wikiの解釈言語ページによると、それは仮想マシンコードにコンパイルされた言語としてリストされていますが、それはどういう意味ですか?

5
プロジェクトの規模と言語の厳密さとの間に相関関係はありますか?
私の同僚に言語の厳密さとパラダイムの違いを説明して、私は次のように断言しました: 動的言語やインタープリター言語などのトレラント言語は、プロトタイプや小規模プロジェクト、または中規模のWebアプリケーションに最適です。Node.jsでPythonやJavaScriptなどのエレガントな動的言語を選択する場合の利点は次のとおりです。 迅速な開発、 定型コードの削減、 Javaのような「企業言語」から逃げる若くて創造的なプログラマを引き付ける能力。 静的に型指定された/コンパイルされた言語は、ビジネスに不可欠なアプリや、中規模から大規模のアプリ向けのアプリなど、より厳密なものが必要なアプリケーションに最適です。 数十年にわたって開発された有名なパラダイムとパターン、 静的チェックの容易さ、 数十年の経験を持つ多くのプロの開発者を見つける能力。 Haskell、Adaなどの厳格な言語、またはC#のコードコントラクトなどの手法は、ライフクリティカルなシステムや非常に安定していると予想されるシステムなど、柔軟性よりも安全性を重視するシステム(Has​​kellが非常に柔軟である場合でも)に適しています。利点は次のとおりです。 コンパイル時に可能な限り多くのバグをキャッチする機能、 静的チェックの容易さ、 正式な証明のしやすさ。 しかし、大企業が大規模プロジェクトに使用している言語と技術を見ると、私の主張は間違っているようです。たとえば、Pythonは、YouTubeやその他のGoogleアプリケーションなど、重要な量の厳密性を必要とする大規模システムに使用されています。 プロジェクトの規模と使用すべき言語/パラダイムの厳密さとの間にはまだ相関関係がありますか? 考慮するのを忘れた3番目の要因はありますか? 私はどこが間違っていますか?

7
これはアセンブリ言語ですか?
私の幼少期には、MK-61 ソビエト電卓でプログラムを作成していました。4つの操作レジスタ(X、Y、Z、T)と15のストレージレジスタがありました。プログラムには105ステップあります。 思い出すと、次のようなコマンドがありました。 XおよびYレジスタを交換する シフトレジスタ(ZからT、YからZ、XからY) ストレージレジスタ(1..15)からXへのコピー Xからストレージレジスタへのコピー(1..15) X <0の場合、プログラムステップ##に進みます。 XおよびYの値を使用して操作(+、-、*、/)を実行し、結果をXに書き込む このコマンドはアセンブリ言語を設定していますか?このデバイスを使用して、アセンブリ言語の基本的なアイデアはありましたか? 「キーストロークプログラミング」と呼ばれるものであることがわかりました。 おもしろい事実:1988年に、宇宙ミッションの軌道計算用のバックアップハードウェアとして、同様の計算機(これと似ていますが、エネルギーに依存しないメモリを使用)が使用されました。

9
最初のコンパイラはどのように作成されましたか?
私はいつもこれを疑問に思っており、おそらくプログラミング言語に関する良い歴史のレッスンが必要です。しかし、最近のほとんどのコンパイラはCで作成されているため、最初のコンパイラ(C以前の別名)はどのように作成されましたか? とはいえ、最初のアセンブリ言語がどのように行われたかはまだわかりません、アセンブリ言語とは何ですか?コマンド(などmov R21)または同等のバイナリに設定されたw / e?

19
意図された目的以外の何かのために非常に人気のある言語はありますか?
このシナリオを見てください: プログラマーが言語を作成して問題を解決します。 その後、この言語をリリースして、他の人がそのような問題を解決できるようにします。 別のプログラマは、実際にはいくつかの異なるカテゴリの問題の方がはるかに優れていることを発見しました。 この新しいアプリケーションのおかげで、言語は主にそのアプリケーションで人気になります。 これが実際に発生している例はありますか? 別の言い方をすれば、言語の本来の目的は、実際にどのように使用されるのか、それが一般的になるのかということと関係がありますか?言語に宣伝された目的があることさえ重要ですか?

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