プログラマの方々は仕事でどういうアプリケーションを作っているのですか?

タグの編集
投稿者 JAST  (高校生) 投稿日時 2011/4/1 12:33:48
気になります。
VB.NETなどだったらどういうアプリケーションを作っているのかわかりますが、CやRubyなどで開発している方々はどういうアプリケーションを作っているのですか?
投稿者 とくま  (社会人) 投稿日時 2011/4/1 13:58:15
> VB.NETなどだったらどういうアプリケーションを作っているのかわかります
例えばどのようにわかるのですか?
私の経験上は、私が学生時代に想像してた範囲におさまるソフトの
ほうが少なかった印象です。

> CやRuby
Android とか、時代の最先端を引っ張っていくには時代の流れが来た時点で
頭一つ抜きん出ていないといけません。「時代が来たから取り組もう」では、
開発期間の分、遅れてしまうのです。
つまり、新しい技術に目を向けられて、実際に研究開発の段階から
取り組める企業の数は圧倒的に少ないという現実があります。
# 大学等の研究機関や大企業の新事業部、その関連企業など

・・・ということで、Ruby は全く実績がありません。
・・・・・・いや、Ruby ももう20年前の代物か。。。
現場によって使われる技術が偏っている方が本当の理由か。
Ruby は全く使いません。なので、C のものばかり並べます。
・ユニット計算機によるPID制御(C言語)
・生産管理のピッキングカート制御(C言語)→VBへの連携
・僻地(山奥のダム等)とのデータ通信・転送制御(C言語)→警報システムへの連携
・積算データ計算プログラム(C言語)
・2次元/3次元音波センサユニット制御(C言語)
投稿者 もちだ  (社会人) 投稿日時 2011/4/1 17:03:51
VBプログラマは答えなくて良いようですが(笑)、何を作ってると思われているのか
そっちの方が気になります。
投稿者 しるふぃん  (社会人) 投稿日時 2011/4/1 17:04:40
一般的な業務として使えるプログラムという意味では、大抵のプログラムはどの言語でも出来ます。
また、開発効率や環境の点で、向き不向きはあると思います。

たいていのプログラマーは複数の言語を習得していますが(個々の錬度は別として)、その中でも
得意な言語は誰でも持っているわけで、特に問題がなければ自分が得意としている言語で作って
しまうという方も多いはずです。

とは言うものの、実際に「こういうプログラムはこの言語が作るべき!」というものがあると言われれば
あるし、ないと言われればない。
でも、とくまさんが言うように、C言語は制御系に強いし、WEB系を作るならPerl当等ありますよね。

なので、いろんな言語を覚える。臨機応変にが(答えになってなくてすいません。)

投稿者 流れ者  (社会人) 投稿日時 2011/4/1 21:17:38
しるふぃんさんの書いているように、職業としてプログラミングを行っている人は、数種類の言語の知識を持っています。
私も、なんだかんやで、C、C++、C#、JAVA、VB.NET、HTMLの知識は持っています。

また、言語により、得意とする分野も違います。

私が携わったシステムでは、画像処理システムで、
「VBで画面を作成し、処理部分はC++でDLLを作成して、VB側で呼び出す」
といったシステムを作ったことがあります。
投稿者 piyo  (社会人) 投稿日時 2011/4/2 14:20:50
僕は作る側ではなく、仕様を書いて発注する側の仕事でして、
主にVB、C/C++、C#で作成されたソフトを納めてもらっています。

職種にもよると思いますが、僕が仕様を書かなくてはいけないソフトは
非常に地味で、プログラマを目指している学生が見たら現実とのギャップに
がっかりしてしまうのでは、と思うくらいです。
当然こちらは必要なソフトだから発注するわけですが、
作る側からしたら面白い仕事ではないだろうなあ、、、と。
いや、ものすごく余計なお世話なんですが。

自分が身を置いている業界のことしかわかりませんが、実際に
社会で使われているソフトの多くは、JASTさんが普段触れているような
ものとかけ離れているのでは、と思います。
投稿者 まほうのことば  (社会人) 投稿日時 2011/4/2 16:29:26
横は入りで申しわけないです
近年は、優秀なフリーソフトがでてきているので市販のアプリは売れ行きが悪くなって
いるのではないかと思ってます
そんななかでプログラマの皆様は苦労したわりにはお給料が努力にみあっていない
と感じてはいませんか

投稿者 JAST  (社会人) 投稿日時 2011/4/2 17:40:43
piyoさん、発注するソフトを具体的に教えてほしいです。
投稿者 piyo  (社会人) 投稿日時 2011/4/2 19:16:11
よく見たら質問の答えになってませんでしたね。すみません。

発注しているのは、主に産業機械を制御するソフトです。

ある程度のことはパソコン等がなくてもPLCと呼ばれる制御装置で、
機械は動作するのですが、
より高度で複雑なことをしようとすると、機械に命令をするパソコンが必要になってきます。
このパソコンで動くソフトの発注をします。
といっても、汎用的なものではなくその機械を動かすためだけのソフトです。

投稿者 開発者の雑感  (社会人) 投稿日時 2011/4/7 10:42:05
> VB.NETなどだったらどういうアプリケーションを作っているのかわかりますが、CやRubyなどで開発している方々はどういうアプリケーションを作っているのですか?

お客様が企業なのか一般消費者なのかによっても
使う言語や作るソフトウェアの内容は違ってくるでしょうね。
でも、それは目的や前提が大きく違うことにより変わってくることであって、
VB.NETならこんなアプリ、CやRubyならこんなアプリというふうな
単に使用する言語がどうだからという理由はあまり重要ではないですね。

このアプリの内容ならVB.NETでいいよね、という内容であっても、
VB.NETが動作しない環境なら使用できませんしね。

Cについては、例えば多くのコンシューマーゲームが使っていると思います。
NINTENDO64時代ですら、ROMに載せるためにコンパクトなバイナリが必要で、
C++を使いたいけどCを使っているという話を開発者から聞いたことがありますが、
DSならおそらく多くのゲームはC言語で書かれているでしょう。
(でも最近だとC+スクリプト言語LUAなんて組み合わせもあるのだろうか)

家電などの機器制御も多くはC言語で書かれていると思います。

電力の制御システムなどもC言語で書かれているところはありますね。
(全体のうちどの程度がそうかは知らないけれど、実際に一部実装したことがあるので)

とあるATMのメカ制御部はC/C++ですね。フロントエンドは
WebBrowserコントロール上で動作させるWebアプリになっていて、
VBScript+ActiveXで作ってました。
別のATMはすべてC言語で書かれているものもありますね。

Rubyは私は関わってませんが、まぁWebアプリの開発に使われています。
Rubyが流行りだす随分前に上記のATM(前者)ではインストールプログラムの
スクリプトとして部分的にRubyが使われていました。

逆に企業向けの業務システム(販売、物流、財務、生産などの管理)の場合では、
C言語の出番は少ないでしょう。レガシーなシステムならCOBOLやRPGで作られているものも多いですし、
最近のものならWebアプリとして開発する場合がほとんどなので、
大規模なシステムではJava、C#/VB.NETが多く、
中規模以下だとPHP、Perl、Rubyなどもあるでしょう。
どの開発の場合でもHTML/CSS、JavaScriptは必須ですね。

また、リッチクライアントも要求されるWebシステムだと上記の言語だけで完結せず、
Flash、JavaFX、Silverlight、Curlなどの言語環境と組み合わせての開発になることもありますね。

C/S型のシステムならVB/VB.NETというのはまだまだ多いでしょうね。
投稿者 cupid  (社会人) 投稿日時 2011/4/25 19:03:00
20年前から、GIS(地理情報)システムの開発一本でやっている人たちがいます。
同業の数社で、競争しながらやっています。当初はUS製が優勢でしたが、
10年前ぐらいから、国産の頑張りも、目立ち始めました。
あまり一般に知られていませんが、公官庁や市町村役場で幾らか利用されています。
言語的には何でもと言いたい所ですが、やはりVisualCでの開発がもっぱらで、
あいにく、dotNetは使っていません。(これは主任プログラマーの趣味によるか?)
しかし、周辺アプリケーションでは、VBやdotNetはよく使われます。

それで現在、GISは普及しているか、と言えば必ずしも普及しているとは言えません。
震災や原発事故報道でも、GISを使いこなせば、もっと分かり易い地図の図解ができます。
例えば20km同心円などでなく、実態に即したきめ細かな線引きや、その中の町ごとの
人口構成なども表現できます。しかし残念ながらGISは使われていません。

そんなソフトウエアをなぜ開発しているかという疑問はもっともです。
しかし開発者たちは、GISの有効性を需要家に啓蒙しながらやっているのです。
つまり提案して、需要を喚起している。
なかなかトップや多数の人には理解されませんが、一部の先鋭的なユーザーには支持
されています。(自由に使いこなすにはやや難しいという問題はあるが。)

つまり単にアプリ開発のみならず、世に需要を喚起しながら、新ソフトを提案しつつ
開発している。ソフト開発の世界には、こういう人たちも居る事を知って下さい。