トップページ⇒tech
981コメント262KB

36歳のオッサンがC言語を始めたいのだが・・・

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/10/18(日) 21:02:46
無謀な事だと思いますか?
0348デフォルトの名無しさん2009/11/24(火) 02:10:42
メッシーじゃないの?
っていうかいつの死語だよw
0349デフォルトの名無しさん2009/11/24(火) 03:48:14
以上馬鹿が送る馬鹿スレでしたー
0350デフォルトの名無しさん2009/11/24(火) 05:19:19
おれはアナログな技術者であったが、32〜33位から始めたよ。
Cは理解できるようになってインラインアセンブラとかもわかるようになったんだが、
どうもC++やその他の高級言語はよくわからん。
きっと概念ってやつだな。
抽象化されすぎて、メモリ上にどのように配置され方とかレジスタをどう使うとかが、
よく見えなくて何となく気持ち悪く感じるんだ。
Cができれば潰しが聞くなんて聞いたからCを覚えたんだが、
潰しが効いて潰されてしまったのだろうか?
0351デフォルトの名無しさん2009/11/24(火) 09:32:03
>>350
先が危ないのは高級言語しか扱えない連中。こっちの方がずっと使い捨てになる可能性が高い。
Cなら、スクリプト言語を組み込んだり拡張したりできるし、そういう点でも潰しが効くんじゃない?
不安ならschemeやら関数型で高階関数あたりを学んだり、squeakで遊んで概念を学べばいいよ
0352デフォルトの名無しさん2009/11/24(火) 10:34:09
でも時代が求めているのは高級言語でさくさく作れる人間なんだよ。
低級言語もできて高級言語もできないとだめ。どっちかなんてだめ。
0353デフォルトの名無しさん2009/11/24(火) 12:38:08
>>352
同意だが、低級言語ができない奴は、ちょっと想定外のことが起きるとお手上げになるからな。

> メモリ上にどのように配置され方とかレジスタをどう使うとか
こういう知識は、高級言語でさくさく作るためにも必要だと思うよ。
0354デフォルトの名無しさん2009/11/24(火) 17:05:46
そして36歳くらいになるとプロジェクトマネジメントもできないとだめ
0355デフォルトの名無しさん2009/11/24(火) 23:14:07
> そして36歳くらいになるとプロジェクトマネジメントもできないとだめ
なんでこういう意見がでてくるんだろうな。
エンジニアリングとマネジメントは全く別物だよ。
優秀なエンジニアは必ずしも優秀なマネージャに非ず。
また逆もしかり。
こういう意見が出てくる辺り、情報産業すらも理系軽視っつうか、文系支配なんだって実感するな。
0356デフォルトの名無しさん2009/11/24(火) 23:19:15
>>353
だからどっちかだけじゃだめって書いてるだろ
これだから低級言語厨は使えないんだよ。
0357デフォルトの名無しさん2009/11/24(火) 23:37:40
>>355
単純に、ずっとエンジニアで生きていくのは難しいって話だろ。
アンドリューハントとかトムデマルコの本を引用するまでもないよな。
0358デフォルトの名無しさん2009/11/24(火) 23:37:58
>>356
だから同意だと書いてあるし、低級言語のみでおkなんて書いてないだろ。
何が気に入らないのかわからんが。
0359デフォルトの名無しさん2009/11/25(水) 01:24:45
>>350だが、確かに両方できないと考え方が偏るね。
俺はアナログなハード設計者でもあるから、ハードよりの考え方になってしまう。
でも理想はハードもソフトもわかることが望ましいが、常人には無理な話なので、
ぼちぼちできるところまでやっていくつもりでいる。
そういった天才をたまにみるが、どういう頭の構造なんだろうか?
感心してしまうよ。

>>354
というのはわかるのだが、みんながマネージメントできるわけではないよな。
船頭多くして船山に登るということわざがあるくらいだし。
適材適所というところかな。
でも日本の社会は出世=マネージメントっていう流れが必然的にあるので、
何歳くらいなったらマネージメントができないと・・・となるのかもしれない。

最近はマルチプロセッサの勉強をやってわかってきたのは、
いかにコアを効率よく動かすか≒いかに部下をうまく動かすか?
となんかにているなあと感じているよ。
もっとも部下の場合はファジーな面があるから、難しいけどねぇ。




0360デフォルトの名無しさん2009/11/25(水) 01:38:13
> ファジー
「1990年代に入り、人間の思考や行動にある曖昧さをを取り入れた家電製品が登場。こうした製品が話題になる中でファジーという言葉も流行した。」
0361デフォルトの名無しさん2009/11/25(水) 02:06:16
ファGメン
0362デフォルトの名無しさん2009/11/25(水) 19:58:18
おまえらって本当にレベル低いな・・・
0363デフォルトの名無しさん2009/11/25(水) 22:13:08
>>362
お前も似たようなもんだろww
0364デフォルトの名無しさん2009/11/26(木) 00:49:08
掲示板に書ける程度のことで、相手のレベルなんてそうそう判断できないだろ。
たまに>>362みたいな明らかな低レベルはいるとしても。
0365デフォルトの名無しさん2009/11/26(木) 06:59:22
レベルが高い低いっていうのはどういうことだ?
0366デフォルトの名無しさん2009/11/26(木) 08:10:57
Hello WorldをC言語で書ける→レベル高い
ヘローワールド?そんなのできるんだ?すごいね→レベル低い
0367デフォルトの名無しさん2009/11/26(木) 13:37:11
アセンブリ・C野郎→レベル低い
VB厨→レベル高い
0368デフォルトの名無しさん2009/11/26(木) 20:40:11
http://pc12.2ch.net/test/read.cgi/tech/1200989025/
0369デフォルトの名無しさん2009/11/27(金) 00:47:58
だいたい10年もたつと、技術がごっそり変わる
既に廃れたAPLなりBASICなり。
今の主流なんてものも10年経てば、記憶からも消えるだろと
今は手続き型言語が主流かもしれないけれど、
もうあと5年もすれば、それらは関数型に変わってしまうような。
そんなで30過ぎてからもエンジニアをやれるのか?
生き残れそうなのは、アセンブリやCでパフォーマンスを必要とするものを開発できる連中
それか、OCamlなんかで開発できる極一部
そうでないなら、転職先を考える方がずっと幸せだろうって思うんだ
0370デフォルトの名無しさん2009/11/27(金) 00:52:39
そもそも新しい技術を追っかけるのが好きじゃなかったら
この業界にいること自体が苦痛だろ。
0371デフォルトの名無しさん2009/11/27(金) 01:10:05
新しいものを追っかけるのは良いが、そういう連中は既存の概念をどれだけ理解してるんだ?
同じようで表記だけ変わったようなものいくつも学ぶことが苦痛でないならよほど頭が悪いな
そういう連中は使い捨てだったり土方っていうじゃないか?
若い連中にやらせりゃいいんだよ。年とったら経営にでも回って指揮しろっての
0372デフォルトの名無しさん2009/11/27(金) 01:20:03
          __,,/  _, ----`ヽ  :.
     :.  / _     ___   、\
       / /   i      \   \\ :.
     :. ,'./       i  ヽ:.   ヽ:.:.. ヽ.ヽ
      ,'/    / .ハ ヽ ヽ:.:.:.:. ヽ::.. ヽヽ :.
     :. |i .i i  .i /  ヽ ト 、 \、:.:.:. ',:.',:.:.lヽ}
       |i .i l  :N_, -弋 \弌弋ナ:}:.:}
    :. |i∧ ', :{ ,ィjモト \  イjミトイイV :.  な…
       .|  :メヽ.', `ozZ}      izN。ハ::{     なんなんだよもん?
      :. |  :ヾ_! ゝ "゙゙    '  `゙ ハ.:', :.   ここ、どこだよもん?
      |  :.:_イ .:.ヽ.   (二フ , イ :.:.:!:.ヽ     なんであたし
   :.  / rィイ | :.:.ヽ: >r/`<ノ .:.::.}ヽ、\:.   貼られたんだよもん?
      / ∧l;l ! :.:.:.://{二 ̄ .} ..:..::リ//ハ.:\
 :.  / .{. ',ヾ、ヽi .:.:.{ /(^`  |.:.:.:.//: : :.}: . ヽ.:.
   / /  ) ヽ ヾ、ヽ:.ハ ヤ{   ∧/.-‐'": : |:.:. i ',
  ./ .,イ .:..} : :\ヾレ'ハ ∧__ノノハヾ、  : : : l:.:.: .ハ ',
  { /| .:.:ハ : : :i Y {ヾ`Yヽニン'ノ}: : } : : : :/:.:.:/ }:.}
  V | .:.:/:.:|_,ィ' ̄  ヽ三{ `ー-ノ : イ : : :/:.:i.:{  リ
    ヽ:.:{、.:.V     : : ヘ     : : {: : :/:.::∧|
     ヽ! )人    : : :人      : : : / \! :.
      "  ヽ : : : : :/イ{     :.ノ: : : :.\ :.
       :.  \__///: :\______/: : : : : : : ヽ
           / //: : :|;|: : : : : : i: : : __: : : : ',
       :.     / 、 {;{   |;|   . : i/. : : : : : :|
          / `Y;{. . . .|;|. : : : /i: : : : : : : : :l
0373デフォルトの名無しさん2009/11/27(金) 02:03:10
なぜ今関数型が取りざたされてるかわかってる奴がいないからな。
関数型言語でHelloWorld書いてご満悦。
0374デフォルトの名無しさん2009/11/27(金) 02:09:54
>>371
お前レスに独特の雰囲気があるな
十万行だろw
0375デフォルトの名無しさん2009/11/27(金) 02:51:17
>>371
いいわけはいいから新しい技術についてこいよ、おっさん。
知識ポートフォリオもできねーなら、この業界にいる意味ねぇだろ。
0376デフォルトの名無しさん2009/11/27(金) 02:57:51
>>371
同意できるのは最初の1行だけだな。

> 同じようで表記だけ変わったようなものいくつも学ぶことが苦痛でないならよほど頭が悪いな
おまいさんが違いを理解できないだけじゃないのか?
おまいさんは俺と同年代かも知れんが、あまりみっともないレスはやめた方がいいぞ。
0377デフォルトの名無しさん2009/11/27(金) 03:00:22
デスマーチの冒頭でハインラインの小説が引用されてただろ。
楽しくない仕事なんかやめちまえよ。w
0378デフォルトの名無しさん2009/11/27(金) 08:05:01
関数型は結局流行らないと思う
0379デフォルトの名無しさん2009/11/27(金) 08:09:26
最近関数型言語が5年後に席巻するという書き込みを良く見かけるんだが
なぜココへ来て急にそんな話が出て来たのか
0380デフォルトの名無しさん2009/11/27(金) 08:47:12
ttp://www.sponichi.co.jp/entertainment/flash/KFullFlash20091124129.html
0381デフォルトの名無しさん2009/11/27(金) 09:04:24
http://www.gizmodo.jp/2009/11/1515.html
0382デフォルトの名無しさん2009/11/27(金) 09:12:08
http://sankei.jp.msn.com/life/education/091124/edc0911240243000-n1.htm
0383デフォルトの名無しさん2009/11/27(金) 09:33:01
>>371
>いくつも学ぶことが苦痛でないなら
苦痛だと思ってるのは「学ぶ」と捉えているからであって、
ふつーは学んでるつもりもなく覚えるものだろう。
つまり君にはこの仕事は向いてない、ってことだ。
0384デフォルトの名無しさん2009/11/27(金) 10:13:57
それはそれで大きな武器の一つだな。
その尻拭い的な仕事が回ってくる人には気の毒だが。
0385デフォルトの名無しさん2009/11/27(金) 22:46:27
>>383

しかし、所詮人が作った規則を糞マジメに覚えてどうする?

あ...、仕事か。ご苦労
0386デフォルトの名無しさん2009/11/28(土) 00:49:06
>>379
C/C++/Javaに比べて並行処理を記述しやすいと考えられてるからかな。
おれは必ずしも関数型だから並行処理を記述しやすくなるわけじゃないと思うけどね。
CやJavaに制限をつけてシンプルなフレームワークをつくればそっちのほうが開発効率いいと思う。
0387デフォルトの名無しさん2009/11/28(土) 01:27:18
STLのvectorとか面倒すぎ。高階関数ぐらい用意してくれ。
0388デフォルトの名無しさん2009/11/28(土) 01:33:36
たいていはこのレベル
0389デフォルトの名無しさん2009/11/28(土) 01:36:52
C#が一番!
これ以上はない
0390デフォルトの名無しさん2009/11/28(土) 02:16:44
boostとか、パッとみただけでもキモすぎ。あんなもの使うぐらいなら素のCの方がマシだって思った
趣味でなら絶対に使わないようなレベル。滅んでしまえ
そして、日曜グラマ間では関数型がはやらんかしら。
その辺の汎用スクリプトなんかよりも速度出るみたいだし、何より表記が美しい
0391デフォルトの名無しさん2009/11/28(土) 08:18:31
あれが美しいとかw
0392デフォルトの名無しさん2009/11/28(土) 09:03:19
.netに依存しないC#が出来たらC++は終わるだろ
0393デフォルトの名無しさん2009/11/28(土) 09:57:09
いちいち書き直せるスケールでしかプログラムしないのか
0394デフォルトの名無しさん2009/11/28(土) 20:57:11
>>387
>>390
無理してSTLやBoost使わなくてもいいかと。趣味であればマイナー言語使っても誰も文句言わないしな。
バグが出ない限り。

>>388
言語やライブラリにとらわれなくなるってのはある意味重要だと思うが、
コレクションライブラリのインタフェースが扱い辛すぎるのは勘弁してほしいよ。
しかも扱いにくさを矯正するためにラッパー書いて使うと遅くなるのはもっと勘弁してくれ。
0395デフォルトの名無しさん2009/11/29(日) 05:04:11
大丈夫、40で始めた。
関数中に&を付ける・付けない、と a=(float *)b の表現の使いかたが
イマイチよくわからん以外はなんとかなっている。
ストラクチャは使わない。a->b って変な書き方で気に入らないので。
0396デフォルトの名無しさん2009/11/29(日) 05:24:07
それは大丈夫というものなのか
0397デフォルトの名無しさん2009/11/29(日) 06:20:27
趣味でやるならなんでもいいんじゃない?
0398デフォルトの名無しさん2009/11/29(日) 07:01:05
a->bがいやなら(*a).bって書けばいいじゃない。
0399デフォルトの名無しさん2009/11/29(日) 07:48:01
Fortranメインなので・・・・細かい事は慣れているFortranにやらせて、
Fortranで具現しにくいのをCで作ってコールしたりその逆にしたり、という使いかたが多い。

・・・正直賢くないやり方だ。C文法を頭に叩き込んでいる訳ではないので
Cの部分はコンパイラに怒られるまで正しいのか間違えているのかすらわからんし。
0400デフォルトの名無しさん2009/11/29(日) 08:02:51
C++はほとんどCのスーパーセットなので
C++習得 ⇒ C覚習得
という気がする

0401デフォルトの名無しさん2009/11/29(日) 08:26:15
C ⇒ C++
はあっても
C++ ⇒ C
はない
0402デフォルトの名無しさん2009/11/29(日) 10:03:24
Cはちゃんと理解して使わないと危険な言語だよ
動いてるように見えて動いてなかったり
0403デフォルトの名無しさん2009/11/29(日) 11:04:30
>>400-401
TeX LaTeX のようなもの?
>>402
危険だよね
0404デフォルトの名無しさん2009/11/29(日) 11:33:11
別に危険じゃないよ
0405デフォルトの名無しさん2009/11/29(日) 13:25:51
じゃあ、安全な言語ってなに?
0406デフォルトの名無しさん2009/11/29(日) 13:40:47
VB
0407デフォルトの名無しさん2009/11/29(日) 15:43:43
まず、なにが安全なのかの定義… (ry
0408デフォルトの名無しさん2009/11/29(日) 16:02:14
Cはポインタの使い方に危険性がある
C++は中途半端なオブジェクト指向性に危険性がある
0409デフォルトの名無しさん2009/11/29(日) 16:26:50
ポインタの使い方のどこが危険が指摘できないようではぬるぽとかわらん。
中途半端なオブジェクト指向が何を指してるのかどこが危険かも不明。
0410デフォルトの名無しさん2009/11/29(日) 16:41:18
int* p;
p=(int*)0xF2DD14A2;
*p= 123456;

ほら、メモリかってに書き換えられるなんて危険!
0411デフォルトの名無しさん2009/11/29(日) 16:48:54
>>410 乙
そしてたいていの場合2行目のようなコードは
プログラマの知らないところに紛れ込んでいる
0412デフォルトの名無しさん2009/11/29(日) 16:51:12
わざわざそんなことする奴はなにやってもだめだろ。
わかりやすい例も出せないのか。
0413デフォルトの名無しさん2009/11/29(日) 16:53:38
>>412
知らない間にやってるから危険
0414デフォルトの名無しさん2009/11/29(日) 16:54:34
Javaで
Object o;
o = null;
とやるのとどこが違うんだ。
0415デフォルトの名無しさん2009/11/29(日) 16:55:25
int *p = (int *)0xC7D9CEDF;
*p = 0xB6DE;
0416デフォルトの名無しさん2009/11/29(日) 17:08:57
    ┏┓┏┓          ┏━━━━━━┓  ┏┓  ┏━━━━┓┏━━┓
    ┃┃┃┃          ┗━━━━━┓┃  ┃┃  ┗━━┓┏┛┃┏┓┃
┏━┛┗┛┗━━━┓  ┏━━━━━┛┗┓┃┃  ┏━━┛┗┓┃┗┛┃
┃┏┓┏┓┏━━┓┃  ┗━━━━━━┓┃┃┃  ┗━━┓┏┛┗━━┛
┃┃┃┃┃┃    ┃┃  ┏━━━┓    ┃┃┃┃  ┏━━┛┗┓
┃┃┃┃┃┃┏━┛┗┓┃┏━┓┃    ┃┃┃┃  ┃┏━┓┏┛
┃┃┃┃┃┃┃┏┓┏┛┃┃  ┃┃    ┃┃┃┃  ┃┃  ┃┃
┃┗┛┗┛┃┃┗┛┃  ┃┗━┛┗━━┛┃┃┗┓┃┗━┛┃
┗━━━━┛┗━━┛  ┗━━━━━━━┛┗━┛┗━━━┛
0417デフォルトの名無しさん2009/11/29(日) 18:32:59
>>414
Javaだとユーザが把握できるレベルまで抽象化されたObject-instanceに
対する処理しかできないから安全.これこそがOOPの利点.
君の例も「Object である o を null に初期化する」ことが明白だろ?
Cのポインタは,ユーザが把握できるレベルまで抽象化されているとは言い難い
平坦なメモリ上のアドレスに対して読み出しや書き込みができてしまうから危険.
一見平坦なメモリだがその上に複雑なデータ構造が載っていて,決して使っては
いけない滅びの呪文もあるの.だからいつも暖炉の裏に隠して結婚式の日にしか
0418デフォルトの名無しさん2009/11/29(日) 19:19:19
>>395
それでやりたいことは足りてるんだろうが、ゴミレベルだぞ。
0419デフォルトの名無しさん2009/11/29(日) 19:41:10
なんて悪い話をしてんだ・・・
0420デフォルトの名無しさん2009/11/29(日) 20:05:42
プロテクトかけたりするときに
一見データのようにみせかけて
実はコードだとか
そういうプログラム書くには
Javaは適当ではない
0421デフォルトの名無しさん2009/11/29(日) 20:11:32
>>417
勝手に代入できるからって言う説だったからそれならnull代入するのと変わらないって反論。
つまり例が適当ではないという指摘。代入できること自体はJavaでもそうだし、
実際問題として自由にアドレスが入れられるからといって危険というわけではないだろってこと。
0422デフォルトの名無しさん2009/11/29(日) 20:14:50
>>414-416
がっがっがっ
0423デフォルトの名無しさん2009/11/29(日) 20:17:15
まあ、オブジェクトのシリアライズとかがサポートされていれば、
一般用途には必要はあまり無いだろうが、OSやjavaを動作させるための
ランタイムを書くためには必要になるわな。
0424デフォルトの名無しさん2009/11/29(日) 20:21:56
使える人間がいなければ使えない。
そして使えるようになるという努力を怠って停滞している。
それだけだと思う。
0425デフォルトの名無しさん2009/11/30(月) 12:33:13
配列の範囲外にアクセスして簡単にメモリぶっ壊れるようなのが
Cの欠点だと思う人はCを使わなきゃいい、それだけの話
0426デフォルトの名無しさん2009/11/30(月) 12:41:12
配列の範囲外アクセスは欠点だと思う。
0427デフォルトの名無しさん2009/11/30(月) 14:11:27
Cは入門どまりだね。極めるなら奥の深いVB。
0428デフォルトの名無しさん2009/11/30(月) 14:13:12
もうすぐ36だけど、電子回路からHDL、ASM、C、Java、VB、などなど
なんでもできるので36歳からはじめるのはお勧めしない
0429デフォルトの名無しさん2009/11/30(月) 14:20:03
いや、36歳でも適性があれば、全体の過半数を占める底辺プログラマを
超えることはできる。
>>428のような奴に追いつくことは難しいにしても。
0430デフォルトの名無しさん2009/11/30(月) 14:21:07
適性が合って小さい頃からやってるってのは最高の条件だから、普通の奴が抜くのは難しいね
でも、そんなの何でも同じじゃないか。
0431デフォルトの名無しさん2009/11/30(月) 14:29:32
それは最低条件だと思う
その条件を満たす奴は日本には掃いて捨てるほどいる
0432デフォルトの名無しさん2009/11/30(月) 14:31:21
>>427
うむ。
VBでデバッガを書けるくらいまで極めないとね。
Cでデバッガを書くなんて温すぎるね。
0433デフォルトの名無しさん2009/11/30(月) 14:34:56
>>431
クラスに一人はいたよね。電子工作&PCオタク。
0434デフォルトの名無しさん2009/11/30(月) 14:37:27
>>431
うむ。
だけど、その条件を満たす層が日本の技術者人口に占める割合は半分以下のような。
文系卒、入社までプログラミング経験なし、研修期間は長くて1ヶ月なんてのが
いっぱいいるし。
0435デフォルトの名無しさん2009/11/30(月) 16:14:26
>>426
可変長構造体で

typedef struct {
int len;
char fuga[0];
} hage;

hage *h = (hage *)malloc(sizeof(hage) + 123456);
h->len = 123456;

みたいな使い方したことないのか?
0436デフォルトの名無しさん2009/11/30(月) 16:22:31
>>435
読んでないけど

無い!
0437デフォルトの名無しさん2009/11/30(月) 18:00:17
まあ履いて捨てるほどの一人になればいいんでしょ
0438デフォルトの名無しさん2009/12/01(火) 01:23:47
>>435
これは自分で領域を確保しているから、これって>>426がいっている意味と違うよね?
たぶん>>426がいっている意味は、h->fuge[123461]とかにアクセスできてしまうという意味だと思うぞ。
でもメモリを直接操作できるのはメリットでもありデメリットでもあるな。
パフォーマンスを出すには有効だけど、バグの温床になりかねないし、機種依存にもなるし。
0439デフォルトの名無しさん2009/12/01(火) 07:15:38
うん。範囲外アクセスはポインタでやればいいと思うんだ。
配列は範囲外アクセスはエラーにして欲しい。
まあ、その分パフォーマンスが落ちるんだろうが
ま、今は他の言語を使えばいいだけだからどうでもいいんだけどね。
0440デフォルトの名無しさん2009/12/01(火) 08:51:12
配列だろうとヒープだろうと、ポインタに変わりないのが
C の長所であり短所。
0441デフォルトの名無しさん2009/12/01(火) 15:08:53
ポインタって
アセンブラのアドレッシングモードそのものだからな
0442デフォルトの名無しさん2009/12/01(火) 15:27:00
概念上ほとんど同じだがそのものではない
0443デフォルトの名無しさん2009/12/01(火) 17:17:37
ポインタ演算は正しく使用する ――C/C++セキュアコーディング入門(2)
http://codezine.jp/article/detail/4619
0444デフォルトの名無しさん2009/12/01(火) 17:24:03
よつばと!
0445デフォルトの名無しさん2009/12/01(火) 17:38:17
1年待ってあっという間に読んじゃうな、よつばと!
0446デフォルトの名無しさん2009/12/01(火) 17:50:02
こえでおしごと!
0447デフォルトの名無しさん2009/12/02(水) 01:02:55
ポインタよりもテンプレートが意味不明
0448デフォルトの名無しさん2009/12/02(水) 16:09:58
意外と年寄りが多いんだね

国内ソフトウェア開発者、約 7 割が 35 歳以上
http://slashdot.jp/it/09/12/02/0252221.shtml
■ このスレッドは過去ログ倉庫に格納されています