タグ付けされた質問 「language-agnostic」

このタグは、プログラミング言語または環境に固有ではない質問用です。

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

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

1
関数を「呼び出す」という概念はどこから来たのですか?
たとえば、実行するのではなく、なぜ関数を呼び出すのか疑問に思っていました。 Googleでの検索function call etymologyや類似の用語は有用ではありません。ウィキペディアでは言及されていません。オンライン辞書にはエントリがまったくないか、語源セクションがありません。 関数を「呼び出す」という概念はどこから来たのですか?

3
サードパーティのコードを変更した後、著者として自分を含めるべきですか?
サードパーティのコードにいくつかの微調整や修正を加えるのが一般的な方法です(単純な要点でも、ライブラリ全体でも)。しかし、これらのコードの多くには独自のライセンスルールがあり、最終的には著作権情報を含むすべてのファイルにヘッダーが付いていることもよくあります。 これらの変更を行った後、次に行うべきことは何ですか?ライセンス情報を変更できないようにする@authorか、自分自身や@revisionタグなどで更新しようとしますか? もう1つの一般的な問題は、サードパーティの名前空間/パッケージをプロジェクトの規則に合わせて変更することです。一部のライセンスタイプでは、ライセンスブロックにこの種の情報が含まれていますが、自由に変更できますか? 私はこれらの質問に対する答えが各ライセンスの種類に依存することを知っているので、私の質問をより具体的にするため... 一般的なライセンスルールを考慮すると(通常、それらはマイナーな側面で異なりますよね?)、倫理上の(または少なくとも許可されている)私の変更に関する情報をライセンスブロックに自由に追加し、おそらくコードでそれを参照する方法も変更します(例:YACorp.YALibとして使用Utils.YALib)?

9
関数の戻り値の交差タイプをサポートする静的型付け言語はどれですか?
最初のメモ: 私が探していたものを正確に述べるための適切な用語が欠けていたため、この質問は数回の編集の後に閉じられました。その後、Sam Tobin-Hochstadtがコメントを投稿しました。これは、関数の戻り値の交差タイプをサポートするプログラミング言語を正確に認識させるものです。 質問が再び開かれたので、(できれば)より正確な方法で書き直すことで改善することにしました。したがって、以下の回答とコメントは以前の編集を参照しているため、意味をなさない場合があります。(そのような場合は質問の編集履歴をご覧ください。) 関数の戻り値の交差タイプをサポートする、静的で強く型付けされた一般的なプログラミング言語(Haskell、汎用Java、C#、F#など)はありますか?もしそうなら、どれ、そしてどのように? (正直なところ、C#やJavaなどの主流言語で交差タイプを表現する方法を誰かがデモンストレーションするのを見てみたいです。) C#に似た疑似コードを使用して、交差タイプがどのように見えるかの簡単な例を示します。 interface IX { … } interface IY { … } interface IB { … } class A : IX, IY { … } class B : IX, IY, IB { … } T fn() where T : IX, IY { return … ? …

3
要件を待機している間の、影響の少ないリファクタリングと粗雑なコードのコードクリーニング
ずさんな方法で製品の既存のコードベースを継承しました。基本的な設計は非常に不十分であり、残念ながら完全なリファクタリングなしではほとんど何もできません(高結合、低凝集、コードのof延する複製、技術設計文書なし、単体テストではなく統合テスト)。この製品には、歴史、リスクに対する許容度が最小限の重要な「現金牛」クライアントへの高い露出、ギリシャ人を赤面させる技術的負債、非常に大きなコードベースと複雑さ、そしてチームによるバグへの戦い疲れた敗北主義アプローチがあります私。 古いチームは別の部門に船をジャンプして、別のプロジェクトを台無しにする機会を得た。プロジェクト管理の失敗とは対照的に、技術的な無能なプロジェクトの失敗を経験することは非常にまれですが、これは確かにそれらのケースの1つです。 今のところ、私は一人でいますが、私には多くの時間、意思決定の自由、将来の方向性、そして私を助けるためにゼロからチームを構築する能力があります。 私の質問は、機能要件の収集段階で自由時間があるときに、このようなプロジェクトでの影響の少ないリファクタリングについて意見を集めることです。何千ものコンパイラ警告があり、それらのほとんどは未使用のインポート、未読のローカル変数、型チェックの不在、および安全でないキャストです。コードの書式設定は非常に読みにくく、ずさんなため、コーダーはパーキンソン病にかかっており、特定の行でスペースバーを押した回数を制御できませんでした。通常、さらにデータベースとファイルリソースが開かれ、安全に閉じられることはありません。無意味なメソッド引数、同じことを行う重複メソッドなど。 次の機能の要件を待っている間、私は、影響が少ない低リスクのものを掃除しながら、時間を無駄にしているのか、正しいことをしているのかと考えました。新しい機能が以前に時間を費やしたコードを削除することを意味する場合はどうなりますか?私はアジャイルのアプローチを開始するつもりであり、これがアジャイル開発中に絶えずリファクタリングするのは許容可能であり、普通であることを理解しています。 これを行うことによるプラスまたはマイナスの影響を考えてください。

8
「あなたはそれを必要としない」と「今は絶対にない」が一緒にプレイするにはどうすればいいですか?
デザインの乾燥を進めているとき、「今は絶対にない」ということをよく受け入れます。通常、私は、他の知識のシステムのコンテキストで、ある知識についての1つの信頼できる場所の理解を深める必要があると感じています。したがって、私はシステムを「今」設計する傾向があります。 反対に、このプラクティスにより、私はそれを必要としない合理的なチャンスにもかかわらず、かなり前もって構築することになります。 これら2つのパターンはどのように正方形になりますか それらがうまく動作することを保証するためにどのようなプラクティスを使用しますか? 混乱を招くことなくそれらをどのように教えますか?

4
GUIの壊れやすいではなく、保守可能なユニットテストを記述する方法
GUIアプリのUIユニットテストを作成してみましたが、最初に作成したときにはうまく機能しますが、設計が変更されるたびに(つまり、非常に頻繁に)壊れるという問題に直面しています。GUIの保守可能な単体テストを作成するためのガイドラインを見つけるのに苦労しています。 今のところ、私が発見したことの1つは、「このコンポーネントは入力データをどこかに表示する必要がある」というテストが適切であることです(HTMLでは非常に簡単です)。通常、コンポーネントの特定の部分の特定の状態を確認するテストは脆弱です。クリック-クリック-クリック-期待のようなテストは、ユーザーの行動と基礎となるビジネスロジック(最も重要な部分)を追跡しようとするため、通常は脆弱です。良いテストを書くにはどうすればいいですか? もっと正確に言うと、UIで何をテストできるかについて、正確なテスト方法ではなく、いくつかのパターンを知りたいです。命名規則と固定識別子は優れていますが、コアの問題、つまりGUIが大きく変わるという問題は解決しません。変化する可能性が最も低い動作をテストしたいと思います。テストする正しいものを見つける方法は?

2
HTTPサーバーの作成方法
タイトルにあるように、HTTPサーバーを作成したいと思います。私の質問はこれですが、どうすればいいですか?これは非常に一般的で「高レベル」に聞こえますが、私の狂気には方法があります。この質問に対する答えは、言語にとらわれないようにすべきです。つまり、使用する言語(C、C ++、Javaなど)に関係なく、答えは同じでなければなりません。これがどのように機能するかについての一般的な考えがあります: ポート80でソケットを開きます。 クライアントがリクエストを行うのを待ちます。 リクエストを読みます(つまり、この人は「contact-us.html」ページを望んでいます)。 「contact-us.html」を見つけて読んでください。 htmlヘッダーを送信してから、「contact-us.html」のコンテンツを送信します 完了 私が言ったように、私はこれがプロセスであると信じます、しかし、私は100%確信がありません。これは私の質問の中心に私を導きます。人はこの情報をどのように、またはどこで見つけますか? HTTPサーバーだけを作成したくない場合、FTPサーバー、チャットサーバー、画像ビューアーなどを作成したい場合はどうなりますか?作業中のHTTPサーバーを作成するために必要な正確な手順/プロセスをどのようにして見つけるのですか? 同僚がhtmlヘッダーについて教えてくれたので、彼がいなければこれを知ることはなかったでしょう。彼はまた、各リクエストを新しいスレッドに渡すことについても述べました。物事の仕組みに関する大きな本はありますか?HTTPサーバーになるために必要なマニュアルはありますか? 「HTTPサーバーはどのように機能するか」をグーグルで試しましたが、見つけられる唯一の答えは、HTTPサーバーをプログラミングしたい人ではなく、平均的なJoeを対象としたものでした。

5
コンピューターサイエンスで不変式が重要な理由
文字通りの意味で「不変」を理解しています。コードを入力するときにも認識します。しかし、コンピューターサイエンスの文脈でこの用語の重要性を理解しているとは思わない。 有名なプログラマーやコンピューター科学者からの言語設計に関する会話やホワイトペーパーを読むたびに、「不変」という用語が専門用語として登場し続けます。それは私が理解できない部分です。何がそんなに特別なのですか?

8
Chromebook-プログラマーにとって興味深いですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 Googleは昨日(2011年5月11日)Chromebookを発表しました。これは確かに良いことですが、(javascript以外の)プログラマーのために購入するのが面白いかどうかはわかりません。 どう思いますか?たとえば、クラウドにJava IDEがありますか?コマンドラインでも?

8
大規模なプログラミングチームで働くのはどうですか?
私はいつも小さなプログラミングチームで働くことができて幸運だと感じてきました。私が取り組んできたのは、11人のプログラマーだと思います。何百人もの開発者がいるプロジェクトに取り組むのはどうですか?何千?スケールとは何ですか? 編集:すべての応答をありがとう!ポジティブなものはほとんどないようです: 巨大なコードベースで作業可能 より良い社内キャリア開発 虐待的な管理に対する従業員の保護(これは、大規模な+ veよりも小規模な-veの方が多い) 大規模なチームに他の利点はありますか?

5
If Else-繰り返されるコードロジック
私の上司は、特定のロジックを持つプロジェクトをくれました。ナビゲーターが製品に到着するまで多くの場合をナビゲートする必要があるWebページを開発する必要があります。 これは、サイト内のナビゲーションのパススキームです。 重要! 製品ページで、ナビゲーターは必要なフィルターを選択できます。 Aの場合、彼/彼女はB(そしてもちろんC)またはCを通過して製品に到達しなければなりません。 Bの場合、彼/彼女はCを通過して製品に到達しなければなりません。 Cの場合、彼/彼女は直接製品に到達します。 もちろん、AIから開始する場合、最長パスをたどり、製品に到達すると3つのアクティブなフィルターがあります。 これまで、私は次のコードを開発しましたが、これは正常に機能します。 if filter_A if filter_B filter_C() .. else .. else filter_C .. else .. else if filter_B filter_C() .. else .. else filter_C() .. else .. この状況で、より専門的なプログラマが何をしたかを尋ねるためにここにいます。私はDRYの原則を尊重しませんでした。私はそれが気に入らず、この種のロジックを開発する別の方法を知りたいです。 関数のコードのすべてのセクションを分割することを考えましたが、この場合は良いアイデアですか?

2
どちらが良いですか:選択文字列パラメータを持つゲッターの束または1つのメソッド?
私たちの知識領域には、素足で圧力記録プレートの上を歩く人々が含まれます。センサーデータで人間の足が認識されると、「Foot」クラスのオブジェクトを生成する画像認識を行います。 足のデータに対して実行する必要がある計算がいくつかあります。 さて、どのAPIの方が良いでしょう: class Foot : public RecognizedObject { MaxPressureFrame getMaxPressureFrame(); FootAxis getFootAxis(); AnatomicalZones getAnatomicalZones(); // + similar getters for other calculations // ... } または: class Foot : public RecognizedObject { virtual CalculationBase getCalculation(QString aName); // ... } 今、私が思いつくことができる多くの賛否両論がありますが、どれが最も重要かを本当に決めることはできません。これはエンドユーザーアプリケーションであり、当社が販売するソフトウェアライブラリではありません。 何かアドバイス? 最初のアプローチのプロには次のようなものがあります。 KISS-すべてが非常に具体的です。APIですが、実装も同様です。 強く型付けされた戻り値。 このクラスを継承するのは簡単です。上書きすることはできず、追加するだけです。 APIは非常に閉じられており、何も入れられず、オーバーライドされることもありません。 いくつかの短所: 新しい計算がリストに追加されるたびに、ゲッターの数が増えます APIは変更される可能性が高く、重大な変更が導入された場合、新しいAPIバージョンであるFoot2が必要です。 他のプロジェクトでクラスを再利用する場合、すべての計算が必要になるとは限りません …

1
機械学習は検索エンジンの設計にどのように組み込まれていますか?
現在、Apache Luceneに基づいた小さな社内検索エンジンを構築しています。その目的は簡単です-いくつかのキーワードに基づいて、社内で書かれた記事を提案します。基本メトリックとしてかなり標準的なTF-IDFスコアリングを使用しており、その上に独自のスコアリングメカニズムを構築しています。これらのすべては、ランキングがめちゃくちゃになっているように見えるいくつかのコーナーケースを除いて、うまく機能しているようです。 したがって、私がやろうとしているのは、検索結果ページに小さな関連/非関連リンクを追加して、その結果が最初に含まれるべきかどうかの認識に応じてユーザーがそれらのいずれかをクリックできるようにすることです。 私のアイデア これらの関連/非関連をラベルとして扱い、トレーニングデータを作成します。 このデータを使用して分類器(SVMなど)をトレーニングします このモデルを検索エンジンに組み込みます。つまり、新しい結果はすべて分類子を通過し、関連性があるかどうかのラベルが割り当てられます。 このアプローチは直感的に思えますが、実際に機能するかどうかはわかりません。私には2つの具体的な質問があります。 すべての機能を抽出する必要がありますか? 機械学習コンポーネントを検索エンジンに統合するより良い方法はありますか?私の最終目標は、ビジネスロジックとユーザーフィードバックの両方に基づいてランキング関数を「学習」することです。

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