Cを使いはじめてそろそろ10年になります。
 しかし最近になって分からなくなってきたのは、ここの質問文中にもっともよく出てくるであろうこの単語「hoge」です(笑)

 おそらくは擬音語の「ほげほげ♪」から来ていると思うんですが(笑)、なんなんでしょうこれは(^_^;

 今んとこ「何でもいい」を表す単語としては、「波線」の意味で「wwwww」を使うようにしてます。
 でも答えが面白かったら俺も「hoge」に変えます(笑)

このQ&Aに関連する最新のQ&A

A 回答 (3件)

私もhogeは使いますが、実のところ由来はなんなのか良く知りません。



今手元にある「C言語ポインタ完全制覇 初版」(前橋和弥著)という本のp039にhogeについて書いてあります。

そこで紹介されているURLを載せておきます。
(ほげを考えるページ)
http://www.selab.tutkie.tut.ac.jp/~yoshida/hoge. …

参考URL:http://www.selab.tutkie.tut.ac.jp/~yoshida/hoge. …
    • good
    • 0
この回答へのお礼

 ありがとうございます。

 読んでみたんですけど、要するに意味はないんですね(笑)

お礼日時:2002/02/28 17:50

aabbccddeeffさんの参考URLがつながらないようなので、こちらを。



参考URL:http://www-nishio.ise.eng.osaka-u.ac.jp/~nakamur …
    • good
    • 0
この回答へのお礼

 ありがとうございます。

 質問を出して20分で回答数3(笑)
 意外に関心の高いネタなんですね(^_^;

お礼日時:2002/02/28 17:55

やはり気になりましたか。

(^_^;
問題の「hoge」ですが、このサイトだけで使われているわけでは無いようです。
私がプログラマーになった頃(既に10年ほど前ですが)には使われていました。
勿論正式なプログラムを作る際には使用していませんでしたが、研修で例示するときや、誰かにサンプルプログラムを示すときなんかにはよく使ってましたね。
ちなみに私の知り合いは更に「gero」というのも頻繁に使っていました。(--;)
まぁ、「いちいち変数名を考えるのが面倒+適当でも良い」ときに便利だからでしょう。
でもこれだけ「hoge」が普及していると言うことは、由緒ある変数名で、それなりの由来を持っているのかもしれませんね。(^_^)
    • good
    • 0
この回答へのお礼

 ありがとうございます。

 10年前っつーと、俺が高校に入学した頃ですか。
 うーん、奥が深い(笑)

お礼日時:2002/02/28 17:54

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q初心者がまず始めるプログラミング言語はなにはおすすめ?

こんにちは。
プログラムについてほぼまったくの初心者です。
シューティングゲームやファミコンの頃のようなマリオ系アクションがつくりたいです。また、就職時や特技として履歴書に書ける、役に立つプログラミング言語が学びたいです。
使っているOSはXPです。
C言語というものの初歩の初歩を本で学んだんですが、とても難しく感じ、途中で挫折してしまいました。
たくさんあるプログラミング言語の中から、初心者にもわかりやすくて、また、他のプログラミング言語への勉強にもなるようなプログラミング言語はあるでしょうか?
おねがいします。

Aベストアンサー

> C言語というものの初歩の初歩を本で学んだんですが、とても難しく感じ、途中で挫折してしまいました。

 厳しいですね。C言語の初歩程度でへこたれているようでは「就職時や特技として履歴書に書ける、役に立つプログラミング言語」のマスターはおぼつかないでしょう。が,C言語が初心者向きでないのもまた事実です。

 私としては,初心者には Python をお奨めします:

  ‐汚いプログラムが書きにくいような文法になっており,ああも書ける,こうも書けるといった,初心者を戸惑わせる文法事項が少ない
  ‐綺麗なプログラムを書かないと気持ち悪くなるという,良い習慣が身につく
  ‐文法が比較的単純
  ‐処理系が無料で手に入る
  ‐世界的に広く使われている
  ‐オブジェクト指向もできる

 その後で,JavaScript に進んでみてはいかがでしょうか。毛色の異なるいろいろな言語に慣れておく必要があり,将来,Java, C#, C, C++ などの言語に進むためにも。

 また,視野を広げるために Scheme, Common Lisp や ML, OCaml, Haskell, Erlang など関数言語のたぐいや,Perl や Ruby, sed, Awk などのスクリプト言語の本にも目を通されることをお勧めします(いずれも世界的に有名で,処理系が無料で手に入ります)。

 それから Java や C# などに取り組めば良いと思います。そして,C や C++ も勉強しておく必要があります。

 私自身は,仕事の都合でCOBOLとアセンブラを先に勉強し,かなり後になってC言語を勉強したので,C言語のポインタのどこが難しいのか分かりませんでした(C言語のポインタは簡単です(^^;)。ただし,アセンブラは余力があるときに限り取り組めばよいでしょう(でも,CASL関連の本には目を通しておくべき)。

> C言語というものの初歩の初歩を本で学んだんですが、とても難しく感じ、途中で挫折してしまいました。

 厳しいですね。C言語の初歩程度でへこたれているようでは「就職時や特技として履歴書に書ける、役に立つプログラミング言語」のマスターはおぼつかないでしょう。が,C言語が初心者向きでないのもまた事実です。

 私としては,初心者には Python をお奨めします:

  ‐汚いプログラムが書きにくいような文法になっており,ああも書ける,こうも書けるといった,初心者を戸惑わせる文法事項が少...続きを読む

QHoge a = Hoge();はどうしてよくないやり方なのでしょうか?

以下のようなことが書いてありました。
どうしてHoge h1 = Hoge();はおすすめではないのでしょうか?
Hoge h0;とはどういう違いがあるのでしょうか?

Hoge h0; // 普通な方法
Hoge h1 = Hoge(); // あまりおすすめでない方法

Aベストアンサー

Hoge h1 = Hoge();

は初期化時にデフォルトコンストラクタが明示的に指定されているだけで、
コピーコンストラクタは呼ばれません。また operator=() も呼ばれません。

なので Hoge が具体的な型である場合には

Hoge h1;

と同じだと思います。

Hoge がテンプレートパラメータである場合には、

Hoge h1 = Hoge();

と書かないと Hoge が int などで具現化された場合に変数 h1 が 0 で初期化されずに困るかもしれません。

Q初心者が選ぶべきプログラミング言語は?

初心者が選ぶべきプログラミング言語は?

プログラミングの勉強を始めようと思っている超初心者です。この手の質問はこちらでもかなり検索すればヒットしますが、いまいち良くわからないのであえて質問します。

私のような初心者がプログラミングをはじめるときどの言語を選んだらよいでしょうか?
重視することは「将来性があって」「有用性のある」「標準的な」言語です。
言語選びにはしたいことの明確なビジョンがないといけないと言われますよね
私の目的はwindowsのフリーソフトのようなツールを作りたいことを第一目標にしています
後々は勉強の具合により目的も変えてゆきたいと思っていますが・・・

今現在の理解では・・・
基礎はCで、ビジネスではJavaで、WebはPHP、ぐらいしか解りません。どれもプログラミングの共通点を
有していて勉強すればある程度は共通知識を身につけられることも言われてはいますが
言語選びを間違えたくないなと思いまして。

Cをすこし勉強したときいつwindowsアプリのようなウィンドウをつくれるかももわかりませんでした。
現在自分ができることといったらExcelでVBAを組んで(かなり低レベルですが)自動化させる程度です。


ビジネスの世界、SEなどのプログラマーの世界で今注目されている言語や花形言語など、現在業界のオーバービューも知りたいです、詳しい方どうぞよろしくお願いします。

※個人的にはRubyが面白そうで、いろんなことができそうだなと思っています。

初心者が選ぶべきプログラミング言語は?

プログラミングの勉強を始めようと思っている超初心者です。この手の質問はこちらでもかなり検索すればヒットしますが、いまいち良くわからないのであえて質問します。

私のような初心者がプログラミングをはじめるときどの言語を選んだらよいでしょうか?
重視することは「将来性があって」「有用性のある」「標準的な」言語です。
言語選びにはしたいことの明確なビジョンがないといけないと言われますよね
私の目的はwindowsのフリーソフトのようなツールを作りたい...続きを読む

Aベストアンサー

私は10数年Windows用のクライアントソフトを開発していますが・・・

>重視することは「将来性があって」「有用性のある」「標準的な」言語です。



>私の目的はwindowsのフリーソフトのようなツールを作りたいことを第一目標にしています

が、合致しません。

WindowsというクライアントPC 用のアプリ開発自体が、「将来性がなく」「標準的でない」方向にあると思います。エンジニアの求人情報を調べればわかります。


それから、身につけたい技術の選び方として、「言語」はあまり意味がないです。
C言語をマスターしたからといって、WindowsやiPhoneで思い通りにソフト開発ができるわけじゃないです。

なので、最初は「どのプラットフォームの開発を身につけたいか」を決めた方が適切なアドバイスがもらえると思います。

Windows?iPhone?Webアプリ? SaaS系?などなど

プラットフォームが決まれば、今習得すべき言語は(本人の希望によらず)勝手に決まってしまいます。AndoroidならJavaとか。

「将来性」はともかく、Windowsアプリを作りたいのであれば、.NET Framework で VBでもC#でもお好きな方を使って開発するのが一般的ですが、それでもハード性能を100%使い切るばりばりの3Dゲームソフトを作りたいなら Win32API & C++ & DirectXでどうぞ、という感じです。その前にWindowsで3Dゲームを作ること自体が今となっては疑問です。XBOX + XNAの方がいいかもしれません。
将来性をもってゲームを作りたいなら、AndroidやiPhone で OpenGLアプリを勧めたいですね。

という感じで、言語を選ぶこととプラットフォームを選ぶことは別で、多くの場合プラットフォームが決まれば最適な言語をマスターするしかないということです。

私は10数年Windows用のクライアントソフトを開発していますが・・・

>重視することは「将来性があって」「有用性のある」「標準的な」言語です。



>私の目的はwindowsのフリーソフトのようなツールを作りたいことを第一目標にしています

が、合致しません。

WindowsというクライアントPC 用のアプリ開発自体が、「将来性がなく」「標準的でない」方向にあると思います。エンジニアの求人情報を調べればわかります。


それから、身につけたい技術の選び方として、「言語」はあまり意味がないです。
C言語を...続きを読む

Q#define hoge long longって正しいでしょうか?

いつもお世話になっておりますm(__)m
表題の件なのですが、

#define hoge long long

とやって、hoge型は、long longで置き換えてねー
って書いた場合、
C言語の場合、正しいのでしょうか?
あるいは、longとlongの間が空いてちゃダメなのでしょうか?

質問のきっかけは、

#define hoge long long
中略
typedef struct _hogehoge {
long long val;
中略
} hogehoge;

のようなヘッダーファイルを含む
あるプログラムをビルドした際に、

error C2632: 'long' と 'long' の 2 つの型指定子のあいだにコードがありません。

というエラーが出たためです。
どなたかご教授の程、よろしくお願い致します。

Aベストアンサー

> C言語の場合、正しいのでしょうか?

お使いのコンパイラーは何ですか?
お使いのコンパイラーが long long 型に対応していれば、正しいです。

> error C2632: 'long' と 'long' の 2 つの型指定子のあいだにコードがありません。

このエラーが出るということは、お使いのコンパイラーが long long 型に対応していないのではないでしょうか?

Q僕は高校生なんですがプログラミング言語を将来のために学びたいと思っています。まだ初心者なので調べた結

僕は高校生なんですがプログラミング言語を将来のために学びたいと思っています。まだ初心者なので調べた結果RubyかPythonのどちらかにしようと思うのですがどちらがいいでしょうか?
なるべく多くの意見を参考にしたいです。

Aベストアンサー

入門書とか入門サイトとか少し読んでみて、直感的に「なんとかなりそう」と思った方。
悩んでないで、直感を信じてとにかく始めることです。


プログラムは大きく
・やろうとしていることをどうやって実現するか?
・それをプログラミング言語でどうやって記述するか?
の2つの要素があります。

前者の「やり方」は、言語によろ違いが少ないので、一度身に付くと、言語が変わっても応用が効きます。
後者の「書き方」は(多少似たところはあるものの)言語毎に違うので、「やり方」程は応用が効きません。

「最初の言語」はどうしても「やり方」「書き方」の両方を学習しなければなりません。
ですが、次からは「書き方」中心の学習になるので、「最初の言語」ほどは苦労しないはずです。


なので、とにかく早く始めて、「やり方」を身に付けていきましょう。
直感がはずれて、「この言語は無理」と感じたとしても、「次の言語」へは1から始めるよりははるかに楽になっているはずです。

Qもっとも有効なC言語勉強方法

私は、むやみやたらと1から作るのではなく、他人のソースを見てそこから学んでいくようにしています。

何か有効な勉強方法があったら教えてください。

よろしくお願いします。

Aベストアンサー

こんにちは。

出来る出来ないは後回しにして、やはり「目標」を持つ事が大事だと思います。
友達なり家族にどんな物(ツール)が欲しい?と聞いてみて、簡単なものを言ってもらう。
で、そのツールを作る事を考えるんです。

最初は難しいに決まっていますが、ちょっとづつでも進めばやりがいも出て来ますし、見せてみて「いいじゃん」とか言われると、俄然燃えます(笑。

他の人のソースを見ているだけでも、確かに勉強にはなるかもしれませんが、そのうちに飽きてしまいます。

頑張って、1つツールを完成させましょう。後は、ここからの発展です。

でわ!

QC言語でプログラミングできるソフト(初心者)

大学1年で今年から始めてプログラミング(C言語)を学ぶものです。
今のところif文やfor文、関数などの基本をかじった程度なのですが
なんとか自分の家のパソコンでプログラミングを行いたいので、
何か良いソフトのようなものはないでしょうか?(有料でも構いません)

実際に文などが書けて、コンパイルし、結果を出力してくれるものです。
パソコン自体がまだ初心者なので、できればで良いのですが、分りやすいものをお願いします<m(__)m>

Aベストアンサー

#4さんも書かれてますが、大学であればunixかLinuxの環境だと思います。
なので、私もcygwinをお勧めします。windows上にuinxの環境を構築できて、gccという無料のコンパイラが利用できます。
それにunixやlinuxの環境構築の良い勉強になります。

簡単な導入の仕方がありますので試してみてください。
http://www.twcu.ac.jp/~osada/comp2a/cygwin.html
こちらも参考に。
http://programnet.hp.infoseek.co.jp/coloum/colum.html

Qネットワーク接続 → 「ローカルエリア接続の状態」画面にある「無効にす

ネットワーク接続 → 「ローカルエリア接続の状態」画面にある「無効にする」のボタンをCV++で組んだプログラムで操作する関数を教えてください。
OSはWinXPHomeです。

Aベストアンサー

VBSでやる方法は以前回答しました。
http://okwave.jp/qa/q4071972.html
COMをC言語で操作するのは凄く難しいので、このVBSを
改造してCreateProcessで起動するのは如何でしょう。
コマンドラインは"cscript.exe C:\~.vbs" です。
VBSは有効無効を切り換えるものです。
改造は以下のようにします。
(1)プログラムをコピペする。
(2)EnableLAN("ローカル エリア接続",True) を削除する。
(3)漢字空白1文字を2文字の半角空白に変換する。
(4)拡張子をVBSとしてファイルに保存する。

どうしてもCでやりたい場合はGUID,CLSID,IIDを調べ、
PIDからメソッドのエントリポイントを探してInvokeします。
何言ってるか分からないようでしたらCでの作成は無理です。

Q初心者におススメのプログラミング言語は何ですか?

C C++ Java などの言語がありますが、中でも初心者(素人)が始めるにあたって一番おススメの言語は何ですか。

 教えてください。 よろしくお願いします。

Aベストアンサー

JavaScriptがオススメです。
理由は
1)ネット上に情報がたくさんある
2)開発環境の構築が容易
3)実行環境の構築が容易
4)実行時の動作がグラフィカルなので「達成感」がある
特に4は重要です。

必要に迫られない勉強は、やる気を継続させる事が結構難しかったりします。
コマンドプロンプト上で実行するような言語の場合、せっかく苦労してプログラムを組んでも
動作結果が地味な事が多いため、動いた事に対する感動が薄くなります。
これが積み重なると、途中で投げ出す結果につながりかねません。
その点、JavaScriptのようにダイアログを出したり色を変えたりといった
動作をさせる言語であれば、やる気の低下を抑える事が出来ます。

もっとダイナミックな動きをさせたいのであれば、
Delphi(Pascal)、C#、VBなどを使うのもいいでしょう。
どれも無料版の開発環境を配布しています。

将来プロになる事を考えているのであれば現在よく使われているPHPや
今後よく使われることになると思われるPython、Rubyなどを勉強するのもいいかもしれませんが
1つのプログラミング言語を身に付ければ他の言語に移るのは割と楽ですので
最初は勉強のしやすさを基準に選ばれると良いかと思います。

JavaScriptがオススメです。
理由は
1)ネット上に情報がたくさんある
2)開発環境の構築が容易
3)実行環境の構築が容易
4)実行時の動作がグラフィカルなので「達成感」がある
特に4は重要です。

必要に迫られない勉強は、やる気を継続させる事が結構難しかったりします。
コマンドプロンプト上で実行するような言語の場合、せっかく苦労してプログラムを組んでも
動作結果が地味な事が多いため、動いた事に対する感動が薄くなります。
これが積み重なると、途中で投げ出す結果につながりかね...続きを読む

Q数値英単語変換

C言語で、入力された数値を英単語に変換するプログラムを作りますが、0~999,999,999 までの整数値について,正しく英単語に変換できるところとします。プログラミングが本当に苦手で、いったいどこから始めばいいのか、さっぱりわかりません。どうか教えてください。
できれば、詳しく説明して頂ければ、助かります。

Aベストアンサー

ほい。

面倒だからPythonでやったけど、感じはつかめるでしょ。
はっきりいってやっつけだから、このロジックで組んでも
課題とかなら点数はもらえないと思うよ。

微妙に要求を外してるしね :)

#!/usr/bin/python
# coding: utf-8
lessthan21 = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine",
____________ "ten", "eleven", "twelove", "thirteen", "fourteen", "fifteen",
____________ "sixteen", "seventeen", "eighteen", "nineteen", "twenty"]

tens = ["twenty", "thity", "fourty", "fifty", "sixty", "seventy", "eighty", "ninety"]

def to_string(num):
____if num >= 1000*1000*1000:
________print "Give up!!(%d)" % num
________return

____if num <= 20:
________if num != 0:
____________print lessthan21[num],
____elif num < 100:
________print tens[(num / 10)-2],
________to_string(num % 10)
____elif num < 1000:
________to_string(num / 100)
________print "handred",
________to_string(num % 100)
____elif num < 1000000:
________to_string(num / 1000)
________print "thousand",
________to_string(num % 1000)
____elif num <= 1000000000:
________to_string(num / 1000000)
________print "million",
________to_string(num % 1000000)


for n in [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,32,
________ 43,54,65,76,87,98,100,101,111, 123, 255,
________ 999, 2001, 9999, 10000, 999999, 1000000, 1001011,
________ 1000*1000*1000-1, 1000*1000*1000]:
____print n, "->",
____to_string(n)
____print

1 -> one
2 -> two
3 -> three
4 -> four
5 -> five
6 -> six
7 -> seven
8 -> eight
9 -> nine
10 -> ten
11 -> eleven
12 -> twelove
13 -> thirteen
14 -> fourteen
15 -> fifteen
16 -> sixteen
17 -> seventeen
18 -> eighteen
19 -> nineteen
20 -> twenty
21 -> twenty one
32 -> thity two
43 -> fourty three
54 -> fifty four
65 -> sixty five
76 -> seventy six
87 -> eighty seven
98 -> ninety eight
100 -> one handred
101 -> one handred one
111 -> one handred eleven
123 -> one handred twenty three
255 -> two handred fifty five
999 -> nine handred ninety nine
2001 -> two thousand one
9999 -> nine thousand nine handred ninety nine
10000 -> ten thousand
999999 -> nine handred ninety nine thousand nine handred ninety nine
1000000 -> one million
1001011 -> one million one thousand eleven
999999999 -> nine handred ninety nine million nine handred ninety nine thousand nine handred ninety nine
1000000000 -> Give up!!(1000000000)

ほい。

面倒だからPythonでやったけど、感じはつかめるでしょ。
はっきりいってやっつけだから、このロジックで組んでも
課題とかなら点数はもらえないと思うよ。

微妙に要求を外してるしね :)

#!/usr/bin/python
# coding: utf-8
lessthan21 = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine",
____________ "ten", "eleven", "twelove", "thirteen", "fourteen", "fifteen",
____________ "sixteen", "seventeen", "eighteen", "nineteen", "twenty"]

tens...続きを読む


人気Q&Aランキング