程式語言領域的專家和市場的對決?
為什麼每個人都討厭GO語言?一文明顯地暴露了這種衝突,Go語言受到市場的歡迎,但是專家們卻認為它拋棄了40年的程式語言研究成果。
更有甚者,拋棄這種手工程式碼編寫,兩位開發者一週內沒有寫一行程式碼開發出一個應用,他們使用圖形化虛擬開發工具,如同當初Delphi一樣能夠快速拖曳開發出一個應用,他們認為這會讓開發者更加關注業務需求。
抑或現在程式語言的複雜得以至於讓人們失去了方向,魔鬼是在細節中,因為魔鬼會讓人過於沉湎於細節,以至於沒有精力搞清楚我們使用這些工具到底是為了做什麼?
物件導向分析的概念模型和實現細節的不匹配一文提出了當前語言並不能很好實現針對需求分析的概念模型。
文中列出了八大不匹配,其中提出分析領域的“類”的概念和程式語言如Java的“類”其實是不同的,概念模型中的物件不只是可以屬於一個類,也可以遷移到屬於其他類。而在Java等語言中,一個物件是類的一個例項,這個例項一旦生成就不能更改為其他類,針對這種情況有兩種解決辦法,首先是使用繼承,讓一個類事先繼承很多種類,然後這個類生產例項時,確保有很大的記憶體這個物件例項能夠將其繼承的所有類欄位都載入到記憶體,很顯然這個辦法比較笨重,實踐中很少使用,還有一種辦法是::語言能提供物件屬性的動態獲取和刪除,在這個模式中,所有物件實現將是動態的資料結構,我們透過對資料結構的成員的動態組合實現一個物件是任何幾個類的成員這一目標。Scala等語言的trait和Go語言是徹底的面向組合的併發語言也許是這一目標的兩種嘗試。
該文還將實現內部併發和分散式通訊的活動物件也是概念模型的一個要求,而與之對應的Java等語言中,物件都是被動的,所謂被動也就是物件自己沒有行為(貧血模型),都是作為資料DTO被動地被服務等傳來傳去,而分析領域的概念模型要求物件是一種可以自行活動的物件,可以有自己內部併發機制。這方面Scala的Actor模型和Go語言的CSP模型應該都是一種探索。
該文指出,軟體開發的未來是分散式、併發、持久、活動物件系統。這其實對程式語言的未來指出一個方向,也許等到那天,業務和程式語言能夠和諧統一在一起,人們不再會為業務快速變化與程式語言不斷複雜變化而頭疼。
相關文章
- 面向領域專家的語言,而不僅僅是程式設計師的語言程式設計師
- 各種不同領域的程式語言一覽表
- python語言的應用場景有哪些?六大領域!Python
- 領域本體與DDD的UL語言
- 幽默:儘量用領域語言編寫程式碼
- Kotlin 程式語言詳解:特點、應用領域及語法教程Kotlin
- 開發者需要了解的領域特定語言(DSL)
- 對話專家:Go是DevOps時代最好的程式語言Godev
- 基於函數語言程式設計的領域驅動設計 - Scott Wlaschin函數程式設計
- 領域知識增強的預訓練語言模型在藥電商搜尋領域的實踐模型
- 資料領域最強程式語言Python和R要合作了!Python
- 【EMNLP 2023】面向垂直領域的知識預訓練語言模型模型
- 什麼是DDD領域驅動設計的統一語言?
- 不安分的 Go 語言開始入侵 Web 前端領域了GoWeb前端
- 使用函式式語言來建立領域模型函式模型
- 探索專有領域的端到端ASR解決之道
- 聊一聊對領域驅動設計中“領域”這個詞語的理解與分析方法
- NLP領域的ImageNet時代:詞嵌入已死,語言模型當立模型
- 千“垂”百鍊:垂直領域與語言模型(1)模型
- C語言應用領域及前景怎麼樣?C語言
- 我對函數語言程式設計的理解函數程式設計
- 使用JHipster領域語言在30分鐘內建立完整的微服務棧微服務
- 各個程式語言及其應用領域
- Omdia:新冠疫情對專網市場的影響
- 滲透測試領域常用的專業術語,你知道多少個?
- 如何從業務程式碼中提升技術:使用領域特定語言消除重複程式碼
- NLP領域的ImageNet時代到來:詞嵌入「已死」,語言模型當立模型
- 結對程式設計(c語言)程式設計C語言
- 在資料科學領域,Python語言和R語言有何區別?資料科學PythonR語言
- 程式語言的變遷
- StarRocks在支付對賬領域的應用
- 反對函數語言程式設計的政治正確函數程式設計
- 針對 Go 語言的,市場上是否有類似 jacoco 的這樣的工具可以實現動態拉取程式碼覆蓋率呢??Go
- Strategy Analytics:美國智慧手機換機市場的贏家和輸家
- AMD CEO:2022年PC市場將放緩 專業應用晶片領域需求“暴漲”晶片
- TIOBE:2024年10月程式語言排行榜 Python佔據了21.90%的市場份額Python
- 專為五大科學領域定製,NASA與IBM合作開大語言模型INDUSIBM模型
- 開源專案audioFlux: 針對音訊領域的深度學習工具庫UX音訊深度學習
- C語言:一種高效、易學的程式語言C語言