No.1
- 回答日時:
>アセンブリ言語で役立つことがあれば
アセンブラでプログラミングできる
>プログラミングの上達や理解を深めるためにアセンブリ言語を学ぶ意味はありますでしょうか。
あるけど? 無いでしょうね!
わたしは、もう30年以上プログラミングを仕事としていますが・・・
今でもアセンブラは使います
どうして必要なケースはあります
でも、C++でやることだってできます
でも・・・アセンブラで書く方が簡単だし・・・
昔なら、アセンブラだけでシステムを全て書きあげることだって
全然普通にありましたよ
目的の無い学習は続かないよ
世の中が必要とする知識が何か?
もう少し考えてみたら?
アセンブラが必須の世界は確実にあります
そこを目指すかどうかがカギかな?
時間は有意義に使うべきだと思う
ご回答ありがとうございました。
なかなか説得力のある回答です。
とても参考になりました。
>あるけど? 無いでしょうね!
よく考えてみれば、確かにないですね。
No.2
- 回答日時:
20年ぐらい前には最終的にどんなコードが出力されるのかを想像してコーディングするとかしてましたが、今は全然考えません。
パソコン黎明期には、速度をかせぐためにアセンブラプログラムをしたこともあります。
アセンブラを学んだことで得たもの
・おー、CPUってこんなことしてるのかー。と思った。
・おー、CPUって機種によって差があるんだなー。と思った。
・コンパイラに任せておくより、何をしてるかがわかりやすい。と思った。
・コンパクトなプログラムを作りやすい。当時はメモリの1バイトが貴重だった。
・ブロックで論理的パズルをしているみたいで楽しかった。
まあ、コンピュータに対する理解が深まるかもしれませんが、きょうび役に立つかどうかは、わかりません。
ご回答ありがとうございました。
参考にします。
>まあ、コンピュータに対する理解が深まるかもしれませんが、きょうび役に立つかどうかは、わかりません。
色々なサイトでアセンブラの必要性について調べてみたら、
今はあまり必要ないようですね。
コンピュータの理解は確かに深まるが、プログラミングの上達には繋がらないかもしれませんし・・・。
No.3ベストアンサー
- 回答日時:
意味はあると思いますよ。
アセンブリ言語ではポインタ(アドレス)を扱うことは必須ですから、確実にポインタへの理解は深まります。
また、1つ1つの命令を突き詰めていくと、コンピュータ(CPU)がどのようにして動いているかわかるようになります。
最終的にはメモリダンプ(16進数の羅列)でプログラムが追えるようになれます。
C++を知っているのでしたら、1度、プログラムを混合モードで表示してみてください。
C言語の1行1行の命令が、アセンブリ言語でどのように展開されているかを見ることができます。
ただ…
質問者さんがどれくらいのレベルの方かわかりませんが、僕はプログラミングの上達は単にたくさんの言語を知っていることとは決してイコールではないと思っています。
人がコンピュータで行いたいこと(自然言語で表現したソフトウェアの仕様)を、論理的思考を経て、プログラミング言語に置き換えていく「翻訳作業」がプログラミングだと思ってます。
論理的思考さえできれば、未経験の言語でも(最初のうちはマニュアルとにらめっこになりますが)プログラムは作れます。
逆に論理的思考ができなければ、できあがったプログラムは、読みづらい・異様に処理時間がかかる・ちょっとした例外ですぐにエラー停止する…など「できの悪いプログラム」になります。
もし、C++を学んであまり時間が経ってないのでしたら、もっと深くC++を勉強して、まずは論理的思考ができるようになってください。
別の言語に手を出すのはそれからで遅くありません。
ご回答ありがとうございました。
>質問者さんがどれくらいのレベルの方かわかりませんが、僕はプログラミングの上達は単にたくさんの言語を知っていることとは決してイコールではないと思っています。
『ロベールのC++入門講座』を全て読んで全て実践して全て理解したところです。
プログラミングの上達に関してたくさんの言語を知っていることは上達に繋がらないことは私も全く同じことを考えていました。しかも、そのことは最近感じて知ったばかりです。
>もし、C++を学んであまり時間が経ってないのでしたら、もっと深くC++を勉強して、まずは論理的思考ができるようになってください。
今後は『Effective C++』に挑戦するつもりですが、これを学んだからといってプログラミングが上達するかはどうか分かりませんが・・・。とりあえず挑戦します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 日本語 意味とは何か? どこにあるのか?(Ⅱ) 4 2022/04/21 13:35
- 日本語 <準体助詞>「の」という誤り 25 2022/05/02 13:04
- 大学受験 大学の志望理由です。訂正するとこはありますか 私が貴校を志望する理由は将来、英語に携わる仕事に就きた 6 2023/08/08 15:14
- C言語・C++・C# C#のSystem.Windows.Media.Colorに関する質問です。 3 2022/05/18 11:51
- 日本語 言語学を自然科学と混同する誤りについて 1 2022/04/23 15:23
- 哲学 大規模言語理論といふもの 4 2023/04/30 09:47
- AI・ロボット 大規模言語モデル(LLM)といふもの 1 2023/05/02 07:24
- 日本語 折口信夫「死者の書」の中の「ひとり語り・独り語り」という言葉の意味についてお聞きしたい 1 2023/05/17 00:22
- 留学・ワーキングホリデー 大至急!! 1 2022/09/19 19:42
- 日本語 「が」についての叩き台です。ご感想をお聞かせください。 93 2022/09/29 14:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
過剰なオブジェクト指向脳から...
-
16x16のスプライトフォント
-
本格的なWebアプリを公開する時...
-
Pythonって何を意識した言語な...
-
プログラミング未経験者(殆ど未...
-
オブジェクト指向プログラミン...
-
プログラミング初心者です。 Wi...
-
vba クリップボードクリアにつ...
-
chatGPTで次々と質問をしていく...
-
家庭のパソコンで Python の 環...
-
CLispのloop内の挙動について
-
昔のパソコン少年の武勇伝「店...
-
GoogleAppsScript文字列置換の...
-
sublimit textっていうエディタ...
-
最新のプログラム言語を学ぶに...
-
初心者powershellのPS1ファイル...
-
プログラマーと学歴の関係性に...
-
pythonにてseleniumを使うも、...
-
Google ColaboでGUI作成
-
そのまま使っただけなのに・・...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ものづくりに向いているプログ...
-
電化製品って何言語?
-
昔のゲーム製作に使用する言語...
-
コンピュータ言語とプログラミ...
-
アセンブリ言語からC言語への変...
-
パチンコやスロットについて
-
割り込みベクターをC言語で書...
-
コンパイラーとアセンブラの違い
-
プログラミングを突き詰めて考...
-
アセンブリ言語を学ぶことは意...
-
Windowsはいったい何言語で書か...
-
各行のあるカラムのデータを抽...
-
これらのプログラミングで使う...
-
瞳孔に合わせて動くパソコン。...
-
フローチャートを書く書かない
-
パソコンについて詳しくなりたい
-
今はマシン語は使わないんですか?
-
0xffffとは?
-
エクセルVBAのIf,Then 構...
-
8ビットのデータの、先頭ビット...
おすすめ情報