プログラミングを数学の一部とする人達と、
エンジニアリングとする人達がいると聞きましたが、
実際にそういったお仕事をされている方々から見ると
プログラミングとはどのようなものなのでしょうか。
思うところを教えていただけると幸いです。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

数学の理論、数値解析や、まあ私の場合統計処理とかが多いのですが、そう


いったものを利用して役立てる場合はもちろん数学の一部といいますか、
その応用というか実務への展開といいますか、そういったものになるで
しょう。

そういえば理学部と工学部の違いを言ってたひとがいて、「解無し」とか
「不定」で終わる理論でも、現実として「ある程度信頼性がある値を
ひねりだす」ことが要求される場合があると。なんとなく分る気がします。

ところで、「プログラムを書く」という行為自体もその対象となりますね。
例えば「バグがまったくないことを証明する」とかいう議論はもう数学
以外のなにものでもない気がします。一方でXPのように「とにかくテスト
しまくってユーザから文句が出ない開発手法をやってみよう」などという
現実的な方策も議論されています。

私は研究職ではありませんから、やはり立場としては後者ですね。もちろん
数学的に研究されたプログラミングに関する理論、アルゴリズムやらデータ構造
やらもちょっとは会得しているところもありますが、基本的には、
「うまくお仕事をこなす」ことを目指します。それでお金をもらっている
わけですので。
    • good
    • 0

個人的感想だと、数学やさん理論をつくって発表して数学よりのエンジニアが


それをもとに、各アーキテクチャに最適なライブラリをつくって
そのライブラリを買ってきて現場よりのエンジニアが開発してるって
感じがする・・・・・あくまで私の主観&偏見ですけど
ちなみに。。。現場よりのエンジニアもその理論の大筋の結果だけは
しっておかなきゃいけないことは当然ですが
    • good
    • 0

私は趣味でゲームを作って、仕事でシーケンスソフトを改造する程度なんですが・・・。


数学を知った上でのエンジニアリングだと感じます。
シーケンスソフトを改造している時はエンジニアリングだと思うのですが、やっぱり数学的知識が必要になったりします。

やはり今のプログラミングはノイマン型コンピューターを使っている以上、数学が必要になると思います。
それに、数学はいろんな分野で使うと思います。
切り分けは出来ないのではないんでしょうか。
    • good
    • 0

現在のプログラミングって言うのは、人間の「思考」の論理に出来る範囲


での論理的体現なので、やはり、エンジニアリングという側面が最も濃い
のではないでしょうか。

一方、論理に出来ない範囲や、感情的体現でプログラムができる(未来で
はきっとこうなるでしょう。)とすれば、それはすでにエンジニアリング
という言葉でもニューロンという言葉でも言い表せないような新概念でし
ょうね。

数学的というのは、この論理的体現の最も平易な意味での極値なのではない
でしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qプログラミング未経験者の入社一年目はどのような一日

「プログラミング未経験者の入社一年目はどのような一日一日を過ごしているのか?を教えてください」

私は文系大学4年で、来年から組み込みシステムの技術職として働くことになりました。プログラミング未経験者ですが、PGやSEに興味があり、就職活動をしており、現状に至ります。

未経験というギャップを埋めるためにも、Javaの勉強を始めており、用語の意味やプログラミングの一連の作業を理解できるようになり、簡単な自作ゲームなどを作れるようになりました。日々、勉強すればするほどわからないことが出てきて、新たな知識を得ていくのは楽しいのですが、その反面、組み込みシステムの開発に要求される技術レベルの高さに不安を感じ、最近では来年からの仕事に対しても不安を感じるようになりました。

内定先の会社では新卒社員は入社後、1ヶ月間は研修を実施し、それ以降はOJTで行われます。他社でも似たような体制をとられていると思いますが、研修後の文系未経験新卒社員はどのような一日一日を過ごしているのか(過ごしていた)のかを伺いたいです。

というのも未経験者は経験者に比べて遥かに効率が悪く、ましてや、わからないことだらけなため、仕事にならないケースも多々あるのではないかと思います。もちろん、わからないことに対してはわからないなりに自分で調べたり、先輩社員に相談しながらシステム開発をしていくということは想像できますが、経験者と同じレベルの工程を任された際、ついていけるのかというのは想像もできません。システム開発には期限があるので、教えてもらいながらや調べながらでは、期限に間に合わずクビになる?なんてことも考えてしまいます。
インターネットでSEの一日の仕事スケジュールなどを見て参考にしようとおもったのですが、一日の細かなスケジュール、作業やその時の気持ちなどは詳しく載っていないので、些細な体験談でも教えて頂きたいです。

同じ文系出身の経験者の方やSE職経験者の方などからのアドバイスを頂戴できると幸いに思っております。

拙い文章で、かつ、説明不足で質問の意図がわからない際は補足欄に追加致しますので、ご指摘頂けると幸いです。

それではどうかご回答よろしくお願いします。

ーーーーーーーーーーーーーーーーーーーーーーーーーー
参考までに内定先の会社の大まかな情報を掲載します。
・設立;4年目(2013年現在)
・従業員数;約110人
・受託7割、自社開発3割
・組み込みシステム;ASM、VB、C、JAVAなどの言語を使用
(テレビやロボット、半導体制御のシステムを開発)
ーーーーーーーーーーーーーーーーーーーーーー

「プログラミング未経験者の入社一年目はどのような一日一日を過ごしているのか?を教えてください」

私は文系大学4年で、来年から組み込みシステムの技術職として働くことになりました。プログラミング未経験者ですが、PGやSEに興味があり、就職活動をしており、現状に至ります。

未経験というギャップを埋めるためにも、Javaの勉強を始めており、用語の意味やプログラミングの一連の作業を理解できるようになり、簡単な自作ゲームなどを作れるようになりました。日々、勉強すればするほどわからないことが出...続きを読む

Aベストアンサー

まさに今の私が一年目です。

理系で電子情報系なのでモロ専門ですが。

組込みならJAVAよりまずC言語でマイコンでしょう。

一番最初、SHのマイコンでモーターの制御をさせられて、その後にイーサキャットの勉強で、次にVC++をさせられて、はんだ付けやCADもしますよ。

今日はヒーターの消費電力を解析した結果をレポートにまとめていました。

正直、組込み系はハードの知識も必要なので文系なんかに勤まるわけがないと思いますが。オームの法則わかる?

よっぽど人手不足の職場なのでしょう。というか単なる派遣系ソフトウェアなのでは。

Qプログラミングの質問です。学校でLinuxを使ってプログラミングを授業

プログラミングの質問です。学校でLinuxを使ってプログラミングを授業中にかじったのですが、
Windowsでのコンパイルの仕方がわからなくて困っています。
ちなみに下は、私がつくったものです


#include <stdio.h>
int main(void)
{
printf("あほじゃないの?");
return(0);
}

Aベストアンサー

標準ではCコンパイラは付いてないので、別途インストールする必要あります。
コンパイル方法は、そのインストールしたもの毎に違うので、マニュアルとか解説サイト、解説本などで調べてください。

Qプログラミングに興味がありますが、プログラミングとは、どのようなことなのですか

プログラミングとは、どのようなことをプログラミングというのですか

Aベストアンサー

プログラミング言語を使って処理手順を記述する事です。

Qプログラミング初心者です。プログラミングについてなのですが、32ビット

プログラミング初心者です。プログラミングについてなのですが、32ビット長のものを一度8ビット長の配列に格納し、また32ビット長のものに戻したいのですが、以下のプログラムに間違っているところはあるでしょうか。うまくいかなくて困っています。よろしくお願いします。
 
 a:32bit長
 b[4]:8bit長

// 32bit→8bit ///////
for(i=0;i<4;i++){
b[i] = a%256;
a = a/256;
}

// 8bit→32bit ///////
 a = b[0]+b[1]*256+b[2]*256*256+b[3]*256*256*256;

Aベストアンサー

こんにちは。#4、#8です。

#8の補足について。

> メッセージ b[0]=1 b[1]=2 b[2]=3 b[3]=4 を送ったとすると
> パソコン上で
>   1 2 3 4
> と表示されます。
> 次に a = b[0]+b[1]*256+b[2]*256*256+b[3]*256*256*256 をしたあとに
> メッセージ aを送ると
> パソコン上で
>   1 2 3 4
> と表示されるはずです。
> しかし、実際にはそうはいきませんでした。
     :
> 8bit→32bitの動作をしたあとにaをメッセージにしたところ(実際の値は覚えて
> いないのですが、上の例を使うと)、
>   1 2 255 255
> と表示されました。

上記を記述し直すと、

 <変数の宣言>
  uint32_t a;  ・・・ 符号無し32bit整数
  uint8_t b[4]; ・・・ 符号無し8bit整数の配列
  ※数値のバイトオーダーはリトルエンディアンと仮定
 <変換前データ>
  a = 0x04030201;

の状態で、変換後のデータをパソコン側で表示させた場合、

 <変換後データ>
  b[0] = 0x01; (10進値= 1)
  b[1] = 0x02; (10進値= 2)
  b[2] = 0x03; (10進値= 3)
  b[3] = 0x04; (10進値= 4)

  変数 a の値を【下位バイト→上位バイト】の順で表示した場合
   1、2、3、4
  ※変数の内部値(32bitの16進値)は、a = 0x04030201

という表示を想定していたが、実際には、

 <変換後データ>
  b[0] = 0x01; (10進値= 1)
  b[1] = 0x02; (10進値= 2)
  b[2] = 0x03; (10進値= 3)
  b[3] = 0x04; (10進値= 4)

  変数 a の値を【下位バイト→上位バイト】の順で表示した場合
   1、2、255、255
  ※変数の内部値(32bitの16進値)は、a = 0xFFFF0201

と表示されたということでしょうか?

だとした場合、変換後の変数 a の上位2バイト分が、何処かの段階でデータ落ち
(格納されていない、送信されていない、または、受け取れていない)状態が発生
しているのかもしれません。

何処かの段階というのは、
 (1)通信機器側のデータ変換処理
 (2)通信機器側のパソコン向けのデータ送信処理
 (3)パソコン側の通信機器からのデータ受信処理
の各ケースが考えられます。

以下は、上記各ケース別の確認事項及び対策方法などです。

■上記(1)のケース
 この場合、やはり以下の変換式が問題かもしれません。

  // 8bit→32bit
  a = b[0]+b[1]*256+b[2]*256*256+b[3]*256*256*256;

 ご使用のコンパイラ(通信機器用プログラムの開発環境)での、リテラル値(定数値)
 どうしの演算が、16bit整数値として扱われた場合、

  b[2]*256*256 および b[3]*256*256*256

 の演算段階で、16bit整数のオーバーフローが発生して、結果的に変数 a には、
 上位桁(上位2バイト分)が欠落した値が格納されているのかもしれません。
 ※式中の変数 b[] は8bit整数のため、暗黙のデータ拡張がされても16bit整数
  として演算されているのかもしれません。
 ※ただし、欠落した部分には、255 ではなく 0 が格納されるかもしれませんが?

 注)処理系により暗黙の算術変換の仕様も異なると思いますので、上記の内容が
   今回のケースに当てはまるとは限りません。

 試しに、上記の演算式を下記のように変更して再実行した場合、何か変化が
 表れるかもしれません。

  /* 8bit→32bit (修正版) */
  a = b[3];
  a = a*256 + b[2];
  a = a*256 + b[1];
  a = a*256 + b[0];

 上記の場合、演算式中に、32bit整数の変数が含まれているため、暗黙の
 データ拡張が行われ、32bit整数として演算され、変数 a にも正しい値が
 格納されるかもしれません。

■上記(2)のケース
 ◎データ送信処理について
  ・送信データサイズが正しいか確認
  ・エラーが発生していないか確認

■上記(3)のケース
 ◎データ受信処理について
  ・想定データサイズ分受信しているか確認
  ・エラーが発生していないか確認

以上です。

こんにちは。#4、#8です。

#8の補足について。

> メッセージ b[0]=1 b[1]=2 b[2]=3 b[3]=4 を送ったとすると
> パソコン上で
>   1 2 3 4
> と表示されます。
> 次に a = b[0]+b[1]*256+b[2]*256*256+b[3]*256*256*256 をしたあとに
> メッセージ aを送ると
> パソコン上で
>   1 2 3 4
> と表示されるはずです。
> しかし、実際にはそうはいきませんでした。
     :
> 8bit→32bitの動作をしたあとにaをメッセージにしたところ(実際の値は覚えて
> いないのですが、上の例を使うと)、
>   1 2 ...続きを読む

Qゲームを作る過程を教えてください。プログラミング言語を勉強したいのですがその後そのプログラミング言

ゲームを作る過程を教えてください。
プログラミング言語を勉強したいのですがその後そのプログラミング言語をどう使えば良いのか分かりません。

Aベストアンサー

本気でやりたいなら、教えてくれる学校・会社に入って勉強しましょう。
参考 > http://www.hallab.co.jp/recruit/new/job/game_flow.html


人気Q&Aランキング

おすすめ情報