System programming vs Application programming

System programming

什麼是System programming

撰寫管理外部各種硬體資源的System Software(e.g. operating systems, utility software, device drivers, compilers, linkers, and loaders.),做為上層的軟體可以操作底層硬體的介面,提供服務給Application Software使用。

所使用的程式語言

可以用來處理硬體的低階程式語言(e.g.  Assembly language、C )

相關知識大致包含了:

  • Operating System
  • Computer Architecture
  • Computer Hardware
  • Instruction Set Architecture
  • Assembly Language
  • Compilers
    ##著重的議題舉例
  1. 有效率地管理硬體資源,例如:
  • 多核心CPU之間的Concurrency
  • 記憶體的Garbage Collection機制
  1. 在硬體資源(例如CPU、Memory)極有限的情況下維持功能正常
  2. 將效能運用最佳化,可連帶改善以此為基礎的Application software的執行效能。

Application programming

什麼是Application programming

根據System software提供的服務,撰寫符合使用者需求的軟體。

所使用的程式語言

不需要直接處理硬體的高階程式語言(e.g Python, C#, Java, Ruby, Perl, JavaScript)

Software software VS Application software

  1. Systems vs. Applications Software

參考資料

  1. System programming
  2. System programming language
  3. System software
  4. Application software
  5. application program
  6. System Programming vs. Application Programming
Advertisements

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s