問題タブ [procedural-programming]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
procedural-programming - 手続き型プログラミングとデータ公開
手続き型プログラミングではローカルスコープを持つことができることを考えると、次のステートメントは正確ではないと言っても過言ではありませんか?
「手続き型プログラムでは、データはプログラム全体に公開されますが、OOP プログラムでは、オブジェクト内でアクセスできるため、コードのセキュリティが保証されます。」
(私は学生で、インターンシップの面接でこの質問をされました)
database - Visual FoxPro の代替
Visual FoxPro に代わるものがあるかどうか知りたいです。最終バージョンは 9.0 です。FoxPro 3.0 という言語で、Visual FoxPro 9.0 に似た開発環境で FoxPro に似た言語を知っている人がいるのだろうかと思っていました。dBase があることは知っていますが、FoxPro のように十分に強力かどうかはわかりません。xHarbour も知っていますが、試したことはありません。
user-interface - オブジェクト指向ではない GUI ライブラリは?
私は最近 C をよく使用しており、単なるコンソール アプリケーション以上のプログラミングを探求したいと考えています。ただし、ほとんどの GUI ライブラリはオブジェクト指向であり、C などのオブジェクト指向ではないプログラミング言語でそれらを使用してプログラミングすることは非常に困難です。C 用に設計された GTK+ などのオブジェクト指向の GUI ライブラリでさえ、多くのボイラープレート。これらのオブジェクト指向ライブラリに問題があるため、どの GUI ライブラリがオブジェクト指向ではないのだろうか?
oop - 非OOPプログラミングにおけるポリモーフィズムの代替案?
円、長方形、三角形などのさまざまな要素を使用した描画プログラムがあるとします。draw()
自分自身を表示するなど、すべて同様の機能を必要とするさまざまな種類のオブジェクト。
プログラマーは、今日では通常ポリモーフィズムによって解決される問題にどのようにアプローチするのでしょうか。つまり、同一でない要素のコレクションを調べて、さまざまなオブジェクト間で共通の機能を呼び出します。
頭に浮かぶ1つの方法は、適切な関数への関数ポインター(または関数ポインター配列内のインデックス)と実際のインスタンスへのvoidポインターを持つ構造体を持ち、適切な型にキャストされるポインターを渡すことです。関数内。しかし、それはまさに私がそうする方法です-主題について無知な人はそれをするでしょう。
これはお粗末な質問かもしれませんが、私は「昔」の時代にいなかったので、この問題にどのように取り組んだのだろうと本当に思っています。手続き型プログラミングでどのようなアプローチが使用され、パフォーマンス上の利点がありましたか。仮想メソッドルックアップにより、C++などの高速言語でもポリモーフィズムにオーバーヘッドがあることは誰もが知っているからです。
php - PHPでのフロー制御のスイッチとクラス
最近、簡単なWebアプリケーションを作成しました。私は現在持っています。
- HTMLマークアップと必要なリソースを提供する静的ページ
- サーバーと通信し、クライアントで応答をレンダリングするjavascriptルーティング処理メカニズム。
/app/object.php
操作する必要のあるオブジェクトごとに、サーバーはPOSTデータを受け入れてJSONの結果を返すphpスクリプトを提供します。
例(実際の応答ではありません):
内部的には、JSONAPIは次のように実装されます。
最大のオブジェクトには7つのメソッドと200の(十分にインデントされた、圧縮されていない)LOCがありますが、平均はオブジェクトごとに約3つのメソッドです。
私の開発者の友人は、スイッチをオブジェクトに置き換えて、「よりシンプル」、「より拡張可能」、「より保守しやすい」ものにすることを提案しています。
率直に言って、そのようなシステムが(特にオブジェクトを使用することによって)どのように単純化できるかはわかりませんが、他の開発者の意見を知りたいと思います。
PHPでオブジェクトを使用することによるパフォーマンスへの影響を無視して、クラスベースのアプローチを使用する必要がありますか?
はいの場合、コードを追加しすぎずに(したがって、プロジェクトの保守性を低下させることなく)、オブジェクトを使用するためにJSON APIを構造化するにはどうすればよいですか?
php - オブジェクト コード内外のエラーを処理するカスタム エラー ハンドラ
カスタム エラー ハンドラに関連する Stackoverflow について、すでに多くの質問があることは承知しています。しかし、それらの多くと PHP のマニュアルを読んでも、まだ問題を解決できません。したがって、私はこの質問を投稿しています。
私のスクリプトは現在、次のように構成されています。
カスタム エラー ハンドラーは既に正常に動作しています。エラーハンドラーが設定された後に実行されるコードで発生するすべての PHP エラーをキャッチして処理します。
私の問題:
クラスのメソッド内でエラーが発生した場合myObject
、非静的メソッドを呼び出したい:
$obj
の範囲外ですmyErrorHandler
。$obj
エラーハンドラー内にアクセスしてメンバー関数を呼び出すにはどうすればよい$obj
ですか?
現在、300KB の PHP コードがあり、すべての関数の署名を変更し$obj
てパラメーターとして追加することはできません (関数が多すぎます!)。
カスタムエラーハンドラーをオブジェクトのメソッドとして定義できることを読みました。myObject
しかし、そうすると、 ($obj)のインスタンスを作成する前に発生したエラーをキャッチできなくなります。
例外についても読みましたが、問題の解決には役立たないようです。グローバル変数を使用したくありません。グローバル変数を避けるべき理由を説明する 2 つの質問を以下に示します。
python - 手続き型プログラマーの観点から、Python を学び、習得するための最良の方法は何ですか?
私は数学者で、現在は主にオペレーションズ リサーチの分野で働いており、数理計画法や最適化の問題を解決するためのアルゴリズムを構築しています。
学生時代にFortran、Pascal、C(ああ、それからVisual Basic)を学びましたが、CIの場合はポインタや構造体などをうまく使いこなしていました。
その後、Visual C++ を研究に使用したり、問題のアルゴリズムを構築したりしています。私は GUI を作成することができず、オブジェクトは使用せず、古典的な手続き型の観点から使用しているため、実際には C++ のいくつかの特徴を備えた C を使用しています。
Pythonを学ぼうとした瞬間がありました。とても親しみやすく、新鮮で、興味深く、シンプルだが強力に思えた...しかし、さまざまな理由から、最後には少し混乱した.例えば:
私は手続き型言語に慣れていて、Python は少なくとも少しは関数指向です。
.exe
私はファイルを作成できる言語(コンパイル済み) に慣れており、Python はインタープリターです。また、そのため、複雑なアルゴリズムの作成などについて話すとき、C は ---一般的に言えば ---Pyhton よりも高速であることを知りました。Python にはさまざまなバージョンがあり、それらはすべて安定しており、最新です! つまり、Python 2.x と Python 3.x があります。また、バージョン 3 では動作するがバージョン 2 では動作しないものなどがあります。
これは前の理由よりもさらに主観的なものかもしれませんが、Python よりも C のほうが、より優れた安定した信頼性の高いライブラリを見つけることができます。
また、Python プログラミング用のさまざまな GUI とさまざまなフレーバー(Python IDE、Tkinter、IronPython... など)の間で選択するのが少し難しいこともわかりました。
Python はインタプリタ付きですが、強力な言語だと思います。また、C よりも美しいと思います。私は Python が好きですが、もっと好きになりたいと思います。
最後に、私の質問は、どうすれば確実に Python を学び、習得し、数学的アルゴリズムのプログラミングの主な選択肢として Python を使用できるようになるのでしょうか?
私が「確かに」と言うとき、(あなたの意見では) 信頼できる方法で Python を学び、使用するための最も安全なパスとツールはどれですか? より成熟して安定したライブラリ、GUI などはどれですか?
この質問が少し奇妙でしたら申し訳ありませんが、私と同じように Python について疑問を持っている人がもっといるのではないかと思います。
python - 負の条件で返す vs ブロックの場合
ある条件でアクションを実行する必要があり、代わりに null を返す関数がある場合、これはよりクリーンです。
また
すべての関数に 1 つの戻りポイントが必要であるというパラダイムを読みました。一方、python の zen は、ネストされたものよりもフラットの方が優れていると述べており、後のバージョンでは、アクション コード全体の上にネストされたレベルが 1 つ追加されています ([...] とマークされています)。
また、複数のネスト レベルを追加するなど、条件がより複雑になる可能性があることにも注意してください。
javascript - JavaScriptでの手続き型アプローチ
私は最近、これに似たコードを含むJavaScriptビデオチュートリアルを見ました:
これは一般的なJSコーディングパターンです。著者は、これはJavascriptコードの手続き型アプローチの例であると述べました。わかりませんが、説明してもらえますか?