回覆列表
  • 1 # 宜時合不

    首先兩者的設計初衷就不同。Java從設計伊始就是以安全和高效開發為重的;而C++脫胎於C,是作為系統級語言而設計的,它的設計始終以高效能為底線,在高效能的前提下提高開發效率。如果大家讀過std的原始碼,就知道前輩們是多麼了不起,個人認為jdk更是直接借鑑了很多C++標準模板庫的開發思想和經驗。

    為什麼C++開發效率低?個人覺得是因為對程式設計師要求高導致的,首先為了效能,必須給與程式設計師更高的許可權,高許可權意味著高風險;同樣為了效能,C++把更多的責任丟給了程式設計師,最簡單的就是介面引數的校驗,通常C++底層介面是不負責引數校驗的,交由上層負責,而最經典的例子就是記憶體的管理,在C++中記憶體完全由程式設計師控制。這些就對C++程式設計師有更高的要求才能開發出穩定和高效的程式。

    而Java從設計初就假設程式設計師是不穩定因素,所以儘可能限制程式設計師的許可權,也儘可能幫程式設計師完成基礎的技術工作,讓程式設計師能更集中在業務上,這就是java開發高效的根由。

    當然另一個很重要的因素就在於Java入門門檻低,從業人口巨大,又趕上了開源的風口,造就了Java第三方開源庫的興盛。

  • 中秋節和大豐收的關聯?
  • 雙子女和巨蟹男般配麼?