2010-08-19 33 views
7

Thích hợp hơn làm nền tảng cho khóa học đầu tiên về tính toán: Python 2 hoặc Python 3? Lý do để hỏi ý kiến ​​của bạn: Python 2 được sử dụng trong phần lớn các cài đặt worlwide, nhưng Python 3 là điều sắp tới.Python 2 hoặc Python 3 là ngôn ngữ đầu tiên của học sinh

+1

Sao chép tất cả các câu hỏi Python 2 so với Python 3 đã được hỏi. http://stackoverflow.com/search?q=%5Bpython%5D+%5Bpython-3.x%5D+learning để biết danh sách. –

+0

có thể trùng lặp với [Phiên bản Python nào tôi nên sử dụng nếu tôi là người mới sử dụng Python?] (Http://stackoverflow.com/questions/2090820/what-version-of-python-should-i-use-if -im-a-new-to-python) –

+0

Dạy C++ thay vì – Falmarri

Trả lời

6

Dạy cả hai (imho).

Dạy Python 2 (theo cách pythonic nhất) và hơn trình bày của học sinh những thay đổi 2to3, và ý nghĩa của chúng (print "chuỗi" => print ("chuỗi") tại sao?)

Bằng cách này , nếu bạn sử dụng 2.7 http://docs.python.org/dev/library/stdtypes.html#memoryview là một tính năng mới thú vị!

+0

IMHO - dạy 2 và 3 và khoảng 2to3 là ​​một chút cho ngôn ngữ lập trình đầu tiên của học sinh. Gắn bó với một phiên bản duy nhất sẽ tốt hơn để dạy những điều cơ bản. –

+0

Theo quan điểm khiêm tốn của tôi, việc dạy lập trình cho sinh viên không có nghĩa là làm cho họ trở thành nhà phát triển, nhưng để hiểu sự phát triển, và nhiều thay đổi cho ngôn ngữ lập trình là do tối ưu hóa/cải tiến có thể hữu ích để hiểu. –

+0

+1 để dạy cả hai. Nhưng nếu người ta nên chọn, dạy Python 3. Nó thực sự tốt hơn, sạch hơn. Ngoài ra, phải mất một thời gian cho đến khi họ sẽ sử dụng Python cho mã sản xuất, nếu có. Tại thời điểm Python 3 sẽ là người chiến thắng. – pepr

4

Tôi sẽ nói rằng điều đó phụ thuộc vào chương trình giảng dạy của bạn. Nếu bạn đang sử dụng/hiển thị một số thư viện nguồn mở, bạn có thể gặp vấn đề với một số người trong số họ làm việc trên 3, vì vậy trong trường hợp đó, hãy đi với 2. Nếu bạn chỉ hiển thị ngôn ngữ đó và cho sinh viên viết mọi thứ từ đầu mà không sử dụng bất kỳ thư viện bên ngoài nào, tôi sẽ nói với 3.

0

Python 2. Thật không may là hỗ trợ thư viện cho python 3 là quá tệ.

0

Đối với học sinh, ý kiến ​​của tôi là python 2.x, vì cũ hơn, bạn dễ dàng tìm thấy mã exapmles và cách sử dụng các hàm pythonic. Nếu bạn chọn học python 3, bạn có thể gặp vấn đề trong việc tìm kiếm các ví dụ mã và trợ giúp.

Ngoài ra còn có nhiều chuyên gia hơn 2.x trăn hơn 3.0.

0

Tôi sẽ nói để dạy Python 2. *, trong khi Python 3 là mới nóng, có rất ít thư viện được hỗ trợ, và phần lớn tài nguyên trên web là dành cho phiên bản Python cũ hơn.

0

id nói python 2, python 2 đã được khoảng một thời gian và rất trưởng thành, với rất nhiều thư viện và mô-đun và khung chính có sẵn cho nó. Python 3 là rất mới, và không có nhiều thư viện được nêu ra. Tôi đoán đây sẽ là kịch bản cho một vài năm.

3

Thành thật mà nói, tôi nghĩ bạn có một cơ hội tuyệt vời để dạy cho sinh viên của bạn một bài học có giá trị: giữ cho kỹ năng của họ được cập nhật trong khi hàng ngày xử lý mã "cũ". Đây là một thực tế đơn giản trong cuộc sống họ sẽ phải nắm bắt nếu họ muốn trở thành những người lập trình thành công (heck, nó có thể đúng đối với hầu hết các công việc).

Đây là cách tôi sẽ tiếp cận điều này: dạy họ 2.x làm ngôn ngữ chính của khóa học. Phần lớn các thư viện Python sẽ không tương thích với 3.x và các khái niệm lập trình không khác biệt đáng kể giữa hai phiên bản chính. Tuy nhiên, trong khóa học, cung cấp cho họ các bài tập yêu cầu họ điều tra Python 3, tìm hiểu điều gì khác biệt và tại sao. Hãy dành một chút thời gian để dạy cho họ về các công cụ di chuyển và một số khái niệm cơ bản để cập nhật một cơ sở mã cũ hơn. Đối với một lớp cấp độ nhập cảnh, bạn cũng có thể xem xét cung cấp cho họ một chương trình cơ bản, 2.5 và yêu cầu họ cập nhật thủ công lên 3.1.

Các vấn đề liên quan