2011-12-08 17 views
35

Tôi là một người Ruby chỉ mới bắt đầu vọc trong Smalltalk và đang cố gắng chọn một triển khai để thử nghiệm. Có vẻ như Squeak hay Pharo sẽ là một lựa chọn tốt, nhưng tôi đang gặp khó khăn trong việc tìm kiếm thông tin hiện tại để giúp quyết định cái nào sẽ tốt hơn. Phần lớn những gì tôi tìm thấy thông qua tìm kiếm của Google là từ một vài năm trước và có thể không còn liên quan nữa.Squeak hoặc Pharo để bắt đầu Smalltalker?

Có yêu thích rõ ràng trong những ngày này không? Nếu không, những ưu và khuyết điểm của mỗi cái là gì?

Trả lời

28

Ở một mức độ nhất định, đó là vấn đề về sở thích cá nhân. Pharo là nĩa của Squeak dự định biến nó thành phiên bản hiện đại hơn của Smalltalk, đôi khi với chi phí không gắn bó với khả năng tương thích ngược với Squeak.

Pharo là một ngã ba, cũng có nghĩa là họ chia sẻ nhiều điểm chung, từ VM đến các bộ phận lớn của thư viện lớp. Nhiều gói thêm vào làm việc với cả hai, và một số được phát triển với Squeak làm nền tảng dev chính và tôi đoán một số lớn hơn một chút trong số chúng được phát triển trong Pharo (Seaside, Pier, v.v.). Cả hai biến thể đều có sách giới thiệu miễn phí: Squeak by Example, và Pharo by Example, nhưng Pharo có vẻ đã được cập nhật nhiều hơn.

Cá nhân tôi thích Pharo vì nó mang lại cho tôi cảm giác sạch hơn và hiện đại hơn.

5

Có thể có một yêu thích rõ ràng nhưng bạn phải tự mình phát triển nó.

Pharo và squeak có nhiều phần chung. Nhưng như pharo là một ngã ba từ tiếng kêu nó cũng có nghĩa là họ phân tán với nhau.

Nếu bạn nhìn từ góc học smalltalk thì cả hai đều bằng nhau. Nếu bạn nhìn từ góc độ của công nghệ được hỗ trợ thì tình hình có thể khác đôi chút. Hầu hết các nhà phát triển đều là những người chơi phiếm hoặc. Và các nhà phát triển tạo ra các thư viện và khung công nghệ hỗ trợ. Nếu nhà phát triển của một thư viện là một pharoer tôi mong đợi thư viện được duy trì tốt hơn trong pharo hơn trong squeak (và ngược lại).

Có lẽ bạn nên xem xét cả hai và thử những thứ bạn muốn đạt được. Trong hầu hết các trường hợp, trải nghiệm sẽ giống nhau. Ngay sau khi nó dừng lại giống nhau bạn có thể biết yêu thích của bạn rồi.

9

Có một số thú vị điểm khởi đầu tốt:

  • Seaside-một cú nhấp chuột để làm phát triển web;
  • MOSEO một cú nhấp chuột để thực hiện tái cấu trúc phần mềm và tạo trình duyệt và hình ảnh mô hình;
  • Pharo một cú nhấp chuột để theo dõi cuốn sách Pharo-by-example (được cập nhật nhiều hơn so với cuốn sách nhỏ) với một thư viện được làm sạch hơn;
  • Cuis cho mô hình đồ họa đã được làm sạch (Morphic);
  • EToys một lần nhấp nếu bạn quan tâm đến khía cạnh giáo dục;
  • Chỉ cần nhấp chuột một lần cho môi trường có nhiều công cụ thú vị & đồ chơi.

Giải thích thêm về những gì bạn muốn đạt được và chúng tôi có thể giúp bạn tốt hơn

5

Các lực kéo nhất ngay bây giờ được hưởng Pharo, vì vậy tôi muốn đi đến đó. Á hậu là Visual Works. Chỉ cần cẩn thận, không có phương ngữ Smalltalk nào có nhiều lực kéo ngay bây giờ.

Lý do của tôi diễn ra như sau. Ngày nay, Smalltalk được sử dụng cho 2 thứ: Lập trình và nghiên cứu web. Đối với cả hai, Pharo có ưu thế hơn (Seaside sử dụng Pharo làm nền tảng mặc định của nó, và Đại học Lille điều chỉnh các bài báo Smalltalk nhất —–– tất cả được xây dựng trên Pharo).

Điều thứ ba Smalltalk được sử dụng cho, mặc dù giảm dần như vậy, là phát triển phần mềm ngân hàng. Ở đó, VW vẫn còn phổ biến. Ngoài ra, VW có thanh tra đối tượng đẹp nhất.

+5

# 4. Tôi viết các ứng dụng máy tính để bàn (và thậm chí cả các kịch bản shell) với Pharo;) Tôi có thể là người duy nhất còn lại ?! –

2

Ngoài ra còn có VisualAge (VAST) bởi Instantiations và một phiên bản gần đây là Smalltalk/X, cả hai đều có một giao diện tương tự, mà lần lượt là rất khác với Pharo hoặc Squeak. Tôi sử dụng Pharo cho nghiên cứu của tôi, các dự án thú cưng và một số bằng chứng về khái niệm. Gói phần mềm công ty của tôi được thực hiện trong VAST/VASmalltalk/VisualAge mà bạn từng thích. Ngoài ra, hãy nhớ, GNUSmalltalk.

3

Tôi đang thực hiện một loạt các hướng dẫn về cách sử dụng Squeak from very the start vì vậy một cách tự nhiên, tôi thiên vị ủng hộ Squeak. Tất nhiên, tôi không ngại sử dụng một cái nĩa khác để khoe các gói cụ thể dễ dàng nhất. Ví dụ, tôi sử dụng hình ảnh Pier một cú nhấp chuột để giới thiệu Seaside và Pier và về cơ bản là Pharo.

+0

Ồ, thật tuyệt. Tôi sẽ xem qua các video. – gregspurrier

9

Một lựa chọn khác để tìm hiểu Smalltalk là Cuis.

Từ mô tả:

CUIS là khác nhau từ Squeak khác biến thể ở chỗ nó có một thái độ tích cực đối với hệ thống phức tạp: Khi hệ thống già đi, họ thường trở nên phức tạp hơn. Các tính năng mới được thêm vào như các lớp trên đầu trang của bất cứ điều gì dưới đây, đôi khi không thực sự hiểu nó, và hầu như luôn luôn mà không sửa đổi nó. ... Cách duy nhất để tránh điều này là hiểu được hệ thống hoàn chỉnh, và tái thiết kế toàn bộ hệ thống mọi lúc. Giữ nó đơn giản và nhất quán.

Mã trên Github. Các tệp hình ảnh mới nhất là here.

Cuis có khoảng 600 lớp học. Điều này làm cho rất dễ làm cho một người hiểu mọi thứ. Sau đó bạn có thể muốn chuyển sang Squeak, Pharo hoặc Smalltalk khác vì phần lớn các lớp và phương thức đều tương thích.

+2

600 lớp so với 7000 lớp pharo. Không tệ chút nào, điều đó đơn giản hơn 10 lần, tôi chắc chắn sẽ xem CUIS. Trên thực tế pharo có nhiều lớp hơn Java 7 và Java 5 kết hợp: D http://stackoverflow.com/questions/3112882/how-many-classes-are-there-in-java-standard-edition – Kilon

+1

Tôi cập nhật Cuis github lưu trữ liên kết web. Kể từ phiên bản 4.2 có một kho lưu trữ mới. –

2

Mặc dù không thực hiện nghiêm chỉnh Smalltalk người ta không nên bỏ qua Báo. Không phải là một môi trường sản xuất, nhưng nếu bạn đã bị rách giữa Alan Kay và Nicolas Wirth với tư cách là chuyên gia ngôn ngữ thì tạp chí giống như Smalltalk và Modula2 kết hợp.