程式語言的發展趨勢及未來方向(2):宣告式程式設計與DSL
這是Anders Hejlsberg(不用介紹這是誰了吧)在比利時TechDays 2010所做的開場演講。由於最近我在部落格上關於語言的討論比較多,出於應景,也打算將Anders的演講完整地聽寫出來。在上一部分中,Anders指出語言本身在過去的數十年裡並沒有明顯的發展,並給出了他眼中程式語言發展趨勢的預測。在現在的第2部分中,Anders將闡述宣告式程式設計的理念及DSL,並演示C#中一種內部DSL的形式:LINQ。
如果沒有特別說明,所有的文字都直接翻譯自Anders的演講,並使用我自己的口語習慣表達出來,對於Anders的口誤及反覆等情況,必要時在譯文中自然也會進行忽略。為了方便理解,我也會將視訊中關鍵部分進行截圖,而某些程式碼演示則會直接作為文章內容發表。
相關推薦
程式語言的發展趨勢及未來方向(2):宣告式程式設計與DSL
這是Anders Hejlsberg(不用介紹這是誰了吧)在比利時TechDays 2010所做的開場演講。由於最近我在部落格上關於語言的討論比較多,出於應景,也打算將Anders的演講完整地聽寫出來。在上一部分中,Anders指出語言本身在過去的數十年裡並沒有明顯的發展,並給出了他眼中程式語言發展趨勢的預測
程式語言的發展趨勢及未來方向(1):歷史回顧及趨勢概述
這是Anders Hejlsberg(不用介紹這是誰了吧)在比利時TechDays 2010所做的開場演講。由於最近我在部落格上關於語言的討論比較多,出於應景,也打算將Anders的演講完整地聽寫出來。我希望這個講座可以從側面回答某些朋友關於“語言討論是否有價值”的疑問,並且展示出目前語言的發展狀況以及微軟在
程式語言的發展趨勢及未來方向(3):函數語言程式設計
這是Anders Hejlsberg(不用介紹這是誰了吧)在比利時TechDays 2010所做的開場演講。由於最近我在部落格上關於語言的討論比較多,出於應景,也打算將Anders的演講完整地聽寫出來。在上一部分中,Anders闡述了他眼中宣告式程式設計的理念及DSL,並演示C#中一種內部DSL的形式:LIN
程式語言的發展趨勢及未來方向
程式語言的發展趨勢及未來方向(1):歷史回顧及趨勢概述 程式語言的發展趨勢及未來方向(2):宣告式程式設計與DSL 程式語言的發展趨勢及未來方向(3):函數語言程式設計 程式語言的發展趨勢及未來方向(4):動態語言 程式語言的發展趨勢及未來方向(5):超程式設計 程式語言的發展趨勢及
綜述:程式語言的發展趨勢及未來方向
這是一篇發表在《程式設計師》雜誌8月刊的文章,是根據我對Anders Hejlsberg的演講內容的翻譯的縮寫。原本的完整演講內容有數萬字,為了在雜誌上發表因此簡化成了五千字,因此如果您對完整內容感興趣,不妨根據文末連結來訪問完整內容,其中也包含大量分解的幻燈片以及程式碼。 概述 程式設計離不開程式語言,
Reactive Stack系列(一):響應式程式設計從入門到放棄
為了詳細介紹下基於Spring Framework 5 & Spring Boot 2 的WebFlux的響應式程式設計,先畫下如下邏輯圖,後文將以邏輯圖箭頭方向逐一解釋關於響應式程式設計的點點滴滴。 1. Spring Framework5 自 2013 年12月Spring Fra
服務計算(2):go環境配置與學習
Go語言學習 環境配置 使用yum install 使用命令sudo yum install -y golang 直接下載安裝包 環境:騰訊雲主機 Ubuntu 16.04 具體見官方文件。 首先下載安裝包:wget https://studygolang.c
對比Ruby和Python的垃圾回收(2):代式垃圾回收機制
上週,我根據之前在RuPy上做的一個名為“Visualizing Garbage Collection in Ruby and Python.”的報告寫了這篇文章的上半部分。在上篇中,我解釋了標準Ruby(也被稱為Matz的Ruby直譯器或是MRI)是如何使用名為
redis進化五(2):redis槽道與補充操作
一、redis的叢集槽道 槽道原理丟擲2個問題: 1、節點接收資料計算槽道號後,如何判斷當前槽道號是否歸我管? 2、判斷不歸本節點管時,如何獲取正確管理者的資訊? 槽道邏輯結構
Matplotlib資料視覺化(2):三大容器物件與常用設定
上一篇部落格中說到,matplotlib中所有畫圖元素(artist)分為兩類:基本型和容器型。容器型元素包括三種:figure、axes、axis。一次畫圖的必經流程就是先建立好figure例項,接著由figure去建立一個或者多個axes,然後通過axes例項呼叫各種方法
Python 影象處理 OpenCV (2):畫素處理與 Numpy 操作以及 Matplotlib 顯示影象
![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) ## 普通
打破國外壟斷,開發中國人自己的程式語言(2):使用監聽器實現計算器
上一篇:實現可以解析表示式的計算器 本文已經同步到公眾號「極客起源」,輸入379404開始學習! 本文是《打破國外壟斷,開發中國人自己的程式語言》系列文章的第2篇。本系列文章的主要目的是教大家學會如何從零開始設計一種程式語言(marvel語言),並使用marvel語言開發一些真實的專案,如移動A
8/11 TF聽力及閱讀訓練(2)
以及 練習 原理 最好的 什麽是 視頻 密度 並且 能夠 什麽是聽力訓練,什麽是訓練。 有一篇知乎的回答非常好,我很喜歡。 作者:梁躍鏈接:https://www.zhihu.com/question/20407472/answer/83390431來源:知乎著作權歸作者所
R語言實戰 - 高級數據管理(2)
row cnblogs 方案 pretty sun amp enc sdn asf 2.4 字符處理函數 > x <- c("ab", "cde", "fghij") > length(x) [1] 3 > nchar(x[3]) [1] 5 &g
NeuChar 平臺使用及開發教程(四):使用 NeuChar 的素材服務
各類公眾號的功能之一就是為使用者提供各類圖文和多媒體的資訊,因此素材是必不可少的。 進入 Neural Cell 設定介面,點選右側【素材管理】按鈕,進入素材管理介面。 目前系統提供了文字、多圖文、圖片三種類型的素材,後續將會有更多型別提供。 點選按鈕
程式設計師常用的刷題網站(2)
在五個月之前寫了篇文章 程式設計師常用的技術網站 | 轉眼間五個月過去了。五個月後的今天我打算寫一篇程式設計師常用的刷題網站。 為什麼要刷題呢? 鞏固提高自己的基礎程式設計知識水平 增加面試過程中的自信心 幸運的是:很多時候面試筆試題目你刷過
空域分析及變換(2):高斯拉普拉斯金字塔
空域分析及變換(2):高斯拉普拉斯金字塔 引言 1、高斯金字塔 2、拉普拉斯金字塔 3、高斯金字塔與拉普拉斯金字塔 引言 影象處理–>空間域處理–>高斯金字塔、拉普拉斯金字塔.金字塔參考。影象金
NeuChar 平臺使用及開發教程(六):成為開發者
在上一篇《NeuChar 平臺使用及開發教程(五):使用 NeuChar 的關鍵字回覆服務》中,我們已經學習瞭如何命中關鍵字來反饋特定格式內容的資訊,這是由微信開發者/運營者自己來維護的資訊,那麼如果我們自己有微信開發的經驗,並且想要把這個能力釋放出來,為其他的公眾號,甚至小程式、釘釘等平臺提供服務,我們
標號(2):python(就業階段)——Linux系統命令(1)——《高階Linux命令及命令選項的使用》
一、高階Linux命令及命令選項的使用 <1>重定向命令:> Linux允許將命令執行結果重定向到一個檔案,本應顯示在終端上的內容儲存到指定檔案中。 1、ls >> test.txt 輸出重定向則會追加到檔案的尾部。 2、ls > test.t
雜七雜八(2):簡單的加聖誕帽的程式,python3+opencv3.4
簡單的加聖誕帽的程式,python3+opencv3.4 最最最最簡單的加聖誕帽的程式,python3+opencv3.4 # -*- coding: utf-8 -*- """ Created on Mon Dec 25 15:22:14 2017 @author: Ela