アセンブラ言語やマシン語は覚えておくべきですか?

1仕様書無しさん
垢版 |
2009/06/12(金) 19:54:03
c言語だけ、理解していれば、プログラマーとして、大丈夫なのでしょうか?
2009/06/13(土) 17:28:14
>>31
いや、当時は覚える範囲がすごく狭いから
プログラマーのスキル=どれくらい深く知ってるか=アセンブラ等のハードよりの技術
みたいな感じだった。今は目的に適した言語、ツール、書き方等、スキルの方向性も変わってきてる。
アセンブラを憶えると希少価値は上がるけど活用する場面は少なかった。俺の場合。
そのうちUVパイプやらRISCやらアセンブラに直訳するだけでは高速化すら難しくなり、今は必要なら読む程度。
同じ労力で>>1が別言語覚えるのと迷っているならそちらを進める。
2009/06/13(土) 17:46:36
9801以外の奴はBASICとマシン語しか選択肢なかったようなもんだからな
2009/06/13(土) 17:48:15
ちょっと前に誰か偉い人が
僕らの時代はC言語を覚えなきゃならないのが不幸だったとか言ってたな
個人的に技術追求するんじゃなかったら特定の高給言語だけできればいいんだよね
2009/06/13(土) 18:17:43
Cを覚えたくないのに覚えなきゃならないから不幸だった、とかいう人は
そもそもプログラマに向いてない。
逆に、今の若い人は、Cもアセンブラも不要なので、習得が難しく、
ソフトウェアの本質を知らないまま突き進んで気の毒だと思うけどね。
2009/06/13(土) 18:30:41
Cやアセンブラがソフトの本質ぅ?
2009/06/13(土) 19:04:31
>>35
最初がいきなりC言語だと挫折する人の方が多いから
そもそもソフト作れる人がほとんどいなかったって意味だろ
2009/06/13(土) 19:18:03
ソフトを作れる人を減らしていかないと
俺の仕事がなくなる
39仕様書無しさん
垢版 |
2009/06/13(土) 19:41:58
>>34
んなこたーない。

今は一つのシステム作るのに複数の言語・複数のプラットフォームを
使うのは当たり前になってきてる。
昔と違って「C言語さえできればプログラマとして一人前」みたいなことは無くなった。
2009/06/13(土) 20:11:46
客の要求に応じたシステムを作れれば言語ひとつしか出来なくても一人前だと思うんだが。
複数言語使い分けてなんてのは技術者側の自己満足でしょ。
アーキテクチャやってる人なら複数言語使ってみて比較して使い分けてってのは必要だろうけど。
2009/06/13(土) 20:44:01
客の要求に応じたシステムを安く作るために、いろんな言語を使うんだよ。
一つの言語でやろうっていう方が、技術屋の自己満足。
2009/06/13(土) 20:59:35
>>35
それで仕事になるなら知らなくてもいいことを知らないのは気の毒とは違うんじゃないかな
2009/06/13(土) 21:18:13
いろんな言語使わんよ実際は
やったとしても上級PGがせいぜい似た感じの言語を2つ3つやる程度
例えばJavaとPHPとか、VBとVCとかみたいな
もちろんSQLやBASHやHTMLは1言語と数えないでね
2009/06/13(土) 21:55:09
だから業種によって様々だから。
言い切れるおまいらが異常だよ。
2009/06/13(土) 22:00:03
沢山覚えてて当たり前なのか、必要な人だけ沢山覚えればいいのかって話じゃないの?
複数の言語を沢山覚えるのが当たり前ではないって反論なだけでしょ
そりゃいくつもの言語を使い分ける必要がある人はいるだろうよ
2009/06/13(土) 22:22:51
いや、言語一つだけでPGやっていけるっていう方が珍しいと思うぞ。
COBOLとかの特殊な世界は知らんが。
2009/06/13(土) 22:31:10
半数以上のPGは言語1つ2つでやってると思うが、
そんなにいろんな言語をやらんといけない業種って何?
CとC++とMakeとshellとSQLで5言語と計算とか無しな
2009/06/13(土) 22:41:15
WEB系だけどJavaとPHP以外は壊滅してるから殆ど使わんな。
ってかその中でもPHPが殆ど。
業界ではレアケースだったのかこれ。
2009/06/13(土) 22:50:58
業務系の請負でもライブラリはCのインタフェース触らないといけないものがあって、UIはJavaで運用スクリプトがPerlだったりするが。
もちろんSQLとshくらい普通に知ってる感じで。

あとは案件によって時々ABAPとか付いてきたりか。

仕事が来てから必要に応じて勉強しても間に合う話しなので
どうってことは無い事だけど。
2009/06/13(土) 23:09:13
アセンブラ必要なのは組み込み系だけじゃね?
業務系とかWEB系は高級言語レベルで動作が保証されればハードに近い所が何やってんのか知る必要無いからな。
2009/06/13(土) 23:11:07
WEB系の仕事するときでも、Java,PHP,JavaScript(AS含む),Rubyくらいは出てくるなぁ。
(一つのプロジェクトで全部使うわけでもないけど)
マスタメンテなどの管理アプリ欲しいっていわれればC#あたりで作ることになるし、

会社としてはWEB系以外の仕事も請負ってるんで、そっちはまたべつの技術使うし。
2009/06/13(土) 23:42:34
おれも情報処理技術者試験のCASL勉強したけど全然覚えてない
でも先にこれやっとくとCのポインタが理解しやすかったと思う
2009/06/14(日) 01:02:37
つまり複数言語を沢山使う人は、みんな無駄に改行を入れるということですね。
2009/06/14(日) 01:15:10
引数をスタックでわたすかレジスターで渡すかの違いがわかるのは大きい





わけねーだろ!
55仕様書無しさん
垢版 |
2009/06/14(日) 01:28:29
知識はただじゃない
けど、オープンソースが僕の技術力を高めてくれた
プラマイ0
2009/06/14(日) 01:49:37
>>51
そんなバラバラで作っちゃって、メンテナンスどうしてんの?
同じ言語や環境で揃えて、誰か辞めてもメンテナンス出来るようにしないと
のちのち面倒くさいだろ。
二次受けで元請けの言いなりみたいな会社だったらそうなのかもしれないけど、
自社開発の所は環境揃えるもんだぜ。
2009/06/14(日) 02:19:27
>>56
言語が違うくらいでメンテナンス不能になるようなことはないって。
新人でも一ヶ月くらいで新しい言語使えるようになるから。
2009/06/14(日) 03:13:51
言語よりコンピュータで何ができるかわかってる方が大きい。
Cでもjavaでも.NETでもちょっとしたアプリなら誰でもできる。

でもスレッドをつかったプログラミングとか、異機種間通信で文字コードの違いを
頭に入れて作らなきゃいけないとかはまた別次元の問題。

大切なのは前者より後者
2009/06/14(日) 06:02:38
一ヶ月やった程度の新人に、動いてる客のシステムいじらせるとか正気ですか。
2009/06/14(日) 08:15:51
バラバラの言語で作っていたものを社内で統一するってことはよくあるね。
うちもJava,PHP,Perl,ASPってあったけど、一部の大規模なのをのぞいて、
新規案件は基本PHP+Symfonyに統一になった。
Webの場合は、言語の使い分けって技術者の自己満足でしかないんだよね。
HTML出てくればそれでいい。
61仕様書無しさん
垢版 |
2009/06/14(日) 08:50:27
>>59
結局、その程度の規模なんでしょ。
10万ステップ級の業務プログラムとかいじることはないでしょ。
所詮、使い捨てプログラムレベル
2009/06/14(日) 09:07:51
小規模システムを作り切りで納品するだけの下請なんじゃね
だからメンテナンスは考えないで、
目新しい言語に次々手を出すと
63仕様書無しさん
垢版 |
2009/06/14(日) 09:14:26
>>62
怖いよね。そーゆー会社。
プログラムが使い捨てってことは、それを作っているプログラマも使い捨てにできるってことに気づいたら、さっさと転職考えるよな
2009/06/14(日) 09:50:11
> 10万ステップ級
すいぶん小規模なんだなw
2009/06/14(日) 09:58:52
>>64
ひとつのファイルが10万ステップだお
2009/06/14(日) 10:03:15
それは拷問だ
67仕様書無しさん
垢版 |
2009/06/14(日) 10:30:27
>>64
でけぇよ
厨房はひっこんでろ。
OSですら500万STEPだぞ。
業務系で10万STEP規模なら、相当なもん作れる
2009/06/14(日) 10:33:38
>>59
お前の会社は、新人に仕事投げっぱなしなのかな?
69仕様書無しさん
垢版 |
2009/06/14(日) 10:35:35
>>67
どうせ1000ステップ20ファンクションくらいのプログラム作成に1ヶ月くらいかけている素人でしょ。
10万ステップ、医療系ならレセプトシステムが作れるな
2009/06/14(日) 10:38:50
>>59
ちゃんとテストして動けばだれがつくっても同じだろ
2009/06/14(日) 10:48:47
>>65
>ひとつのファイルが10万ステップだお

1行に平均40バイト書かれてると仮定すれば、ファイルサイズは4メガバイト足らずか。
そんなソースコードが存在してる時点で会社のレベルが知れるね。
新人をいれるとかいれないとか以前の問題だと思うぞ。
2009/06/14(日) 10:50:42
保守できないじゃん。
2009/06/14(日) 10:54:00
業務系には蛙がたくさんいるようだな
2009/06/14(日) 11:04:14
アセンブラが出来ない奴らがスレ違いの話を延々とw
2009/06/14(日) 11:15:25
>>74
もうその話は結論でたからいいじゃん
2009/06/14(日) 11:23:41
結論出てんのなら、このスレ終了でいいじゃん。
なにスレ違いな話を延々としてんの。
2009/06/14(日) 11:25:49
>>76
>>1 読めよ。
>c言語だけ、理解していれば、プログラマーとして、大丈夫なのでしょうか?

この問いに何と答えるのか
2009/06/14(日) 11:30:42
>>1への答えとしては
「まずその前に、日本語をもっと勉強しましょう」。
2009/06/14(日) 11:44:58
Cを理解してるっていってもねえ。
理解してると思ってるのは自分だけって奴もいっぱいいるしな。
static関数のプロトタイプ宣言をヘッダに書くみたいな狂ったことして
「Cわかります」って威張られても笑っちゃうだけだよ。
関数のポインタが嫌でifをずらずら並べたり、プロトタイプ宣言がわからなくて
ボトムアップ順で関数記述したり、ローカルでしか使わない関数なのにstatic
つけなかったり、分割コンパイルがよくわからないから1個のソースに何でもかんでも
入れたり・・・「なんちゃってCプログラマ」は無数にいるよ。
2009/06/14(日) 11:47:25
>>78
は?>>1の日本語のどこに問題あるんだ?
2009/06/14(日) 12:17:13
>>80
日本語ネイティブは、あんなに読点を打たない。
2009/06/14(日) 14:33:08
ま、アセンブラの次にcは最後まで生き残る言語だからな。
コンピュータという機械がある限りアセンブラは存在し、
アセンブラが存在する限りcは存在する。
2009/06/14(日) 16:49:29
>>82
それはフォンノイマン型コンピュータの話だろう。
いずれちょびっツに出てくるようなパソコンが主流となる。
そうなれば機械語は終わりだ。
2009/06/14(日) 16:56:17
>>83
生きてるうちにちょびっつが完成したらいいなー
無理だろうなorz
2009/06/14(日) 18:36:05
>>83
intelがあの調子じゃ今世紀一杯(あと91年)は無理だろw
2009/06/14(日) 18:45:21
アセンブラぐらいマニュアル見ながら読めるのが普通だろ。ユーザーレポートのレジスタ値見ても障害解析できねーじゃないか。

何も上級シスアド受かれとか言ってるわけじゃないし、基本だけ知ってれば何とでもなる。2日で覚えれるさ。
2009/06/14(日) 18:50:26
C言語「覚えた」の基準は、構造化やモジュール結合度の概念が身についてないと何の意味もないよね。
2009/06/14(日) 20:34:04
>>85
つまりドラえもんの時代まで待てということか
2009/06/15(月) 23:07:49
簡単なアセンブラぐらいできないんだったら、
プログラマやめたほうがいいだろ。
アセンブラでアプリ1本作るというのなら、大変だけど。
90仕様書無しさん
垢版 |
2009/06/16(火) 08:12:49
>>67
 >> OSですら500万STEPだぞ。

君ねー、OS書いたことないの、バレバレだよーん。
その君の言ってるOSって、まあ、基本的なドライバは
含めるとしても、ExcelやWordは入ってないよな?(笑)
2009/06/16(火) 10:04:26
つーか、マイコンやれば簡単な電子回路も学べるし
アセンブラも学べるしドライバが何やってるかもよくわかるし
PCだけやってても技術者にはなれない
2009/06/16(火) 10:35:19
>>65
糞ソースwwwwwwwwwwwwww
2009/06/16(火) 22:37:58
つーか、自分でCPU作ってCコンパイラを作らなければいいんだよ
2009/06/16(火) 22:39:55
>>54
> 引数をスタックでわたすかレジスターで渡すかの違いがわかるのは大きい
> わけねーだろ!

組み込みだと結構気にしますが。
関数の第一引数はint型であれば、レジスタ渡しを優先的に選択するマイコンとか。
知らないと損をすることがあるので違うマイコンをはじめて使う時は
このあたりのことから勉強してます。
2009/06/16(火) 22:47:52
>>94
それはマイコンがどうとか言うより、そのマイコンのCコンパイラの癖じゃないのか。
9694
垢版 |
2009/06/16(火) 22:49:59
>>95
> >>94
> それはマイコンがどうとか言うより、そのマイコンのCコンパイラの癖じゃないのか。

そうですね正確にはそういうことです
2009/06/16(火) 22:57:48
-O -fomit-frame-pointer -fforce-register
ってやれば出来るだけスタック渡ししてくれるでそ
2009/06/16(火) 23:01:17
まちがえた 出来るだけレジスタ渡し、ね
99仕様書無しさん
垢版 |
2009/06/17(水) 02:45:46
組込みマイコンでもGCC使えないのは、もうモチベーション出ないな。
2009/06/17(水) 02:50:16
GCCがあってもむしろアセンブラでガリガリ書きたい石もある。
ColdFireとか。
101仕様書無しさん
垢版 |
2009/06/17(水) 04:47:33
>>1

アセンブラはプログラマーとして必需言語です。
主にSIMDを使った最適化や、難読化に使います。
102仕様書無しさん
垢版 |
2009/06/17(水) 05:29:38
>>65
10万ステップの内、実際実行されるステップ数が1000行で残りはゴミとか容量気にしないアホが作るとこうなるんだな
あとオブジェクト指向言語から始めた奴なんかも容量まったく気にしてないしな
携帯500万行っていってっけど、ゴミがわんさかwww
103仕様書無しさん
垢版 |
2009/06/17(水) 08:00:33
アセンブラなどは、大工で云えば「カンナ使った面仕上げや、カナヅチ使った釘打ちの技など」だよ。

今の住宅建設では、ほとんど使わないだろ。
工場で面仕上げ済みだし、釘は電動釘打ち機で打つ。
プレハブ方式で、ユニットを組み上げるイメージで建設してる。
だから、ド素人に近い大工でも使えてる。

ソフト業界も似たことやってるよな。
素人の若いの集めて、生産性の高い最新言語を即席で教え込んで
バカスカとアホなコード粗製濫造して、何とかシステムを完成に持ち込んでいる。

やっぱ、カンナも使えない釘打ちもできないじゃあ、大工じゃないよな。
細かな調整や裏技のためには必須だろ?
2009/06/17(水) 10:08:02
>>103
きわめて同意。
なんだか自分たちが頑固オヤジになった気分だなあ。
でも、ほんとうに速度やメモリ効率を重視される時が来たら、出番があると信じてるが。
105仕様書無しさん
垢版 |
2009/06/17(水) 10:08:21
昔話 まだ仮想記憶でなかったメインフレームの頃

初心者〜低レベルプログラマーの書くCOBOLプログラムが原因不明のアドレスエラーで
落ちるケースが続出した。
ソースを読むと、一見落ちる理由がない。
あるとすればテーブルの添え字がゾーン形式であることくらい。
ま、やってみよう、とその添え字をパック形式やバイナリー形式に直すと、OK。
初めのうち首をひねった。落ちないプログラムもあるのだ。

落ちたプログラムのオブジェクトリストを出して追跡してみて、ようやくわかった。
FILE-CONTROLの4番目以降に記述したファイルのフィールドに対してゾーン形式の
添え字を使うとレジスターのやりくりがつかなくなって落ちるということ。

すぐにメーカーに現象を連絡し、各プログラマーにはゾーン形式の添え字を使うなと厳命。

仮想記憶コンピューターが入った頃転勤したので、その後どうなったかは知らない。
2009/06/17(水) 15:04:32
コンパイラも同時進行で作ってるような出来立てのホヤホヤの石とかで
新規で構築するとかなら、アセンブラ必要だな。
2009/06/17(水) 17:26:20
マシンの性能が良くなり、メモリもいくらでも使える時代なんだから
アセンブラなど不要。

…と思ってる馬鹿はおらんか?w
108仕様書無しさん
垢版 |
2009/06/17(水) 17:47:20
新しい石ができれば最小限誰かがどこかで機械語を使わなきゃならんのだがな
2009/06/17(水) 18:10:15
新規の石はむしろコンパイラの不具合が出切ってないから、実地で修正でバッグしなならん。
コンパイラの吐き出すコードが正しいかどうかを検証する事もしばしば。
2009/06/17(水) 23:55:09
オープン系のもれにはなんで枯れたコンパイラがあるCPUを使わないのか
不思議でならない。
2009/06/18(木) 01:44:21
>>110

組み込みだとそういう理由でハードを選定しないからかと。
大概、基盤の搭載性とかコストでほぼ決まる。
11299
垢版 |
2009/06/18(木) 03:07:12
組込制御系だけど、>>110みたいな理由でGCCの使えない案件(石)は
もうヌルーすることにしてる。GCCだけでなく、gdbやmakeも含めて。
石に依存した新しいIDEの突っつき方ばかり次々と憶えるのが馬鹿らしい。
アルゴリズムやOS, TCP/IPとかのプロトコルの使いこなしをマスターする
方が学習コスト/パフォーマンスが良い。

>>103
>工場で面仕上げ済みだし
今は工場も派遣のド素人がツールやライブラリ作ってるんだぜw
それをド素人の派遣SEにOOPで組立てさせるorさせたことにする
などという粗製乱造に拍車が掛かってる。
2009/06/18(木) 07:17:16
>>104
>でも、ほんとうに速度やメモリ効率を重視される時が来たら、出番があると信じてるが。

組込では無いが、マルチスレッドで作ることを強制される時代が近いはず
高級言語でも俺達の持つ枯れた知識の出番も近づいていると思うんだけど。


あ、異動してPGではなかったonz
2009/06/18(木) 07:25:18
マルチスレッドなんてもう使いまくりでしょ業務系は
2009/06/18(木) 09:04:51
DBとかのミドルウェアでは使われてるだろうけど、業務系プログラミングではほとんど使ってない。
というか、使う場面が無い。

>>113
並列処理の知識って、あまり広まってなくね?
教科書とか論文とか読み始めてはいるが。。
2009/06/19(金) 00:16:08
組込制御系でも、32bitの石を使うような案件だと、
もうマルチスッドレぐらい使いまくり。
空ループ禁止とか、mutexやセマフォなんかの排他/同期
手法ぐらい理解しといてくれ。
2009/06/19(金) 04:03:53
>>114
なんかのサーバープログラムではマルチスレッドなしでは無理。
でもクライアント画面とかにマルチスレッドが必要?
2009/06/19(金) 08:36:29
>>117
クライアントでもストレスない操作性を実装しようと
思ったらマルチスレッド使うよ。
何かするたびにユーザーを待たせてもいいなら使わないけどね。
2009/06/19(金) 18:20:34
マルチスレッドなんて使わなくても、実装方法一つで幾らでも解決できるのにね。
2009/06/19(金) 18:46:28
でもマルチスレッドのほうが楽でしょ?
2009/06/19(金) 18:50:08
目的による。
マルチスレッドにするコストってのはあるからなぁ
むしろ単にループを工夫するだけで目的達成できればそっちの方が楽なのはある。
2009/06/19(金) 21:32:30
>>110
このページには聞いたことないCPUの名前がいっぱい出てくる
http://it.nikkei.co.jp/mobile/news/index.aspx?n=MMIT0f000017062009&landing=Next
2009/06/20(土) 00:44:28
全部ARMだろう。
2009/06/20(土) 06:00:03
モバイルはだいたいARMかSHの互換だな
全く独自ってのはまずない
2009/06/20(土) 07:06:27
>>117
PC-機器とのタイマー監視アプリとかで必要でね?

2009/06/20(土) 08:35:55
リアルタイム性が重要なのはマルチスレッドにしてプロセス数上げるより
シングルスレッドで安定性重視なんじゃないのか
2009/06/21(日) 22:01:12
>>126

いまだにRTOS乗ってない案件やってます。
2009/06/23(火) 16:06:39
OSの不要な組み込み機器はいっぱいあるぞ。
だいいち、RTだけが必要でOS部分なんて不要なんだよな
2009/06/24(水) 08:41:47
っていうかOSがあるほうがめずらしいだろ
2009/06/24(水) 13:08:56
>>129
そこまで言うと無知丸出し
2009/06/24(水) 14:01:59
ちっこいのしか相手してなきゃそうなるんでないかい。

俺も自前マルチタスクモニタ持ち出す方が多いかもしれん。
最近はめっきり減ってしまったが…
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況