117

大学時代、ベテランのプログラマーには高度な数学が必要かどうかについて、たまたま友人と議論しました。彼はそれに対して激しく反論していました。彼は、プログラマーに必要なのは高校または新学年の数学からの基本的な数学的知識だけであり、高度な数学を必要とせずにほとんどすべてのプログラミングタスクを達成できると述べました. しかし彼は、アルゴリズムはプログラマーにとって基本的でなくてはならない資産であると主張しました。

私のスタンスは、すべてのコンピューター サイエンスの進歩はほぼ数学の進歩に依存しているため、プログラマーが現実世界の困難な問題に取り組む際に、数学の完全な知識が大いに役立つというものでした。

どちらの主張が正しいのか、いまだに決着がつかない。ご自身の経験から、スタンスを教えていただけますか?

4

71 に答える 71

111

提起された質問に答えるには、「いいえ、プログラミングに数学は必要ありません」と言わざるを得ません。しかし、このスレッドで他の人が示唆しているように、数学を理解することと「アルゴリズム的に考える」ことができることの間には相関関係があると私は信じています。つまり、量、プロセス、関係、証明について抽象的に考えることができるようになることです。

私がプログラミングを始めたのは 9 歳くらいのときで、その段階までに多くの数学を学んだと言っても過言ではありません。しかし、少しの努力で、変数、for ループ、goto ステートメント (すみません、私は Vic 20 BASIC で、まだ Dijkstra を読んだことがありませんでした)、および画面にグラフィックを配置するための基本的な座標ジオメトリを理解することができました。 .

私は最終的に純粋数学の優等学位を取得し、副専攻はコンピュータ サイエンスでした。主に分析に焦点を当てていましたが、離散数学、数論、論理、計算可能性理論もかなり勉強しました。統計、確率論、ベクトル解析、線形代数からのいくつかのアイデアをプログラミングに適用できることは別として、学士号を取得していたときのプログラミングや、その後の商用および研究プログラミングに直接適用できる数学はほとんどありませんでした。

しかし、大規模で複雑なプログラミング プロジェクトに取り組む際には、数学が要求する形式的な思考方法 (慎重な推論、反例の検索、公理的基礎の構築、概念間の関連性の発見) が非常に役立つと強く信じています。

アスリートが自分のスポーツのためにトレーニングする方法を考えてみてください。例えば、サッカー選手は間違いなくトレーニング時間の多くを基本的なサッカーのスキルに費やしています。ただし、一般的な健康状態を改善するために、ジムで自転車やローイング マシンに乗ったり、ウェイトを使ったりすることもあります。

数学の勉強は、プログラミングのための精神力と持久力を向上させるためのウエイト トレーニングやクロス トレーニングにたとえることができます。基本的なプログラミング スキルを練習することは絶対に不可欠ですが、数学を勉強することは、中核となる分析能力を向上させる信じられないほどのメンタル トレーニングです。

于 2008-10-05T05:28:16.293 に答える
56

プログラミングに高度な数学は必要ないかもしれませんが (高度な数学能力をプログラミングしていない限り)、プログラミングと数学の思考プロセスは非常に似ています。既知のもの (公理、以前に証明された理論) の基礎から始めて、どこか新しいところに到達しようとします。ステップをスキップすることはできません。手順をスキップする場合は、空欄を埋める必要があります。これは、この 2 つを非常に似たものにする重要な思考プロセスです。

また、数学者もプログラマーも抽象的に批判的に考えます。現実世界のものは、オブジェクトと変数によって表されます。具象から抽象に変換する能力も、2 つの分野を結び付けます。

どちらかが得意であれば、もう一方も得意になる可能性が非常に高いです。

于 2008-10-01T12:40:00.640 に答える
39

コンピュータ サイエンス != プログラミング

OK、真剣に、私は英語と心理学を専攻した良いプログラマーと悪いプログラマー、そしてコンピューターサイエンスを専攻したプログラマーを知っています。開発者として私が尊敬する非常に有名な人たちは、CS のバックグラウンドを持っていませんでした。たとえば、Larry Wall (Perl) は言語学者でした。一方、取り組んでいるドメインについて知っておくと、少なくともデータが意味をなしているかどうかを確認し、顧客/ユーザーが本当に必要なものにドリルダウンするのに役立つため、役に立ちます。もちろん、計算の複雑さと効率的なデータ構造、プログラムの正確性の問題もあります。これはコンピュータ サイエンスで学ぶ内容であり、ほとんどすべての分野で知っておくと便利ですが、必要でも十分でもありません。

于 2008-10-01T12:37:59.227 に答える
29

私はあなたが数学を必要としていると言う最初の人になると思います. 他の人が言っているように、発達の特定の側面にとって数学はそれほど重要ではありませんが、批判的思考と構造化された分析の基礎は非常に重要です.

さらに、数学は、スケジューラ、最適化、並べ替え、プロトコル管理、およびコンピューターのその他の多くの側面などに関係する多くの基礎を理解する上で重要です。計算レベルに含まれる数学は複雑ではありませんが (主に高校の代数)、理論と応用は非常に複雑になる可能性があります。

絶対にそれなしでやっていくことができますか? 数学の完全な知識があなたを妨げてはいけません.代数、組み合わせ論、実用的なアプリケーションなど、そのすべてが幅広いコンピュータ サイエンスで実用的かつ理論的なアプリケーションを備えています。

フェンスの両側で大成功を収めた人々 (数学に重点を置いていない人々、物理学または数学の学校に通った人々) を知っていますが、どちらのグループでも、数値の問題を楽しんだり、アルゴリズムや数学理論について学んだりしました。 .

于 2010-03-02T23:45:23.303 に答える
26

私は数学の学位を持っていますが、私のキャリアの中で一度だけその数学を要求したことを思い出せません。論理的思考の心を鍛えるという点では役に立ちましたが、流体力学、量子論、マルコフチェーンを使ったコードは書いていません。(最後のものが出てくる可能性が最も高いと思います。)

ほとんどの基幹業務開発者は、ほとんどの場合、高度な数学を必要としません。三角法を知ることが役立つ場合があり、数学的に記述されたアルゴリズムを実装するのに十分な数学を確実に理解できることが重要になる場合がありますが、それ以上ですか?いや。

ほとんどのプログラマーはコンピューターサイエンスを進歩させていないことを忘れないでください-彼らはアプリケーションを構築しています。現代の車を運転するために高度なエンジニアリングを知る必要はありませんが、その車はほぼ確実に高度なエンジニアリングによって改良されています。

于 2008-10-01T12:40:38.410 に答える
14

ここで穀物に逆らい、「はい」と言います

土木工学からプログラミングに切り替えます(コンクリートサック!)。私の数学のバックグラウンドは、通常の1年目、2年目と3年目の微積分(微分方程式、体積積分、級数、フーリエ変換、ラプラス変換)、および数値解析コースで構成されています。

私の数学はコンピュータープログラミングには信じられないほど欠けていることがわかりました。私が欠けている離散数学と論理の全領域があります、そして私は教科書、ウィキペディアとウォルフラムの豊富なライブラリのために生き残るだけです。ほとんどの高度なアルゴリズムは高度な数学に基づいており、広範な研究を行わずに高度なアルゴリズムを開発することはできません(基本的には半コース分の作業に相当します)。立つべき巨人の肩としての数学的基礎を持っていません。

于 2008-10-01T13:20:10.250 に答える
14

高度な論理(離散)数学が本当に役立つと私は主張します。それは集合論と一緒です。一般的なコンピュータプログラムを扱う場合、これらの分野は大いに役立ちます。しかし、私が大学で取った他の数学の多くは微積分であり、私が見る限り、それは非常に限られた使用法しかありませんでした。プログラミングの90%(またはそのようなもの)は非常に単純な数学でビジネスアプリを実行しているので、ほとんどの場合、数学の知識がほとんどなくてもうまくいくと思います。ただし、ブール代数、論理、離散数学、集合論をよく理解することで、次のレベルに進むことができます。

于 2008-10-01T12:41:01.560 に答える
14

それはあなたがしていることに依存します。あなたがたくさんの3Dプログラミングをするなら、3D幾何学の知識は確かに必要です、あなたは同意しませんか?;-) JPGのような新しい画像形式やMP3のような新しいオーディオ形式を作成したい場合、最も損失の多い圧縮が基づいている基本であるため、正弦変換またはフーリエ変換を理解できないと、かなり迷子になります。 。あなたがあなたの数学をかなりよく知っているならば、他の多くの問題はよりよく解決されることができます。

あなたが見つける他の多くのプログラミングタスクも多くの数学を必要としないでしょう。

于 2008-10-01T12:45:58.413 に答える
13

これを投稿するのに十分魅力的な主題を見つけた場合は、先に進んで学習を開始してください. あとは自然と出てきます。

于 2010-03-02T23:33:08.527 に答える
9

ええ、市販のソフトウェアをプログラミングしている場合は、高度な数学は必要ありません。

ただし、次のようなハードコアなものを扱う場合:

  • ロボットを制御するための軌道の計算
  • 不確実性と自動推論をサポートするAIのようなアプリケーションの作成
  • 3Dモーションとグラフィックスで遊ぶ

いくつかの高度な数学の知識が役立つかもしれません。そして、それは彼らが「この世の外」の問題であるというわけではありません。

オフィスに必要な紙の量を「予測」するためのソフトウェアを作成する必要がありました(値を概算するための最良の方法を見つけるのは大変でした)。

ただし、高度なものを使用すると迷子になりやすいので注意する必要があります-正しく表示するためだけに動的メニューの状態を保存するためにTuringを使用することに頼った私の友人がいます-うーん...おそらく彼は想像力を働かせすぎた。

于 2008-10-01T12:48:38.373 に答える
8

どんな種類のプログラミング?

私の商業経験では、高度な数学は必要ありませんでしたが、これはあなたがいる分野に大きく依存しています。

コンピュータグラフィックスには、高度な数学が大量に必要です。多くのアカデミックコンピュータプログラミングには、高度な数学が必要です。

つまり、数学が得意な人とプログラミングが得意な人の間には相関関係があると言うことです。

この希望に満ちた答えがお役に立てば幸いです。

于 2008-10-01T12:43:12.367 に答える
6

私はプロとして8年間プログラミングをしていて、趣味は12歳の時からです。

数学は必要ありません、論理は必要です。数学はひどく役に立ちますが、それが必要ではないと言うことは、人を殺すために銃は必要ではなく、ナイフを使うことができると言うようなものです。まあ、それは本当ですが、その銃はそれをはるかに簡単にします。

最低限必要なものがいくつかありますが、すでに満たす必要があります。基本的な代数式と表記法、および一般的なコンピューターの同等物を知る必要があります。たとえば、指数が何であるか(3から3は27)を知る必要があり、一般的なコンピューター式は3^3です。代数の一般的な表記法は言語間で異なりますが、それらの多くはある程度統一された方法論を使用しています。他の人(あなたのLISPを見ている)はそうしません。また、操作の順序を知る必要があります。

アルゴリズムの考え方を理解する必要があります。最初にこれ、次にこれが、この計算で使用されるこれを生成します。これを理解しているのか、理解していないのか、理解していない場合にジャンプするのはかなり難しいハードルです。これはあなたが「得る」ものであり、実際に学ぶことができるものではないことがわかりました。逆に、アートを「取得」しない人もいます。彼らは画家になるべきではありません。また、CSカリキュラムには、なぜこれが機能しないのか理解できない学生がいます。x = z + w; z = 3; y = 5; 彼らが足し算を理解していないということではなく、明確な表現の要件を理解していないということです。彼らがそれを理解していれば、コンピューターもそうすべきですよね?上記の3行の何が問題になっているのかわからない場合は、プログラマーにならないでください。

最後に、プログラミングのドメインの下にある数学を知る必要があります。会計ソフトウェアは基本的な代数で止まる可能性があります。物理学をプログラミングしている場合は、物理学(大まかに)と3次元幾何学(ユークリッド)の数学を知っている必要があります。アーキテクチャソフトウェアをプログラミングしている場合は、三角法を知っている必要があります。

しかし、これは数学よりもさらに進んでいます。プログラミングするドメインが何であれ、基本をしっかりと理解する必要があります。言語分析ソフトウェアをプログラミングしている場合は、確率、統計、文法理論(複数の言語)などを知っている必要があります。

多くの場合、特定のドメインは、無関係だと思われる知識を必要とするか、その恩恵を受けることができます。たとえば、オーディオソフトウェアをプログラミングしている場合、波形を処理するには三角法を実際に知っている必要があります。

マグニチュードも物事を変えます。1000項目の財務データセットを並べ替える場合、それは大きな問題ではありません。ただし、1,000万レコードの場合、実際にベクトル数学を理解し、バイナリレベルでの並べ替えを深く理解することで大きなメリットが得られます(システムはアルファベット順に並べ替える方法を教えてください。「a」が「b」よりも小さいことをどのように知るのでしょうか。 '?)

各プロジェクトではプログラミングの直接的な領域の外でより多くの学習が必要になるため、プログラマーとしての一般的な知識ベースが爆発的に増えることに気付くでしょう。あなたが独学についてきしむか怠惰であり、本質的に「宿題」をするために週に10時間以上費やすという考えが好きでないなら、プログラマーにならないでください。

思考演習が好きな場合、学習が好きな場合、電卓なしの数学やスケッチパッドなしのデザインなどの抽象的なものについて考えることができる場合、人生や趣味に幅広い趣味がある場合、自己批判的で捨てることができる場合」お気に入りのアイデア、完璧なものが好きなら、プログラマーになりましょう。この決定を数学に基づいて行うのではなく、論理的に考えて学ぶ能力に基づいてください。これらが重要です。数学は単なる副産物です。

于 2011-02-25T18:23:20.423 に答える
6

数学は、一部の分野の開発者に必要ですが、他の分野ではほとんど役に立たないです。

ゲーム開発者であり、物理学を頻繁に扱う必要がある場合は、数学を理解することが重要です。高度なビジュアルコントロールを使用している場合は、ジオメトリなしでは多くのことを実行できません。あなたがいくつかの財務計算をすることを計画しているなら-それは統計の確かな知識を持つことは本当に助けになるでしょう。

一方、過去5年間で、数学が必要なプロジェクトは2つか3つしかありませんでした。これらのうち、Google検索が役に立たなかったのは1回だけでした。

結局のところ、財務計算でさえ、クライアントがあなたのために行い、実装するための公式を提供することがよくあります。

したがって、「応用ソフトウェア」ビジネスをしている場合は、数学の学位を使用することはほとんどありません。あなたがアカデミックソフトウェアを使用している場合、数学は非常に重要です。

于 2008-10-01T12:42:14.537 に答える
6

私はクリスに同意します。私も「はい」と言います。ただし、これは上記のように市場によって異なります。基本的な「市販の」アプリケーションを作成したり、日常業務に役立つツールを作成したりするだけの場合は、数学はそれほど重要ではありません。

カスタム ソフトウェア ソリューションのエンジニアリングには、多くの問題解決と批判的思考が必要です。数学のバックグラウンドが存在する場合に最も確実に強化されるスキル。私はコンピューター工学の学位を取得して数学を専攻しましたが、今日の私がここにいる理由については、数学指向のバックグラウンドすべてに感謝しています。

それは私の 2 セントです。多くの人が同意しないことは、上記を読んでわかります。私は、数学のバックグラウンドがなければこれらのスキルを身につけることができないと言っているのではなく、スキルはそのようなバックグラウンドを持つことの副作用であり、ソフトウェアにプラスの影響を与える可能性があると言っているだけであることを考慮することをお勧めします.

于 2008-10-01T14:05:57.657 に答える
6

私の経験では、プログラミングには数学が必要であり、そこから逃れることはできません。プログラミング全体は数学に基づいています。

問題は白黒ではなく、よりカラフルです。問題は、数学が必要かどうかではなく、どれだけ必要かです。より高いレベルの数学は、より多くのツールを提供し、さまざまな道への心を開いてくれます。

たとえば、足し算と引き算しか知らなくてもプログラムできます。乗算が必要な場合は、多くの足し算を実行する必要があります。乗算は、繰り返し加算を単純化します。代数を使用すると、プログラムに実装する前に数学を単純化できます。線形代数は、イメージを変換するためのツールを提供します。ブール代数は、これらすべてのifステートメントを削減するメカニズムを提供します。

そして、数学、論理、哲学の兄弟であることを忘れないでください。ロジックは、caseorswitchステートメントを効率的に使用するのに役立ちます。哲学は、あなたが変更しようとしているコードを書いた人の考えを理解するのに役立ちます。

はい、プログラムを書くのに多くの数学は必要ありません。一部のプログラムは、他のプログラムよりも多くの計算を必要とする場合があります。数学の知識が多いほど、理解の少ない人よりも有利になります。このような時代に、人々はそれらの仕事を得るために得ることができるあらゆる利点を必要としています。

于 2010-03-03T00:31:15.610 に答える
5

もちろん、それはあなたがどのような種類のプログラマーになりたいか、あるいはあなたの雇用主があなたにどのような種類のプログラマーになりたいかによって異なります。微積分と代数は不可欠だと思います。統計と線形計画法は確かにブリーフケースに入れるのに良いツールです。おそらく分析(微分、積分、関数など)はなくても実行できます。しかし、物事が肌の奥深くでどのように機能するかを知りたい場合(たとえば、電子機器、またはいくつかの重要なアルゴリズム)、「高度な」数学は、どこにも行かなくてはならないものです。

于 2008-10-01T12:40:25.353 に答える
5

私が行ったプログラミングのほとんどは、電磁気学、量子力学、構造力学などの研究のための物理シミュレーションに関係していました。問題のドメインには高度な数学が関連付けられているため、高度な数学を使用せずに問題を解決するのは難しいでしょう。

だからあなたの質問への答えは-それはあなたが何をしようとしているのかに依存します。

于 2008-10-01T12:41:04.867 に答える
5

新しいプログラミング言語を書く場合は、高度な数学の知識が不可欠です。または、独自のアルゴリズムを作成する必要があります。

ただし、Webサイトから保険処理アプリケーションまで、ほとんどの日常的なプログラミングでは、基本的な計算のみが必要です。

于 2008-10-01T12:42:43.613 に答える
5

数学の基本的な概念は、次のとおりです。アルゴリズムの考案、理解、実装、および使用。数学ができないのは、これらのことができないからであり、これらのことができないのであれば、有能なプログラマーにはなれません。

一般的なプログラミング タスクには、特定の数学的知識は必要ありません (たとえば、3D グラフィックスや物理シミュレーションなどのタスクを実行する場合を除き、ベクトル代数や微積分はおそらく必要ないでしょう) が、基礎となるスキルセットは同じであり、能力が不足しています。一方のドメインの能力不足は、他方のドメインの対応する能力の欠如と一致します。

于 2008-10-01T17:38:53.683 に答える
5

Math は、プログラムを作成するためのツールボックスです。Cormen のアルゴリズム入門をお勧めします。より「数学的な」ものに触れます。

- Greatest lowest limit (managing resources) 
- Random variables (game programming)
- Topological sort (adjusting spreadsheets)
- Matrix operations (3d graphics)
- Number theory (encryption)
- Fast fourier transforms (networks)
于 2011-01-01T19:06:33.467 に答える
5

しっかりとした数学的 (単なる算術ではありません) またはロジックのバックグラウンドを持つ人は、アルゴリズム、変数の使用、条件付き推論、およびデータ構造にうまく対処できます。

  • 誰もが UI をデザインできるわけではありません。
  • 誰もが効率的なコードを作成できるわけではありません。
  • 誰もが明確にコメントして文書化できるわけではありません。
  • 誰もが優れたアルゴリズムを実行できるわけではありません

数学はある程度までは役に立ちますが、それはある程度までです。

于 2008-10-01T12:57:21.287 に答える
5

高度な数学の知識が優れたプログラマーの要件であるとは思いませんが、個人的な経験に基づいて、高度な数学をよりよく理解しているプログラマーも優れたプログラマーになると思います。これは単に、より論理的な精神、または数学の問題を解決した経験によるより論理的な見通しによるものかもしれません。

于 2008-10-01T14:44:05.867 に答える
4

私は、より高度な数学が優れたプログラマーであるための要件であるとは思いません-いつものように、それはあなたがコーディングしているものに依存します。

もちろん、3Dグラフィックスプログラミングをしている場合は、マトリックスなどが必要になります。ビジネスソフトウェアの作者として、あなたはおそらく統計数学を必要とするでしょう。

しかし、ほぼ10年間(そしてさらに10年間アマチュア)プロのプログラマーであることは、私が定期的に必要としていたものではありません。すべての場合の約99.8%で、いくつかのインテリジェントな組み合わせでのプラス、マイナス、除算、乗算です。ほとんどの場合、数学ではなくアルゴリズムに関するものです。

于 2008-10-01T12:43:39.603 に答える
4

ほとんどのプログラマーにとって、より高度な数学を学ぶことは、あることから別のことへと段階的に進むために、論理的に考えるように脳を曲げるという理由だけで重要です。

ただし、高校の数学以上のものを必要とするプログラミングの仕事はほとんどありません。線形代数を一度使ったことがあります。私は微積分を使ったことがありません。私は毎日代数を使います。

于 2008-10-01T12:44:27.400 に答える
4

何をしようとしているのかにもよると思いますが、私見ですが、ここでは CS と OS の理論が数学よりも重要であり、それらに関係する数学だけが本当に必要です。

たとえば、最新の OS の多くのスケジューラーの背後には、スケジューリング理論と最適化に関する CS の背景がたくさんあります。これは、非常に複雑なものではありませんが、数学を必要とするものの例です。

しかし、正直なところ、ほとんどの場合、数学は必要ありません。必要なのは、2 進法と 16 進法で考える能力、たとえば頭の中で OR/AND を計算する能力を身につけることです。たとえば、バイトがあり、そのバイト内に 2 つの 3 ビット フィールドと 2 つの無駄なビットがある場合、バイト値が 11 のようなときにどのビットがどのフィールドでアクティブであるかを知ると、使用するよりもわずかに高速になります。ペンと紙。

于 2010-03-02T23:29:26.943 に答える
4

さて、あなたは多くの回答を生成しましたが、いいえ、私はそれらすべてを読んでいませんでした. 私はこれについては途中です。いいえ、プログラマーになるために数学は必要ありません。Linuxのアセンブラーとデバイスドライバーは、他のドライバーと比べて多かれ少なかれ複雑ではなく、どちらも数学を必要としません。

形や形については、数学のクラスを取得したり合格したりする必要はありません。

プログラミングの問題解決の考え方は、数学の解決策の考え方と非常に似ていることに同意します。逆に、数学が難しければプログラミングも難しいかもしれません。クラスや学位、紙やトロフィーは必要ありません。外に出て、何かを学んでください。

16 進数から 2 進数、10 進数に頭の中で、紙の上で、または電卓を使用してすばやく変換できない場合は、苦戦することになります。ネットワーキングやその他のタイミングに関係する事柄に取り組みたい場合、カーネル ドライバーはよく行いますが、そうする必要はありません。あなたは苦労するつもりです。レート計算、1 秒あたりのビット数、1 秒あたりのバイト数、何かを行うために必要なメモリの量などに苦労している、数学の学位やコンピューター サイエンスの学位、および/または工学の学位を持つ人々の非常に長いリストを知っています。ある程度、ある人は持っていて、他の人はそれに向けて努力しなければならないある種のコツと見なされるかもしれません.

私の結論は、私は意志の力を信じているということです。このことを学びたいのであれば、できるし、そうするでしょう。それはそれと同じくらい簡単です. クラスを受講したり、多くのお金を費やしたりする必要はありません。たとえば、Linux と qemu は、かなりの時間、さまざまな asm 言語などで忙しくすることができます。カーネル開発、組み込みなどのためのクラッシュ可能な環境。あなたはそれに限定されません。 、しかし、したくない場合は、逃げてクラスを受講する必要があるとは思いません。したい場合は、いくつかのeeクラス、いくつかのcsクラス、およびいくつかの数学クラスを確実に受講してください..

于 2010-03-03T03:11:23.197 に答える
4

私がプログラミングを始めたのは、代数前のクラスに参加したのとほぼ同じ時期でした。ですから、数学がそれほど重要であるとは言いませんが、特定の種類のプログラミング、特に関数型プログラミングでは役立ちます。

私はまだ Discrete Math を受講していませんが、このクラスで教えられている数学表記で書かれたプログラミングに関する理論的なものをたくさん目にします。

また、基数を問わず、特に基数 2、8、および 16 を計算する方法を知っていることを確認してください。

また、私にとっていくつかの概念を本当に思い出させたクラスの 1 つは、このプログラミング前のクラスでした。ユニオン、インターセクション、およびすべての楽しいものを教えてもらいました。これは、ビット単位の数学とほぼ同じです。そして、ブール論理について非常に詳しく説明しました。私が最も役に立ったと思ったのは、複雑なブールステートメントを削減する方法を学んだときです。これは非常に便利でした:

(x|y) & (x|z) & (x|foo)

に簡略化できます

x | (y & z & foo)

これは、以前はよくわかりませんでした。

于 2010-03-02T23:34:38.437 に答える
4

数学の知識は、グラフィック デザインのスキル、パズルを解く能力、労働倫理、およびその他の多くのスキルや特性と同様に、プログラマーにとって役立つことがよくあります。プログラマーが得意とする可能性のあるすべてのことを得意とするプログラマーはほとんどいません。「{好きなプログラミング能力をここに挿入}できない限り、あなたは本物のプログラマーではありません」という形式の声明には同意しません。

しかし、数学ができないプログラマーには警戒します。絵が描けない人以上に。

于 2008-10-01T13:14:41.150 に答える
4

数学が必要です。プログラミングは数学に過ぎません。理論物理学の発見は、数学的解によって説明されない限り、実用的な(適用可能な)含意にはなりません。コンピューター、より具体的にはプログラミング言語で解釈できない場合、それらのいずれもコンピューターで解決できません。したがって、さまざまな言語が特定の問題を解決するように設計されています。しかし、Java、c、c++ などの汎用的で広く普及しているプログラミング言語の場合、プログラミング タスクの多くは、データベースやテキスト ファイルから値を抽出し、ウィンドウ (デスクトップ、Web) に配置し、操作するなど、同じ問題に対する反復的な (継続的な) 解決策を必要とします。同じ値、場合によっては同様のデバイスからいくつかのデータにアクセスする(ただし、異なるブランド名、異なるポート、および頭痛の種が与えられている)など、単一の方法以上のものは含まれません。

于 2011-01-03T23:18:51.527 に答える
3

IMO、あなたはおそらく数学の適性を必要としますが、必ずしもその分野で多くの知識を持っている必要はありません。したがって、数学が得意であるために必要なものは、プログラミングが得意であるために必要なものと似ています。

しかし、一般的に、私が日常のプログラミングで何らかの高度な数学を最後に使用したのは思い出せないので、違います。

于 2008-10-01T12:43:25.237 に答える
3

プログラミングはコンピューターサイエンスのツールです。

プログラミングの多くの分野では、数学は後部座席にあります。クイック ソートの方法がわからない場合は、モジュールをダウンロードして実行してください。楕円曲線を理解していなくても問題ありません。AES暗号化モジュールを購入してください。


次に、コンピューター サイエンスについて説明します。はい、より高度な数学が必要です。間違いなし。暗号化、オペレーティング システム、コンパイラの構築、機械学習、プログラミング言語などのすべてを完全に理解するには、なんらかの高度な数学 (微積分、離散、線形、複素数) が必要です。

于 2008-10-01T17:07:36.473 に答える
3

プログラミングでは、2 つの科目をマスターするか、少なくとも学習する必要があります。プログラミング自体と、プログラムが対象とするドメインが何であれ。会計ソフトウェアを作成している場合は会計を学ぶ必要があり、ロボットの運動学をプログラミングしている場合は順運動学と逆運動学を理解する必要があります。アカウントは基本的な数学のスキルしか必要としない場合があり、他のドメインは他の種類の数学を必要とします。

于 2008-10-01T15:02:50.127 に答える
2

視点を保つことが重要です。数学、高度な数学、計算などを学ぶことは思考プロセスに最適であり、多くのプログラミングポジションは数学と数学の概念を期待し、利用する可能性があります。しかし、多くのプログラミングジョブは、数学をほとんどまたはまったく使用していません。

数学の分野であるコンピュータサイエンスは、もちろん多くの数学を必要とします。しかし、計算機科学の派生物であるプログラミングジョブはほとんどありません。CSは非常に特殊な分野です。IT学校が現在CSとは別の分野としてソフトウェアエンジニアリングを持っているのには理由があります。それらは非常に異なる分野です。

たとえば、Comp Sciは、ほとんどのWebアプリケーションの世界に十分に備えることができません。また、ソフトウェアエンジニアリングでは、コンパイラの設計やカーネルの開発に十分な準備ができていません。

于 2008-10-01T15:07:51.427 に答える
2

いいえ、数学は必要ありません。卒業してから何もしていません。

車と同じと考えてください。トラクションコントロールやABSブレーキなどの背後には、どの程度の数学/物理学があると思いますか? たくさん。これらのツールを使用するには、どの程度の数学を知る必要がありますか? なし。

編集:追加することが1つあります。産業はおそらくここで重要です。調査会社で働いているプログラマーや、その車に組み込まれた牽引制御システムを作成しているプログラマーは、おそらく、平均的なビジネス ツール プログラマーよりも数学を必要とする可能性がはるかに高くなります。

于 2008-10-01T12:39:31.237 に答える
1

必要!=十分

みんなおいでよ!タイトルには「必要」と書いてありますが、うまくプログラムできるのはせいぜい十分な条件だと思います。それらが多くの十分であるが必要ではない条件であるのと同じように:5年の経験、CS学位、または任意の科学的背景。

詩人や英語を専攻していると、優れたAPIデザイナーになる可能性がある、またはアーティストがUI/Webプログラミングに優れている可能性があると主張する人もいます。

しかし、数学があなたを優れたプログラマーにしないかもしれないことを知っているのと同じように、これらは明らかに保証ではありませんが、とにかく他の人のようにいくつかのC ++またはF#をハックアウトすることができます...

于 2009-03-19T21:13:28.833 に答える
1

コンピューターを使用して固体力学と熱伝達の問題を解決していたとき、私は多くの数学を使用しました。線形代数、数値法など

リレーショナル データベースから Web ベースのユーザー インターフェイスに情報を配信するビジネス アプリケーションを作成している現在、その知識を活用することはありません。

私はまだ誰にでもより良い数学のバックグラウンドをお勧めします.

離散計算は開発者にとって非常に役立ちます。私は正式なトレーニングを受けていません。

「 Programming Collective Intelligence 」で説明されている手法は、私が ME として行ったものとはかけ離れており、現在行っているビジネス アプリケーションに分類される可能性があると思います。Netflixは確かにそれから素晴らしいビジネスを作りました. このグループ インテリジェンスは増加しているようです。

于 2008-12-23T14:45:52.123 に答える
1

私の答えは絶対にありません。私は 25 年以上コンピューター プログラマーをしていました (現在は失業しています。インドのおかげです)。そして、私のキャリア全体で、基本的な数学のスキル以上を必要とするプログラム LOGIC に遭遇したことはありません。基本的な数学のスキルを超える数学を日常的に使用しない限り、高度な数学の必要性はありません。企業レベルでは、複雑な数学は、必要な疑似コードをプログラマーに提供する静的技術者または数学者に照会され、両者は最終製品の徹底的なテストで協力します。最終的に、ボールは数学オタクのコートにあります。あなたが数学者/静的学者/上級プログラマーでない限り、どのレベルにおいても、複雑で高度な数学コンピューター プログラムの期待される結果に対してプログラマーが責任を負うという考えはばかげており、非常に無謀です。

于 2010-02-05T02:53:57.857 に答える
1

私は数学の学位を持っていますが、それが何の役にも立たなかったとは言えません。(私は一般的な Web アプリを開発していますが、科学的なものではありません)。数学以外の学位を持つ他の開発者と一緒に仕事をするのは楽しいです。

于 2009-01-30T21:45:25.440 に答える
1

私は、アーティスト、ゲーム デザイナー、レベル デザイナーなどとチームを組み、ゲーム プログラマーとして働いています。

数学をある程度知っているがチームにいることは、正味のプラスです。あらゆる種類のゲームをプレイする人、ターゲット ユーザーの代表的なメンバー、いくつかの苦痛な制作を経験した人がいることはプラスです。等

多くの場合、数学を最もよく知っているのはプログラマー (場合によってはゲーム デザイナー) です。これは、ドメインが十分に近いためです。しかし、ゲーム プログラマーは日常的に、3D ジオメトリや (場合によっては) 物理学以外の数学をあまり必要としません。

私が勉強した数学の中で、統計学が最も役に立ちましたが、いくつかの概念が欠けていることに時々気づきました。

于 2010-04-14T16:19:20.703 に答える
1

約 30 年前にゲームに取り組み始めた独学のプログラマーとして、できる限り多くの数学を習得する必要があることは間違いありません。マトリックス、クォータニオン、レイ トレーシング、パーティクル システム、物理エンジンなどには、十分なレベルの数学の理解が必要です。

于 2010-03-03T00:28:12.850 に答える
1

私はここであなたと一緒にフェンスに座るつもりです... 賛成と反対の両方に多くの良い議論があり、それらのほとんどすべてが等しく有効です. それで、正しい答えはどれですか?

どちらも・・・場合によっては。これは、「あなたが私たちと一緒にいなければ、あなたは私たちに反対している」というケースではありません.

数学には、幾何学、代数、三角法、一次方程式、二次方程式、導関数など、プログラミングの分野をより簡単にする多くの側面があります。

Jon が指摘したように、彼は数学の学位を取得していますが、プログラミングの世界ではその知識をほとんど使用していません。私は、彼がおそらく考えているよりもはるかに多くの数学を使用していることを提案します.無意識のうちに. GUI をレイアウトするたびに、数学的原理を使用して審美的に満足できる方法で設計します。これは意識的には行いませんが、行います。

ビジネスの世界では、ソフトウェアで使用する数学について考えることはめったにありません。また、私たちが作成するソフトウェアの多くの側面では、同じ単調なタスクを完了するための標準的なアルゴリズムに過ぎず、ビジネスの世界が最新のテクノロジに追いつくのに役立ちます。利用可能。

ソフトウェアで数学を意識的に使用することなく、キャリア全体をスキップするのは非常に簡単です。ただし、数学を理解することは、プログラミングの多くの側面をより簡単にするのに役立ちます。

要するに、「高度な数学はプログラミングに必要か?」という質問だと思います。そしてもちろん、その質問に対する答えはノーです...暗号化アルゴリズムの作成および/またはクラッキング(これは魅力的なテーマです)を開始するか、ミルが指摘したように水力方程式またはフロー制御システムを操作する場合を除きます(私が過去に持っていたように)。しかし、基本的な数学は必要ないかもしれませんが、それはあなたの人生をずっと楽にしてくれると付け加えたいと思います.

于 2008-12-23T15:21:16.700 に答える
1

質問に答えるには:いいえ。

数学の才能とプログラミングの才能: 強い相関関係があり、因果関係はほとんどまたはまったくありません。

1つは確かにもう1つの前提条件ではありません.数学がかなり不可欠な専門分野(3Dグラフィックス、統計プログラミングなど)でプログラミングしていない限り、数学のスキルを強化しても優れたプログラマーにはなりません。 .)

とはいえ、もちろん、数学のバックグラウンドが害になることはなく、場合によっては大いに役立つでしょう. また、他の人が指摘しているように、数学とプログラミングに関係する思考プロセスは非常に似ています。一方に才能があれば、もう一方にも才能があることがわかるでしょう。

プログラマーに数学の要件を推奨するとしたら、それは基本的な統計です。ほぼすべてのプログラミングの仕事で、何らかの報告が必要です。

高度なことや楽しいことを始めると、数学の必要性が少し増えます。ゲームは非常に数学的なものであり、さまざまなアルゴリズムのコストを本当に理解する必要があるパフォーマンス クリティカルなアプリケーションも同様です。

于 2008-12-23T14:59:21.457 に答える
1

私の経験では、コンピューター サイエンスの学位を取得するための数学の要件は、失敗する人を除外するためだけに存在します。微積分 I と II に合格できない場合は、コンパイラの構築、データベース、またはオペレーティング システムの理論に関する上級コースに合格できないことはほぼ間違いありません。

于 2010-03-02T23:57:57.500 に答える
1

離散数学はとても役に立ちました。私は微積分を取りましたが、それも非常に役に立ったかもしれませんが、何も覚えていません. たとえば、DISインターフェイス (回転速度や座標変換などを処理するインターフェイス) を実装しようとしたときです。クォータニオンを説明する本を探して、1 日かけて街中をドライブしました (これは WWW 以前のことでした)。一部のエンジニアがn-linear 補間を実装するための機能を作成する必要が生じた時期もありました。それが何を意味するのかわからない場合は、私も知らなかったと信じてください。幸いなことに、それはポスト-WWW でした。

私のアドバイスは、汗をかかないことです。あなたは 1 つまたは 2 つのプロジェクトで身動きが取れなくなっているかもしれませんが、最近ではそれほどひどくはありません。

于 2010-03-03T00:07:51.130 に答える
1

ロングショットでは必要ありませんが...

些細な例ですが、幾何学を理解していなければ、正方形や長方形を使って多くのことを行うことはできません。(すべてのプログラマーはジオメトリを持っている/取得しているため、単なる例です)。

三角法がなければ、実行するのが難しい特定のことがあります。三角法を理解していなくても、アナログ時計を描いてみてください。それはできますが、基本的には三角法を再発明する必要があります。

算数は面白い。ゲームを設計しない限り、おそらく必要になることはありませんが、微積分は、より「現実の世界」で機能するものをモデル化する方法を教えてくれます。たとえば、倒れる木をモデル化しようとする場合、アーチに沿ったすべてのポイントで適切な速度を得るには、おそらくかなりの数学が必要です。

一方、それは正確であるという問題です。微積分でできることは、おそらくループと近似で行うことができます。

それを超えて、物事をさらに生き生きとさせるには、おそらくフラクタルとより高度な数学が必要になるでしょう.

Web サイトやデータベースをプログラミングしている場合、代数 101 はほとんど必要ありません。

于 2008-10-01T18:16:07.277 に答える
0

私の意見では、この質問にはいくつかの良い点があります。

David Nehmeがここに投稿したように、コンピュータサイエンスとプログラミングは2つの非常に異なる主題です。

非常に基本的な高校と大学の数学のスキルを持つプログラマーが有能なプログラマーである可能性は完全にあります。ただし、コンピュータサイエンスの卒業生についてはよくわかりません。

あなたが正しく指摘したように、アルゴリズムの作成プロセスは、数学をどのように処理するかに非常に関連しています。これが数学および分析プロセスのタイプの結果である場合でも、アルゴリズムを正しく設計するために実行する必要があります。

また、職務内容やスキルよりも、何をしているかに大きく依存すると思います。たとえば、プログラミングと数学の両方が何らかの効果を生み出すためのツールである場合、確かに両方に精通している必要があります(つまり、何らかの目的でモデル化プログラムを作成している場合)。ただし、プログラミングがアクティビティの最終的な目的である場合は、数学よりもおそらく必要ありません。(つまり、Webアプリケーションを作成しています)

于 2008-10-01T14:24:14.197 に答える
0

数学は、スキルそのものであると同時に、考え方でもあります。そしてそれでさえいくつかのレベルにあります。他の誰かは、数学に共通する分析と抽象化のスキルはプログラミングにとって価値があり、それは1つのレベルであると指摘しました。また、一方から他方へと運ぶ正確な類似物を含む別のレベルがあると主張します。たとえば、リレーショナルデータベースの背後にある集合論は、すべてSQLセマンティクスによって隠されています。

非常に多くの場合、「最良の」ソリューション(つまり、最もパフォーマンスが高く簡潔なソリューション)は、背後に少し数学があるソリューションです。データ指向のプログラミングの問題を行列操作として考え始めると、多くの場合、数学の世界から新しい解決策を見つけることができます。

明らかに、プログラムするために数学の専門家である必要はありません。誰でも教えることができますが、それは持つ価値のあるスキルの1つであり、新入社員に求められます。

于 2008-10-01T22:24:58.130 に答える
0

大学では、クヌース、グラハム、パタシュニックの「ConcreteMathematics」という本を読みました。これは、コンピュータサイエンスの学生のために選択されたトピックを含む数学の本です。数年後、私は本をもう一度チェックし、本のすべてのトピックを少なくとも1回は使用したことに気付きました(スターリング数を除く)。

ほとんどの場合、数学を知っていると、少ない作業で問題を解決したり、よりエレガントにしたり、より高速なソリューションを実装したりするのに役立ちます。それはあなたがしている仕事の種類にも依存します。つまり、工学の問題に集中するときよりも、アルゴリズムに集中するときの方が数学の方が重要です。

于 2010-03-03T11:28:21.463 に答える
0

あなたがやりたいことをするために、あなたは数学を知る必要はありませんが、あなたはそれをとても好きでなければなりません。

于 2010-03-03T02:27:18.353 に答える
0

プログラマーは本当にあなたの仕事に依存しているので、あなたがあなたの毎日の仕事で高度な数学を必要とするならば。私はそれらが必要です。その理由は、配管システムを構築する前に、コードで配管システムを評価するために、配管システムの水力計算を使用する必要があるためです。過小または過大な圧力のために、崩壊する配管システムの近くに立ちたくはありません。;)

他の多くの種類の「現実世界のシミュレーション」についても、高度な数学が必要になると思います。

于 2008-10-01T15:16:36.943 に答える
0

Programmng == Math?も参照してください。stackoverflowから。

プログラミングには必要ないと思いますが、線形代数の概念を使用して、複雑な(場合によっては正しくない)ソリューションを置き換えるための明確で短いソリューションを作成できた回数はわかりません。グラフィックやジオメトリ(および一部のソルバー)が機能する場合、行列とその操作方法に関する知識も非常に役立ちます。

于 2008-10-01T12:48:14.523 に答える
0

高度な数学のバックグラウンドがなくてもうまく実行できるプログラミングタスクはたくさんあります。利用可能なプログラミングの仕事の大部分は、高校レベルの数学以上のものを必要とすることはめったにないと言って間違いないでしょう。しかし、あなたは新入生の大学の代数の数学のレベルでハッキングすることによってシャトルを宇宙に置くのを助けるソフトウェアを書くつもりはありません。したがって、高度な数学は通常、多くのプログラミングタスクに不可欠ではありませんが、より困難な問題では絶対にそれが必要になります。数学を勉強することはまた、ほとんどどこでも使用できる貴重な問題解決スキルを教えます。ほとんどの場合、それは必要ではないと言うことができると思いますが、それは確かにほとんどの場合に役立つでしょう。

于 2008-10-01T12:49:10.667 に答える
0

プログラミング タスクによって異なります。「データベースからデータを取得し、それを Web サイトに表示する」スタイルのプログラミングをそれほど多くない側に配置し、次に「ビデオ ゲーム」を反対側に配置します (私はゲームで働いており、ランダムに異なるものを使用しているように感じます)。私は毎日数学の味、そして私がもっと知っていればおそらくもっと使うだろう).

于 2008-10-04T07:58:08.160 に答える
0

この以前の投稿を参照してください

于 2008-10-01T16:21:48.050 に答える
0

プログラミングのために数学を学ぶ必要はありません。

しかし、数学を学ぶことで、規律を考える訓練ができます。したがって、数学は開発者にとって良いものだと思います。

于 2010-03-02T23:28:35.687 に答える
0

数学はあまり必要ありません。いくつかの組み合わせ思考は、迅速な実行のために問題を組み立てて削減するのに役立ちます。増殖できるのはいいことです。あなたはエンジニアです。近似値は問題ありません。

于 2010-03-02T23:31:03.837 に答える
0

次の 2 つのことが思い浮かびます。

  • コンテキストは非常に重要です。あなたがゲーム プログラマーまたは工学分野に従事している場合、数学はあなたの仕事にとって不可欠かもしれません。私はデータベースと Web 開発を行っているため、高校レベルの数学は私にとっては問題ありません。
  • 特に暗号化や圧縮などの分野では、車輪を再発明するのではなく、他の誰かが作成した数学コードを再利用する可能性が非常に高くなります。(これは、サードパーティの物理ツールや 3D エンジンを使用してゲーム開発を行っている場合にも当てはまります。) プログラムで使用するために試行錯誤されたルーチンのフレームワークを用意することで、エラーや潜在的なセキュリティの弱点を防ぐことができます。これは間違いなく良いことです。
于 2008-12-23T13:41:19.333 に答える
0

いくつかのプログラミングでは、数学が最も役立つと思いますが、プログラマーになるにはそうではありません。便利な電卓を使わずに 2+2 を足せたらラッキーです。

于 2008-10-01T23:24:12.153 に答える
0

この質問 (私はかなり受けます) は、例えで答えるのが一番だと思います。

私たちの多くはウェイトを持ち上げます。なんで?プロの重量挙げ選手になるその日のために準備しているからですか?仕事の要件としてウェイトリフティングに遭遇することはありますか?

もちろん違います。ウェイトを持ち上げるのは、筋肉を鍛えるためです。それは私たちを健康に保ち、形を整えます。健康な人は、ハイキング、建設、ランニング、睡眠など、他の分野でより良いパフォーマンスを発揮します.

数学を学ぶことは、脳にとってウェイトリフティングのようなものです。それは心を鍛え、それを形に保ちます。仕事で微積分を使うことはないかもしれませんが、そのおかげで脳の調子が良くなります。

于 2008-10-01T17:29:39.277 に答える
0

特定の種類の数学は不可欠だと思います。たとえば、すべてのソフトウェア エンジニアは、ド モルガンの法則O 記法を知って理解する必要があります。

他の種類は非常に便利です。シミュレーションでは、多くの物理モデリングを行う必要があります。グラフィックス作業を行っている場合、座標変換アルゴリズムを記述する必要があることに気付くことがよくあります。私は 20 年間のキャリアの中で、アルゴリズムにどの定数を入れるかを決定するために連立一次方程式を作成して解く必要がある状況を他にもたくさん経験してきました。

于 2008-12-23T14:36:22.390 に答える
0

あなたが説明したタスクには、あまり数学は必要ないと思います。しかし、一般的に、実際の高度なシステムプログラミングについては、次のように思います。

  • 算数は全くいらない
  • コンピューターの内部構造を十分に理解する必要がある
  • CSとOSの理論が必要
  • 離散数学が必要 (アルゴリズムと組み合わせ論を含む)
于 2010-03-02T23:31:08.890 に答える
0

いいえ、システムプログラミングなどのために数学を知る必要はありません(バイナリ/オクト/ヘックス/デクの表現を除く)。

于 2010-03-02T23:32:15.720 に答える
0

システム プログラミングはロケット サイエンスではありません :-) 私見ですが、どのgoodプログラマーでもシステム プログラミングに取り組むことができます。ただし、知っておく必要があります

  • アルゴリズム (これには数学はほとんど必要ありませんが、優れたプログラマーを怖がらせるほどではありません)、
  • データ構造、および
  • OS、アーキテクチャ、コンパイラなどの一部の (すべてではない) ドメイン知識。

最も求められる資質は、正確なコードを書くことと、必要に応じて上記の項目のいずれかを深く掘り下げる能力だと思います。

ところで、これは私の個人的な理論、YMMV です。私はまだ自分が良いプログラマーだとは思っていません! :-(

于 2010-03-02T23:55:01.657 に答える
0

大学で学べる役に立つことは、理論的なことだけです。

于 2008-10-01T20:54:01.733 に答える
0

一般的な GUI および Web アプリケーションでは、基本的な数学の知識のみが必要になります。

一生に一度、微積分や線形代数が必要な奇妙なプロジェクトに遭遇するかもしれません。

(3D ゲームのプログラミングやその他の特定の分野のプログラミングを行う場合は、毎日必要になる可能性があります)

于 2008-10-01T13:03:37.870 に答える
0

統計的機械学習技術はますます重要になってきています。

于 2008-10-01T15:35:33.903 に答える
0

ビジネスプログラミング: 算術、代数

エンジニアリング:数値解析

科学的プログラミング: 空は限界です

于 2008-10-01T17:43:53.437 に答える
0

これは良い答えです。数学を知る必要はありません (基本的な操作の順序: PEMDAS 数学の外に出ることはありません)。確かに、1970 年代には、ループなどを回避するために非常に複雑な数式を使用して CPU サイクルを効率的にプログラムしようとするプログラマーにとって、数学は非常に重要でした。

現在、コンピューターは 100 程度にループするほど強力で、複雑な数学を使用しないようにすることで、長期的にはプログラムに実際に悪影響を与えることはありませんが、もちろん、数学を学ばなくてもオブザーバーとして数学のスキルを習得でき、効率的なプログラミング能力が向上します (笑) .

数学を知れば知るほど、プログラムをより適切に最適化する可能性が高くなるだけでなく、このクレイジーな数式のせいで、不可能であると述べている記事を読まなくても、プログラムできることと不可能なことを理解できるようになります。

数学を学ぶことは、実際の経験がなくても物事がどのように機能するかを理解するのに役立ちます.. (これは私の人生に基づいています)。

これが私の例です(いくつかの圧縮記事)。私はその背後にある数学を理解せずに試行錯誤を続けました..少なくとも700から?欠陥のある/失敗した試み 私は今、何ができるか (再び失敗する可能性があります) をより多く知っており、それを見るための 700 の欠陥のある方法も知っています。

私がおそらく数学を知っていれば、おそらく数学を知りすぎたために、それらの700回の欠陥のある試みを試みることさえしませんでした. しかし、数学をあまり知らずに選んだ道は、私にとってはるかに楽しく、より教育的であると感じています.

しかし、それは私だけです..私は常に実際の人です..本の虫ではありません;)

新しい数学的ブレークスルーにつながるものもあれば、より高速で最適化されたソフトウェアにつながるものもあります。

これを教訓にして、あなたにとって最善の道を選んでください。私は両方ともやりがいがあると信じています.

于 2011-03-01T06:40:11.047 に答える
0

私は 2 つの数学の学位を持っています。データベースについてもっと知りたいです。

要点は、多項式の根を見つけたり、sqrt(2) が無理数であることを証明したりできることは、抽象的な意味では有用ですが、必ずしも優れたプログラマーになるとは限らないということです。

于 2010-11-09T19:11:02.253 に答える
0

Web開発、ビジネスソフトウェアなど、何をするかによって異なります。この種のものには、数学は必要ないと思います。

コンピュータ グラフィックス、オーディオ/ビデオ処理、AI、暗号化などを行いたい場合は、数学のバックグラウンドが必要です。

于 2008-11-13T08:17:50.107 に答える