Khác biệt giữa bản sửa đổi của “Smalltalk”
Không có tóm lược sửa đổi |
nKhông có tóm lược sửa đổi |
||
Dòng 55: | Dòng 55: | ||
*[[Vista Smalltalk]] for IE7 and Windows Vista |
*[[Vista Smalltalk]] for IE7 and Windows Vista |
||
==Một số liên kết== |
|||
==References== |
|||
{{reflist}} |
|||
==External links== |
|||
{{wikibooks|Programming:Smalltalk}} |
{{wikibooks|Programming:Smalltalk}} |
||
*[http://www.chronos-st.org/Smalltalk-Getting-the-Message.html Smalltalk: Getting the Message] (tutorial) |
*[http://www.chronos-st.org/Smalltalk-Getting-the-Message.html Smalltalk: Getting the Message] (tutorial) |
||
Dòng 73: | Dòng 70: | ||
*[http://f.webring.com/t/Smalltalk Smalltalk web ring] Smalltalk products and services. |
*[http://f.webring.com/t/Smalltalk Smalltalk web ring] Smalltalk products and services. |
||
== |
==Sách== |
||
*[http://www.iam.unibe.ch/~ducasse/FreeBooks.html |
*[http://www.iam.unibe.ch/~ducasse/FreeBooks.html Một số sách tiếng anh nói về Smalltalk] |
||
[[Category:Ngôn ngữ lập trình]] |
[[Category:Ngôn ngữ lập trình]] |
Phiên bản lúc 18:04, ngày 19 tháng 12 năm 2007
Smalltalk là ngôn ngữ lập trình hướng đối tượng, kiểu dữ liệu động, và có tính phản xạ. Smalltalk được thiết kế nhằm bảo vệ tối đa các đặc điểm ngắn gọn và trong sáng của nó và không hướng đến tính khả dụng (usability) hay tính hiệu năng (performance). Vì vậy nó phù hợp với các mục đích giáo dục hơn là mục đích thương mại, tuy nhiên các điểm mạnh đã ảnh hưởng mạnh mẽ đến các ngôn ngữ thương mại thành công như Java, C#.
Ngôn ngữ Smalltalk được phát triển bởi nhiều tác giả qua nhiều thời kỳ khác nhau các tác giả chính bao gồm Alan Kay, Dan Ingalls, Adele Goldberg, Ted Kaehler, Scott Wallace.
Smalltalk thường được nhắc đến như là tiêu chuẩn ngôn ngữ lập trình, không phải là một trình biên dịch cụ thể. Đã có nhiều trình biên dịch khác nhau sử dụng ngôn ngữ Smalltalk như Smalltalk-80, VisualAge Smalltalk .v.v... Tiêu chuẩn được biết đến nhiều là ANSI Smalltalk được phê chuẩn vào năm 1998.
Lịch sử phát triển
Tính hướng đối tượng
Mọi thứ trong một chương trình Smalltalk đều là đối tượng. Đây là điểm mạnh thường được nhắc đến nhất khi nói về Smalltalk.
Kiểu dữ liệu động
Tính phản xạ
Một chương trình Smalltalk khi đã biên dịch và đang chạy, vẫn giữ lại tối đa các cấu trúc ở mức cao, ví dụ cấu trúc lớp, đối tượng, tên biến v.v... Nhờ tính phản xạ, người ta có thể lưu, truyền, phục hồi các đối tượng, ngoài ra, người ta dễ dàng phát triển các chương trình kiểm thử (tester), chương trình gỡ rối (debugger).
Đối với các ngôn ngữ không có tính phản xạ (ví dụ tiêu biểu là C/C++), sau khi biên dịch thành mã nhị phân, cấu trúc chương trình ở mức cao bị xóa đi, thay vào đó là kiến trúc mức CPU và API. Điều này gây nhiều phiền phức cho trình gỡ rối, khiến chúng phải sinh ra hàng loạt các tập tin mô tả.
Tính phản xạ có thể làm tăng chi phí bộ nhớ, và chi phí tính toán.
Cú pháp
Ví dụ Hello World
Ví dụ sau đây in dòng “Hello, World!” ra màn hình bằng cách gửi thông điệp show đến đối tượng Transcipt với tham số là chuỗi “Hello, world!”
Transcript show: 'Hello, world!'.
Các trình biên dịch
- #Smalltalk [1]
- Ambrai Smalltalk
- Bistro
- Cincom Smalltalk, ObjectStudio and VisualWorks by Cincom (wiki, blog)
- Dolphin Smalltalk [2]
- F-Script
- GemStone/S [3]
- GNU Smalltalk
- IBM VisualAge Smalltalk [4]
- Little Smalltalk
- LSW Vision-Smalltalk, including a .NET version
- OSVM small Smalltalk for embedded devices [5]
- Pocket Smalltalk runs on Palm Pilot
- PublicDomainSmallTalk [6]
- S# [7]
- Smalltalk MT compiled Smalltalk for Windows
- Smalltalk/X [8]
- Smalltalk YX [9]
- Sport
- Squeak an open source Smalltalk
- StepTalk (uses Smalltalk language atop an Objective-C runtime)
- Strongtalk [10] (for Windows, offers optional strong typing)
- Susie: Scripting Using a Smalltalk Interpreter Engine [11]
- Bits of History a Smalltalk-76 implementation as a Java applet.
- VA Smalltalk follow-on to IBM VisualAge Smalltalk [12]
- Visual Smalltalk Enterprise and family, including Smalltalk/V.
- Vista Smalltalk for IE7 and Windows Vista
Một số liên kết
Wikibooks có một quyển sách tựa đề Programming:Smalltalk |
- Smalltalk: Getting the Message (tutorial)
- Design Principles Behind Smalltalk by Dan Ingalls from the BYTE August 1981 Special Issue on Smalltalk
- Smalltalk.org Smalltalk advocacy site.
- Littlesmalltalk.org New Little Smalltalk Version with an actively developed GUI.
- Open Directory: Smalltalk
- Implementation Section from Smalltalk-80: The Language and Its Implementation by Goldberg & Robson
- Smalltalk-72 Instruction Manual
- Smalltalk information visualization tool
- ESUG (European Smalltalk Users Group): A non-profit organization which gathers both industrial and academics. Has various Smalltalk promotion activities including a yearly event since 1993.
- The Smalltalk-76 Programming System: Design and Implementation by Dan Ingalls.
- Dolphin Map - A wiki for Dolphin Smalltalk related information.
- Smalltalk web ring Smalltalk products and services.