簡體   English   中英

有關類型推斷語言的問題

[英]Questions about Type Inference Languages

我對類型推斷語言有幾個疑問。 通過說類型推斷,我指的是不需要在代碼中顯式聲明數據類型的所有語言。

我認為這些語言為開發人員提供了更大的靈活性,但是我想針對以下問題尋求答案。

  1. 這些語言在運行時是否會花費更多時間來推斷實際數據類型?

  2. 這些語言可以用於開發企業應用程序嗎? 它們是否支持可維護性和可重用性?

首先,讓我們澄清一些術語:

  • 靜態類型語言是一種類型是靜態已知的語言,即無需運行程序
  • 動態類型化語言是一種類型,直到運行時它才可能是未知的
  • 類型推斷是在不包含顯式類型注釋的代碼中靜態確定類型的過程。

因此,當我們談論不需要顯式類型注釋的語言時,基本上有兩類:

  • 動態類型語言
  • 靜態類型語言通過類型推斷而不是類型注釋來找出類型

動態類型的語言通常需要在運行時進行其他類型檢查,並且優化的空間較小(因為優化器在知道類型時可以優化更多內容)。 因此,動態類型存在一些性能缺陷。 但是,根據語言的不同,有可能通過應用類型推斷在可能的情況下靜態地找出類型來補償其中的一些。 當然,有些企業應用程序是用動態類型的語言編寫的。

具有類型推斷的靜態類型語言在運行時的性能與沒有它們的靜態類型語言沒有任何不同。 僅編譯時間可能會更長。

這些語言在運行時是否會花費更多時間來推斷實際數據類型?

許多具有類型推斷的語言都使用編譯器。 編譯器完成了類型推斷所需的所有工作,因此沒有運行時成本。

這些語言可以用於開發企業應用程序嗎?

您要問的是,是否可以將大量不同的語言用於大量不同的域。 我認為問這個問題沒有多大意義。 但是總的來說,是的,具有類型推斷的語言可以用於開發企業應用程序。

它們是否支持可維護性和可重用性?

這是一個非常模糊的問題。 我要說的是,您可以使用任何主流語言(包括帶有類型推斷的語言)編寫可操作和可重用的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM