私の目標は、ソフトウェアアプリケーションの開発、そしてたぶんWebアプリケーションの開発ですが、デスクトップアプリケーションの開発に集中しています。私はC/C++にもっと慣れ親しむ道を踏み出していますが、それよりもはるかに低くする必要がありますか?あるいは私は長期的な目標のために利益をもたらさないでしょうか?組み立ての方言を学ぶ価値はありますか?
答えて
ダイレクトアプリケーションがない限り、おそらくそれほど多くの利点はありません。あなたが一般的な知識のために行くなら、C/C++は良い出発点です。
しかし、アセンブリのポーズは非常に面白く、作業を完了するためにはかなり異なる考え方が必要です。
TI-86電卓をプログラミングすることで、Z80アセンブリの学習に少し時間を費やしました。 Z80命令セットはかなり小さく、アセンブリーで電卓をプログラミングすることの新規性は非常に面白いです。
ticalc.orgは、TI assembly programmingに多くの優れたリソースを持っています。
私はASMの学習を開始しません。 C/C++を学びたいなら、それから始めましょう。コードの品質が成熟するにつれて、ASMの必要性があるかもしれません。あなたがしない時間の99%が、すべての今、あなたがそれを必要とするかもしれません。
また、C/C++が背後で何をしているのかを理解する上で、ASMを理解するのに役立ちます。しかし、やはり、あなたがより高度になるまで、あなたはおそらくそれを必要としません。
私はその時に私を助けたと思います。それはもう毎日私を助けませんが、私はそれがあなたの仕事に依存すると思います。
私はアセンブラをコモドールで学び、もう一度IBMメインフレームで大学で学びました。私はそれが私の現在の仕事に役立つとは言えません。
私はマークに同意します。私はそれがC#、VB.NET、または別の.NET言語で書くときにMSILを学ぶことに似ていると思います。これは、フードの中で何が起こっているのかを知るのに役立ちますが、あなたは働いているアプリケーションとそれを必要としないアプリケーションを作成することができます。
いいえ、楽しみにしたいのでなければ、実際にアセンブリを学ぶ必要はありません。
ドライバの作成、OSの開発、開発の開発などのように、アセンブリを知る必要があることがいくつかありますが、それ以外にも私は個人的にはそれを知らずに永遠に永遠にコードできると個人的に信じています。
あなたはそれを知っているよ、アセンブリを習得する必要がある場合 - 私はそれを学習のためにそれを学ぶないでしょう。..
アンマネージCの++を書いている場合、で知ることが時折非常に貴重です私は主にC/C++開発を行い、時には、コンパイラによって生成された機械コード表現に特有のエラーのためにプロダクションコードをデバッグする必要があります。その唯一の方法は、コンパイルされていないアセンブリを読み込み、コンパイラがそれを生成した理由を確認することです。
アセンブリの詳細については、質問:What is the best way to learn Assembly? Specifically, for someone who has experience in dynamic languagesを参照してください。
G'day、
私は私の選出を行ったときにPDPアセンブラを学びました。 Eng。 70年代後半の度合い。私が実際に使ったアセンブラの最後の方言には、4種類のメモリアドレッシングモードがありました。私が尋ねた最後の方言には17のモードがありました!
実際に学習者が実際にあなたに与えていることはわかりません。当時、私の選挙区ではCS流の本質的な部分でした。 eng。度。 C++私はただ座って、他のビットとC 『"それ自体ではなくてC++に近づくAccelerated C++"』を介して動作したい学習に関しては
。
Cに関しては、私はちょうどを通して働くだろう"C Programming Lanuage"の最新バージョン(別名)K'n'R
これが役に立てば幸い今
歓声、 ロブ
あなたは、ナノprogrmmingについて尋ねたい場合...( - :
"組み立ての方言を学ぶ価値はありますか?"
私は専門的にアセンブリをプログラムしました。ファクシミリとスキャナを実行しているM68k。また、WindowsのVxD(仮想デバイスドライバ)は、実際のカーネルを取得する3/3.1日前にWindowsに戻ってきます。
通常のソフトウェア-y種類のタスク(メモリのコピー、文字列の連結、割り込みハンドラの呼び出しなど)を行うためにアセンブリをコーディングすると面白いです。場合によっては、特定のプロセッサ上でできるだけ早く特殊なタスクを実行するために、Cコードによって呼び出されるアセンブリをコード化することがあります。それはプロセッサがあなたに与えるすべてのサイクルを活用する方法を探しているので、もっと面白いことがあります。あなたは、プロセッサのL1キャッシュの内容を気にします。キャッシュラインのヒットを避けるために、データをメモリに整列させることに気をつけます(私がこの用語を覚えていれば)。あなたはデュアルパイプラインプロセッサアーキテクチャを気にし、適切な順序で適切な2または3または4命令を使用して、1つのクロックティック(プロセッサのXgHzのHZの1つ)で2つまたは3つまたは4つのことが起こるようにします。
カスタムハードウェアを駆動するようにアセンブリをコード化すると、今度は16バイトのメモリバッファを満たし、DMA操作をセットアップし、そのデータをレーザープリンタドラムを駆動するようなコントローラ。ドラムは回転しており、停止することはできず、次の5秒以内に次の16バイトを望みます。もちろん、これはCまたはC++で行うことができます。しかし、例は無限です。
私は質問の最後の半分を切り捨ててしまうかもしれません。「組み立ての方言を学ぶ価値がありますか?」それを "それを学ぶ価値があるの?"
プログラミングを愛している場合、「価値」をどのように定義するかはプログラミングの魅力の一部です。その意味では、私はプログラミングで何かを学んだことはありませんし、それが価値があるとは考えていませんでした。たとえそれがあまり使われなくても。
同じ意味で、私はたぶん難しいことは学ぶべきであると言うよりも、それは価値があるということです。
しかし、ふわふわとした言い訳は、私はそれが少なくともある程度のアセンブリのバックグラウンドを得るには価値があると信じています。進んで、strcpy、memmoveなどの単純なstdlibルーチンを置き換えるアセンブリを書く方法を考えてください。そして、それらを最適化しようとします。
アセンブリはあまり難しくありません。 Cに精通したら、基本的なアセンブリを学ぶのに1日か2日かかります。デバッグの面での有用性は非常に高く、Cの速度に匹敵する速度で10,15、またはそれ以上の速度でコードを書くことが楽しいということです。
私は本当にこの質問に対する答えが非常に多いことに驚いています。私はあなたがする必要がありますアセンブリを学ぶ必要があります。
あなたの仕事の一環としてアセンブリを直接使用するとは思いません。しかし、あなたがそれを学ぶべきではないということから、それは続くものではありません。
学習アセンブリは、コンピュータ内部で何が起こっているかを教えてくれます。ソフトウェアが実際に何をしているのかを理解するのに役立ちます。
これは本当にプロフェッショナリズムです。あなたはプロのソフトウェアエンジニアになるつもりですか?または、コピーアンドペーストのハックになる予定ですか?確かに、後者は法案を支払うかもしれませんが、プロフェッショナルであることははるかに満足です。
"ナー、組立の勉強をしないでください"と私の耳に聞こえるのは、 "ここにブリッジを作るための料理書があります。ブリッジを作るために物理学や工学について学ぶ必要はありません。これらのレシピに従ってください。いいえ、結構です。
- 1. SharePoint 2007を学ぶ価値はありますか?
- 2. 別の言語[C++、C#]の代わりにAdaを学ぶ価値はありますか?
- 3. Ruby On Railsを学ぶ価値があります
- 4. Java APIを学ぶことは有用な取り組みです。それは他のものを学ぶのに役立つのですか?
- 5. 私はSymfony 3を知っているとき、Angular 2を学ぶ価値がありますか?
- 6. VB 6は今日学習価値がありますか?
- 7. 機械学習を学ぶ価値があるのは、今後のpegaツールの範囲は何ですか?
- 8. 1つのLispを学ぶことは他のものを学ぶのに役立ちますか?
- 9. 組み込みLinuxを学ぶためのヒント
- 10. Java Flickのチュートリアルを学ぶApache Flinkマシンはありますか
- 11. Flexを学ぶAIRベースのソフトウェアはありますか
- 12. 学習組立NUM機能
- 13. ウェブ言語を学ぶ
- 14. gradlew組み立て、
- 15. ヒューリスティックを学ぶ前に人工知能を学ぶ必要があります
- 16. WPFとSilverLight Designの学習価値があります
- 17. コードアクセスセキュリティ(CAS)について学ぶ必要がありますか?
- 18. どのLispの方言を学ぶべきですか?
- 19. 科学に役立つプログラミングプロジェクトはどこにありますか?
- 20. J2ME価値のある学習です
- 21. アンドロイド学習のためにXMLを学ぶ必要がありますか?
- 22. はWinAPIので組み立て
- 23. Arduinoを組み立ててプログラミングしていますか?
- 24. 新しい言語(C言語)を学ぶのに役立つ新しいブログが必要です
- 25. Pycharm:組み込みのデータ構造の宣言に行く方法はありますか?
- 26. MPS(メタプログラミング言語)は検討する価値がありますか?
- 27. SSRS SOAP APIをC#言語で学ぶ
- 28. 縫い目と溶接はJava 7で廃止されましたか?それはまだ春を学ぶ価値がありますか?
- 29. 私は組み立てがlibに
- 30. 組み込みの名前/値ペア属性はありますか?
あなたはZ80アセンブリの(サブセット)で自作のゲームボーイゲームを作ることもできます。 – James