C言語を初心者に勧める奴は馬鹿 あんな特殊用途の言語必要ねーから

このエントリーをはてなブックマークに追加
1 加湿器(catv?)

さて、準備が出来たところで実際にスケッチ(Arduinoで動くプログラム)を作ってみたい。
まず目的として、前回紹介した回路のLEDを1秒間隔で点滅させてみることにする。という
ことで、List 1の様なものを書いてみた。

List 1:
#define PIN_LED 3

void setup()
{
pinMode(PIN_LED, OUTPUT); /* 3番ピンを出力に設定 */
}

void loop()
{
digitalWrite(PIN_LED, HIGH); /* 3番pinに5V出力 */
delay(500); /* 0.5秒待機 */
digitalWrite(PIN_LED, LOW); /* 3番pinを0Vに */
delay(500); /* 0.5秒待機 */
}
Arduinoのプログラムは、(細かいところには若干違いはあるものの)概ねC言語と同じと
考えて良い。厳密に言えばコメントに"//"が使えたりするあたり、微妙にC++も混じって
いたりするが、C++のクラスとかオブジェクト指向の考え方は一切取り込まれていない
ので、まぁCと見做すのが妥当である。

http://journal.mycom.co.jp/column/sopinion/359/
2 きんき(滋賀県):2011/01/01(土) 12:44:39.67 ID:x4divdrS0
最初に学ぶべきはjava
いきなりeclipse使わせてもいい
3 しもやけ(不明なsoftbank):2011/01/01(土) 12:45:21.76 ID:AQdsoWrSP
>>1 要はDXライブラリみたいなもんだなこれ
4 日本酒(愛知県):2011/01/01(土) 12:45:56.88 ID:FDhBX73u0
ビジュアルベイシックとBASICって何が違うの?
5 数の子(関西・北陸):2011/01/01(土) 12:46:57.00 ID:G8+WS/FpO
はじめてのC
6 冬眠中(福岡県):2011/01/01(土) 12:48:58.51 ID:9qPt6FQV0
じゃヴぁ使ってるのバカしかいないから。 現代のVB6.0プログラマー≒JAVAプログラマー
7 きんき(関西地方):2011/01/01(土) 12:49:44.24 ID:3ttePbXZ0
>>4
じゃあ何教えればいいんだ?
他に教えるものないじゃん
8 ミュージックベル(チベット自治区):2011/01/01(土) 12:50:54.04 ID:Fd6c1i630
いろんな言語触ってみないと本命の良さもわかんねーよ
9 ゲレンデ(広西チワン族自治区):2011/01/01(土) 12:52:54.38 ID:dA0dJj4TO
>>6
JAVAは馬鹿でも使える、が正しい
おかげで設計段階で屑になって出来上がりには期待すべくも無いケースもある
10 やぐら干し(茨城県):2011/01/01(土) 12:53:59.41 ID:4albCREk0
>>1
なんでオーディーノなんだよw
ワンチップマイコンで何作れってんだよw
11 白くま(神奈川県):2011/01/01(土) 12:54:00.70 ID:qo1Z3KMK0
最初から考え方の違う複数の言語を比較しつつ並行して覚えていけば言語に対して得意不得意も偏見も持つことは無いのにね
12 絨毯(東京都):2011/01/01(土) 12:55:33.93 ID:L6QYnwAc0
大体ポインタでつまずく
13 やぐら干し(茨城県):2011/01/01(土) 12:56:46.10 ID:4albCREk0
最初からcをやったほうがいいよ
昔のn88ベーシックなんか覚えたせいで
cを理解するのに苦しむオッサンがどれほどいることか

いまは無料でgccが手に入るんだから
最初からcをやったほうがいいよ
14 やぐら干し(茨城県):2011/01/01(土) 12:57:31.00 ID:4albCREk0
なんだモペキチのスレか
レスして損した
15aaaaaaaaaaaaa.orz.hm 加湿器(catv?):2011/01/01(土) 12:58:02.38 ID:iI0BQiAL0 BE:1051171182-PLT(18000)

>>13
Cなんてシステムプログラミングしない人は一生使わない
読めりゃ十分
16 しもやけ(東京都):2011/01/01(土) 12:58:44.79 ID:kH/OP2jsP
cを覚えられないならjavaでもロクなもの作れないよ。
17 マスク(東日本):2011/01/01(土) 12:58:46.49 ID:ZE00piVw0
別に何から始めてもいいんじゃないの
N60-BASIC が最初だったけど問題なし
18 白くま(神奈川県):2011/01/01(土) 12:59:50.79 ID:qo1Z3KMK0
>>12
ポインタはすぐに理解できたけどとりあえず空気読んでポインタが分かりませんって言ったら喜ばれたよ
教える側は初心者はポインタを理解出来ない物だと思いこんでるよな
19 シャンパン(愛知県):2011/01/01(土) 13:00:16.84 ID:7UtanV9UP
言語なんて基本どれも一緒だろ
言語ごとに違う所なんて初心者に使いこなせるわけ無いんだから、どれから始めても一緒だと思うが
20 雪うさぎ(千葉県):2011/01/01(土) 13:00:23.48 ID:KIniqlnE0
> 厳密に言えばコメントに"//"が使えたりするあたり、微妙にC++も混じって
> いたりするが、C++のクラスとかオブジェクト指向の考え方は一切取り込まれていない
> ので、まぁCと見做すのが妥当である。

何このおっさん素人なの?
21 しもやけ(不明なsoftbank):2011/01/01(土) 13:00:41.19 ID:AVExq2oiP
Python良いよ
22 マスク(広西チワン族自治区):2011/01/01(土) 13:01:13.20 ID:gmJZMiUpO
メモリを直接操作出来てしまうから、セキュリティに問題有りすぎ
C++を習うべし
23aaaaaaaaaaaaa.orz.hm 加湿器(catv?):2011/01/01(土) 13:02:46.32 ID:iI0BQiAL0 BE:788379326-PLT(18000)

>>19
全然違う
パラダイムが違えば学んだ技術が役に立たない
Cだけ知っててもオブジェクト指向できないからゴミ
24 熱燗(神奈川県):2011/01/01(土) 13:03:02.30 ID:ZGiofO130
>>22
基本を押さえられるともいう
25 ペンギン(東海・関東):2011/01/01(土) 13:04:29.96 ID:x+6+82QQO
ポインタの概念を理解するのはそんな難しくない
ポインタをうまく使ってプログラム書くのが難しい
26 冬眠中(福岡県):2011/01/01(土) 13:06:24.99 ID:9qPt6FQV0
>>9
そうだな。 
オブジェクト指向「開発」であって設計はDDDなんてあるが馬鹿にはオブジェクト指向が銀の弾丸のように全ての問題を解決して設計からできると勘違いしている。
27 ハロゲンヒーター(内モンゴル自治区):2011/01/01(土) 13:06:38.67 ID:NLw1vIz7O
家電、車載なんかの組み込み系、ゲーム(コンシューマ向け)系は
メモリがタイトだから、メモリ管理できるC/C++が最強だろ
28 露天風呂(内モンゴル自治区):2011/01/01(土) 13:06:57.85 ID:L/ORE7maO
最初はアセンブラに決まってんだろボケ。
6502辺りやっとけ。
29 雪駄(愛知県):2011/01/01(土) 13:07:40.34 ID:ynEFsa0g0
ARMアセンブラ
30 竹馬(不明なsoftbank):2011/01/01(土) 13:08:07.64 ID:J3RMQqnp0
初心者にはC#がベスト
基礎から応用まで手軽に楽しみながら覚えることができる
31 ペンギン(東海・関東):2011/01/01(土) 13:08:12.39 ID:x+6+82QQO
パラダイムを考慮すると初めてはJavaがベストだろ
32 肉まん(東海):2011/01/01(土) 13:09:42.03 ID:DVFMqA83O
JAVA使いにくいよ。1年ぶりに放置してたゲーム(MIDP2.0)にヘルプ画面とオプション画面追加しようとしたけど初見じゃチンプンカンプン。
解読に数日掛かったわ。
構造体がないし。
canvas全部の型?を構造体に突っ込んで全canvasはそれを参照するようにしたかった(使う使わない関わらず参照可能にしたかった)んだけど断念。
出来るのかな。

結局一個キャンバス追加する度にそれを参照する他のキャンバスに変更が必要だった。


オフジェクティブC言語(iPhone)の方が色々捗るだろうなぁ。
33 ペンギン(静岡県):2011/01/01(土) 13:11:26.18 ID:tXq9y2xZ0
まずはAだろ
Bは必須ではない
でC
あとは嗜好に応じて
34 ホットカーペット(チベット自治区):2011/01/01(土) 13:12:17.26 ID:orD8AHng0
マジお前らバカだろアセンブラだよアセンブラ
35 しもやけ(東京都):2011/01/01(土) 13:13:21.46 ID:zGvIYs8gP
組み込み屋になりたいならC、システム屋になりたいならJavaが無難
という勝手なイメージ
36 干柿(長野県):2011/01/01(土) 13:14:00.43 ID:JLgHVGXK0
>>32
Objective-Cとか最悪の言語じゃんwあんなのあがめてるのマカーとアホン信者だけだろw
37 しぶき氷(広西チワン族自治区):2011/01/01(土) 13:14:33.81 ID:2R94g2u0O
コンピュータがソフトウェアを実行する仕組みがわかる
学習言語として残すべき
正直、今更実用ソフトを一からCで組んでられるかボケ
38 みのむし(静岡県):2011/01/01(土) 13:16:24.65 ID:qTuiJbX60
つか、>1はLEDを点灯なぞして、制御の面白さを手軽に楽しも
うって話で、それはそれで良い。

でも、実際の制御の現場は『C』が主体で、ハードに密着した
部分(初期化やハンドラ)はアセンブラと言うのが現実だったりする。

>>1にも↓こんなコトが書いてあるw
>Arduinoの欠点の一つはこのプログラムサイズの大きさで、
>たったこの程度のプログラムなのに1KB近いメモリを占有するのだ

先月までやってたH8ファミリだと内蔵ROMが384Kbで、こいつに5人
で半年かけて作ったソフトを詰め込む。(残20Kbもう改造無理ポ)
39 除夜の鐘(東京都):2011/01/01(土) 13:16:34.64 ID:V1qmiFKy0
c>>>>>>>>java>>javascript>>php>>>>>>flash
40 しぶき氷(広西チワン族自治区):2011/01/01(土) 13:16:34.44 ID:2R94g2u0O
>>36
NeXT信者なめんなよ?
41 雁(長野県):2011/01/01(土) 13:18:24.46 ID:rWQghJe+0
>>33
結婚してないならD対策は確実にな
42 ミルクティー(東日本):2011/01/01(土) 13:19:08.18 ID:PcW+Qo6H0
>>32
Objective-Cは規模が大きくなればなるほど地獄を見るだろ、あれ。
43 肉まん(東海):2011/01/01(土) 13:22:36.50 ID:DVFMqA83O
>>38そういうの仕事でやったなぁ〜。
スタックとか一回も気にした事ないけど(笑)
大手なのに(俺外注)ゲラゲラ

44 パンジー(長崎県):2011/01/01(土) 13:23:42.88 ID:Ar/IIMZ00
なんでもいいから教え始めから独力で実用品作れるまで一気にやっとかないと
三途の川の手前で一生ウロウロしかねない
45 ホットココア(dion軍):2011/01/01(土) 13:25:10.52 ID:ToL8zOnf0
FORTRANでおk
46 しぶき氷(広西チワン族自治区):2011/01/01(土) 13:25:42.50 ID:2R94g2u0O
>>43
俺もROM焼いてパッケージに挿したあとヌルポで暴走して怒られたな昔
47 みのむし(静岡県):2011/01/01(土) 13:26:24.64 ID:qTuiJbX60
>>43
スタックは1モジュール毎に計算して、それに割り込み分を加算して
最悪値を記述する。

その後、スタック領域に0xCCCC(なんでもいいがw)を書きこんで、
高負荷をかけ、長時間運転後にどこまで使用されたかを確認し、
計算値以下であることを検証する。

>スタックとか一回も気にした事ないけど(笑)
ま、誰か(検査部とか)がやってるんでね?
48 雁(長野県):2011/01/01(土) 13:28:40.04 ID:rWQghJe+0
ファミコンとかって何で作られてたの?PS2とかはC++と独自キットが多いって聞いたけど
49 乾燥肌(関東・甲信越):2011/01/01(土) 13:28:58.16 ID:NSFfFpLfO
>>39
アセンブリはどこに入るの
50 雪うさぎ(チベット自治区):2011/01/01(土) 13:30:24.28 ID:htG40bll0
おいObjective-C捗るっていってるアホがいるぞw
51 耳当て(北海道):2011/01/01(土) 13:33:45.98 ID:GSOm6A/e0
C言語を勉強したいんだけどちょっと問題があって、「C言語」ってのがちょっとよく分からない
52 肉まん(東海):2011/01/01(土) 13:35:06.34 ID:DVFMqA83O
>47なるほどー。値を書き込んでメモリ埋めとくのか。スタックだから問題か。
試験だから確認はそれで良いかー。

多分やってないな。あいつら(笑)(笑)(笑)

品証は組めるのVBくらい(しかも一部)だからな
53 手編みのマフラー(チベット自治区):2011/01/01(土) 13:35:17.02 ID:8LNKdfZh0
> >>13
> Cなんてシステムプログラミングしない人は一生使わない
> 読めりゃ十分

一応やれってことだな
54 みのむし(広島県):2011/01/01(土) 13:35:41.68 ID:m2TDoQU40
C#最強伝説
55 ゴム長靴(大阪府):2011/01/01(土) 13:37:13.14 ID:xCSDHeKK0
もう既に言語自体、一部のキチガイ専用になりつつあるけどな
アメリカのゲーム会社は視覚的に作れるプログラムソフトで作ってるから
言語はソフト作る奴だけが知ってるだけだし、おまえらもいつまでもゴミ言語勉強してんなよw
56 シャンパン(大阪府):2011/01/01(土) 13:38:13.00 ID:eg9X7tq3P BE:412038465-PLT(18000)

なんでプログラミングスレって言語の話ばっかりなの?
言語なんてどれも3日あれば覚えるだろ。設計教えろよ
57 雪駄(チベット自治区):2011/01/01(土) 13:38:18.49 ID:xmY5yIhE0
>>55
ゲームの話だけかい
58 みのむし(静岡県):2011/01/01(土) 13:40:06.20 ID:qTuiJbX60
>>52
>多分やってないな。あいつら(笑)(笑)(笑)
スタックやヒープなんてのは、ぶっちゃけ増え続けなければ問題が
無いことが多い。大抵、計算値の3倍は用意するし、無計算だと、
むしろアホな位多いことが多い。

200バイトでいいのにスタックに4KB用意するとかねw

メモリ16KBのH8とかだと許されねーけどwww

んで、『この増え続けなければ』ってのがキモで、このためmallocが
禁止になることが多い。つまり制御分野ではクラスが(実質)使えない。
59 ミルクティー(東日本):2011/01/01(土) 13:41:58.45 ID:PcW+Qo6H0
>>55
単に役割分担の仕方が変わっただけだろ
60 みのむし(静岡県):2011/01/01(土) 13:42:17.96 ID:qTuiJbX60
>>56
>設計教えろよ
設計は千差万別で、どのシステムの、どの部分を担当するか
でも変わってくるし、ネックとなるのが日本語だったりするんで、
なかなか話題にしにくい。

ってコトじゃねーかな?

信頼性の話になると、情報工学の分野になるけど、こちらの話
は正直つまらないw
61 しぶき氷(広西チワン族自治区):2011/01/01(土) 13:44:08.63 ID:2R94g2u0O
>>55
ゲームはGPUいじくるのに独自のシェーダー言語で死にそうになってるだろ
62 [―{}@{}@{}-] シャンパン(catv?):2011/01/01(土) 14:18:56.07 ID:izfoZ72AP
司法試験諦めて、こっちの世界に飛び込もうかと悩んでる。

26歳未経験が突撃しても大丈夫?
63 ペンギン(栃木県):2011/01/01(土) 14:21:26.05 ID:lyH+ppvo0
Androidのアプリ作りたくてJavaいじってるけどわけわからん
匿名クラスとかなんだよ
てか、C++にもあったけどクラスのprivateとかpublicとかわすれたわ
64 みのむし(静岡県):2011/01/01(土) 14:58:50.26 ID:qTuiJbX60
>>62
>26歳未経験が突撃しても大丈夫?
司法を勉強したんだったら、その関係のソフト開発ならいいんでねーかな?
↑経験を活かすのが常道。

自分は電子工学部卒の制御ソフト屋なので、そちらの世界はよーわからんけどw
65 放射冷却(東京都):2011/01/01(土) 15:43:18.78 ID:8lOcAzZM0
ソフトウエアは会社とキャリア選ばないと35でサヨナラ
底辺の会社でコミュ力のないプログラマーが一番やばい
66 冬眠中(東京都):2011/01/01(土) 16:34:41.21 ID:ArwfzC9U0
やばいやばい言いつつも、派遣で長年食いつないでる連中は沢山いるからな。
今でもそこらのサラリーマンよりは派遣PGの方が金は良いだろ。
67 みのむし(静岡県):2011/01/01(土) 16:40:41.87 ID:qTuiJbX60
>>65
>ソフトウエアは会社とキャリア選ばないと35でサヨナラ
22歳でソフトを始めた場合、以下のコースをたどる(分野でかなり違うが・・)

22:テスターあるいはデータ屋 ⇒ そのままって人もいる
23:PG(プログラマ)
26:SE(会社はそう呼ぶ=実際はPG)
30:本当の意味でのSE
35:PM(プロジェクトマネージャ)
↓:これ以降は管理業

いくらなんでも35超えてPGじゃねーだろ? って意味でPG
35歳定年説ってのがあるのだと思われ。

でも、ウチ(制御ソフト)の分野はまったく別で、50歳超えた
PGがゴロゴロいるw
68 甘酒:2011/01/01(土) 16:41:21.00 ID:oKtpJmcv0
まずは日本語からだな
69 雪うさぎ(チベット自治区):2011/01/01(土) 16:48:34.51 ID:htG40bll0
>>65
コミュ力あって出来る奴は40で廃人or突然死
出来ない奴が生気吸いとるからな
70 しもやけ(鹿児島県):2011/01/01(土) 16:48:46.23 ID:gbCN8oosP
おれコミュ力ゼロだけど、この仕事でよかったよ。
とりあえず技術力評価されて仕事にありつけてるもんな。
技術とか関係ない仕事だったら生きていけなかった。
71 干柿(静岡県):2011/01/01(土) 16:50:29.39 ID:3zaiWCVI0
組み込みは技術さえあれば高年齢でも生き残れる
悲惨なのは業務系
72 ゲレンデ(チリ):2011/01/01(土) 16:56:26.88 ID:bsEl0GwH0
COBOL20年の失業者だけど、悲しいくらい仕事が無い。
C、JAVA、VBなら2年もやってりゃ引く手あまたなのに…
73 みのむし(静岡県):2011/01/01(土) 17:02:29.44 ID:qTuiJbX60
>>69
>コミュ力あって出来る奴は40で廃人or突然死
そう言うイメージは無いな。その手の人はうまくやる。

問題なのは、>>70のタイプのPGが、年齢とか経験とか技術力を
買われてSE(と言うよりPM)にさせられちゃったケース。

管理なんてのは技術力も大事だが、それ以上にチームを盛り上
げるとか、残業したくねぇヤツにさせるとか、コストコスト言ってる
上司に増員をお願いするとか、本来やりたく無い仕事を山盛り
やらないといけない。

こう言うのが好きな人は苦痛にならないんだけどね。
74 冬眠中(東京都):2011/01/01(土) 17:06:46.20 ID:ArwfzC9U0
組み込みは知らんが、業務システムに関しては技術(笑)なんてFランや高卒でも身に付くから評価されんよ。
技術力(笑)とか本気で言ってる奴見るといつも失笑。
75 放射冷却(東京都):2011/01/01(土) 17:08:57.50 ID:8lOcAzZM0
30超えたら迷いが生じたのか、データベースとかネットワークとかに行っちゃう
人も多いよね。でも結局戻ってきちゃう
20代で資格とって、情報セキュリティ関係に行ったほうが安牌になるのかな
76 シャンパン(大阪府):2011/01/01(土) 17:10:57.34 ID:YB4VUVSSP
>>1
>Arduinoのプログラムは、(細かいところには若干違いはあるものの)概ねC言語と同じと
>考えて良い。厳密に言えばコメントに"//"が使えたりするあたり、微妙にC++も混じって
>いたりするが、C++のクラスとかオブジェクト指向の考え方は一切取り込まれていない
>ので、まぁCと見做すのが妥当である。

なんだこいつ。C書いたこと無いのバレバレじゃねーか。素人か。
77 しもやけ(チベット自治区):2011/01/01(土) 17:24:00.48 ID:BZrjV3C/P
ここまでMATLAB/Simlinkなし

デジドカばかりだな
78 みのむし(静岡県):2011/01/01(土) 17:33:03.16 ID:qTuiJbX60
>>77
>デジドカばかりだな
つか、凝った算術演算、特に行列式が登場してくると、その手の
センセが登場するのがソフト屋の限界じゃね?

商売柄、線形予測が制御に組み込まれるコトは良くあるけど、
センセに頂いた式の意味を良くわからないまま組み込んでるw

ソフト屋が注意するのは精度と検証方法(電卓たたくワケには
いかねーし、これが困る)だね。
79 三茄子(千葉県):2011/01/01(土) 17:37:38.79 ID:k/GVNeVD0
組み込みはソフトとハードの不具合の両方の可能性の中で作業するからな。
経験がある程度必要だわね。
80 木枯らし(埼玉県):2011/01/01(土) 17:39:32.59 ID:X6nV/MpG0
>>1
確かに
まずはアセンブラだよな
81 まりも(広西チワン族自治区):2011/01/01(土) 17:39:58.48 ID:dF/KZHXpO
c#の最新仕様を身につけとけ
82 ユリカモメ(dion軍):2011/01/01(土) 17:40:31.47 ID:tNH8tx7c0
苦C見ても全くわかんねえよハゲ
83 ニラ(dion軍):2011/01/01(土) 17:42:56.08 ID:shlrLkWv0
見苦C
84 木枯らし(埼玉県):2011/01/01(土) 17:44:20.80 ID:X6nV/MpG0
>>62
組込み 電子、機械、数学必須
ゲーム 26歳では終わり

Java,VBにでも行け
85 みのむし(静岡県):2011/01/01(土) 17:51:13.55 ID:qTuiJbX60
>>79
組み込みはプロジェクトに関わる人数が少ないんですよね。
そのため分業化ができなくて、ナンでも自分でやる必要が出てくる。

それこそ、営業、設計、コーディング、デバッグ、検証、性能評価、
納品手続きとナンでもやる。ひとつひとつは簡単だけど、全部できる
人は意外に少ない。

ある程度の規模になれば初期化担当を雇えるけど、そうでないと
LSI仕様を見て「どうやりゃ(設定すれば)メモリが読めるんだよ?」的なwwww
86 ホットココア(大分県):2011/01/01(土) 17:51:51.08 ID:/SlWTNVO0
オブジェクト指向信者の典型
87 インスタントラーメン(東京都):2011/01/01(土) 17:56:33.00 ID:hmoG+fD40
>>77
業界はさて置きmarketting, feasibility studyやってるんだが
SPSSとかじゃモデルが不足で、VC/C++で必要な解析ソフト作ったよ
今思えばMATLAB使うべきだったな…
88 床暖房(チベット自治区):2011/01/01(土) 17:58:39.81 ID:SjyvNrx+0
I/Oも素のメモリも触ったことのないweb系とjava厨と.net厨はちょっと黙っててくれる?^^
89 寒椿(埼玉県):2011/01/01(土) 18:02:48.30 ID:+FvLA59A0
>>53
数値計算って知ってるか?
90 寒椿(埼玉県):2011/01/01(土) 18:03:22.19 ID:+FvLA59A0
>>89
アンカみす
>>13だった
91 寒椿(埼玉県):2011/01/01(土) 18:03:58.55 ID:+FvLA59A0
またミスった
92 ゴム長靴(東京都):2011/01/01(土) 20:15:24.19 ID:13sFYaXA0
ゴメンマジで教えてほしいんだけどプログラムってなにができるの?
高校でハローって表示するとか習ったけど
役に立つと思えない
93 木枯らし(埼玉県):2011/01/01(土) 20:22:03.94 ID:X6nV/MpG0
>>92
プログラムと電子回路・デジタル回路がなかったら、技術に関して昭和初期の世界
94 ゴム長靴(東京都):2011/01/01(土) 20:23:50.69 ID:13sFYaXA0
>>93
感覚的に納得できないんだよな
95 缶コーヒー(dion軍):2011/01/01(土) 20:41:28.61 ID:MhoS89s50
C99なら//でもコメントに出来たような
96 サンタクロース(dion軍):2011/01/01(土) 21:18:09.31 ID:TO1zaMp60
>>92
今2chに書き込んでいるのがプログラムの結果なわけだが、
それは役に立ってるとは言わないの?
97 木枯らし(埼玉県):2011/01/01(土) 21:26:10.20 ID:X6nV/MpG0
>>94
>>1
digitalWrite(PIN_LED, HIGH);
delay(500);
digitalWrite(PIN_LED, LOW);
delay(500);

の文をもっと長くして、
delay(500);の時間を調整して、
>>1のキットとLED(三色)を100万個揃えれば動画を作れる。



>>1
コンパイラ依存の関数ってもう少しわかりやすくして欲しいな
98 みのむし(静岡県):2011/01/01(土) 22:24:25.15 ID:qTuiJbX60
>>94
>感覚的に納得できないんだよな
画面表示だと直感的に理解できないし、実際、実感しにくい。

制御ソフト屋としても、やっぱし楽しいのはソレノイド(電磁石)と
ステッピングモータ。

基本は>>1のLEDと同じで、オンすればソレノイドがガチンと
動作し、それに接続させた、例えばクラッチがオンとなって
モータの駆動がベルトに伝わってナンゾが動く。

ここらの制御をやってると「あああ楽しいなああ」と感じるw
99 雪駄(東京都):2011/01/01(土) 22:26:57.88 ID:I/4XS8du0
>>98
まあその辺は>>1と似たようなもんだな
>>1はLEDの点灯を制御してるようだけど

一番いいのが秋月とかで扱ってるマイコンを買って遊ぶのがいいな

H8/3664とか遊びではメジャーだったけどいまだと何があるんだろう
100 シャンパン(長野県):2011/01/01(土) 22:28:05.62 ID:sU4n27/OP
C#はなにがいいかって
VisualStudioの補完が便利すぎる
プログラマが実現したい要素、やりたいことだけに集中できる感じ

C#つかって開発できるWindowsPhone7にはがんばってほしいんだけどなぁ
101 シャンパン(東京都):2011/01/01(土) 22:29:03.23 ID:nlTQQ0HBP
C言語で、こう言うのを書くじゃない。
include <stdio.h>

意図したように動かす為には色々なヘッダーファイルを組み込まなくちゃいけない事も出てくるかも知れない。
どういう機能を実現するのにどういうヘッダーファイルが要るとかそう言うのはどこで憶えるの?
102 シャンパン(長野県):2011/01/01(土) 22:30:21.36 ID:sU4n27/OP
>>92
高校で習うものってのは基本中の基本だけだからつまんねぇんだよな
自分でWindowsのAPI直叩きしてウィンドウのひとつでも作れれば楽しくなる
103 パンジー(栃木県):2011/01/01(土) 22:32:16.85 ID:sgKr4PCh0
>>92
基本的なところでは電子回路の制御
デジタル放送対応のテレビとかはプログラムの塊だ
少し複雑な動きをする電化製品(冷蔵庫も洗濯機も)は全部プログラムで動いてる
104 ロングブーツ(dion軍):2011/01/01(土) 22:34:25.28 ID:JGwFG9j70
Windows(笑)
105 雪駄(東京都):2011/01/01(土) 22:34:49.52 ID:I/4XS8du0
>>101
まあ今だとサンプル見ながらとかじゃないの?
ヘッダー書かずに関数とか書いてもコンパイルでエラーになるからね

ネット検索って方法も今はあるしね

ネットが無い時は本か他人の書いたプログラムをいじって覚えるかくらいしかなかった
106 シャンパン(長野県):2011/01/01(土) 22:35:58.89 ID:sU4n27/OP
今は本なんか買わなくても
入門サイト見れば完璧なまでに言語マスターできるからな
開発環境まで無料であるし
いい時代だよ
107 シャンパン(大阪府):2011/01/01(土) 22:37:00.97 ID:YB4VUVSSP
>>101
そんなものヘッダーファイルを読むにきまってんだろ。アホか。
108 雪駄(東京都):2011/01/01(土) 22:38:35.53 ID:I/4XS8du0
>>106
そうそう
iPhoneとかはたまたまマカーだったとかじゃないと
若干投資しないといけないけど
それ以外は容易に環境そろうからなw
109 シャンパン(東京都):2011/01/01(土) 22:39:23.24 ID:nlTQQ0HBP
>>105
ふうん。
どうもありがとう。
110 パンジー(栃木県):2011/01/01(土) 22:40:24.64 ID:sgKr4PCh0
>>101
統合開発環境では、関数のヘルプがあるから
それを見ればどのヘッダを組み込む必要があるかは書いてある
Cの基本的な関数はどこでもほぼ共通だから使ってればそのうち自然と覚える
111 シャンパン(東京都):2011/01/01(土) 22:44:39.44 ID:nlTQQ0HBP
>>110
>>Cの基本的な関数はどこでもほぼ共通だから使ってればそのうち自然と覚える

細かい所を知りたくなったときには調べるんだろうけど、何となく経験的に憶えていける
ものじゃないのかと思って不安だったんだけど、こういう風に言ってくれると心強いです。
112 除雪装置(内モンゴル自治区):2011/01/01(土) 22:51:46.95 ID:M5DFN9GfO
男ならベーシック一択だろ
113 バスクリン(東京都):2011/01/01(土) 22:52:00.39 ID:lnJek8Ou0
Javaそんなに簡単か?
114 風呂吹き大根(愛知県):2011/01/01(土) 23:15:58.35 ID:kIGLpbUI0
Cしか分からん俺でも飯が食えてる奇跡
115 牡蠣(大阪府):2011/01/02(日) 01:05:57.24 ID:KxuvS6i50
#include"jisaku.h"
みたいに標準ライブラリを使わずに自作でprintf関数と同等の関数をつくることはできますか?
116 シャンパン(鹿児島県):2011/01/02(日) 01:16:00.27 ID:acPAtKf3P
>>115
できるよ。
117 寒ブリ(東京都):2011/01/02(日) 01:53:34.41 ID:v5AWVfTF0
Cはやめておけよ
クラスの概念や継承、オーバロードがあるJAVAやC++やったほうが絶対いい
118 水炊き(埼玉県):2011/01/02(日) 03:22:21.29 ID:zkDbMTA30
とりあえずCでコンソールの黒い画面とにらめっこして、
ポインタのアスタリスクで訳わからなくなってから、高級なのをやればいい。
119 結露(チベット自治区):2011/01/02(日) 03:32:45.24 ID:WKIIJ7FQ0
C++の継承はクソ
ついでに演算子オーバーロードもほぼ害悪でしかない
120 ダイヤモンドダスト(東京都):2011/01/02(日) 04:24:03.36 ID:BKujTORy0
組み込みには必要だろ
組み込みにC++は重すぎる
121 スキー板(catv?):2011/01/02(日) 04:37:47.22 ID:wptTN8QsP
VBは電子ブロック感覚でプログラミングごっこできるから面白いね
122 聖なる夜(千葉県):2011/01/02(日) 04:41:43.15 ID:fqhVq3gR0
どの言語でも言えるのは
良いプログラムを読んで来た奴は
良いプログラムを書く
123 ダイヤモンドダスト(東京都):2011/01/02(日) 04:43:50.29 ID:BKujTORy0
マシン語から入ったおれにはポインタなんてのは当たり前だのクラッカー
124 耳当て(チベット自治区):2011/01/02(日) 04:46:44.50 ID:b8/6Bl8I0
2000年問題で激闘を繰り広げたコボラーはどこいったの?
125 スキー板(不明なsoftbank):2011/01/02(日) 04:58:21.26 ID:g8wRKrUOP
HEWのコンパイラもVisualStudioらいエラー拾ってくれればいいのに。
126 ワカサギ釣り(東京都):2011/01/02(日) 05:09:32.53 ID:E0n52XZ10
>>122
ポリシーがある奴のソースは読みやすい
他人が書いたソースを改修するとき、元のソース書いた奴のポリシーを尊重する奴が出来る奴だと思う
ダメな奴はおれ流になって、元のソースとの差がある事に気づかない
127 はっさく(青森県):2011/01/02(日) 05:20:47.72 ID:CN/oB4HG0
まず日本語学ばないとなぁ
128 雪月花(チベット自治区):2011/01/02(日) 05:26:47.04 ID:BYlarzJn0
>>92
helloが画面に出ただけで感動できないってのは悲しいね。
MSXの時代は小学生がなんとかしてCPUにVDP介してVRAMにアクセスさせたいって願ったものだが。
129 雪だるま(愛知県):2011/01/02(日) 05:31:11.37 ID:03yOxvEm0
結局最初にやるとしたらどれがいいの?
130 ワカサギ釣り(東京都):2011/01/02(日) 05:31:48.41 ID:E0n52XZ10
>>127
C言語(コンピューター言語)に日本語は不要だと思うがな
そもそもソースを読み書きする奴はC言語知らないとできないと思うんだけど
C言語知らないがソースを読み書きする状況が異常だと思うんだけどな
131 寒気団(東京都):2011/01/02(日) 05:32:49.34 ID:OKsGD1G60
>>129
今ならC#
組み込みとかいくならC/C++とかかな・・・

どういう方向を目指すかだなあ

とりあえずならC#
132 寒気団(東京都):2011/01/02(日) 05:34:23.59 ID:OKsGD1G60
>>128
今はそんな苦労しなくてもGPUが高速にグラフィック処理やってくれるからねw
BASICでプログラム書いてたけど速度でなくて
マシン語+PCのハード直接いじったりしたもんだが遠い昔だね
133 カリフラワー(catv?):2011/01/02(日) 05:35:59.41 ID:CqChhUOI0
なんで未だに人間が使う言語でコンピューターは動かないの?
そろそろそういう技術がうまれてもおかしくないだろ!このハイテクのご時勢に
134 暖炉(神奈川県):2011/01/02(日) 05:43:18.42 ID:A4IRtTHN0
基本的には、最初A でB BからAでも可
慣れてから ちょっとハードル高くなるが
Cだ!
ちゃんと結婚してからD! まあ、今はできちゃった
もあるがキツイぞ!
135 はっさく(石川県):2011/01/02(日) 05:44:30.04 ID:vW5hkqML0
ポインタつって要はメモリ空間のアドレス番号格納した変数でそ?
なんでそんなアドレスをわざわざこれはintのアドレス、doubleのアドレスってってぐあいに
int *a みたいにやるのかわからん。

アドレスはアドレスでいいじゃん。アドレス番号格納する数値型変数1個ユーザ側で用意して
変数名adr〜みたいな変数名にしときゃいいのに、なんで言語仕様に組み込まれてるのか誰か理由をおしえてくれ
136 福袋(栃木県):2011/01/02(日) 05:48:50.15 ID:xQMlZNUu0
値を取り出したいとき
どの型かわからないと不便だろ
int なのに1 byteしか読み取らなかったら正しい値が読み取れない
137 ワカサギ釣り(東京都):2011/01/02(日) 05:49:26.07 ID:E0n52XZ10
>>135
void *じゃダメなの?
138 はっさく(石川県):2011/01/02(日) 05:52:46.85 ID:vW5hkqML0
>>136 そのアドレスから何バイトとってきて〇型にキャスト みたいな関数一つ用意しときゃいいじゃん。
もっともプログラミングの基本の変数にわざわざ裏表作って分かりにくくしてるだけに思える。
139 雪だるま(静岡県):2011/01/02(日) 05:54:06.49 ID:VvgXhGgJ0
ポインタ速報
140 牛すき焼き(沖縄県):2011/01/02(日) 05:58:18.29 ID:nKtMQy/E0
そもそも年収3千万以上の平均的ν速民は
プログラマに金渡してワンオフでソフト作らせるだろ?
141 オーロラ(京都府):2011/01/02(日) 05:59:39.73 ID:QUDnpCPb0
C言語ってよく使われているプログラミング言語の中じゃ難しい方なの?
142 寒気団(東京都):2011/01/02(日) 06:06:01.62 ID:OKsGD1G60
>>135
>なんでそんなアドレスをわざわざこれはintのアドレス、doubleのアドレスってってぐあいに
>int *a みたいにやるのかわからん。
そりゃアセンブラの上にもう一つレイヤーとして言語として載せてるので
型を指定することで面倒な計算をしなくてよくなるんだよ
というかいちいち計算するのであればレイヤーとしての言語の意味がない

intの配列を考えてみなよ

あとはアライメントの問題もあるんだわ

x86の系譜は過去の互換を重視して継ぎ接ぎで来てるので
intなんかであっても奇数アドレスでもアクセス可能になってるけどさ
ARMやMIPSでアライメント無視してアクセスするようなコード書くと
システム止まるぞ
143 寒気団(東京都):2011/01/02(日) 06:10:32.42 ID:OKsGD1G60
>>141
うーん
ポインタがわかりにくいってのはC言語の構文の糞さ故だしな

あと最近の言語からするとメモリの確保開放を自力で管理しないといけないから煩雑ではある
144 味噌スープ(内モンゴル自治区):2011/01/02(日) 06:13:51.42 ID:jIBONai/O
C言語難しくて必修なのに単位2回落としたわ
145 はっさく(石川県):2011/01/02(日) 06:17:02.11 ID:vW5hkqML0
>>142 ごめん。結構わからない。
たしかにintの配列から値を取得する場合、例えばポインタで指し示されたint型配列の5番目の数値とるのに 
「アドレス+(使用環境のint型のバイト数)×5から(使用環境のint型のバイト数)バイト取得」みたいにする必要があるけど
そりゃアドレス指定だから仕方ない。というかアドレスの概念なくポインタにアクセスするほうが俺は怖いんだけど。

できればレイヤーとアライメント説明してもらえないだろうか。
146 山茶花(東京都):2011/01/02(日) 06:19:28.10 ID:NE+JPRFV0
いや そんなん分かり切ったことだろ
いちいち必要ないとか言い出したらほとんどの学問要らないとか言う破目になるから
147 寒気団(東京都):2011/01/02(日) 06:20:10.05 ID:OKsGD1G60
>>145
>「アドレス+(使用環境のint型のバイト数)×5から(使用環境のint型のバイト数)バイト取得」
>みたいにする必要があるけど
これをしないためのレイヤー(というかオブラート)がC言語だよ

アライメントはぐぐってくれ

148 はっさく(石川県):2011/01/02(日) 06:31:43.69 ID:vW5hkqML0
>>147 レイヤーの意味はわかったけど、色んなプログラムでこれ結構やってるんじゃないか?
アセンブラある程度わかってて、ポインタでつまづいた俺としては、逆に型で必要なバイト数
が明示されてなく扱う事に抵抗を覚える。

アライメントなんとなくわかった。でもなんかスッキリしねぇなぁ。使用環境とC言語の仕様によって「バイト境界」
とか設定されるんであればそれをなんとかしたほうがよかったんじゃねぇのか?
149 肌寒い(関西地方):2011/01/02(日) 06:40:29.94 ID:kRgiheWT0
>>148
>型で必要なバイト数
char *ptr;
150 ワカサギ釣り(東京都):2011/01/02(日) 06:42:22.52 ID:E0n52XZ10
>>148
int8_t
int16_t
int32_t
int64_t
こんなものもある、ビット表記になるけど
151 はっさく(石川県):2011/01/02(日) 06:49:20.02 ID:vW5hkqML0
>>149 たぶんchar配列の先頭ポインタでの扱いだとサイズわからんといいたいのだろうけど、
それにも俺は違和感あるねぇ。
結局¥0デリミタくるまでが変数の内容ではあるわけだけど、メモリ空間確保のためのmallocもしくは配列サイズ指定
しなきゃいけないのはどうせおなじだろ?じゃなきゃメモリ破壊をおこすよね。リードだけならいいのかもしれんが。
文字列型に文字列入れ込むためには、サイズも同様に書き込むような言語仕様にしときゃよかったんじゃないかと。
152 半纏(神奈川県):2011/01/02(日) 06:54:51.46 ID:fzXxTtN30
Cでmallocとかのメモリ操作・管理ってどうやって学ぶの?
ポインタは理解できたがメモリ確保してそれをどう扱うかが分からん
153 肌寒い(関西地方):2011/01/02(日) 06:57:32.92 ID:kRgiheWT0
>>151
char *ptr;
この場合、型で必要なバイト数は1バイトのつもりで書いたんだけど。
int *ptr;
なら2バイトだよね(32bitの場合)。

ptr.length
みたいなことがやりたいってこと?
154 聖なる夜(catv?):2011/01/02(日) 06:58:23.98 ID:ki3A/QmV0
おじさんたち、Register functionってなに?
155 肌寒い(関西地方):2011/01/02(日) 07:00:59.14 ID:kRgiheWT0
あとCに文字列型は無いよね。
156 肌寒い(関西地方):2011/01/02(日) 07:11:33.15 ID:kRgiheWT0
>>152
あらかじめ必要な長さが判っていない配列を扱う時に必要なんじゃね
157 乾布摩擦(神奈川県):2011/01/02(日) 07:12:49.25 ID:Wr42r5fJ0
HTML → CSS → JavaScript → PHP → Perl → Python → Ruby →
Java → Scala → Groovy → JavaFX → C# → VBA → VB.NET →
C → C++ → アセンブリ言語 → 再びJavaScript → Io → Scheme →
Common Lisp → Haskell → Erlang → Agda → COBOL → Fortran → Fortress

これってどの程度ネタが混じってるのかわからない
158 肌寒い(関西地方):2011/01/02(日) 07:13:50.05 ID:kRgiheWT0
>>157
やる奴はそれぐらいやると思う
159 はっさく(石川県):2011/01/02(日) 07:17:22.30 ID:vW5hkqML0
>>153
ptr.lengthがやりたいっつーよりも、文字列格納するのに、char配列もしくはmallocでメモリ確保しなきゃなんないのなら
変数代入時にサイズとメモリ確保さくっとやっちゃえ、String型みたいなの先に用意しとけってこと。
わざわざメモリ破壊でデバグが難しくなるぐらいだったらサイズもメモリ確保も言語側の標準関数とかで対応しとかなかったんだろう?
char配列を関数に受け渡して処理なんておっかなビックリすぎる

少々自分でもわけがわからなくなってきてるが。
160 肌寒い(関西地方):2011/01/02(日) 07:21:59.55 ID:kRgiheWT0
>>159
それは配列全般に言えることじゃないの?
161 はっさく(石川県):2011/01/02(日) 07:24:19.41 ID:vW5hkqML0
>>159 確保した以上の添字にアクセスするということも含まれるわけだからまぁそうか。
162 肌寒い(関西地方):2011/01/02(日) 07:25:26.92 ID:kRgiheWT0
Cは何だかんだ言って低レベルだから
そこまで求めるのは酷かなって気がするね。
そういうのやりたい人は
C++をベターCとして使うといいんじゃないか。
163 はっさく(石川県):2011/01/02(日) 07:31:16.51 ID:vW5hkqML0
低級なら低級でアドレスはアドレスでいいじゃん、アクセスに必要な先頭アドレスと取得サイズはこっちで指定するから
ポインタなんて概念いらねーとかおもってしまう。

てことは先述のアライメントというものがあるためにポインタ導入しないといけなかったのかなぁ。
もう少しアライメントについて勉強してみなきゃいけないか。
164 肌寒い(関西地方):2011/01/02(日) 07:35:12.51 ID:kRgiheWT0
>>163
だから取得サイズをこっちで指定しなくていいように
ポインタ宣言時に型を指定するんじゃないか。
int型の配列をchar型として読んだら別のものになっちゃうでしょ?
165 肌寒い(関西地方):2011/01/02(日) 07:37:57.54 ID:kRgiheWT0
俺も改めて思ったけど
ポインタはポインタで大分抽象化されてるんだな
166 はっさく(石川県):2011/01/02(日) 07:38:25.46 ID:vW5hkqML0
>>164 アドレスに格納されるサイズは1バイト さえ覚えておけばいいじゃん。
ポインタだとそれが4だったり6だったり8だったりするんだよ?おれはそっちのほうが嫌かなぁとか思うんだが。
167 肌寒い(関西地方):2011/01/02(日) 07:41:04.63 ID:kRgiheWT0
>>166
ポインタ自体にはアドレスしか入らないし
アドレスが何バイトかは環境によって変わる。

ポインタを通してメモリを読んだときに何バイト読むかは
宣言時の型によって変わる。
168 はっさく(石川県):2011/01/02(日) 07:44:58.41 ID:vW5hkqML0
>>167 プログラムザッと眺めたときに
その変数がその型のポインタってすぐにわかればいいんだけど、
大抵の場合この型なんだったっけと定義部に戻らないとわかんないでそ。それを一つ一つ記憶しておくのが煩わしい。

bin getbin(int adr)
みたいのだけでもよかったんじゃないかと。
169 肌寒い(関西地方):2011/01/02(日) 07:47:28.88 ID:kRgiheWT0
>>168
いやいや
そのアドレスの値が1バイトか2バイトか覚えるほうが大変でしょう?
170 ワカサギ釣り(東京都):2011/01/02(日) 07:53:49.90 ID:E0n52XZ10
>>168
それはポインタじゃなくてもこの変数の型なんだっけになるでしょ
ネーミングルールで決めるしかないな
ハンガリアン記法とか
171 スキー板(千葉県):2011/01/02(日) 08:09:29.45 ID:3GH7aTbaP BE:66993582-PLT(18000)
IDEの機能で変数の宣言なんてその場でポップアップですよ∠(`・ω・)/

そもそも、変数の型が分からなくなる、なんてのは
・ローカル変数のスコープがやたら広い(巨大な関数)
・グローバル変数の数が多すぎ
みたいな設計ミスが根本的な原因になってることが多いので、この辺りを気に付けていれば・・・
172 はっさく(石川県):2011/01/02(日) 08:27:52.74 ID:vW5hkqML0
うーん・・。アドレス入れるためのアドレス型(WORD値)があって、変数名adr〜って名前つけておけばいいだけなきがするんだがなぁ。
環境でアドレス指定に使うWORDサイズが違ってくるんだっけ?そのへんはシステム変数でも返してくれればいいし。
ポインタで1つ先読み込むってした場合に「その指し示す型」の分だけアドレスが移動するのは本当にプログラム理解の妨げになるきがする。
173 スキー板(千葉県):2011/01/02(日) 08:42:44.07 ID:3GH7aTbaP BE:226103696-PLT(18000)
実用言語の目指すべきところは、理解のしやすさより便利さでは

goっていう言語では、ポインタは >>172 の言うようなインターフェイスを持つけど
あり得ない程不便なんで、絶対必要だ!って時以外はまず使わない
(極力使うべきではないという思想があって、あえてそういう設計にしたんだろーけど)
174 はっさく(石川県):2011/01/02(日) 09:00:01.51 ID:vW5hkqML0
結局アドレス値ならアドレス値らしく+1したら、+1番地をキチンと指し示したほうがよくね?
+1して「指し示す型」の分だけ勝手にアドレス移動すんなと。
そんなもんは配列にまかせとけと。

「+1しろよ」「+1しときましたー」「おまえ+4してるじゃないか」「int型の1つ先なんで+4番地すすめたのですが・・」
「よけいなことすんなー」ってなんか新人の社員のいらぬお節介な気がしてならない。
175 肌寒い(関西地方):2011/01/02(日) 09:05:22.66 ID:kRgiheWT0
言っちゃ悪いが
そういうもんだと割り切らないと新しい言語習得できないよ。
新しい言語学ぶときは新しい概念を学ぶんだから。
176 スキー板(千葉県):2011/01/02(日) 09:19:53.07 ID:3GH7aTbaP BE:117239647-PLT(18000)
配列型よりポインタの方が早いし便利だし
各型のサイズは開発中に変化しうるし、組み込み型でも環境によっちゃ変わってくるから
その場その場で直接バイト数をハードコーディングするのは有り得ないし、
毎回sizeof(unko_t)とかするのもバカバカしすぎ
177 ワカサギ釣り(東京都):2011/01/02(日) 09:22:54.79 ID:E0n52XZ10
>>174
a + 1 を a[1] と記述すればいいだけじゃね、同じ意味だし
a[1]に+1しろと言った場合、まさか+4はしないだろ新人君でも、a[1] + 1とするかもわからんけど
a + 1で記述するがいかんな…と思うが
A->a と (*A).a も同じ意味だけど、後者はあまりお目にかからない
178 ホットケーキ(空):2011/01/02(日) 09:26:12.29 ID:x/936dYz0
その昔に初心者向けに流行った、ビジュアル・ベーシックはまだあるのか?
結局、ビジュアル・コンパイラとか発売されたのか?
  
179 オリオン座(愛知県):2011/01/02(日) 09:29:25.91 ID:XuwuPcyZ0
プログラマになりたくて、知り合いの人に聞いたら最初はWeb系の言語(PHPとか)から入ると変なくせがつくって言われた
だからC言語をついこないだから勉強してるんだが、これでいいの?
ちなみにC言語の勉強を軽く終えたらPHP入ろうと思ってる
はやくプログラミングのバイトでもしたいんだけど、どれぐらいのものが作れるようになってから応募すべきなんだろうか
180 肌寒い(関西地方):2011/01/02(日) 09:32:22.53 ID:kRgiheWT0
>>179
それでいいよ
181 山茶花(北海道):2011/01/02(日) 09:32:24.46 ID:vnc8zzIH0
いまどきCからやれっていうのは「新入りは球拾いからやれ」ってのと同レベルの根性論
182 スキー板(千葉県):2011/01/02(日) 09:36:29.22 ID:3GH7aTbaP BE:263788079-PLT(18000)
PHPから始めてればもう既に何か一つ作ってたと思うよ・・・
変なクセってなんだろう。もっと具体的に聞きたいなぁ
183 はっさく(石川県):2011/01/02(日) 09:37:14.25 ID:vW5hkqML0
>>177 そう。記述仕様の問題でもあるわけで。「ポインタ演算」なんて仰々しい名前つけてるけどやってることは
・「指し示す型の分×加減算された値」をアドレス指定先動かしてるだけ
・内部はアドレス値で保持
・+1しても内部値は+1とはかぎらない

なぜこんな仕様にしたのか理解に苦しむんだよ。
配列の添字上げたほうがよっぽど読みやすいし間違いも無いと思うのだが。

>>176 配列アクセスは遅いの?最近C触ってないからわすれてもうた。
184 肌寒い(関西地方):2011/01/02(日) 09:39:29.47 ID:kRgiheWT0
>>183
あなたはポインタが理解できないんじゃなくて納得できないんでしょう。
最初に学んだ言語が母国語になるっていうのはこういう事なんだよな。
185 スキー板(千葉県):2011/01/02(日) 09:45:55.01 ID:3GH7aTbaP BE:83742454-PLT(18000)
>>183
そもそもポインタには状態を持ったカーソルとしての機能があって、これがポインタのユースケースの大部分を占める(と思う)
配列でそれを表現するには+α(具体的には配列のカーソルとなる整数値)が必要 ==> 不便

またその場合、アクセス(a[i])するたびに「配列の先頭のアドレス+整数値*型サイズ」の処理 ==> 遅い
186 スキー板(千葉県):2011/01/02(日) 09:48:25.39 ID:3GH7aTbaP BE:83742454-PLT(18000)
何故か言葉が抜けた・・・
s/(?<=処理)/が発生/

あと、状態をもった、って蛇足でした
187 ワカサギ釣り(東京都):2011/01/02(日) 09:50:04.46 ID:E0n52XZ10
>>185
今時のコンパイラはどっちも一緒じゃないの?
188 シャンパン(catv?):2011/01/02(日) 09:50:43.13 ID:U6hw04hmP
>>179だが、プログラミングのバイトしたい
phpって奴でどれぐらいの物を作れたら応募する資格があるの?
189 ざざ虫踏み(東京都):2011/01/02(日) 09:58:03.28 ID:2FZy5MD00
e-commerce
190 肌寒い(関西地方):2011/01/02(日) 09:58:12.58 ID:kRgiheWT0
>>188
最初は掲示板とか作って
DBも学んで
webサービスを公開できるくらいになったら上等だと思う
191 足袋(チベット自治区):2011/01/02(日) 09:58:43.30 ID:kscccYyQ0
アセンブラの構文糖
192 スキー板(不明なsoftbank):2011/01/02(日) 10:02:53.94 ID:g8wRKrUOP
cは型がめんどくせーから。perlとかだとあんまり気にしなくて簡単。
193 ハンドクリーム(静岡県):2011/01/02(日) 10:03:26.33 ID:tgdMRUsZ0
ν速のプログラムスレは何ですぐにポインタの話で盛り上がるのか
194 ワカサギ釣り(東京都):2011/01/02(日) 10:03:27.89 ID:E0n52XZ10
しかし、C言語はカオスだね
A->a
(*A).a
A[0].a
(*(A + 0)).a
がすべて同じ意味
a + 1と書いてる奴のポリシーから言ったら
A[1].aは、(*(A + 1)).aと書くべきじゃね、と思ったりする
195 肌寒い(関西地方):2011/01/02(日) 10:04:46.25 ID:kRgiheWT0
添え字アクセスとポインタアクセスは厳密には違うと何かの本で読んだ覚えが
196 スキー板(千葉県):2011/01/02(日) 10:07:56.07 ID:3GH7aTbaP BE:150735694-PLT(18000)
>>187
コンパイラ最適化の勉強中の身ですがちょっと分からない・・・
アセンブリに明るい人いたら試してほしいぽ(´・ω・`)
197 ヨーグルト(東海・関東):2011/01/02(日) 10:16:11.64 ID:0Chlz8NqO
研究でMATLAB使ってるけどfor文書きまくりで激遅
どうすりゃ減らせるんだよ教えてエロい人
198 ホットミルク(神奈川県):2011/01/02(日) 10:21:06.49 ID:9W/jJubj0
最初にアセンブラ使ってればたいてい解決する問題だよな
199 牛肉コロッケ(愛知県):2011/01/02(日) 10:23:56.81 ID:iIU+2aWZ0
高校でCOBOL
大学でC
会社でVB

どうなってんだ俺
200 ワカサギ釣り(東京都):2011/01/02(日) 10:25:30.44 ID:E0n52XZ10
>>196
2.6.35.10-74.fc14.x86_64
gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC)
c99 -g -O2

void test(hoge *p)
{
p->i = 1;
400480: c7 07 01 00 00 00 movl $0x1,(%rdi)
}

/////////////////////////////////////////////////////////////
void test(hoge *p)
{
p[0].i = 1;
400480: c7 07 01 00 00 00 movl $0x1,(%rdi)
}

同じ様な気がするが…
201 ほうれん草(埼玉県):2011/01/02(日) 10:30:38.89 ID:qGGZ7gDc0
Cの勉強してるとハード側の電子回路・センサ・大学レベルの数学・モータ・通信の勉強
高速化・効率化のためアセンブラ(.section、disp、VBR等々)、コンピュータアーキテクチャ、RTOSとどんどんふかみに、嵌っていく。
202 雪うさぎ(神奈川県):2011/01/02(日) 10:30:43.38 ID:/BeJe2WW0
文字列ごときにポインタ必須な言語は初心者にはキツイ
203 ワカサギ釣り(東京都):2011/01/02(日) 10:33:00.32 ID:E0n52XZ10
>>200
Architecture: x86_64
CPU op-mode(s): 64-bit
CPU(s): 2
Thread(s) per core: 1
Core(s) per socket: 2
CPU socket(s): 1
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 16
Model: 6
Stepping: 2
CPU MHz: 2800.000
Virtualization: AMD-V
L1d cache: 64K
L1i cache: 64K
L2 cache: 1024K
NUMA node0 CPU(s): 0,1
204 ほうれん草(埼玉県):2011/01/02(日) 10:35:11.53 ID:qGGZ7gDc0
問.次の駄文を直せ


模範解答1
模範解答2
模範解答3

のような問題集ない?
205 チョコレート(神奈川県):2011/01/02(日) 10:36:30.54 ID:doKFSUu+0
perl -> PHP -> physon
processing -> java -> C#
Arduino -> C

これを2年間かけてやってりゃ大抵書けるようになるだろ。
206 きんき(東京都):2011/01/02(日) 10:39:07.29 ID:/MHQWD2P0
>>197
forをベクトル演算に書き換える
207 スキー板(千葉県):2011/01/02(日) 10:39:25.73 ID:3GH7aTbaP BE:50245834-PLT(18000)
>>200
ごめんなさい、説明が悪かったかも・・・

カーソルとしての使い方っていうのは、pの指し示す先を進めたり戻したりしつつ、アクセスも行うってことです
(配列インターフェイスでそれを行う場合は現在の指し示す先を保存する整数値変数が余分に必要に)

そのソースはかなり簡略化されているので(配列の添字が即値だったり)、上記のケースとでは最適化の結果は全く違うはず
208 肌寒い(関西地方):2011/01/02(日) 10:41:40.60 ID:kRgiheWT0
そうだそうだ
>>207の言うとおり
ポインタ→間接参照
添え字→間接間接参照
になるんだった
209 ニット帽(千葉県):2011/01/02(日) 10:42:26.89 ID:aev8qGiz0
>>197
ループ減らせよ
210 ほうれん草(東京都):2011/01/02(日) 10:44:38.62 ID:OTGZ34Rk0
Cでガリガリ書いたあとにPHP書くときの楽さは至高
211 日本酒(関東):2011/01/02(日) 10:50:55.21 ID:GelcRszbO
うちの大学は
Pascal → C → OCaml(選択科目) → Java
だった
212 ほうれん草(埼玉県):2011/01/02(日) 10:56:51.06 ID:qGGZ7gDc0
言語スレで、プログラミング言語は5つくらい知らないとダメとかいう奴いるが、JavaやPHPやってる余裕がない。
C/C++、アセンブラとハードウェアと数学(←PG趣味)と法律(仕事)の勉強で精一杯だってばよ。
213 三茄子(福岡県):2011/01/02(日) 10:58:41.95 ID:RcBHah7g0
>>212
法律の仕事って代書屋かなにか?
214 スキー板(秋田県):2011/01/02(日) 11:03:06.89 ID:FI97Njxu0
C言語系統最強
215 スキー板(中国四国):2011/01/02(日) 11:09:07.57 ID:MCnnFDYNP
期待通りの成果物がリリース出来るなら言語は何でも構わんだろw
プログラミング言語なんて作りたい物を作る道具に過ぎんのだからさ



そう思ってた時期が俺にもありましたわwwwwwwwwwwwwwww
量産工程向けアプリに出るφはねえだろwwwwwwwwwwwwww
216 お年玉(関西地方):2011/01/02(日) 11:11:33.58 ID:yragPJxO0
C・UNIX使いよりも、なんでもエクセルとVBAで作ってしまう奴のほうがすごいと思う
217 冬休み(dion軍):2011/01/02(日) 11:12:55.15 ID:tHYoyjs50
>>216
なんでそう思うの?
218 ほうれん草(埼玉県):2011/01/02(日) 11:13:24.49 ID:qGGZ7gDc0
>>213
代書。

専攻は物理学だった。
219 株価【3300】 三茄子(千葉県):2011/01/02(日) 11:16:28.10 ID:WIEwH9tJ0
VCが難しいからVBに逃げてた奴とか結構いたなぁ・・・
そいつらのほどんどは出来の悪い生徒だったが。
220 ミュージックベル(静岡県):2011/01/02(日) 11:19:00.01 ID:kc80lQ0v0
>>216
>C・UNIX使いよりも、なんでもエクセルとVBAで作ってしまう奴のほうがすごいと思う
前者は商売で、後者は趣味、あるいはツールって言う使い分けじゃねーかな?
221 タラバ蟹(静岡県):2011/01/02(日) 11:23:50.44 ID:uAWXYxAt0
basic→C言語→アセンブリ(x68000)と経験して
今はC言語オンリーだな
Visual C++8.0 EEで、しこしこソフト作ってベクターで公開している
222 冬休み(dion軍):2011/01/02(日) 11:28:45.17 ID:tHYoyjs50
>>221
ユーザーからの意見や糞雑誌の掲載申請とかどう処理してる?真面目に対応してる?

俺は、昔はvectorのダウンロード数に一喜一憂したり
カスみたいな雑誌に掲載されて喜んでた時期もあったけど
今ではどうでもよくなってユーザーのメールは全部無視してる
223 半身浴(関東・甲信越):2011/01/02(日) 11:30:04.52 ID:wLCeyTAcO
右も左も分からない初心者(俺)が柴田望洋の明解C言語入門編ってのを買って趣味の一環として試みようとしたら、もっと訳分からなくなった
入門編のくせにそもそもが分からん
何処に入力するんだ、アレ
224 タラバ蟹(静岡県):2011/01/02(日) 11:30:31.48 ID:uAWXYxAt0
>>222
まったく同じw
225 アイスバーン(福岡県):2011/01/02(日) 11:36:33.51 ID:K0gs2Jgl0
>>217
不便な道具をトリッキーな使い方をして想像以上のものを作る上げる人はすごいと思うよ
まねしたいとは思わないけどw
226 ゲレンデ(栃木県):2011/01/02(日) 11:40:58.80 ID:5lG9a9FP0
ぶっちゃけ>>1ぐらいならアセンブラで余裕っすよね
227 雪かき(チベット自治区):2011/01/02(日) 11:40:59.71 ID:79SZcK+A0
>>183
Cが開発された当時の主力アセンブリ言語がそういう仕様だからなんだよ。
Cが高級アセンブラと言われる所以。アセンブリ言語ラッパーしてるだけなんだから
32bit系CPU(MPUかw)の命令セット知ってれば当たり前、というか当然なんだけど

あんたが疑問に思ってるポインタのインクリメントまわりは
もろ母体となってるアセンブリ言語(32bit系)の仕様そのものだから
たとえば68000の間接アドレッシングあたりのインスト見りゃ理解できる
同様の理由でCに文字列型がないのも当たり前。アセンブリ言語仕様にないから
228 ミュージックベル(静岡県):2011/01/02(日) 11:42:40.28 ID:kc80lQ0v0
>>225
趣味で作るモンはナニやってもいいし、誰に見せるワケでも、
無いんで、作る時は楽しいさね。

商売で作るとなると「将来的には第三者が保守する」すなわち
「誰でもわかる」って言うキーワードが付くんで、オーソドックス
が好まれる。正確には標準化ってのに飲み込まれるw
229 ミュージックベル(静岡県):2011/01/02(日) 11:43:57.27 ID:kc80lQ0v0
>>226
制御の現場だと、この手のには「C」を使うことになるでしょうな。
230 ワカサギ釣り(東京都):2011/01/02(日) 11:43:59.79 ID:E0n52XZ10
>>207
こんな感じ?

void test(hoge *p)
{
p->i = p->j;
400480: 8b 47 04 mov 0x4(%rdi),%eax
400483: 89 07 mov %eax,(%rdi)
++p;
p->i = p->j;
400485: 8b 47 0c mov 0xc(%rdi),%eax
400488: 89 47 08 mov %eax,0x8(%rdi)
}

////////////////////////////////////////////////////////////////////
void test(hoge *p)
{
int k = p->j;

p[k].i = p[k].j;
400493: 8b 4a 04 mov 0x4(%rdx),%ecx
400496: 89 0a mov %ecx,(%rdx)
++k;
p[k].i = p[k].j;
400498: 8b 50 04 mov 0x4(%rax),%edx
40049b: 89 10 mov %edx,(%rax)
}
231 サンタクロース(広西チワン族自治区):2011/01/02(日) 12:06:31.95 ID:AxCVEkEnO
基本はObjectPascalなので基礎が身につき、最近の仕様変更でlisp系の要素を取り入れまくり変な方向にまっしぐらにC#やっとけ。
オブジェクト指向からアンセーフコード、ポインタに加え、最近話題のHTML5の基礎まで広く覚えられるので他言語にも対処できる体になる。
232 サンタクロース(広西チワン族自治区):2011/01/02(日) 12:10:27.82 ID:AxCVEkEnO
「C言語でプログラミングするには人生は短すぎる」
GNOMEの作者がMONOを発表した際にはなった一言。
233 聖なる夜(catv?):2011/01/02(日) 12:39:10.72 ID:MhhOB1//0
ポインタすら理解せずにコード書くから
スパゲティばっか生産するんだよ
迷惑だから辞めてくれ
234 ワカサギ釣り(東京都):2011/01/02(日) 12:40:09.85 ID:E0n52XZ10
>>230
下が正確じゃなかった…orz

0000000000400480 <test>:
400480: 8b 47 04 mov 0x4(%rdi),%eax
400483: 48 63 d0 movslq %eax,%rdx
400486: 83 c0 01 add $0x1,%eax
400489: 48 8d 14 d7 lea (%rdi,%rdx,8),%rdx
40048d: 48 98 cltq
40048f: 48 8d 04 c7 lea (%rdi,%rax,8),%rax
400493: 8b 4a 04 mov 0x4(%rdx),%ecx
400496: 89 0a mov %ecx,(%rdx)
400498: 8b 50 04 mov 0x4(%rax),%edx
40049b: 89 10 mov %edx,(%rax)

235 ほうれん草(埼玉県):2011/01/02(日) 12:47:34.64 ID:qGGZ7gDc0
>>234
趣味でやるとなると本やマニュアルの詳細さからルネサス系しか手が出せない。
236 足袋(千葉県):2011/01/02(日) 12:51:15.71 ID:Q/iUb7sP0
>>62
出版社でも行けば?
それか公務員。
237 焼きうに(北海道):2011/01/02(日) 12:52:17.16 ID:0+ZaDAIy0
>>1
#include<stdio.h>から書いてくれないと分かりません><
238 オーロラ(埼玉県):2011/01/02(日) 12:56:05.79 ID:BLygHO5s0
>>237
#include<stdio.h> いらないよ

#include<machine.h>
#include"iodefine"
のみとか
239 床暖房(内モンゴル自治区):2011/01/02(日) 12:58:51.88 ID:AxCVEkEnO
>>233
スパゲティはポインタ理解云々以前の問題だろ
もっと言えばコーディング以前の問題
240 ワカサギ釣り(東京都):2011/01/02(日) 12:59:10.25 ID:E0n52XZ10
>>237
libstdc++.soを使ってないんじゃね?
241 焼きうに(北海道):2011/01/02(日) 13:03:34.32 ID:0+ZaDAIy0
C難しすぎワロタ
242 冷え性(不明なsoftbank):2011/01/02(日) 13:06:15.22 ID:80jQIFJD0
>>239
んだね
まあデザインパターンを参考にするとポインタ使うことになるけどな
243 天皇誕生日(北海道):2011/01/02(日) 13:17:05.29 ID:OcHusw5P0
Cは速いからな〜
自由度高いし
244 スキー板(長野県):2011/01/02(日) 13:34:02.81 ID:nmi2aMwQP
まぁ趣味でプログラミングする分にはもうC言語なんてやる必要はないわな
本来やりたいことをする前にしなきゃいけないことが多すぎる
だけど本当に学びたいってのならCは理解しておいたほうがいい気がする
JavaとかC#とかポインタって名前は出てこないけどすべてがポインタ変数扱ってるようなもんだもんね
メモリの確保と開放も自分で扱った経験がないと最適なコードは書けんでしょう
245 はっさく(石川県):2011/01/02(日) 17:19:53.43 ID:vW5hkqML0
int ary[2]={100,200}
int *po;
po = &ary[0];
po++;

poが+1になるならわかるが、実際は+4されてるんだぜ?腹立つだろ。
246 真鴨(関東):2011/01/02(日) 17:22:53.27 ID:/5bcbhPpO
>>245
> int ary[2]={100,200}
> int

はいここでコンパイルエラー
247 はっさく(石川県):2011/01/02(日) 17:23:23.31 ID:vW5hkqML0
>>246 セミコロンぐらい追加しとけ
248 二鷹(広西チワン族自治区):2011/01/02(日) 17:27:09.37 ID:AxCVEkEnO
>>244
C#は明示的なポインタあるよ
Cでいうところのインラインアセンブラみたいな扱いでコンパイラオプションの初期値ではエラーになるようになってるけど
249 寒気団(東京都):2011/01/02(日) 17:28:23.55 ID:OKsGD1G60
>>245
>poが+1になるならわかるが、実際は+4されてるんだぜ?腹立つだろ
いやいやw
ポインタという形でアドレスを間接的に扱うけどさw
そこを否定したらC言語の意味ないじゃん
というかアセンブラ経験者なのか?

x86であっても奇数アドレスに2バイト以上のデータを置いて
レジスタに転送するとクロックが余計にかかるってペナルティあるのに

それにそこまでカツカツにメモリをやりくりすることはほとんどねーだろ
そこまでやりくりする必要あるのならそれこそアセンブラでやれって話だし
250 ベツレヘムの星(埼玉県):2011/01/02(日) 17:29:51.43 ID:8qu8Y8cP0
>>245
ポインタの型の意味がなくなっちゃうじゃん
251 ゆず湯(dion軍):2011/01/02(日) 17:33:34.07 ID:fC97GKdU0
今年24歳で色んな仕事転々とトライアル(3ヶ月)で回ってたんだけどIT土方になりたいのがやっとわかった

タイピングしか自信無い未経験だけど就職出来る?
252 寒気団(東京都):2011/01/02(日) 17:34:01.72 ID:OKsGD1G60
>>250
なんか石川の言い分ってその後の言語で開発効率を上げる仕組みにしたことを
全部否定してるんだよなw

俺もおっさんだけど頭固すぎだろ
C言語のポインタに関連する記述の糞さを含めても
いまさらアセンブラでシコシコ書きたくねえw
253 はっさく(石川県):2011/01/02(日) 17:36:12.14 ID:vW5hkqML0
+1って書いておいて実際には+4やら+6やら不定なのが堪らなく嫌なんだよ
それやるぐらいなら配列[1][2]・・・とアクセスしたほうが全然まし。
254 真鴨(関東):2011/01/02(日) 17:37:02.75 ID:/5bcbhPpO
>>252
> C言語のポインタに関連する記述の糞さ

そんなん感じたことないけどなあ。
255 雪かき(チベット自治区):2011/01/02(日) 17:39:44.50 ID:79SZcK+A0
>>253
おまえの頭8bitCPUだな
256 エビグラタン(東京都):2011/01/02(日) 17:39:45.07 ID:pSI6RNES0
変な奴だなw
型のサイズなんてコンパイラによって変る事もあるんだぞ
>>253みたいな事していたら、
ポインタのポインタとか扱い出したら訳判らなくなるぞ
257 真鴨(関東):2011/01/02(日) 17:42:29.30 ID:/5bcbhPpO
>>253
「ポインタ」を++すんだから、アドレス「値」の変動が
型に依存すんのは当たり前だし理にかなってるだろ。

お前の言ってるのは地下鉄やら私鉄やらで「駅番号を+1してんのに、
実際の距離や方向の変動が路線によって不定なのが堪らなく嫌なんだよ」

とか言ってるのと同じだ。
258 寒気団(東京都):2011/01/02(日) 17:42:41.47 ID:OKsGD1G60
>>254
コールバックの記述とかさw
少々のポインタならそれほどでもないけど
259 雪かき(チベット自治区):2011/01/02(日) 17:43:30.66 ID:79SZcK+A0
>>253
おまえのいうとおりにすると
その[1][2]・・・はエラーで[4][8]にしなきゃだめじゃん。
自分の言ってること破綻してんの気づいてないのか?
260 ベツレヘムの星(埼玉県):2011/01/02(日) 17:44:12.90 ID:8qu8Y8cP0
>>257
おぉ 分かりやすいな
261 真鴨(関東):2011/01/02(日) 17:45:13.31 ID:/5bcbhPpO
>>258
ああ、関数を引数にするときの記述の糞さとか?
しかも関数ポインタそのものを配列で扱う時の面倒さとか。
262 ポトフ(茨城県):2011/01/02(日) 17:47:25.33 ID:4znwyCyV0
iphoneとかアンドロイド向けのアプリ作ってみたいだけなんだけど
何を覚えればいいの?
webのperlかじった程度です;;
263 真鴨(関東):2011/01/02(日) 17:48:28.65 ID:/5bcbhPpO
>>260
書いた後に気付いたが、石川県の奴には
「地下鉄や私鉄なんかで、駅番号を+1」って概念が理解出来ないんじゃないかと思った。
いや、地下鉄や私鉄までは理解出来るだろうけど…。
264 寒気団(東京都):2011/01/02(日) 17:49:11.71 ID:OKsGD1G60
>>261
まあ細かいところでいえば変数と変数型ポインタを同時に宣言できるとかさ
後の言語ではクリアされてる分かり易さが無いってのは古い言語だけにあるね・・・

int a,*b;

↑これを認めたところが糞

int a;
int* b,c,d;//こう書くと全部int型のポインタ

↑こういう分け方をするべきだった
265 ベツレヘムの星(埼玉県):2011/01/02(日) 17:50:37.50 ID:8qu8Y8cP0
>>258
たしかにsignal()の宣言は最初わけわかんなかった
266 初春の喜び(鹿児島県):2011/01/02(日) 17:51:19.21 ID:l3vxNbx60
Cとかで ++表記にする理由ってなんなの? +1にするのとどう違うの?
速度?
267 寒気団(東京都):2011/01/02(日) 17:52:49.47 ID:OKsGD1G60
>>266
昔のギークの編み出した物だから気にするな

キータイプ減らしたいとか割とどうでもいい理由だからw

268 ヨーグルト(関東・甲信越):2011/01/02(日) 17:53:16.12 ID:j9e0kywfO
VBでどの程度のプログラムを作ったら一人前なのさ?
269 はっさく(石川県):2011/01/02(日) 17:53:45.28 ID:vW5hkqML0
>>266 アセンブラのinc命令でそ
+1だとさながらmovかLDでそ
270 寒気団(東京都):2011/01/02(日) 17:53:48.32 ID:OKsGD1G60
というかC#も最近のバージョンだとまた悪い癖じゃないけど手抜き方向へ向かってるんだよな・・・・
プログラマーというか開発に関わる人種の性だと思うw
271 真鴨(関東):2011/01/02(日) 17:54:26.92 ID:/5bcbhPpO
>>266
> Cとかで ++表記にする理由ってなんなの?

元々は、アセンブラ習得者が分かりやすいように、だろうな。
272 寒気団(東京都):2011/01/02(日) 17:55:29.22 ID:OKsGD1G60
>>269
いやいやw
最近はコンパイラの最適化で多分出力されるマシン語は一緒

昔は今ほどの最適化でないので違いがあったかもしれないが
+1じゃなく++にしたのはキー入力の手間だと思うw
273 エビグラタン(東京都):2011/01/02(日) 17:58:01.60 ID:pSI6RNES0
++i と i++ の使い分けなら
274 ポトフ(北海道):2011/01/02(日) 17:59:25.16 ID:HmLFaVAR0
遊びでFlash as3やってるんだけど、構造体と列挙型ないのがきつい
似たようなのはあるけどなんか気持ちわるいし、そもそも実体定義した後だしなぁ

ライブラリは色々揃っててすき
275 コーンスープ(dion軍):2011/01/02(日) 17:59:48.40 ID:ESoReSfd0
ちょとしたツールを作るには便利だぞ
繰り返し作業をコンピューターにやらせるとか
276 たら(チベット自治区):2011/01/02(日) 17:59:53.47 ID:gq0xL0Ed0
Cはいろんな意味でハード寄りなんだよ
バカが使うことを前提にしてる言語じゃないから、バカは使うなよっていうだけの話
277 はっさく(石川県):2011/01/02(日) 18:00:18.73 ID:vW5hkqML0
> x86であっても奇数アドレスに2バイト以上のデータを置いて
> レジスタに転送するとクロックが余計にかかるってペナルティあるのに

そういうハード仕様の進化も糞なんだよな。
糞の上で糞たれてるようなもん。
言語仕様なんで、どんなにその上で美しいプログラムを書いたとしてもそれは糞の上の糞の上の美しい糞でしかない。
278 真鴨(関東):2011/01/02(日) 18:00:41.64 ID:/5bcbhPpO
>>272
> 昔は今ほどの最適化でないので違いがあったかもしれないが
> +1じゃなく++にしたのはキー入力の手間だと思うw

いや、「アセンブラ命令への直接対応」というか、
「inc命令に対応する文か当然にあるべき」
っていうのが、言語開発当時としては当たり前の発想だったんではないかな。
最適化効率も違ってた可能性もある。
それどころか最適化って概念があったかどうか。

元々「アセンブラ使いが手抜きして楽をするため」の言語だし。
279 雪かき(チベット自治区):2011/01/02(日) 18:02:16.50 ID:79SZcK+A0
>>267
まあそれもあるけど>>269のようにアセンブラ命令も絡んでるように思う
68000だと-(sp)とか(a0)+の記述によって速度、サイズ的に有利だな
よって前置と後置も自然に必要となる。
またコンパイラによっては高速化になる場合がある。ターゲットCPUによるが
280 雪かき(チベット自治区):2011/01/02(日) 18:05:11.56 ID:79SZcK+A0
>>277
おまえ一生バス幅8bitだな
281 真鴨(関東):2011/01/02(日) 18:05:18.45 ID:/5bcbhPpO
>>277
お前は「駅番号を+1」って概念を理解してから書きこめ。
282 玉子酒(長崎県):2011/01/02(日) 18:05:33.62 ID:5TcklhE40

10 PRINT "ヴァカ"
20 GOTO 10
30 END

RUN


ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
ヴァカ
283 はっさく(石川県):2011/01/02(日) 18:06:16.09 ID:vW5hkqML0
>>281 アドレスをポインタ内部値としてつかわなくてもいいじゃん。
ちゃんとメートルで計ってつかえよ
284 エビグラタン(東京都):2011/01/02(日) 18:08:04.18 ID:pSI6RNES0
>>277
昔、使ってない内部RAMにプログラム置いちゃうような人達がいたらしいね
うん、清貧だと思う人もいるんじゃねーかなー(棒)
285 真鴨(関東):2011/01/02(日) 18:11:57.62 ID:/5bcbhPpO
>>283
> アドレスをポインタ内部値としてつかわなくてもいいじゃん。

バカだ。
こいつ本当にバカだ。

「アドレス値操作からプログラマを解放する」
「アドレス値を意識させずにアドレスを操作する」
ために考えられた概念が「ポインタ」の概念なのに、
「内部値にアドレス使うな」とかバカかマジで。
さすが石川県だな。

> ちゃんとメートルで計ってつかえよ

駅番号を+1の概念は理解出来たか田舎者が
286 スキー板(チベット自治区):2011/01/02(日) 18:13:02.64 ID:oBEsam0OP
趣味グラマならC#で十分だろ。
とにかく簡単だし。
287 エビグラタン(東京都):2011/01/02(日) 18:14:39.68 ID:pSI6RNES0
>>283
おまえ、型サイズがコンパイラで違う場合にどうするの?
あ、全部インラインで書いちゃうのかな?w
288 シャンパン(東京都):2011/01/02(日) 18:16:11.20 ID:Zt93/Uq+P
>>194
その例書くなら0[A].aもカオスな例として紹介するべきだろ。

>>264
後者の文法だと、関数ポインタとかどうなるの?
int *(*f)(), g;とかいうの。結局typedefでいいじゃん、って気がする。

そもそも演算子を宣言通りに適用すればint型の式になるという意味だから、
int *a, bに違和感を全く感じない。
Cの教科書でこれを教えてないからみんな勘違いしちゃうんだろうけど。
289 真鴨(関東):2011/01/02(日) 18:17:21.04 ID:/5bcbhPpO
>>286
だね。
VS2010EEとか無料で使えるし、使わない手はない。

C#って、ボーランドでdelphiとかC++builderの設計担当した人を
MSに引っこ抜いて作らせたと聞いたが本当かな。
なんか言語仕様とか開発環境の癖がそっくりだし…
290 はっさく(石川県):2011/01/02(日) 18:21:44.78 ID:vW5hkqML0
>>285 10番目の駅にアクセスするとき、
int ary[0];
ary[10]にアクセスするのと

int *po;
po=po+10;

するのと変わりないでしょう。(処理速度云々はうえで語られてたけど)
わざわざ10番目という情報を抜いた上で、自分の位置をわからなくして10番目だけを指し示すだけのポインタ
それも+10しても内部は+40される内部値、疑問をもたんのかね。
291 シクラメン(dion軍):2011/01/02(日) 18:23:42.12 ID:BmqcQ3H/0
>>289
ボーランドがリストラしたのを拾ったらしい。
292 寒気団(東京都):2011/01/02(日) 18:24:26.72 ID:OKsGD1G60
>>290
>それも+10しても内部は+40される内部値、疑問をもたんのかね。
持たない
そもそもそこまで必要ないというかそれを考える必要をなくしたのがC言語なんだし
その代わり型が重要だけど

というかいい加減あきらめろw
293 はっさく(石川県):2011/01/02(日) 18:26:09.83 ID:vW5hkqML0
>>292
> というかいい加減あきらめろw
お前はまだC言語という前世代の遺物にこだわってるのかよw
294 エビグラタン(東京都):2011/01/02(日) 18:26:16.64 ID:pSI6RNES0
>>290
数学苦手でしょう?
数字に単位がついていないと計算出来ない人なのでは無いですか?
295 ワカサギ釣り(東京都):2011/01/02(日) 18:31:20.85 ID:E0n52XZ10
>>254
糞だからC言語作ったおっさんが新しく作った言語はパスカル記述になってる
296 寒気団(東京都):2011/01/02(日) 18:31:54.98 ID:OKsGD1G60
>>293
いいやw
基本的に適材適所と思ってるし今はC#が主
297 シャンパン(東京都):2011/01/02(日) 18:34:06.95 ID:Zt93/Uq+P
Cは普通は使わねえわ。こんな危険で原始的で面倒な言語使いたくない。

しかしいちいちポインタを理解するのにアドレスなんて考える必要あるのか?
型にしたがって必要な演算をすれば必要な値を保存&取得できる程度でいいじゃん。
C言語がいろんなプラットフォーム向けにコンパイルできるように作られてる上でのルールなんだし。
298 真鴨(関東):2011/01/02(日) 18:35:14.24 ID:/5bcbhPpO
>>290
> int ary[0];
> ary[10]にアクセスする

うわあ…
299 ダッフルコート(北海道):2011/01/02(日) 18:37:12.61 ID:JsktFDtv0
C言語の入門書読んだんだけど、
コマンドプロンプトみたいなのにプログラム書くのはいいけど、
数字入力してもらって計算するツールとか作るにはどうしたらいいの?
300 はっさく(石川県):2011/01/02(日) 18:41:13.56 ID:vW5hkqML0
>>298 おっと定義がw
301 ワカサギ釣り(東京都):2011/01/02(日) 18:42:14.21 ID:E0n52XZ10
>>297
そもそも、C言語の仕様書にポインタはアドレスと定義されてないからな
ポインタはポインタなんだよ…
302 シャンパン(東京都):2011/01/02(日) 18:42:25.53 ID:Zt93/Uq+P
>>300
いやそれより[10]なのに10番目とか言っちゃってるのはなんなの
303 はっさく(石川県):2011/01/02(日) 18:43:01.48 ID:vW5hkqML0
>>302 わーたわーたよwすまんかったねw
304 ミュージックベル(静岡県):2011/01/02(日) 18:43:39.08 ID:kc80lQ0v0
>>284
>昔、使ってない内部RAMにプログラム置いちゃうような人達がいたらしいね
いや、制御ソフトだと今でも普通にやるぞw

例えばARM系には命令用にITCM、データ用にDTCMってのがCPU内部に
あって、この子っちは内部バスなんでアクセスがべらぼーに早い。

ここにナニを置くかで処理速度がずいぶん違うけど、サイズが小さい(型番で
違うが4Kb〜1Mb)んでかなり悩む。

iTronなぞを使うならOSコア、画像解析をやるなら画像解析処理、ってな感じ
で調整しながらあれこれ悩むんだ。

305 半纏(神奈川県):2011/01/02(日) 18:45:29.75 ID:fzXxTtN30
>>299
オペランド(演算対象)の数を入力してください。 (1+2+3-4 なら4)
オペレーター(+, -, *, /)を入力してください。
第nオペランドを入力してください。

GUI
ttp://www.amazon.co.jp/dp/4756136001
ttp://eternalwindows.jp/
306 寒気団(東京都):2011/01/02(日) 18:46:00.60 ID:OKsGD1G60
>>299
標準関数で待ちうけするか、exeの引数で指定するか
どっちかじゃね?
307 ダッフルコート(北海道):2011/01/02(日) 18:51:46.15 ID:JsktFDtv0
>>305
>>306
ありがとお、
VBAとかだったらExcelのセルに数字入力してもらうとかわかりやすいんだけど、
C言語てプログラム打つとこだけで、セルとかウインドウとかないのに、
普通のソフトとかどうやって作るのか疑問だった、
C言語でWindows APIというのを操作してソフトを作るということなのかな?

308 スキー板(東京都):2011/01/02(日) 18:52:36.13 ID:h7mUPaaKP
Fortranって廃れたの?
309 寒気団(東京都):2011/01/02(日) 18:53:54.28 ID:OKsGD1G60
>>307
>C言語でWindows APIというのを操作してソフトを作るということなのかな?
windowsであってもDOS窓のアプリで基本的な計算程度なら
標準関数で十分

windowsのウインドウとか作ってとかなるとC/C++の場合win32APIとか覚えないとだめ
310 エビグラタン(東京都):2011/01/02(日) 18:57:10.71 ID:pSI6RNES0
>>304
なるほどそれは普通に羨ましい技術
使ってる/使ってないの判断が難しくてさ…


>>307
実際的な事を言えば、開発環境について学べばいいと思うよ
APIだけで作るかMFC利用するかなども含めて。
C/C++覚えるよりある意味大変だと思うが

つか言語ってひとつでもマスターすれば
後はリファレンス見ながらだって書けると思うんだが
開発環境に慣れるのはそうはいかないかもで
311 ほっかいろ(チベット自治区):2011/01/02(日) 19:19:59.90 ID:cr/51u1D0
Cすら理解出来ないゴミ屑なんて存在価値無いだろw
さっさと業界のために死ねよ。
312 甘酒:2011/01/02(日) 21:09:40.65 ID:kVmv5bMP0
>>289
公私ともにC++Builder使いだった俺にとっては神のような環境
ボーランドとは違いドキュメント類も揃ってるしな
313 サンタクロース(広西チワン族自治区):2011/01/02(日) 22:53:09.45 ID:AxCVEkEnO
>>289
ボーランドの取締役会が創業メンバーを追い出して手下の開発ツール部門を取り潰し、全員リストラ。
そこへマイクロソフトが早速とあらわれ全員を再雇用。
慌てたボーランドはマイクロソフトを提訴。
訴訟の末、暴利でDelphiやVCLを売りつけたと思った。
314 シャンパン(東京都):2011/01/02(日) 23:31:47.92 ID:Zt93/Uq+P
>>312
でもExpression Editionだと色々と貧弱で面倒だな。
いい環境は金出さないといけないし…
315 焼きうに(チベット自治区):2011/01/03(月) 00:03:04.39 ID:OOZuDek20
>>1のコード見て速攻Arduinoだと分かった。が、ArduinoやるならCはポインタ以前まではやっとけ。
316 初夢(広西チワン族自治区):2011/01/03(月) 00:12:16.23 ID:2Hsh2NVvO
>>314
Expressでも他ツールよりは充実してる。
まあUltimeteのIntelliTraceは神の領域に達しているが。
317 ゴム長靴(東京都):2011/01/03(月) 01:09:10.48 ID:PUfl5A9S0
あげ
318 スケート(大阪府):2011/01/03(月) 01:28:42.59 ID:N+3cPGDhP
現在のMicrosoftは神。
319 ポトフ(大分県)
石川はもうアドレス直うちでやれよw