• 締切済み

Windowsプログラミングで

当方、10年程前に、某ゲーム系専門学校に通ってまして プログラミングの方を専攻しておりました。 当時の学校の開発環境はPC-9801やX68000で学校では C言語や65816の授業がありました。 また当時は私はX68000が好きだったこともあり68000 のアセンブラ等も勉強してました。 当時挫折を味わい学校も辞め二年ほどプログラムという よりはパソコンから完全に離れてしまいました。 でもパソコンとかを触ったりするのはやはり好きだったので Windows95搭載パソコンを買ってしまいました。 CPUがPentium2とかMMX Pentiumとか言われてもちんぷんかんぷん でしたしDirectXが出てきて、3Dアクセラレーターボード等が 普及してきてましたが二年間程離れていたせいで3Dゲームを プレイするために必要なマシンとかも分からなかったくらい です。 VC++5.0とかも買ってしまいましたが、学校で勉強したのは 概ねシングルタスク環境での開発ですので異様な違和感を 覚えました。イベントドリブン型プログラミングに馴染めない というかMFCやWindowsAPIの関数の複雑さに圧倒されたというか そんな感じです。 二年間離れていたから対応できなくなったとは思っていませんが Windows95発売から10年以上経過した今、専門学校に入学するのが 数年遅かったら・・・もしくは数年生まれるのが遅かったら等とは 思ったりします。 結局、今では自分にプログラミングにセンスが無かったと思ってますが 「MS-DOS等では開発したことがあるがWindowsでは出来ません」 というような人がいるということをプログラム関係の本で 読んだり、あるいは専門学校の講師とかソフト開発会社の人 に聞いたことがあります。 長々と書きましたが、自分のように実務経験が無く、 あくまで趣味の域でやってる人ならともかく、職業として プログラマーをしている人はどうなのでしょうか? プログラマーとして飯食ってるひとがWindowsプログラム等の イベントドリブン型プログラミングに対応出来なかったら 死活問題だと思うのですがどうなのでしょうか? それとも実務経験のある人にはそもそもそういう人は いないのでしょうか? 長年の疑問だったので何方か答えて頂ければうれしいです。

みんなの回答

  • POTATO_XP
  • ベストアンサー率10% (24/230)
回答No.5

Windows系プログラマではないですが、興味で噛り付いている人間からのアドバイスです。API群の必要知識の幅はかなりのものだと思いますし、もうそれだけではなく多岐に亘っています。一部をかじりかろうじて動作するものは作る事は出来ますが、当然良いものにはなりません。API動作等は当然知っておく前提知識であって、その上にどの様にデザインする事が望ましいかという問題が中心になります。その性質を広く深く理解できている人間がより良い設計を行う事が出来ます(microsoft最強)。この点は、幅広くの分野に対しても精通します。また、良いソフトがどの様なものであるかの価値観も多くあります。“あくまで趣味の域”、自分もそうなんですが、この状況で単独で十分に質を上げていくのは至難の業です・・・。極めようとするなら、まず、プロセス・スレッド系、フォーム系とか的を絞ってパラメータが何の時にどういう動作をするかという様な知識をプロトタイプを作りつつコツコツ貯めていくしかないと思います。勉強ですね。あと、どうせ趣味でやるなら.NET Frameworkが近道だと思います。 >イベントドリブン型プログラミング そんなに大袈裟な物でもないと思います^^;)

aquosvierabravia
質問者

お礼

ご回答有難うございます。 APIは自分にはすごく難しく感じます。 .NET Frameworkで なんかやってみようと思います。 >>イベントドリブン型プログラミング >そんなに大袈裟な物でもないと思います^^;) 確かにEXCELでVBAとかやるとセルを押された 時にこれこれこういう風な処理をさせたい とかいう風に全然違和感なく受け止めれるんですが 私はゲーム系専門学校に行ったように WindowsプログラムでもJavaでもゲーム を作りたいというふうに考えるんですよね。 だからキーボードやマウスの入力がなくても 画面が書き換わる必要があるので これをどう処理したらいいのか VC++触ったときに全然わかりませんでした。

  • BearCave
  • ベストアンサー率20% (189/909)
回答No.4

8ビット時代からプログラムを始めて、今はWindows用ソフトの開発をしています。一番苦労したのは、オブジェクト指向プログラミング(OOP)への移行でした。習い始めた頃はオブジェクト化の意味がまったく分からず、かなり苦戦しましたね。何度も何度も失敗を繰り返して、失敗した経験を通して初めて「ああ、だからこの方法じゃなきゃダメなんだ」と学んでいきました。OOPを理解するには本を読むだけでは無理だと思います。OOPに慣れてしまえば、Windowsのイベントドリブン型は決して難しくありません。むしろそれが自然に見えます。 WindowsAPIは関数が膨大にあり一見複雑ですが、「この関数はこうゆう風に使う」といった決まりがあるので、サンプルコードをそのまま利用することが多いです。多分一番重要であるCreateWindowEx関数なんかもものすごい数のパラメーターが必要ですが、使い方は決まってるので、サンプルからコピペしてちょこちょこ訂正だけしてくというスタイルで何とかなります。 8・16ビット時代にはアセンブラは必須でしたが、今はほとんど使わないですし、32ビットになってメモリの扱いがグンと楽になりましたから、「今の方がプログラミングは難しい」というわけでは無いと思います。ただ必要になる知識が違うだけということです。 でもOOPへの移行できずに挫折したプログラマーを何人か見てきました。多分、ここが一番の壁ではないでしょうか。

aquosvierabravia
質問者

お礼

ご回答有難うございます。 OOPですか。自分はMSXとかも若い頃やっていたの OOPは苦手です。 たしかにCreateWindowsEXxとかはコピペですが WindowsAPIの解説をしてる本とか見ると ついつい内容に圧倒されちゃんですよね。 OOPに移行できずに挫折した方はその後どうされたのでしょうか?

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

仕事の内容によりけりだと思いますよ 組み込み制御系主体の職場ならありえそうですよ 情報収集や開発環境がWindowsであって、開発対象がZ80,i8085やPICなどがほとんどといった職種もあると思います こういった職場なら 別段Windowsアプリが組めなくてもかまわないと思います # ちょっとしたツールなどが必要になった場合にVBやDelphiなどが使えると重宝しますが…

aquosvierabravia
質問者

お礼

ご回答有難うございます。 なるほど、開発環境がWindowsでも組み込み制御主体なら Windowsアプリが組めなくても問題ないですよね。 でも皆さん、ご回答を見ているとWindowsになっても そんなに苦労しなかったみたいですね。

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.2

がると申します。それなりの年齢のおっちゃんで、昔からプログラムやってまして今もその辺で食っております。 さて。学ばなきゃいかん基礎というのは色々とあるのですが。逆に言うと基礎をしっかりと押さえておくと、そんなに奇異な方向に変わっている訳でもないですし、変化の度合いも「ついて行けない」ものではないと思ってます。 よく私は教育の時に話をするのですが。技術はそも「ソレがない事によって困ったなにか」があって、その困った何かを「解決するため」に技術がうまれて、それが紆余曲折を経て今に至るってのが普通です。 なので。あらゆる技術(例えば今回ならイベントドリブンとか)は「ソレがない事でどんな風に困っていて」「それをどう解決したかったのか」を知れば、自ずから基本が見えてきます。 なので逆にいうと。応用力がないっていうことは結局基礎が出来ていない事につながります。 いやまぁ「じゃぁみんな基礎が出来ているのか?」と問われると難しいところなのですが(苦笑

aquosvierabravia
質問者

お礼

ご回答有難うございます。 応用力が無いので困ってます。 基礎が出来てないことにつながる とのことですが。 普通のJavaやC#のプログラミング の入門書などではどうにもならない 基礎のように思えて仕方ありません。 どのような本で基礎を習得すれば いいのでしょうか?

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

#回答になっていないかもしれませんが(汗 30年前のプログラマです。今はIT以外の業界での「情報システム担当」なので基幹システムのお守りをしながら、社内向けのちょっとしたものをDelphi(+SQLServer)で作ったりphpでwebシステムを作ったりしてます。実業務に使うのは枯れたものが多いですね。ただし常に新しいものを試しています。 プログラマというかシステムに関わる立場としては「新規なものへの対応力」は必須といっていいでしょう。10年といわず5年も経てばガラリと変わってしまう世界だと思っています。 >「MS-DOS等では開発したことがあるがWindowsでは出来ません」 表層的にはイベントドリブンだの何だのと変化しているように見えても、CPU自体の動きは変わったわけではないので「どうやって実現しているのか」を考えれば、それほど大変ではなかったですけどねぇ・・。MS-DOSの内側まで(出来ればUnixあたりも)理解していた人なら、Win32APIくらいは理解できたと思うのですけど。 個人的には、さすがに50になったので追いかけていくのが厳しくはなってますね。というかそろそろ後進を育てないと(苦笑)。

aquosvierabravia
質問者

お礼

ご回答有難うございます。 >プログラマというかシステムに関わる立場としては「新規なものへの対応力」は必須といっていいでしょう。10年といわず5年も経てばガラリと変わってしまう世界だと思っています。 新規なものへの対応力は必須ですか。この辺は私は欠落 してますね。専門学校いって得たものは結局陳腐化した 知識だけになってしまいましたし。 >表層的にはイベントドリブンだの何だのと変化しているように見えても、CPU自体の動きは変わったわけではないので「どうやって実現しているのか」を考えれば、それほど大変ではなかったですけどねぇ・・。MS-DOSの内側まで(出来ればUnixあたりも)理解していた人なら、Win32APIくらいは理解できたと思うのですけど。 VC++でWin32APIで組む分にはメッセージループは自分で 組むので、MFCとかよりは分かりやすかったですが Win32API習得まではいきませんでした。 MS-DOSの内側やUnixあたりを理解していた人なら Win32APIくらいは理解できたのですか。

関連するQ&A

  • 曲を作るのにプログラミングって・・??

    アーティストがよく曲を作るときにプログラミングするとか言いますが 曲は、ギターとかピアノとか楽器を使って作るものではないんですか? プログラムってソフトを作るときに使うものであって、 なぜ曲作りにプログラミングが必要なのかが分かりません・・。 また、曲作りでプログラミングする時に使うプログラミング言語は何ですか? それから一般にプログラマーといわれる職業の人達(ソフト開発)は、 プログラミングで音楽作りもすぐに出来るのですか? 作る対象は「ソフトウェア」と「音楽」でそれぞれ違いますが 「プログラミングする」というのが同じなので・・。

  • 個人プログラミング

    現在コンピュータメーカーにてエンジニアをしています。私の希望は開発ですが、一度も開発に触れたことはありません。 ソフトウェア開発等のプログラミングの資格は持っているのですが、実際にプログラムはかけません。 つい先日、面倒なエクセルでの処理がある事を友人に相談したのですが、彼は簡単なプログラムを作り、処理を代行してくれました。 私はただただ見ているしかなかったのですが、羨ましいと思いました。 プログラマーの方は基本的に簡単な事はプログラムを書いて実践できるものなのでしょうか? またそのレベルにいくまでは何年ほど実践を積んでいるのかなど、 参考に教えて頂きたいと思います。 よろしくお願い致します

  • プログラムとプログラミングとプログラマ

    の言葉の意味や違いは プログラマは人で コードがプログラムで プログラマの人がプログラムを書くことを プログラミングと言えばいいのでしょうか?

  • プログラミングについて

    私は、プログラミングを始めて1年未満ですが、プログラムを一から作ったことがありません。ある人のソースを渡されてそれを参考に組んでいます。 会社では一から作らせてくれないので、最近、これでいいのか!?と思います。 そこで、みなさんにお聞きしたいのですが、プログラマーの皆さんは実際に会社等ではどんな感じなのですか?一から作るってことはあまりないのでしょうか? できれば詳しく教えて頂ければ幸いです。 宜しくお願いします。

  • プログラミングへの危機感

    プログラミングへの危機感 プログラミングへの危機感 こんにちは。 私はC/C++/Javaでプログラミングをしています。 中学2年生でもあります。 実際にはコンソロールアプリや.NETを使用した、ごく簡単なプログラムをしかつくれない初心者見習いプログラマーです。(プログラマーと言ったら本物のプログラマーに失礼かもしれませんが) プログラミングの概念は理解しています。 本題ですが、私はプログラミングへの将来に不安があります。 なぜかというと、今現在、私のように中学生でプログラミングをしている方は少ないと思いますが、ほとんどの家庭にPCがあり、これからプログラミングというものは小学生でもでき、義務教育として導入され(もう導入されてますがまだ中学校で習うプログラミングはPCは用いません)、レベルの高いものではなくなってしまうのではないかと思ってるんです。 つまり、プログラマーというのはそれほど高い存在ではなくなってしまうのではないかという危機感を抱いております。 行き過ぎかもしれませんが、就職でも必須になるような存在になるのではと... 私自身も1ヶ月間、本を読みプログラミングというものを理解できました。(実際はそれから何を作れるかが一番難しいのですが) なぜ高い存在になると危機感を感じるかというと、私自身プライドが高いことや、将来に不安を感じることがあげられます。 みなさんはどうおもわれますでしょうか。 皆さんの意見をきき、これからプログラミングと、どう付き合っていくか考えたいと思っています。 僕はプログラマーに憧れています。 夢はプログラマーしか考え尽きません。 大学も工学系を考えています。 プログラミングは大好きなのですが、一般の社会人や、自分の他の中学生も私よりレベルの高いプログラムを作っているのを見て、今の状況に危機感を抱いておりまして... コンピュータサイエンスの世界ではプロミング言語は手段であり、IT企業でもプログラマーの存在は重要ではないと言います。

  • U-20 プログラミング・コンテスト

    U-20 プログラミング・コンテストで賞を受賞できたら 高卒でも大企業のプログラム開発関係・プログラマーの仕事に就職できますか??? 言語はC++とC#です あと、高卒でSEになれますか???

  • 初心者ですが、プログラミングを勉強したいです

    専門的な知識がなく、全くの初心者なので 色々と認識違いもあると思いますがよろしくお願いします。 私は20歳の子持ち既婚女性です。 現在1歳の子供がおり、来年2月には2人目が生まれる予定の妊婦です。 前置きをグダグダと書きますが結論を先に申し上げますと プログラミングができるようになりたいのです。 主人はインターネット関係(詳しくわかりませんが)の会社で働いています。 主人自身は、パソコンには詳しいのですが システムを開発する、要するにプログラミング?的な事はできません。 同じ会社内のプログラマーが開発したシステムを使って仕事をしているようです。 そんな主人からよくプログラマーのお話を聞くので興味があります。 とはいっても、話の内容が難しくなってくると基礎知識もないので 全然理解できてはいないんですが・・・^^; 私がプログラミングを覚えたい理由は以下です。 ・高卒で学歴もなく、社会経験もなく、就職に役立つような資格やスキルがない  ⇒できるだけ若いうちに何らかのスキルを身に付けたい ・主人の会社では常にプログラマー不足  ⇒いずれ子供が幼稚園に通い始めた時、不利な条件でも雇ってくれる ・主人のできないプログラミングをこなし、認められたい しかし私はインターネットでサイト閲覧、ゲームなどしかしたことがなく パソコンそのものの基礎知識がありません。 以前、PHPを勉強しようと参考書を見ながら プログラミングの打ち込みをしてみましたが 結局根本的なところで理解できていないので途中で断念。 やはり一から勉強したい、と思うようになりました。 ですが正直なところ、どこから手をつけていいのかわからず困っています。 調べていると、システム開発などの会社に勤めている方は 基本情報技術者・応用情報技術者という資格を持っているという情報を目にしました。 まずはこういう資格の取得から目指せば良いでしょうか? それともプログラミングを勉強する前にパソコンの基礎知識を 勉強していったほうがいいでしょうか? プログラマーになられた方はどういった順序で学んでいったのかを 知りたいので是非ともよろしくお願いします。

  • プログラミングの勉強をするべきですか?

    現在高校3年です。進路はコンピュータの専門学校に進学して、将来コンピュータ関係の仕事に就きたいと考えています。そこで質問なのですが、やはりコンピュータ関係の仕事をするには、プログラミングができた方がいいのでしょうか?一度COBOLという言語を勉強してみたのですが、難しくてほとんど理解できませんでした。なので、プログラマーはちょっときびしいかなと思っています。プログラマー以外にはどんな仕事がありますか。教えてください。また、どんな資格を持っていた方がいいですか?できれば教えてください。お願いします。

  • プログラマ・SEの面接試験

    プログラマ・SEの面接試験で 適性試験というのがありますよね。 たぶん「プログラマ適性試験」というものらしいと 聞いたんですが。 この試験は、プログラマ・SEの実務経験のない人だけが 受けさせられるものなんでしょうか? 実務経験のある人、又は、実務経験はなくても 独学や学校で習ったりしてプログラミングが出来る人 は、受けさせられないものなんでしょうか? 会社によって違うのかもしれませんが、 一般的にどうなのか教えて下さい。 プログラマ・SEになりたいんですが、実務経験も ないし、趣味でプログラミング出来るレベルでもなく まだ勉強始めたばかりです。 面接に行ってみようと思うのですが プログラマ適性検査のない会社はないものかなと 思っています。

  • WINDOWSプログラミングをしている方へ質問

    WINDOWSプログラミングしている方へ質問です。 DOSプログラム #include <stdio.h> int main(void) { ・・・・・・・   return 0; } までの文+基本的な関数を覚えているプログラマが大半(ほぼ全員)だと思いますが WINDOWSプログラム #include <windows.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); char szClassNme[] = "任意の文字"; int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInst, LPSTR lpszCmdLine, int nCmdShow) { ・・・・・・ return (0L); } までの文+基本的な関数をWINDOWSプログラマは覚えているのでしょうか? それともCの基本的な事が分かるうえで必要に応じて関数や決まり事 を確認(本やサイト等)しながらプログラミングを しているのでしょうか? 両方のの経験者の方、暇な時にでも回答お願いします

専門家に質問してみよう