• ベストアンサー

c言語の仕事について

こんばんは。 以前C言語(c++では無いです)の仕事内容に ついて教えて貰ったのですが、今回もっと具体的に 教えて貰いたく投稿しました。 私はC言語を勉強中なのですが、まだwindowsプログラム まで行きません。dosプログラムをしていますが、これを 自由につかいこなせれば、プログラマーとして会社に雇用 できるでしょうか?。それともwindowプログラムが出来ないと無理なのでしょうか?。以前の質問でC言語だけでも 仕事になるとの回答(C++もできればなお良い)だったので どうかなと思い投稿しました。 GUIは無い仕事はあるとの事だったのですがAPIが使えない と仕事になりませんか?。昔(10年前位)はwindowプログラムは無かったですよね、あの時のような仕事は現在は無いのでしょうか?。

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

  • ベストアンサー
  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.13

クリエイティブな仕事のやりがいなんてほぼ同じでしょう。 完成(民製品開発の場合は発売)したときの達成感! しかし、納期人員予算の都合で「コレで完璧!コレが最高!コレが理想!」っていう達成感を味わったことはありません。 常に【そこそこ満足】っていう程度ですが… ソフト業界では最初の3年間くらいで経験を積んでしまった仕事をず~っとやらされるっていう傾向があります。 「3年もノウハウを吸収してるんだから、他のジャンルをやらせるのはもったいない」という論理ですね。 私の場合、最初の3年間が汎用のミドルウェア(主に通信制御関連)だったためにその後ず~っとミドル系制御系です。 特に「制御系でしか味わえない喜び」なんてありません。

tomojyuu
質問者

お礼

補足回答ありがとうございます!。 内部事情がよくわかりました!、特に「制御系でしか味わえない喜び」はないとの事ですか...完成した時の達成感に尽きるとの事。自分も短い期間でしたがPGしていましたからわかります。

その他の回答 (13)

  • matyrcry
  • ベストアンサー率47% (101/213)
回答No.14

>FAの仕事の楽しさや面白さはなにですか? 開発モノは同じ仕事が続かないから飽きなくていいってのも大きいですけど、 基本は自己満足ですから、危険や難しさも達成感のための隠し味。 これじゃないでしょうか。 難しいほどやりがいがあり、完成した後の自慢話にもなりますよ。 (金になるかはちょっと疑問ですがね) 自分も開発途中の機械に挟んで指先少し落としちゃった馬鹿なんですが、 好きでないと単なる金儲けでは3K絡むとなかなか長続きしませんから、 自然とそういう環境になるのかも。 少なくとも好きで仕事自体を楽しんでいる連中が多いのは確かです。

tomojyuu
質問者

お礼

遅くなってすいません。 回答ありがとうございます!。 やはり完成した時の達成感ですか。 みなさん同じですね!、物を作るのが好きなのですね。

  • matyrcry
  • ベストアンサー率47% (101/213)
回答No.12

ここに来ている本職の方の動向を見るかぎり、PCベースでなんらかの OS下で動作するソフト開発が多数を占めているような気がしますが、 Win自体がまだ10歳くらいですし、地上で動いているソフトのほと んどはそれ以前に作られたものです。 私はOAよりもFAの方がメインなんですが、工場だとシーケンサなど はラダー言語、マイコンものはアセンブラが多いです。 そのうち今流行の言語に置き換わっていくんでしょうが、当分先の話の ような気がしています。 もう10年もしたらなくなってしまうのかなぁとか考えながら新製品の ソフト書いてますが、ターゲットはROMが56kで、RAMはたった 2kbyteしかないのでOS載せるという選択肢もなしで、しかしそ れでも最新のCPUだったり、業界によってはGUIなんてものとは無 関係を維持しつつ進んでいます。 ネットワークポートがあれば顔はいらないって考え方もありますしね。 うーん、住む世界が違うんでしょうか。

tomojyuu
質問者

お礼

回答ありがとうございます!。 matyrcryさんもFAなのですね。 自分には想像つかない仕事内容です。

tomojyuu
質問者

補足

補足回答していいですか?。 質問本文の主旨とはズレてしまいますが、 FAの仕事の楽しさや面白さはなにですか? 回答を読んでいるとFAやっている人は大変そうなイメージ があるもんで...

  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.11

> 組み込み分野での使用が大きな割合をしめているのでしょうか? そうです。 tomojyuuさんの身の回りでソフトウェアが組み込まれているであろう製品を数え上げてみてください。 AV機器は全て、電話製品ほとんどの機種に制御ソフトウェアが組み込まれています。 外に出れば自動販売機、信号機etc... 業務系ソフトウェア、オープン系ソフトウェアの開発件数と制御系ソフトウェアの開発件数は桁が違います。 「この処理は○バイト以内で」とか「このループは一周○クロックで」なんていう状況だとアセンブラの独壇場ですが、そこまで【きつ】くない場合はCで書くことがほとんどです。

tomojyuu
質問者

お礼

折り返しの回答ありがとうございます!。 >業務系ソフトウェア、オープン系ソフトウェアの開発件数と制御系ソフトウェアの開発件数は桁が違います。 ネットでc言語の求人を検索すると、「制御系ソフトウェアの開発」は多いですもんね。納得です!。

tomojyuu
質問者

補足

ここまで回答して貰い恐縮なのですが、今一つ回答して 貰いたいのですが... ここまで読んでみて、制御系ソフトウェアの開発がdosレベルで可能でしかも仕事があると言う事がわかったのですが、きつい仕事なのにやりがいや楽しさはなになのでしょうか?(生活の為とか他に出来ないとか抜きで)

  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.10

基幹業務のインターネット対応(B2B,B2C)が進んでます。 今後、基幹業務ではJavaの発注が増えてくるでしょう。 C++はWindows,UNIX(Linux含む)向けの開発がほとんどでスタンドアローンアプリケーション、クライアントサーバーシステムが多いようです。 ミドルウェアの一部にもC++での発注が見られます。 ObjecttiveCはMacintoshで使われますがWindowsやUNIXに比べると市場が小さい。 C#はWindows用なので市場は大きいんですが「ターゲット環境がWindowsに限定される」という条件がオープン系SEに嫌われるようで、提案時に選択肢から外されることが多いようです。 「Cは終わった言語」というイメージもあるようですが、実は開発案件数としては圧倒的にCがトップです。 ただ、わざわざCやアセンブラを使うのには理由があります。 主な理由としては ・組み込み分野の場合 メモリ量やCPUパワーの関係でオブジェクティブ設計で作成されたソフトを動作させる余裕が無い ・組み込み分野、ミドルウェア系の場合 レスポンス時間の制約がきつい(システムが持っているタイマ制度以下)ので複雑なメソッド呼び出し機構、メッセージセンディング機構を持つオブジェクティブ言語は手続き呼び出しにコストがかかりすぎる ・既にCで記述された資産が多すぎる 後でC++から利用されることなんて想定していないC資産が多すぎて言語の選択の余地が無い 開発期間が短すぎて保有C資産を流用しないで開発することは不可能 要するに「C++で書けないからCで書く」ということなのでCで発注される仕事は基本的に【しんどい】。 (もっと【しんどい】仕事はアセンブラで発注されるんですけど) OSが無い状況だったり、タスクキューのスイッチングしかしてくれない「OSもどき」しか実装されて無かったり、マニアックすぎて2度とお目にかかれないようなOSを指定されていたりするのでAPIはそのその場で勉強することになります。

tomojyuu
質問者

お礼

回答ありがとうございます。 具体的な説明でわかりやすかったです。 開発案件数ではCがトップなんですね。それは組み込み分野 での使用が大きな割合をしめているのでしょうか?。 C++で書けないからCで書く」ということなのでCで発注される仕事は基本的にしんどいとは現場にいないとわからない 事ですね。

noname#8330
noname#8330
回答No.9

>Cは良い言語ですが既にトレンドからは外れています オブジェクト指向の言語が主流なのでしょうか?。 現在は、多くのケースでオブジェクト指向の言語が使われています。ただ、Cは見通しやすい反面大きなものを作る(特に複数の人間で)が困難です。オブジェクト指向かそうでないかは別としても。 >甘いかもしれませんが、dosでCの基本を覚えて、そこから自分の進みたい分野を勉強するものだと思っていました。 いや、tomojyuuさんの考えは間違っていません。 ただ、プログラムにおける言語は道具でしかありません。どうもGUIを軽く考えられているようですが、ユーザからすればCUIのプログラムは多くの場合、非常に使いづらいものです。基本は大切ですが、基本だけでは食べていけません。 逆に、Cが堪能ならば食べていける職場はあるし、APIやWindowsのプログラム知識が不要な部分もそれなりに存在します。 しかし、それなりの幅が狭いから、是非学んだほうが良いと言っているのです。

tomojyuu
質問者

お礼

補足回答ありがとうございます!。 >甘いかもしれませんが、dosでCの基本を覚えて、そこから自分の進みたい分野を勉強するものだと思っていました。 いや、tomojyuuさんの考えは間違っていません。 よかったです、この考えかた自体は間違っていなかった のですね。 基本だけでは食べていけない...現実的です。しかしそうなのでしょうね。 少し心のもやもやが晴れたような気がします。

  • RAPTsong
  • ベストアンサー率42% (74/175)
回答No.8

C言語は、プログラミングの基礎言語として重要な位置を占めていると思います。 アセンブラや機械語などの低級言語は別として、今メジャーな高級言語の中では、 アルゴリズムの勉強にしても、ポインタとメモリ関連の勉強にしても、その気になれば 広く、深く、突き進んでいく事ができる言語と言えるでしょう。 ポインタや配列を覚える事は無駄ではありません。 むしろ、「正しく」ポインタや配列を扱える事は「当然」という心構えでいてください。 C言語を理解すれば、他のスクリプト系言語(Perl,PHP,JavaScriptなど)の理解は容易いでしょう。 これにオブジェクト指向の考え方を取り入れることができたら、C++,Java,C#,Delphiなどの理解は容易いでしょう。 Windowプログラミングの知識があれば、VC++,VBは楽でしょう。 Webアプリケーションの知識があれば、サーブレットやJSP,ASPなどの理解は容易でしょう。 1つでもいいから、十分に使いこなせる言語があれば、他の言語の理解も、ぐっと楽になります。 まずは、C言語からでいいので、きっちりと基礎を身に付けてください。 あとは、好奇心を忘れずに、新しい技術に興味を持つ事を忘れないで下さい。 (自分への戒めも込めて。)

tomojyuu
質問者

お礼

回答ありがとうございます!。 >C言語は、プログラミングの基礎言語として重要な位置を占めていると思います。 アセンブラや機械語などの低級言語は別として、今メジャーな高級言語の中では、 アルゴリズムの勉強にしても、ポインタとメモリ関連の勉強にしても、その気になれば 広く、深く、突き進んでいく事ができる言語と言えるでしょう。 C言語自体は素晴らしい言語なのですね。 自分プログラマーの時、コボルやデータフレックスなんか やっていたのですが、Cも勉強しておけばよかったと後悔 しています。

  • oxygene
  • ベストアンサー率0% (0/3)
回答No.7

C言語の仕事もまだまだありますよ。 ただ、会社によるけど、どんな仕事にあたるかは運次第。ま、得意分野を広げないと、いざ仕事についたときに自分が困るのは確かです。 僕は最近はWindowsの仕事がないです。また、UnixやらLinuxやらで、JavaとC++がメインになっています。なので、WindowsのAPIなどほとんど忘却の彼方。 ま、やる気と根気と、楽しさを見つけることですね。 ひとつ言語を覚えれば、よほど頭が固くない限り、なんとかなりますよ。 ただ、例えば家を建てるときなら、図面を引く人、基礎を打つ人、木材を加工する人、組み立てる人やら施工管理者など分業ですが、コンピュータ関連はマルチで仕様策定から設計からコードからテストから納品までこなさなきゃならなかったりします。 コードを書くだけという仕事はほとんどないです。 でも、いい物ができた時の楽しさは、やっぱいいですよ。 やる気があれば、がんば!です。

tomojyuu
質問者

お礼

回答ありがとうございます!。 c言語...まだまだ現役なんですね!よかったです。 やる気と根気と、楽しさを見つけてがんばります。

noname#8330
noname#8330
回答No.6

Cは良い言語ですが既にトレンドからは外れています。 極端な話、言語は何でも良いのですがプログラムそのものの幅がないと雇用は難しいです。 例えば、自分はアセンブラから始まってC、Java、その他の言語で大まかに10前後の言語を使ってきましたが、いちばん好きなのはC、最も嫌いなのがC++です。 Windowsプログラムが出来ないのは大きなマイナスです。 しかし、Windowsは知らないけど、アセンブラに強くて組込み系なんてのは良くあることです。但し、正直DOSでCをかじった程度では話にならないと思います。 自分も、昔はC言語で一切ライブラリを使わない(ほとんどCの意味がない)環境でCを勉強したことが今日役に立っています。

tomojyuu
質問者

お礼

回答ありがとうございます!。 >Cは良い言語ですが既にトレンドからは外れています オブジェクト指向の言語が主流なのでしょうか?。 >Windowsプログラムが出来ないのは大きなマイナスです。 しかし、Windowsは知らないけど、アセンブラに強くて組込み系なんてのは良くあることです。但し、正直DOSでCをかじった程度では話にならないと思います。 正直ショックです!、このカテゴリーで質問が結構多いと 思うポインタや配列の質問(dosで)は基本ではあるけど 実務では話にならないということでしょうか?。

tomojyuu
質問者

補足

質問の核に近ついたので、改めてもっと具体的に教えて もらいたいのですが...。 甘いかもしれませんが、dosでCの基本を覚えて、そこから 自分の進みたい分野を勉強するものだと思っていました。 だから、Cの基本はネットや本などたくさんありますよね? でもそこからは専門書などになるためあまり出回っていなく、またそれで良いと思っていました。 Cのwindowsプログラムの本も持っていますが、基本的な事 を教えているような気がします。 自分もプログラマーとして働いていた事がありますが、 ここが出来ればなんとかなる(良い風に受け止めて下さい(笑)と思ってしまいます。

  • FAY
  • ベストアンサー率49% (95/193)
回答No.5

他の方も書かれていますが、 今はCの勉強を続けることをお勧めします。 基礎を学べば、応用は意外と簡単にきくものです。 C言語に限らず、です。 あと、雇用に関して言えば、、 会社にもよりますが、多くの会社が 開発業務経験者を求めています。 それは何故かというと、少なくとも 商用の開発ができる程度の実力を もっていると予想できるからです。 ですが、未経験者でも実力があれば 雇用される確率は高くなります。 ただ、実力を示すためには工夫が必要ですが。 #私の場合でいえば、持てる知識を使って #自作アプリケーションを作って会社に #提出してしました。

tomojyuu
質問者

お礼

回答ありがとうございます!。 >あと、雇用に関して言えば、、 会社にもよりますが、多くの会社が 開発業務経験者を求めています。 それは何故かというと、少なくとも 商用の開発ができる程度の実力を もっていると予想できるからです。 やはり経験がものをいうのですか… C言語の勉強は続けようと思います。

  • txrx
  • ベストアンサー率45% (83/184)
回答No.4

Cは基本です。 C言語を十分に学んでください。 C++もJAVAもC言語が基本になっています。 Cを十分に学んだ後にC++やJAVAを勉強すれば、習得は難しくありません。 C言語だけの仕事は、やはり少なくなっています。 組み込み系では、C言語+アセンブラの知識が必要になっています。 Windows系では、GUIは必須でしょう。 dosプログラムは、純粋なC言語を習得する上では、やはり基本といえます。簡単ですから。 でもdosプログラムを操作できる人が限られてきますので、ゆくゆくはGUIも必要になるでしょう。 PerlやPHP等もC言語に文法が似ていますので、C言語を習得するのは、無駄ではありません。 今はあれこれ考えず、C言語をしっかりと学んでください。

tomojyuu
質問者

お礼

回答ありがとうございます!。 >C言語だけの仕事は、やはり少なくなっています。 組み込み系では、C言語+アセンブラの知識が必要になっています。 やはり+αが必要なのですね、わかりました。

関連するQ&A

専門家に質問してみよう