人気サイト様 最新記事

博士ちゃんねる ヘッドライン

レスの強調ウゼェー!というドクターへ

レス内の強調表示をOFFにする コチラをクリックして切り替えてください。設定は30日間Cookieに保存されます。
現在のステータス:強調有効

プログラミング初心者あるある @ [プログラマー板]


プログラミング初心者あるある @ [プログラマー板]
1: 名無しLv10 2012/04/08 12:17:09
プログラミング初心者あるある

C言語触ってプログラミングが嫌いになる。
3: 名無しLv10 2012/04/08 14:37:33
Lispを書いて悟りを開く
LISP (Wikipedia) LISP(リスプ)は、プログラミング言語の一種である。括弧を多用する独特の構文を持つ。名称「LISP」はリスト処理を意味する英語「list processing」に由来する。
(中略)
ここまでの議論で気づいていた読者もいると思うが、LISPの構文はそれ自身が再帰的定義に自然に適合している。それゆえ、再帰的に定義された集合を列挙するというような数学の問題をシンプルに表現できる。
以下の関数は引数の階乗に評価される。
(defun factorial (n)
	(if (<= n 1)
		1
		(* n (factorial (- n 1)))))

管理人より:か、書ける気がしない…。でもLISPはものすごいコアなファンが多い言語ですよね。
4: 仕様書無しさん 2012/04/08 15:37:30
if文のカッコの前後にスペースをつけるべきかどうかとかを真剣に悩む
5: 仕様書無しさん 2012/04/08 19:43:34
インデントがメチャクチャ
8: 仕様書無しさん 2012/04/08 22:07:57
ぬるぽが出る
10: 仕様書無しさん 2012/04/08 23:21:24
>>8 それガッどうした?でたら直せばいいだけ
管理人より:「ぬるぽ」→「Null Pointer Exception」という例外(エラーみたいなの)のこと。
まだ確保してない(またはすでに解放してしまった)オブジェクトにアクセスしようとすると、「そんなものはない!」というエラーが発生します。略してぬるぽ。ガッ!がどこから来たかは知りません。
…と、以前も書いたやつからコピペ。
9: 仕様書無しさん 2012/04/08 23:10:57
変数名の後ろに何も考えずに数字を付けちゃう
11: 仕様書無しさん 2012/04/09 00:19:33
すたじおH
管理人より:C言語の
#include <stdio.h>
これのこと。 標準入出力(Standard I/O)のコントロールを読み込む(そうしないとなにも出力できないし入力も受け取れない)ということなんですが、「スタジオってなんだよ…」となったひとは多いはず。てか管理人がそうでした。
…またコピペ。
12: 仕様書無しさん 2012/04/09 02:09:17
if(0 <= x <= 10)
19: 仕様書無しさん 2012/04/10 01:25:12
>>12
これはこう書ける言語が生まれるべきだと思う
45: 仕様書無しさん 2012/04/19 20:57:18
>>19
亀だがpythonはできるよ。
(1 < 2 > 0) #true

とかもあり。
管理人より:Pythonはできるようですが(しらんかったw)、通常はこんなふうに条件をふたつ一緒に書くことはできず、
if(0 <= x && x <= 10)
…というふうに「&&」とかで連結しないといけませんね。確かに冗長。
13: 仕様書無しさん 2012/04/09 10:19:53
無限ループでパニック。電源落とす。
14: 名無しLv10 2012/04/09 15:03:34
>>13 わろたwww
17: 仕様書無しさん 2012/04/10 00:09:16
printfが何故printfなのか気になって先に進めない
管理人より:printfはフォーマットされた文字列を返す組み込み関数。Cやなんかにあります。以下例文。
#include <stdio.h>

int main(){
	int a, b=2;	/* 整数型の aとbを宣言して、bを2で初期化 */
	char c;		/* 文字型のcを宣言 */

	a = 3;		/* 代入。変数bのように宣言時に初期化してもよい */
	c = 'A';	/* cに、文字Aを代入( cは整数型でなく文字型である) */

	printf("a = %d\n", a);
			/* a = 3 と表示して改行。%d は、整数 a と置き換わる */
	printf("b = %d\n", b);
			/* b = 2 と表示して改行。%d は、整数 b と置き換わる */
	printf("c = %c\n", c);
			/* c = A と表示して改行。%c は、文字 c と置き換わる */
			/* 命令の前の空白は、TAB キーで入力するのが普通 */
	return 0;
}
C言語入門←こちらから例文を拝借しました。
18: 仕様書無しさん 2012/04/10 00:56:33
色つきの文章になんかスゲーと思う
20: 仕様書無しさん 2012/04/10 01:36:10
最初にCを勉強するが、コンソール画面に文字を出すのが面白くないので、基本的な文法以外はすぐに忘れてしまう。

色々調べた挙句、C++ならなんでも出来るらしいと騙されて挑戦してみる。
が、大混乱して挫折する。


こんな奴多くないか?
28: 仕様書無しさん 2012/04/10 21:06:24
;を忘れてコンパイルエラー出まくり
管理人より:たいていの言語では命令の最後にセミコロン「;」を入れないといけません。Pythonとかはなくていいですが、その代わり、インデントと改行でこれをフォローしています。
29: 仕様書無しさん 2012/04/10 21:15:32
コンパイルエラーのメッセージが何言ってるのかわからなくてテンパる



ちょっと進化すると
MSDNが何言ってるのかわからずテンパる
32: 仕様書無しさん 2012/04/13 22:10:24
System.out.println(new StringBuilder().append(str1).append(str2).append(str3).toString());
+を使った結合より、StringBulder使った方が速いんですよ(ドヤァ
42: 仕様書無しさん 2012/04/18 11:14:53
>>32
確かコンパイラが勝手にやってくれるようになったと聞きました。

jad出来ればわかるかw
43: 仕様書無しさん 2012/04/18 19:48:49
>>32
コンパイラがやってくれる(つぅか、やってくれないと動かんw)のに、頑張っちゃう人の話ですた。
46: 仕様書無しさん 2012/04/20 20:19:06
JavaですぐStringBuilder使っちゃうのは、初心者というより長い人のほうが多い気もするな
古いJavaコード引継いでたりしてるやつでも結構残ってる
リファクタリングする必要もそんなにないし放置されてるだけなんだろうけど

初心者がやってたんなら、通常のStringの結合がNGな理由を理解してたんならむしろ良P
コードの見通しは悪くなるが、動作上のデメリットはない

むしろjava初心者の場合、こういうほうがよくありそう

String s = ""; //← 初期化()
s = message;

for (String var : iterator)
	s += var; //← += をしってんだぜー(ドヤァ
47: 仕様書無しさん 2012/04/20 20:27:19
>>32
それが
new StringBuilder(str1.length() + str2.length() + str3.length()).append(str1).append(str2).append(str3).toString());
だったら間違いではないんだけどなw 毛ほどの差も出ないけど

switch (flag){
	case FLAG_A:
		fn1();
	case FLAG_B:
		fn2();
	case FLAG_C:
		fn3();
	default:
		reset();
}
あれ、なんか全部消える;;
管理人より:あるあるw
これはどういうことかというと、switch文というのは、複数の条件を一文で評価して、流れ制御できる便利な文ですが、↑のように、各ブロックに「break;」と入れないと、全部の条件を評価しようとするんです。
つまりこれだと、最後の「default」のブロックは必ず実行されますんで、「reset()」→全部消えるということでしょうね。

それにしても文字列連結に、StringBuilderというクラスをわざわざnewして、append()ですか?Javaプログラマはほんとにマメですよね。
GoogleのPythonのコーディング規約によれば、文字列は配列に入れてって、最後に「join」で連結しなさい、と言ってました。Javaの方のコーディング規約(PDF)も見てみたけど、連結については書いてなかったです。
33: 仕様書無しさん 2012/04/13 23:59:29
初心者が初心者ぶっててワロタ
34: 仕様書無しさん 2012/04/14 00:16:02
>初心者が初心者ぶっててワロタ
String string = "String".toString();
なぜかこんなのが頭に浮かんだ俺は紛れも無き初心者。
管理人より:「toString()」はオブジェクトを文字列として表す(と言えばいいのか)汎用メソッドというか。なんて説明すればいいんだ…。
36: 仕様書無しさん 2012/04/16 16:48:30
グローバル変数の名前が a
37: 仕様書無しさん 2012/04/16 18:56:00
>>36
xとかyとか乙。
iはまだ許せる
38: 仕様書無しさん 2012/04/16 19:25:07
>>37
ループカウンタ怖杉
39: 仕様書無しさん 2012/04/17 18:52:26
>>38
破壊的代入こわすぎわろた
管理人より:「グローバル変数」とは、プログラムのどこからでも参照できるようにオレオレ定義している変数。通常は分かりやすいように全部大文字で書いたりしますね。
「破壊的代入」とは変数の値を後から変更すること。ループの最中にループカウンタを上書きすると…無限ループに陥ることも。
40: 仕様書無しさん 2012/04/17 21:03:09
タブ非表示で半角スペースと混在してることにすら気づいていない
41: 仕様書無しさん 2012/04/18 01:55:35
ちりばめられまくった定数達。
使いまわされる変数達。
必死こいて作る必要のない自作関数を作る。
全角スペースに気付かず大量に出たコンパイルエラーに慌てふためく。
44: 仕様書無しさん 2012/04/19 18:57:12
IDEを使わない
管理人より:「IDE」とは、プログラミングの統合開発環境のことで、昨今ではEclipseが有名ですね。
>>40、>>41は、IDEとか高機能エディタを使って、タブ、全角スペースをハイライトすれば解決です!
50: 仕様書無しさん 2012/04/21 02:04:06
void SutaatoPurocesuShokika()
51: 仕様書無しさん 2012/04/21 02:14:42
>>50
入社した会社で最初に見たソースがそれだったら、その日のうちに辞表書くわ。
52: 仕様書無しさん 2012/04/21 04:28:11
誤訳のキツイ奴よりはストレス少ないけどな…
54: 仕様書無しさん 2012/04/21 12:51:19
無理して英語にした上コメントが無くて、仕様書見てもどの値を保存した変数なのか分からない
という事はソース解析してて稀にあるw
62: 仕様書無しさん 2012/04/22 15:34:26
項目名が「国際…」で、項目IDが「internal…」ってのが有ったなぁ。
IDふった奴は、勉強なんて社会に出て役に立たネーとか言ってたんだろうなぁ学生時代。
管理人より:「国際」→international、ですね。internalだと「内部の」とかになっちゃう。でも某FUJ○TSUの某システムみたいに、テーブル名や項目名に「日本語」とかよりずっとマシですよ。アレにはビックリした。笑

元のレスは……項目IDが「nternal…」……となっていたのですが、たぶんタイポだろと思います。
55: 仕様書無しさん 2012/04/21 12:53:02
伝説の UwaRite() の出番だな
56: 仕様書無しさん 2012/04/21 16:50:57
上書きメソッド?
57: 仕様書無しさん 2012/04/21 17:05:00
406 :仕様書無しさん :03/06/02 02:24
(略)

しかしやっぱり最強は●SKの 

 void uwarite();

だろう。
408 :仕様書無しさん :03/06/02 03:02
>>406

uwarite

uwa rite

uwa write

上 書き

上書き?
410 :406 :03/06/02 07:24
>>408
そう

もう9年ぐらい前の話だがな・・・
しかも、uwariteの対になる関数名がこれまたすごい。

uwaread

追加読み込みを「上読み」ですか・・・・(′д`)=3
58: 仕様書無しさん 2012/04/21 18:42:41
ググったら10,000件以上ヒットしたwww>uwarite
59: 仕様書無しさん 2012/04/21 19:07:15
伝説だからな
管理人より:こりゃすごい…。「uwawrite」ではなく「uwarite」なところがまた強烈。
63: 仕様書無しさん 2012/04/23 18:46:22
なんでもCSVで済まそうとする
64: 仕様書無しさん 2012/04/23 19:13:38
なんでもJSONで持とうとする
管理人より:CSV→カンマ区切りの
博士,ちゃんねる,2ch,まとめ,おもしろい
こんなデータのこと。

JSON→YAMLの1行サブセットで、データ直列化によく使われます。特にAJAXやなんかで。
{"name":"博士ちゃんねる", "url":"http://science-2ch.net/", "twitter":"https://twitter.com/science_2chnet"}
こんなデータ。Javaのひとたちは、データの直列化にXMLを好んで(?)使いますよね。
68: 仕様書無しさん 2012/04/24 01:33:06
HTMLをプログラミングと勘違いする
69: 仕様書無しさん 2012/04/24 18:41:26
>>68
htmlはプログラミング言語じゃなくてマークアップ言語だからな…。
70: 仕様書無しさん 2012/04/24 21:57:56
初心者にプログラミングさせると、HTMLと大差ないものになったりするなぁ。
お題の通りに出力させればいいってもんじゃないっつっても理解してくれん。
71: 仕様書無しさん 2012/04/26 22:44:19
お前らの初心者あるあるはこの程度か!!!
72: 仕様書無しさん 2012/04/26 22:48:47
初心者あるあるを言って中級者ぶろうとする
77: 仕様書無しさん 2012/04/27 19:54:09
Null Pointer Exceptionが出ると、ぬるぽwぬるぽwとはしゃぐ。
78: 仕様書無しさん 2012/04/28 22:17:42
>>77
ぬるぽwぬるぽw
81: 仕様書無しさん 2012/04/29 06:25:59
SELECT code_b FROM table
WHERE code_a > code_b > code_c
↑が出来ると思ってる
管理人より:これはDBに問い合わせするための構造言語「SQL」といって、プログラミング言語ではありません。(プログラミング的なことができるものもある)
さっきのif文と同じで、「AND」で連結する必要があります。
SELECT code_b FROM table
WHERE code_a > code_b
AND code_b > code_c
のように。
84: 仕様書無しさん 2012/04/30 06:40:34
コメント付けてもどれがどれで、そもそもコメントに書いたことが理解できなくなってガチ焦り。
102: 仕様書無しさん 2012/05/17 20:08:09
ネットで拾ったソース丸写しして
「コンパイル通らないけどどうすればいいですか」と聞いてくる
104: 仕様書無しさん 2012/05/21 22:57:03
関数の中に関数書いて、エラーになるんですけど、って奴ならいた
管理人より:そゆことができる言語もいくつかありますね!PHPとかPHPとか、あとPHPとか。
105: 仕様書無しさん 2012/05/22 00:27:01
初めてCのソース見たとき
行番号がないよ!どうやってGOTOするの?
って思った

最後に持ってきたけど、行番号云々はFORTRANが有名ですけど、たぶんBASICの話でしょうね。懐かしいなぁ。
当時、PC-98シリーズとかでNECがすごいイケイケだった時ですけど、MS-DOSに無料でついてましたから、簡単なプログラムができたものです。
雑誌に乗ってるフリーのプラグラムコードをそのままポチポチとタイプして、「ああー動かねぇェェ!!」とかね。管理人も中学の時やってました。

当時はCPUのクロック数は16MHz、HDDなんて標準装備じゃなかったし、あっても20MBとかですよ。40MBのHDDが出たって?すげぇぇぇ!みたいな。
記憶媒体もフロッピーディスクとかですもんね、ガッチャンガッチャンうるさいのなんの。挿入するときに「ぐにゃっ」となったりして…。(5インチのやつは柔らかい)
現在のPCでローカルディスクがCドライブから始まるのは、これの名残なんですよ、ご存知でした?
AとBがそれぞれフロッピードライブの1と2だったので。当時メモリは640KBとかなので、1MBのFDをコピーしようと思うとドライブが2台必要というわけ。

古き良き(?)時代のIT事情でした。
独習C 第4版
独習C 第4版
posted with amazlet at 14.02.21
ハーバート・シルト
翔泳社
売り上げランキング: 51,073


元スレ:http://kohada.2ch.net/test/read.cgi/prog/1333855029/

人気サイト様 最新記事

博士ちゃんねる ヘッドライン

  1. ドクターのコメントをお待ちしております!

  1. トラックバックはまだありません。


コメ欄での議論はおおいにけっこうですが、当サイトではドクター同士の罵り合いは禁止となっております。反論する際には、相手の意見・人格を尊重し、どうぞ冷静に。
*