[SICP 中文翻譯] 1.1.2 命名與環境 (Naming and the Environment)

Published on:
Tags: SICP scheme

翻譯自 SICP (Structure and Interpretation of Computer Programs)
原文出處: http://mitpress.mit.edu/sicp/
原書作者: Harold Abelson and Gerald Jay Sussman, with Julie Sussman

1.1.2 命名與環境 (Naming and the Environment)

一個程式語言中,將名稱聯繫到計算機物件(computational object) 的方法,是其很重要的一點。我們說名稱(name)可用來識別一個 變數(variable),而變數的 值(value) 則是一個物件(object)。

Read on

[SICP 中文翻譯] 1.1.1 表達式 (Expressions)

Published on:
Tags: SICP scheme

翻譯自 SICP (Structure and Interpretation of Computer Programs)
原文出處: http://mitpress.mit.edu/sicp/
原書作者: Harold Abelson and Gerald Jay Sussman, with Julie Sussman

1.1.1 表達式 (Expression)

一個進入程式設計的簡單方法是:與 Scheme(*譯注1) 的直譯器(interpreter, *譯注2)進行一些典型的互動。想像你正坐在一個電腦終端機前。你輸入了一個表達式,而直譯器將其求值後的結果顯示出來回應你。

你可能會輸入的其中一種基本表達式是數字。(更精確地說,你輸入的表達式是由十進位的數值所構成的。)如果你給 Lisp 一個數字:

486

直譯器將印出回應

486
Read on

如何讓 Python 使用 C 的函式庫 (Part 1)

Published on:
Tags: Python C

從開始寫 C 到現在三年了, Python 雖然比較晚碰 但也寫了一些
不過倒是從最近才開始認真研究這個技術 : 在 Python 中呼叫 C 所寫的函式

雖然知道這招很久了, 但之前一直沒有用的契機 (畢竟寫純 Python 輕鬆得多
而最近因為有一個 Python Project 無法達到需要的速度
所以打算把這招拿出來用 也就順便筆記下來了

( 其實方法有不少種, 本篇主要介紹的是使用 Python C API 的方法 )

Read on

[C++11] Range-based for

Published on:
Tags: C++11 c++

使用過 python, C# 等語言的 for (foreach) 之後
我就肖想這個功能很久了,現在 C++11 終於也有了這種形式的 for 迴圈!

overview

int a[] = {4, 5, 6};
for (int e : a)
  printf("%d ", e);
// output: 4 5 6
Read on

[C++11] auto-typed variables (變數型別推導)

Published on:
Tags: C++11 c++

型別推導在動態語言中是必然的,而傳統的靜態型別語言則多數要求事先宣告變數型別
但最近的靜態型別語言也越來越盛行型別推導 如 Go. C#. Haskell 等語言都支援靜態的型別推導
現在 C++ 也開始支援這美妙的功能了

 

overview

auto v = something;
// 我們在宣告變數 v 時,可以不自己指定 v 的型別,
// 而使用關鍵字auto,看 something 來決定的 v 型別
Read on