- ベストアンサー
WindowsとUNIXをどう考えますか?
SEやPGを目指そうと思ったらどちらのOSの知識を優先すべきでしょうか?また、VisualC++によるWindowsプログラムの知識などは仕事の役に立つことがあるのでしょうか? 回答あるいは意見が聞きたいです。 お願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
在宅SE兼専門学校講師をしています。 私の考えでは「最優先は基礎理論」であり、どちらにもよらない知識です。 例えば… オブジェクト志向の知識。 スレッドやプロセス、コンテキストスイッチングに関する知識。 メモリ管理、ファイル管理、ユーザ管理に関する知識。 データベースとネットワークの基本理論。 その他もろもろです。 (DBとネットは今や基礎技術です) 特定のOSに関する知識はそのOSの衰退(バージョンアップによるものを含む)によって陳腐化します。 結果,基礎理論を押さえていてどんな環境にも応用できる人が(最終的には)必要とされます。 とりあえず、お手持ちの環境を使って基礎理論をしっかりと固めることをお勧めします。 OS特有のテクニックも大切ですが、他の環境に応用できる知識を優先するように心がけるべきです。 Macintosh(System4~8),UNIX(SystemV,4.1~4.3BSD,HP-UX,AIX),Windows(95/98/NT/2000)を経験しましたが「基本がわかっていれば何とかなる」という信念は(未だに)変わってません。
その他の回答 (3)
- selenity
- ベストアンサー率41% (324/772)
SEならば、システム全体を見通して案を錬るため、サーバのOS、クライアント(端末)上のOS のくせを知っておく必要があります。 そのため、「どちらのOSの知識優先すべき」という選択肢はできれば選択してほしくありません。 プログラマ志望であれば、特定のOSに特化する必要も場合によってはあるとは思いますが、、、 情報系の学校であまりWindowsをつかわせないのは 「UNIXは今しか使う機会がない」という思いがあるからだと思います。 現在の企業内では大半の端末はWindowsマシンであり、 ほんの一部のサーバ関連だけが「Non WindwosなOS」で稼動するのみです。 だからこそ、「Windowsならいつでも何処でも教えてれるが、UNIXを 学ぶのは今しかない」のでWindowsを使ってほしくないのでしょう、、、
お礼
ありがとうございました。 そう考えると今の私の環境はかけがえのない大事な瞬間ですね。 その事を肝に命じ勉強をしていこうと思います。
元SE またはシステム開発プロジェクトリーダーをしていました。今はシステム企画書を書いています。 下のお二人の意見に基本的に賛成です。 SEとPGの仕事とは基本的に違います。SEは atsuotaさんが言われているようにシステム全体の開発/テストなど指揮をする事が仕事であり、プログラム的な知識よりも対業務要件的な知識と経験が優先されます。 今勉強なされているのが、Unix上のプログラミング知識との事ですが、toysmithさんが言われているように基礎知識がしっかり身に付いていればどんな言語であっても短時間で即対応が可能です。逆に言語/環境にこだわって育成されたプログラマーはコボルならこんな機能簡単に実現できるのにとか、VBなら簡単だ!とか仕事に関係無い愚痴ばかり騒ぎ立てて使えない事の方が多いです。 仕事の面から言うと基礎理論がちゃんと身に付き、パフォーマンス チューニングも含めたプロジェクト内でのプログラミング標準書などを書ける人はどこに行っても厚遇されます。またそれなりの時間単価を要求でき、若いPGに負ける事はありません。が、結局SEとなるとプロジェクト管理や対ユーザー プレゼンテーションが優先されます。 将来SEが良いかPGが良いかなどの話は案件を2、3こなさないと見えてこないと思いますので(私はそうでした)、今は基礎理論をしっかり身に付けられる環境を生かすべきだと思います。 勉強がんばってください。
お礼
ありがとうございました。 基礎が最も大事ということがよくわかりました。 でも、正直なところ、プログラミングでは私C言語しか経験が無いので不安です。 それにしてもSE(に限らず)は、働きだしてからも学ばなければならないことが たくさんありそうですね。ひょっとして帰宅後は学生よりも勉強してるのでは?と 思います。その辺のこともいつか別の場で質問をさせていただきたいと思います。
- atsuota
- ベストアンサー率33% (53/157)
SEです。 下のtoysmithさんの回答に私も一票。 ちなみに、SEとPGの仕事は違います。 (SEが対象にするのは業務を含むシステム全体であり、PGはあくまでもプログラムが対象です。) SEを目指して、その途中の経験としてのPGと、 死ぬまでPGを目指してのPGでは 微妙に価値観が違うでしょう。 前者ならば、まさしくtoysmithさんの回答どおりで、基礎をしっかり抑えておけば、どんな言語の開発であっても比較的簡単に対応できます。 その上でのWindows/UNIXの選択ならば、実際に会社に入ってそこに合わせるか、フリーでいくなら、仕事の取れるほう(PCなら当然Windows、サーバならUNIX)でよいのではないでしょうか。 それから、後者の死ぬまでPGは私はお勧めしません。森総理から日本ITスペシャリスト10傑に選ばれるくらいでないと、それは夢で終わります。(ある程度の歳になると、かならず人件費の安い若者にとって代わられる!) それくらいのレベルになれば、別に何を選んでも、それについての仕事からあぶれることはないでしょう。 がんばってください!
お礼
ありがとうございます。 二人のSEの方が同じ意見をお持ちのようでしたので とてもやる気がわきました。 さらに非常に興味深い話もありがとうございます。 SEとPGの現状や老後などに興味が出てきました。 別の場で、これらのことを質問させていただきたいと思いますので、 もし見つけてくださったら、どうかお願いします。
お礼
toysmithさんこんにちは。いつもすばらしいご回答をありがとうございます。 確かにそのとおりですね。私はUNIXを初めて触ったとき、 Windowsとは全く違うOSだなあと思いましたがそれは Windowsが難しい所を隠してただけで、やってることはほとんど同じですものね。 なるほど、やり方は違うけれど基礎を知っていればすぐに使いこなせれるようになれそうですね。 私は情報系の学生をしておりますがどうも学校側は Windowsを使わせたくないように思えるのです。 実験や演習に使う計算機は絶対にWindowsをインストールしてませんし、 レポート作成などもLATEXやTgifなどのUNIX用の アプリケーションを使用することを強制されてます。 おかげでSEの世界ではOSはUNIXが当たり前なのでは? という疑問が生じていました。さらに、マイクロソフトの officeの知識が全く無い状態なので、このままでいいのだ ろうかというように少し疑問でした。 おかげさまでなんとなく「見えてきた」気がします。ありがとうございました。