• ベストアンサー

プログラムとは理系ですか文系ですか?

当方はプログラミング歴は20年以上です。 ある程度のゲームやアプリケーションは作れます。 先日、コンピューター専門学校卒業(その人のプログラミング経験は専門学生時代の在籍のみで、「Hello world」すらうてません)の友人となぜか論議になったのですが、 彼いわくプログラムは文法を使うから理系じゃなく文系だと言うのです。 その彼が通っていた学校の講師もそう言っていたらしいです。 私は理系だと思っています。 そもそも文系と理系自体に完全に別ける事時代がナンセンスなのかもしれませんが、プログラマー(プロアマ問わず)のみなさんはどうおもわれますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.2

それは文系と理系の定義にもよりますね。人によってそれぞれの範囲が違うでしょうから。 一般的には論理立てて考える必要があるという意味で理系でしょう。 プログラム「言語」という名前こそついていますが自然言語にくらべ文法は厳密で単純ですから、いわゆる「言語」ほどの奥行きはありません。 昨今の自然言語風のプログラム言語などもありますが、本質的にはプログラムはマシン語への橋渡しをしているにすぎません。そういう意味では、文系脳が必要な場面は限られます。 もっとも、仕事としてのプログラマですとコミュニケーション能力や仕様書の読み書きにも言語能力が必要になりますから、完全な理系かというとそういうわけではありません。

binta1015
質問者

お礼

ごもっともです。 他にもおっしゃられている方がいるように、プログラマーの範疇がチャート作成から打ち込みまでだとしたら、作業工程によっても定義が変ってきますもんね。 おっしゃられる通り人間の言語とちがいコンピューターの言語は最終的には0と1の繰り返しですが、プログラミング作業全体を差した場合は文系脳も必要になりますね。プログラムの構造そのものは理系だという固定概念にしばられていてそれを忘れていました。 参考になりましたありがとうございました。

その他の回答 (18)

  • tadys
  • ベストアンサー率40% (856/2135)
回答No.19

プログラムのプロジェクトの中には1日の睡眠時間4時間程度、土日も休みなしなどというものもあります。 こういうのに耐えられるプログラマーは体育会系といっていいでしょう。

  • isle
  • ベストアンサー率51% (77/150)
回答No.18

理系の人間しか命題を作ることができない、というのであれば理系なのでしょうね。 ちなみに3Dゲームのメインプログラムを作ってても、数式が書いてある解説はさっぱり理解できない人間がここにいます。 決まった順番で座標や角度のパラメータを与えて関数呼び出すだけでちゃんと期待通りに動くんだもの。

  • W_wind
  • ベストアンサー率45% (21/46)
回答No.17

おもしろい質問なので、私の意見を書いときます。 私は、 過程を重んじるのが文系。 結果を重んじるのが理系。 だと考えています。だからプログラミングは理系じゃないでしょか。  プログラミングは数学と同じで、途中にどんな計算をしたかではなく、どんな答えになったかが重要だと思っています。

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.16

だんだん余談になってきていますが. 理系と「美しさ」は切っても切れないものです. 数学屋さんが証明や数式の美しさを気にするのは有名ですね. http://techon.nikkeibp.co.jp/article/COLUMN/20070824/138184/?P=3 DNA(デオキシリボ核酸)の構造解明を多くの科学者たちが競っていた時代の話である。J.D.ワトソン、F.クリックという二人の若手科学者が、今日ではよく知られている二重らせん構造を提唱したのだが、それを論文にして公表する前に、この分野の第一人者であり解明競争のライバルでもあったL.ポーリングに見てもらうことにした。それを一目見た瞬間、ポーリングはこう言ったという。「何て美しいんだ。これは本物であるに違いない」。 ネタ本はわすれましたが,初代新幹線ひかり0系の車体を設計した人は,「技術的に正しい形状は目で見ても美しい」という主義だったそうです. 技術的な美しさとは,技術的な『素性の良さ』を技術者が直感的に見抜いているものだとおもいます.なぜ良いのかの理論的説明はあとからついてくる. あと,日本人はart(アート)を美術・芸術だと思ってしまっていますが,違います.あえてartを「技芸」と訳している本もありますが.美術はfine artです.artは人間の『技』によるもの全般かな.プログラムも立派な「art」です. もひとつ,意地悪なことを言いますと,この業界は未経験者を沢山安月給で雇って,どんどん使い捨てたほうが儲かる(良い技術者を少数精鋭で,高給で雇うより)のです.そこで,「文系でもプログラムは書ける」,「文系こそプログラマに向いている」と宣伝しなければいけないのですよ.そっち側(プログラマを搾取する側)の人たちは. 大学での卒業学部が文系だろうと理系だろうと,優秀な人は良いプログラムが書けるし,ダメな人はとことんだめ,ってのが本当のところですけどね.情報系学科にも,とことんプログラマに向いていない学生は居ます.

  • chirubou
  • ベストアンサー率37% (189/502)
回答No.15

面白い質問なので、私の意見を。文法の有無はともかく。 プログラマーがプログラムを見て評価する時に「このプログラムは奇麗(汚い)」という表現があります。この「奇麗/汚い」というのはおよそ理系が使う表現ではないですよね。文法的に、あるいは動作が「正しい/間違っている」というのならともかく。そういう意味で、私はプログラミングは文系に近いものがあると考えています。 逆に、芸術家で鉄なんかを溶接してオブジェを作ったりしている人がいますが、その人はあくまで芸術家であって、溶接ができるからといって文系ではない、ということにはならないと思います。作ったオブジェが壊れてしまわないように、直感かもしれませんが、構造力学的な配慮は当然ありますよね。 最近のプログラムでは GUI が多用されていますが、それにはアートに近いセンスが必要ですよね。HTML だっ広義のプログラミングでしょう。そこには既に理系的な能力よりも芸術的なセンスが重要だったりします。 一昔(?)前には、社会に出るために必要な技能として「読み、書き、そろばん」といいましたが、今では「読み、書き、パソコン」ですよね。Excel のシートを作る作業もプログラミングですので、今の時代、プログラミング出来る/出来ない、という区別をする事自体が無意味なのではないでしょうか。 ということで、私の考えとしては、コンピュータは道具であり、プログラミングは「読み書き」に近い、コンピュータを使うための、技能である、理系か文系かを区別したいのであれば、道具であるコンピュータを使って何をするかで区別すべきだ、と考えます。 ご存知かもしれませんが、HTML の前身となった HyperCard を始めて見た時に私は衝撃を受けました。これからはプログラミングが出来るというだけで飯を食っていくのは難しくなるぞ。何を作るか、どう表現するかが大事になってくるんだなぁ、と。つまりこの時点で、プログラミングは(理系が独占する)特殊技能ではなく、(理系や文系といった区別のない)普通の技能になった、ということなのだと思います。 勿論、特殊なプログラムを作る人にとって、プログラミングは相変わらず特殊能力なんですが、それはもう極一部の人に限った話なのではないでしょうか。 ロジックがあるから理系だ、と言ってしまうと、文系の人はロジックがある文章を書いたり、読んで理解することができない、ということになってしまうのではないでしょうか。 勿論、数学ができないより、出来た方が良いプログラムを書く事ができると思います。けれどもこれは別にプログラムに限った話ではないですよね?実生活の中でも、数学が出来た方が便利だったりすることはあるのではないでしょうか。テレビ番組に数学者の秋山仁さんが数学が実生活の役に立つ、という話をしてますよね?

回答No.14

足して2で割ったもの。 どっちつかず。 数学の公式を論文にする仕事。 もしくは数学の公式を多用する論文。 理数系に限りなく近い文系。つまり文系。 1行目と矛盾。 見てたTV番組が終わったのでまとまらないまま投稿。

回答No.13

いろんな方々の意見を聞けるっていうのもこのサイトのいい所ですね。ここで私も、豆知識を披露。 小生は学生時代、主に工学系に在籍していましたが、理学系の方から聞いた話では、大学に入ってからの化学というのは、高校の時の物理みたいに数式が頻繁に出てくるようになるらしいです。それと同じく、大学に入ってからの物理は、ほとんど数学みたいとのこと。それじゃあ、大学の数学というのはどういったようなものかというと、「哲学」とおんなじらしいです。イメージ的には、以下のような感じかな。 「1+1=2の証明って?」 http://oshiete1.goo.ne.jp/qa217225.html それ以外にも、そもそも中世のヨーロッパにおいては、数学というのは芸術の中の一ジャンルであったということです。 リベラル・アーツ[自由七科] http://ja.wikipedia.org/wiki/%E8%87%AA%E7%94%B1%E4%B8%83%E7%A7%91 音階とかもよく考えたら7進数ですし、音符は分数の概念を元に構成されています。 #5さんはどうやら謙遜されているみたいですが、実際にはものすごい奥の深いことを述べられているわけですよ。 プログラミングの世界での芸術的要素といえば、何といっても「バグ」ですね。以前たまたま、Java言語規定を読み漁っていた時に発見したんですが、Cのプログラマーの方々の中には、すんごい人とかがいるんですよね。私自身、初めて知った時はちょっとビックリしました。(ふつーは、誰もそんなこと考えないっしょ?) Duffの仕掛け(Duff's device) http://www.y-adagio.com/public/standards/tr_javalang/14.doc.htm#35518 ここからは、あくまで個人的な見解ですが、文系や理系といったようなものというのは、言うなれば電磁波のように構成されていて、別々に存在するのではなく、極限的には一直線でつながっているんじゃないかなあと。確か、電磁波っていうのは真ん中に可視光線がありますが、その端っこは紫外線や赤外線となっており、それより先は肉眼では確認できないけれども、膨大な数の電波がありますよね。 で、技術者っていうのは、限られた制約条件の中での最適解を求めるために、それこそミニコンポのグライコの如く、実に様々な能力を発揮していくんじゃないかな~、と。(あくまで、私見です。) 最後に、芥川龍之介さんはかつて、 「数学のできない者には、良い小説は書けない」 と発言されていたらしい、ということを紹介しておきます。

参考URL:
http://ja.wikipedia.org/wiki/%E8%8A%A5%E5%B7%9D%E9%BE%8D%E4%B9%8B%E4%BB%8B
  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.12

どっちかといえば理系でしょう. 文法を使うからと言うのはナンセンス. それをいうなら,数学も文系になってしまいますよ. たとえば,「数式」は,やはりある文法(すなわち数式組み立て規則)にしたがっています.小学校のレベルだったら, ○ 1+2 ○ 1+2×3 × 1++ × 1+×2 3 のように. プログラムは,文学作品を書くより数学の証明を書く行為にちかいとおもいます.だいたい,言葉のアヤ,とか行間とかいうのはプログラムにはないですし. また,文学作家が,自分の作品を読むのに読者が何時間かかるか見積もることはないですが,プログラマはプログラムの計算量を考え,解析します.「ここでつかっているクイックソートがドミナントだから,平均nlognだな.だけど最悪はn^2だなぁ」とか. もう一つ.プログラムは誰が読んでも一通りに意味が定まります. 文系の文章はそうではないですよね.カントの哲学書なんて,当代のエライ哲学者がこぞって「これはこう解釈するんだ」なんてせっせと論文を書き続けているくらい,意味不明なのですから. 単にくだんのご友人がプログラミングの何たるかを身につけないまま,浅いレベルの理解で語っているだけでしょう. ただし,プログラムにはプログラミング言語の知識以上にプログラムの対象領域(たとえば経理プログラムだったら簿記)の知識は必要ですが,だから文系だというものでもないし.

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.11

>そもそも文系と理系自体に完全に別ける事時代がナンセンス >なのかもしれませんが 現在は1人だけで全てのプログラムを作るというケースは少なく なって、色々なタイプの人が協力してシステム構築を行います。 #Webアプリの画面デザインや、ゲーム等での音楽などに芸術系の #参加が必要な場合もありますし。 各人が自分の得意な分野で参加すれば良いだけ。

binta1015
質問者

お礼

画面デザインはプログラムじゃなくてそのままデザイン力ですよね。デッサン能力であったり。あえて言うならDTPの分野に含まれるでしょうか。 音楽の芸術系というのは作曲能力の事ですかね?五感や感覚というか、これはもうコンピューターではなく人間の感覚分野、すなわち芸術の分野になると思うんですが。これはDTPですかね^^; そしてシステムの構築はこれらの人間の作品をディレクターやシステムエンジニアがまとめるものです。 建築設計者がタビを履いてトンカチで家をつくらないように、作曲家やDTPデザイナーがプログラムチャートを書くことはないですよね?? コンピューターソフトウェアを作る過程について質問したのではなく、プログラムの概念について質問したつもりだったんですが、勘違いさせたようで申し訳ありません。

  • W_H
  • ベストアンサー率47% (21/44)
回答No.10

彼の言い分も一理あります。ただ、文法を使うから文系と言うのはなかなかに荒いなとも思います。だって、文法なんてperlなら三つ程度だし、Cもそんなに変わらないだろうし……。 ぼくは、理系も文系も混じると思います。それはプログラムをどう作るかによって、系統の力加減が変わると考えるからです。 例えば英語のグラマーチェックとかHTMLの分析なら、計算メインの理系と言うよりも、文系に近いと思われます。 しかし、例えば円を描くプログラムを書く場合、半径の二乗=xの二乗+yの二乗なんて公式使ってたら大変なので、媒介変数表示でx=cosθ、y=sinθと分割表示すれば楽に描けます。これは理系ですね。 っと言うわけで、処理によってそれぞれの色が濃くなったり薄くなるので、完璧には分けれないと思います。進む分野によると言えばいいでしょうか。 ちなみに、数学は暗記とも言われます。(当然そうじゃない分野も存在するけど)公式さえ覚えれば、理論上は問題集の問題は解けるわけですから。(計算は完璧と言うことにしてください。) でも、何故かみんな数学で百点をとれませんよね? 何故すべての問題が解けないかと言えば、公式を扱うタイミングや使う公式が悪かったりするから解けないんですね。そこで、例えば高校生なんかは、数学の問題を解く典型的パターン(つまり構造)を覚えるんです。 そういう点で、数学は文系的な暗記も必要とし、完璧に理系とは言い切れません。プログラムもこの数学と同じです。処理の構造や公式(関数)を扱うには、どちらの力も必要です。 ごちゃごちゃしてきたので、私的にまとめると、全体構造や部分構造は理系。文構造や定型構造は文系。でしょうか?確実にいえるのは、完璧に二分はできないことくらいです。そもそも、数学を文理に分けれないので、それを利用するプログラムが分けれるわけないと言う話です。(機械は計算が完璧にできるから分けれない。人間はそういう点で分けれるかな?) ただ、ひらめきが絡んでくると、理系に偏りがちですね。あくまで上のは一般的プログラミングの話なので、そういうものが絡むとプログラムは理系だなぁ、と感じやすくなります。 学生の意見なので参考にはなりにくいかもしれませんが、主にそういう考え方の違いは、書く処理の違いと感受の違いだと思います。

関連するQ&A

専門家に質問してみよう