web-dev-qa-db-ja.com

コンピューターサイエンティストとコンピュータープログラマーの違い

コンピューターサイエンティストとコンピュータープログラマーの違いは何ですか?彼らが産業界で実際に行っている仕事の違いは何ですか?

28
Pranav

コンピュータサイエンスは学問分野です。数学を勉強するようなものです。アルゴリズムやデータ構造などを研究しています。

コンピュータプログラマはプログラムを作成します。コンピュータ科学者もプログラムを作成しますが、この用語は業界の人々を表すために使用される傾向があります。

典型的なコンピューター科学者は Don Knuth のような人です。彼のアルゴリズムに関する研究は伝説的です。

典型的なコンピュータプログラマは Jeff Atwood かもしれません。現在、彼のサイトを使用しています。

34
Steve Cooper

今日では、知っている言語がVBScriptだけであっても、自分自身をコンピュータープログラマーと呼ぶことができます。皮肉なことはさておき、私は業界用語のいくつかに不満を持っています。 コンピュータープログラマーまたはソフトウェア開発者

ソフトウェアエンジニアの定義プログラマーとエンジニアの違い を参照してください。

しかし、科学者とエンジニアの違いはかなり明白です。両方はコンピュータサイエンスを知る必要がありますが、科学者の主な焦点はexpanding科学的な知識体系であるのに対し、エンジニアはこの知識を実際のシステムに適用することに焦点を当てています。

私は、26年の経験を持つコンピューターサイエンティストです(私の学位についてはそう言っているので、それは本当のはずです!)。私はその時間のおそらく5%をプログラムの作成に費やしました。それの残りはされました:

  • 他の人が作成したパフォーマンステストアプリケーション、および問題が見つかった場合の解決策の推奨
  • 大企業でテスト能力グループを構築する
  • 運用チームの運営
  • 研究開発チームの運営
  • ソフトウェアアーキテクチャ
  • 私が働いている組織に適したアーキテクチャソリューション(最近はRuby、F#、Erlang)を調査して承認します
  • インフラストラクチャソリューションの設計
  • 技術トレーニングコースの実行
  • ...

私は今、主に仕事での生活を楽にするため、または自分の利益のためにコードを書いています。私は「コーダー」として働いておらず、収入を得るためにコーディングスキルに頼る必要はほとんどありませんでした。

業界の違いに関する簡単な説明を探しているのであれば、プログラマーは主に何が行われ、いつ行われるかに関心があり、コンピューターサイエンティストは主にどのように行われるのか、なぜそうであるかに関心があることをお勧めします。この区別が彼らの経験に合うかどうかについて他の人の考えを聞くことに興味があります

7
Dave

*puts on the not serious answer hat*

1つは実用的で、もう1つは実用的ではありません。

7
Ólafur Waage

エンジニアや整備士と同じです。残念ながら、私は整備士だと思います:P

7
Umair Ahmed

あなたは数学と応用数学に平行することができます。 1つは、新しい数学モデルと定理を調査および調査する能力があり、もう1つは、それらを実際に使用および適用する方法です。つまり、まさにコンピュータサイエンスとコンピュータプログラミングです。 1つは新しいCSフィールド定理を探索し、新しい効率的なデータ構造を探索し、もう1つは科学的結果を効率的に使用する方法についてです。

5
Artem Barger

実際のところ、ウィキペディアの定義はこれに対して非常に優れています。

コンピューター科学者

そして

コンピュータプログラマ

4
Konstantinos

かつては冗談がありました。

Q:類人猿とCS教授の違いは何ですか?
A:類人猿は彼がプログラムできるとは思わない。

これはCSの教授にとってはかなり意味があり、その多くはcan実際にプログラムしています。ただし、すべてが定期的にこれを行う習慣があるわけではありません。理論の終わりには、本質的に数学者である人々がいます。一部のHCIの人々は、プログラミングよりも応用心理学の分野にいます。この種の他の例を見つけることができます-コンピュータサイエンスには、単なるプログラミング以上のものがあります。

一方、big-O表記などのCS理論の基本的な理解が不足している実践的なプログラマーはたくさんいます。それが必要かどうかについての自分の見解に関係なく、それは確かに人々がプログラマーとして練習することを妨げるものではありません。

これは、コンピュータサイエンティストとコンピュータプログラマーは同じものではないという見方をすることができますが、それらは決して相互に排他的ではありません。 1人は、コンピューター科学者とコンピュータープログラマーの両方になることができます。

私は家を建てる人と家を設計する人の例えを使います。

今、家のデザインを実装する方法を探す誰かである3番目のカテゴリがあります。

だから、私はプログラマーがプログラムの作成者である傾向があると思いますが、科学者はpeicesを実装する方法を見つけることに集中します。ほとんどの場合、プログラマーは科学者の仕事を利用して仕事を成し遂げます。

具体的には、コンピューター科学者がアルゴリズムを発見している間に、プログラマーがクイックソートアルゴリズムを実装していると言えます。

3
Tom Hubbard

1ワード:科学者またはプログラマー。

2
kenny

コンピュータサイエンティストは、目標を達成するために必要な道を心配しますが、目標自体についてはそれほど心配しません。コンピュータープログラマーは、道のりをあまり気にせず、締め切りが迫る前にゴールに到達することを心配します。

最高のソフトウェアは、両方の少しの人々によって書かれる傾向があります。他の人が簡単にたどることができ、おそらく途中で物事を改善することができるように、あなたは良い道が必要です。しかし、これはすべて、最初にフィニッシュに到達せずに締め切りを過ぎてしまうほど大きな気晴らしになるべきではありません。科学者が道路での作業に時間がかかりすぎたため、多くの新しいプロジェクトが開始できませんでした。また、プログラマーが迅速なルートをたどり、誰もそれを再びたどることができないように思われるため、あまりにも多くの既存のプロジェクトが失敗しました。

1
Wim ten Brink