コンピューターサイエンティストとコンピュータープログラマーの違いは何ですか?彼らが産業界で実際に行っている仕事の違いは何ですか?
コンピュータサイエンスは学問分野です。数学を勉強するようなものです。アルゴリズムやデータ構造などを研究しています。
コンピュータプログラマはプログラムを作成します。コンピュータ科学者もプログラムを作成しますが、この用語は業界の人々を表すために使用される傾向があります。
典型的なコンピューター科学者は Don Knuth のような人です。彼のアルゴリズムに関する研究は伝説的です。
典型的なコンピュータプログラマは Jeff Atwood かもしれません。現在、彼のサイトを使用しています。
今日では、知っている言語がVBScriptだけであっても、自分自身をコンピュータープログラマーと呼ぶことができます。皮肉なことはさておき、私は業界用語のいくつかに不満を持っています。 コンピュータープログラマーまたはソフトウェア開発者。
ソフトウェアエンジニアの定義 、 プログラマーとエンジニアの違い を参照してください。
しかし、科学者とエンジニアの違いはかなり明白です。両方はコンピュータサイエンスを知る必要がありますが、科学者の主な焦点はexpanding科学的な知識体系であるのに対し、エンジニアはこの知識を実際のシステムに適用することに焦点を当てています。
私は、26年の経験を持つコンピューターサイエンティストです(私の学位についてはそう言っているので、それは本当のはずです!)。私はその時間のおそらく5%をプログラムの作成に費やしました。それの残りはされました:
私は今、主に仕事での生活を楽にするため、または自分の利益のためにコードを書いています。私は「コーダー」として働いておらず、収入を得るためにコーディングスキルに頼る必要はほとんどありませんでした。
業界の違いに関する簡単な説明を探しているのであれば、プログラマーは主に何が行われ、いつ行われるかに関心があり、コンピューターサイエンティストは主にどのように行われるのか、なぜそうであるかに関心があることをお勧めします。この区別が彼らの経験に合うかどうかについて他の人の考えを聞くことに興味があります
*puts on the not serious answer hat*
1つは実用的で、もう1つは実用的ではありません。
エンジニアや整備士と同じです。残念ながら、私は整備士だと思います:P
あなたは数学と応用数学に平行することができます。 1つは、新しい数学モデルと定理を調査および調査する能力があり、もう1つは、それらを実際に使用および適用する方法です。つまり、まさにコンピュータサイエンスとコンピュータプログラミングです。 1つは新しいCSフィールド定理を探索し、新しい効率的なデータ構造を探索し、もう1つは科学的結果を効率的に使用する方法についてです。
かつては冗談がありました。
Q:類人猿とCS教授の違いは何ですか?
A:類人猿は彼がプログラムできるとは思わない。
これはCSの教授にとってはかなり意味があり、その多くはcan実際にプログラムしています。ただし、すべてが定期的にこれを行う習慣があるわけではありません。理論の終わりには、本質的に数学者である人々がいます。一部のHCIの人々は、プログラミングよりも応用心理学の分野にいます。この種の他の例を見つけることができます-コンピュータサイエンスには、単なるプログラミング以上のものがあります。
一方、big-O表記などのCS理論の基本的な理解が不足している実践的なプログラマーはたくさんいます。それが必要かどうかについての自分の見解に関係なく、それは確かに人々がプログラマーとして練習することを妨げるものではありません。
これは、コンピュータサイエンティストとコンピュータプログラマーは同じものではないという見方をすることができますが、それらは決して相互に排他的ではありません。 1人は、コンピューター科学者とコンピュータープログラマーの両方になることができます。
私は家を建てる人と家を設計する人の例えを使います。
今、家のデザインを実装する方法を探す誰かである3番目のカテゴリがあります。
だから、私はプログラマーがプログラムの作成者である傾向があると思いますが、科学者はpeicesを実装する方法を見つけることに集中します。ほとんどの場合、プログラマーは科学者の仕事を利用して仕事を成し遂げます。
具体的には、コンピューター科学者がアルゴリズムを発見している間に、プログラマーがクイックソートアルゴリズムを実装していると言えます。
1ワード:科学者またはプログラマー。
コンピュータサイエンティストは、目標を達成するために必要な道を心配しますが、目標自体についてはそれほど心配しません。コンピュータープログラマーは、道のりをあまり気にせず、締め切りが迫る前にゴールに到達することを心配します。
最高のソフトウェアは、両方の少しの人々によって書かれる傾向があります。他の人が簡単にたどることができ、おそらく途中で物事を改善することができるように、あなたは良い道が必要です。しかし、これはすべて、最初にフィニッシュに到達せずに締め切りを過ぎてしまうほど大きな気晴らしになるべきではありません。科学者が道路での作業に時間がかかりすぎたため、多くの新しいプロジェクトが開始できませんでした。また、プログラマーが迅速なルートをたどり、誰もそれを再びたどることができないように思われるため、あまりにも多くの既存のプロジェクトが失敗しました。