- PR -

Cにつぃて

投稿者投稿内容
白いエース
会議室デビュー日: 2003/12/16
投稿数: 12
投稿日時: 2004-02-01 22:26
最近VC++で開発する機会がありまして、ずっとJAVAをやっていたので、
Cで開発をするにあたって、ライブラリの検索方法に困っています。
JAVAではAPIが分かりやすく存在しているようにおもえるのですが、
VC++で開発するにあたってMSDNをがんばってみるしかないのでしょうか?
(.NETではヘルプがついてましたよね)
とにかく、JAVAではSDKのAPIがあったり、jakartaなどがあってほとんど組み合わせでどうにかなるようなきがする
のですが、Cはライブラリの検索に手間取るし、欲しいライブラリが見つからない!!!
作るしかないのでしょうか、javaでは簡単に手に入るものをCでは作らないといけないのは
とてもバカらしくてめんどくさくてたまらないです。

解決方法をご存知のかたよろしくお願いします。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-02-02 10:46
APIの話なのかライブラリの話なのかよく判りませんが、VC++で使うAPI(つまりWindowsのWin32API)は確かに分かり辛いですね。
VC++に付属のライブラリであるMFCではご不満ですか?
(わざわざCと書いているのは、いわゆるC言語の機能しか使えない開発ということですかね)

>ライブラリの検索に手間取るし、欲しいライブラリが見つからない

ライブラリの機能が良い悪いはともかくとして、機能の検索に時間がかかるのは、そのライブラリ(MFC?)に慣れていないだけだと思います。
(と言いつつ私も今MFCを使った開発を行っていますが、なかなか慣れられませんね〜)
Javaでは組み合わせでどうにかなるということですが、MFCでもコードを一行も書かずにメモ帳を作れたりします。

>javaでは簡単に手に入るものをCでは作らないといけないのは
>とてもバカらしくてめんどくさくてたまらないです

APIをそのまま使っているならめんどくさいのはあたりまえです。しかし逆にプログラムの動作の細かい部分まで思い通りにできるということです。
(Windows上で動く)Java仮想マシンは結局Win32APIを使っているんでしょうから、Win32APIから見ればJavaの仮想マシンとその提供するAPIは既にライブラリのようなものです。
同列に論じることはできないと思います。

それから、もうWin32APIは発展しないようです。次のWindowsからはWinFXという.NETがベースになったAPIが提供されるということです。いずれはWin32APIはなくなると思います。
MFCは、もしかしたらMFCに慣れた人のために「MFCfor.NET」なんてのが出るかもしれませんね。

で、解決方法としては「MFCに1日でも早く慣れましょう」でファイナルアンサー
ほむら
ぬし
会議室デビュー日: 2003/02/28
投稿数: 583
お住まい・勤務地: 東京都
投稿日時: 2004-02-02 11:26
ほむらです。
おなじく、VCで作るのならばMFCで十分だと思いますよ。

あとは。STLとPCREがあれば、やりたいことのほとんどは
割と簡単に実現できるはず。。。

でも、MFCが難しいのは確かですね〜
作った本人たちですら管理できなくなったといううわさもありますし(=COMの登場)
kagura
常連さん
会議室デビュー日: 2003/03/26
投稿数: 27
投稿日時: 2004-02-02 11:38
Cでライブラリって事はANSI準拠のみって事でしょうか・・・

引用:
javaでは簡単に手に入るものをCでは作らないといけないのは
とてもバカらしくてめんどくさくてたまらないです。


プラットフォームの違いにおけるプログラムの手間は
多少なりとも覚悟を決めなければならないですよ
#子供の頃、親に「ヨソはヨソ、ウチはウチ」と言われた事が思い出されます

低水準なライブラリを工夫して扱うと言う事は根底の技術力アップとその後に広がりを生むと
自分は思っております。
一度でもそう言う事をしていれば、求める機能が無いプラットフォームでも
自分でコーディングする事もできますし。

#C言語からプログラムを始めた自分は他の言語を触るとき、ほとんど労無く扱えましたが、
#VBから入った人は凄く苦労をしていました
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2004-02-02 11:53
引用:

Cでライブラリって事はANSI準拠のみって事でしょうか・・・


それならVC使う意味が、、、

引用:

# C言語からプログラムを始めた自分は他の言語を触るとき、ほとんど労無く
# 扱えましたが、VBから入った人は凄く苦労をしていました


あたくしもCで始めた口です。Cが分かってれば、他の言語は(LISPとかはともかく)
文法に限って言えば大体理解が早い気がします。JavaもCと良く似てると思いますし。

でも、最近っていきなりVB!とかいきなりJava!とかいう人が多いんでしょうか。
いきなりVBじゃあ他の言語に応用が利かない気が・・・。少なくとも型付けのしっかり
した言語は学んだ方が良いかと。(と言うと、Cは型付けがしっかりしていないという
議論を巻き起こす気もしますが)

個人的には、Cでポインタをちゃんとやったのが良かったなあと思ってます。


[ メッセージ編集済み 編集者: おばけ 編集日時 2004-02-02 11:58 ]
無月 重造
ベテラン
会議室デビュー日: 2003/12/18
投稿数: 67
投稿日時: 2004-02-02 12:04
引用:

おばけさんの書き込み (2004-02-02 11:53) より:
でも、最近っていきなりVB!とかいきなりJava!とかいう人が多いんでしょうか。
いきなりVBじゃあ他の言語に応用が利かない気が・・・。少なくとも型付けのしっかり
した言語は学んだ方が良いかと。(と言うと、Cは型付けがしっかりしていないという
議論を巻き起こす気もしますが)

個人的には、Cでポインタをちゃんとやったのが良かったなあと思ってます。




個人的にはPascalが言語の勉強には適してると思います。
片付けもしっかりしてるしポインタも実装されてるし。

#ただ、これからはできるだけポインタを使わない言語が増えるんだろうなぁ・・・
#あの往年の努力がかすんでしまうなぁ・・・
#などとしんみりしてみる
白いエース
会議室デビュー日: 2003/12/16
投稿数: 12
投稿日時: 2004-02-02 12:54
皆さん、貴重なアドバイスをありがとうございます。

自分が必要としているライブラリは、GUI系のMFCではなく、
文字コード変換、数値処理などです。
MFC、ATL、STLなどにそういったものが、存在しましたっけ?
ほむら
ぬし
会議室デビュー日: 2003/02/28
投稿数: 583
お住まい・勤務地: 東京都
投稿日時: 2004-02-02 13:46
ども、ほむらです。
------------
沖縄の星氏へ
引用:

自分が必要としているライブラリは、GUI系のMFCではなく、
文字コード変換、数値処理などです。
MFC、ATL、STLなどにそういったものが、存在しましたっけ?


MFCとATLはMicrosoftの発祥ですが。
STLは別ですよ。(C++で標準的なものです)

個人的には
STLでstring,vector,list,map,set,shared_ptr位はおさえておいたほうかなと。。。
あとは<algorithm>とか?(使ったこと無いけど。。^^;;;;

スキルアップ/キャリアアップ(JOB@IT)