教育程式語言列表

教育程式語言是一個教育性質的程式設計語言，是一種主要設計於用來學習的工具，是與用於編寫真實環境下的應用程式程式語言不大相同的一種程式語言。學習順序.許多教育性質的程式設計語言都提供建議的學習順序，即是學習一組程式語言的順序，每種語言都建立在其他語言的基礎上，使得學生能夠完成從簡單又易於理解的娛樂性程式設計環境到專業開發環境的轉變。下面是一些著名的程式設計語言。基於 Smalltalk／Squeak.作為“OLPC”專案的一部分，Smalltalk提出一個建議的語言學習順序，其中的每種語言都被設計成下一種的入門和基礎。這個順序是：Scratch-&gt;Etoys-&gt;Squeak-&gt;任意Smalltalk。在學習的過程中，每一種語言都提供了圖形化的程式設計環境，不僅是用於教會孩子們一些程式設計的概念，而且是包含物理和數學知識的模擬及講述故事的一些練習。Smalltalk和Squeak作為全功能的應用程式開發語言，在過去的數十年中已經變得十分有名了，而Scratch是孩子們學習的工具。Scratch 是一種基於 Squeak、並由 Squeak 實現的視覺化程式設計語言。透過讓孩子們建立遊戲，影片和音樂，達到教會孩子們一些程式設計概念的目的。在 Scratch 中，所有的互動物體，圖形和聲音都能夠很輕鬆的匯入到新的程式，透過新的方式將其組合，透過這種方法，初學者能夠很快的看到結果，並且有興趣深入學習下去。在 Scratch 社群中，已經開發和上傳了超過100，000個工程專案。Scratch 是由 MIT 多媒體實驗室開發的。Etoys 的創意算機螢幕上那些可程式設計的實體。Etoys 提供一個簡單高效的劇本物件模型，和一個使用者媒體豐富的創作環境，涵蓋了 2D 和 3D 圖形，圖片，文字，粒子，演示文件，網頁，影片，聲音和MIDI 音樂，能夠與其他 Etoys 使用者實時共享桌面，透過網際網路進行身臨其境的指導。Etoys 是多語言的，已經在美國，歐洲，南美，日本，韓國，尼泊爾等地取得了成功。這個專案是針對9至12歲的兒童的。Squeak 是一個現代的，開源的，功能齊全的 Smalltalk 程式設計語言和執行環境。Smalltalk 是一個面向物件，擁有動態型別和反射特性的程式設計語言，用來支援“人機共棲”這個“新的世界”的計算典範。像Lisp 一樣，它有影像式永續性。Smalltalk 在面向物件程式設計和 JIT 及時編譯等方面給行業帶來了深遠的影響。Squeak 是在廣泛開發專案中使用的工具，包括多媒體應用，教育平臺和商業網路應用程式等。Squeak 被設計為高度可移植的，除錯，分析和維護亦是如此，這是因為 Squeak 的虛擬機器完全用Smalltalk 編寫的，Squeak 的主頁維護著免費的教程列表，Stéphane Ducasse 則維持著大量 Smalltalk 和 Squeak 相關的線上書籍。現如今使用最廣泛的，採納了許多 Smalltalk 的設想的語言是 Objective-C。基於 Java.Sun 公司推薦的學習順序是：Greenfoot -&gt; BlueJ -&gt; Netbeans/BlueJ -&gt; Netbeans/Java。Greenfoot 是一個互動式 Java 開發環境，主要目的是用於教育。它可以很容易的開發 2D 圖形應用程式，例如一些模擬和互動遊戲。主要是針對於高中和大學早期階段的程式設計學習。BlueJ 是一個完整的 Java 環境，是特別為課程匯入教學，一年級的大學生設計的。BlueJ 消除了一些複雜的 Java 語法，難以理解的輸入輸出的一部分。BlueJ 目的是為一年級的大學生提供一個易於使用、便於教學的 Java 環境，特別強調了視覺化與互動技術，旨在創造出一個高度互動的環境，鼓勵試驗和探索。NetBeans/BlueJ 是一個整合開發環境，旨在幫助學生從 BlueJ 的 IDE 過渡到更專業的 NetBeans IDE。Sun 提供了針對高中教學和使用 Java/BlueJ 免費課程。NetBeans/Java 是一個專業的開發平臺。NetBeans 既是一個網路應用程式開發平臺，同時也是使用 NetBeans 平臺的 IDE(整合開發環境)。NetBeans Platform 是能夠簡化桌面應用程式開發的可複用性框架，提供了開發桌面應用程式所需的共通服務，使得開發者能夠把重點放在實現應用程式的業務邏輯上。NetBeans IDE 是完全使用 Java 編寫，基於 NetBeans Platform 的整合開發環境。NetBeans IDE 與眾不同的支援所有型別的 Java 應用程式開發。其他的特性還包括使用基於 Ant 的工程系統，版本控制和重構。基於 Lisp.Lisp 是現如今使用的計算機語言家族中第二古老的語言，因此擁有大量的方言以及廣泛的實現。Lisp 最初是作為計算機程式的實用數學記法而創立的，基於λ演算，這使得它特別適合於理論計算的教學。作為最早的程式設計語言之一，Lisp 開創了許多計算機科學概念的先河，包括樹形資料結構、自動儲存管理、動態型別、面向物件程式設計、自足執行的編譯器。這些概念對於學習計算機科學而言是十分有幫助的。LISP 語言的名字“LIST Processing language”。連結串列是 Lisp 中最主要的資料結構之一，Lisp 本身程式碼就是由連結串列構成的。因此，Lisp 程式能夠將原始碼當作某種資料結構來進行操作，這就允許程式設計師建立新的語法，甚至是能夠把新的特定領域的語言嵌入到 Lisp。所以 Lisp 對於學習語言的設計，建立自定義語言是相當有用的。合理的學習順序是：Logo -&gt; Scheme/newLISP (教育版變體) -&gt; Common Lisp (職業版變體)Logo 是特別為孩子們設計的入門程式設計語言。學習 Logo 的第一步是認識“turtle graphics”。在現代的 Lisp 實現中，有一個叫“turtle”的抽象繪圖裝置，專門用來繪製龜狀圖形，是為了吸引孩子們進行程式設計。Seymour Papert，Logo 語言的發明者，是構造論的支持者，構造論是多種構成主義的學習理論。Papert 認為像寫作之類的活動，會在早期接受計算文化過程中自然而然的學會。所以 Logo 設計的初衷不僅僅是為了教會孩子們程式設計和計算文化中的一些概念，而是為了增強孩子們對日益以科技為主導的文化的適應。“比開始較早進行智力教育更為重要的是，這能夠使孩子們避免學習中形成的長期依賴，即學習的東西都是由所謂權威的人提出的…而這樣的小孩無法給自己準確的定位，或者讓社會覺得他們是在智力上是無助的”。透過在 3 歲左右的孩子進行實驗，對他們 30 年的跟蹤記錄發現，大多數都取得了教育上的成功。Logo 實際上是一個 Lisp 的線性版本，對於高年級的學生而言，Logo 能夠用來解釋計算機甚至是人工智慧中的一些概念。Brian Harvey 寫過一系列的文章“Computer Science Logo Style”，對那些透過 Logo 學習計算機科學的學生而言是很有幫助的。Logo 目前已廣泛應用於各種平臺，同時提供了免費版和商業版。Scheme 最初是在 1975 年出於教學目的而設計的語言將這種教育理念納入了經典的教學課本中，從而改變了 Pascal 在大學程式設計語言中的優勢地位。“Abelson 和 Sussman 在1984年出版的《Structure and Interpretation of Computer Programs》。”短時間內，美國以及世界各地的很多大學把第一門計算機科學課程改成了 SICP 和 Scheme。而 SICP 也成了 MIT Press 最為暢銷的圖書之一。和 SCIP 一起，Scheme 也廣泛應用，不僅僅是印第安納大學，MIT，耶魯大學的開設的少數課程，而是成為世界性入門語言的選擇。自那以後，Scheme 社群為低年級課程提供了一些定製的教育程式設計環境。其中有 PLT Scheme 和 DrScheme 環境，還提供了免費的教師培訓教材：How to Design Programs 和 Teach Scheme!。