2008-11-30 47 views
43

Tôi là một nhà phát triển C++/Java trong thời gian dài cố gắng truy cập vào Python và đang tìm kiếm bài viết "Python for C++ Developers" khuôn mẫu, nhưng lại trống. Tôi đã nhìn thấy những thứ này cho C#, Java, v.v. và chúng cực kỳ hữu ích để tăng tốc độ các tính năng ngôn ngữ và sự khác biệt đáng chú ý. Bất cứ ai có bất kỳ tài liệu tham khảo?Python cho các nhà phát triển C++

Là câu hỏi bổ ích thứ cấp, bạn sẽ đề xuất chương trình Python nguồn mở nào để xem xét thiết kế, nhận xét và sử dụng ngôn ngữ làm điểm tham chiếu cho nghiên cứu?

Xin cảm ơn trước.

Trả lời

26

Tôi chưa bao giờ thực sự hiểu cách tiếp cận "Ngôn ngữ X dành cho nhà phát triển ngôn ngữ Y". Khi tôi đi tìm hiểu ngôn ngữ X Tôi muốn tìm hiểu cách lập trình theo cách mà các lập trình viên ngôn ngữ X làm, không phải là cách các lập trình viên của Language Y làm. Tôi muốn tìm hiểu các tính năng, thành ngữ, v.v. đó là duy nhất đối với ngôn ngữ tôi đang học. Tôi muốn có thể tận dụng những thứ làm cho ngôn ngữ trở nên đặc biệt và sử dụng kiến ​​thức đó để mở rộng cách suy nghĩ và giải quyết vấn đề của tôi. Tôi không nghĩ rằng tôi sẽ nhận được cùng một loại thông tin chi tiết từ một hướng dẫn được đóng khung trong ngữ cảnh của một ngôn ngữ khác. Nếu bạn có thể học ngôn ngữ đầu tiên của mình mà không có hướng dẫn về thứ bạn đã biết, bạn có thể nhận một ngôn ngữ thứ hai theo cùng một cách (và theo kinh nghiệm của tôi, càng nhiều ngôn ngữ bạn biết dễ dàng hơn để học những ngôn ngữ mới).

Với điều đó đã nói, tôi muốn giới thiệu The Python Tutorial là một cách tốt, nhanh chóng và dễ dàng để bắt đầu với Python và Dive Into Python dưới dạng giới thiệu đầy đủ hơn, cũng có sẵn miễn phí here. Tôi cũng sẽ đồng ý với những gì người khác đã nói về việc xem xét mã cho các thư viện chuẩn như một nguồn ví dụ tốt và thực hành thiết kế, các thư viện python chuẩn khá sạch sẽ và dễ đọc.

+43

Tôi đồng ý, các thành ngữ và tính năng rất quan trọng. Nhưng tôi không phải mới để lập trình, vì vậy rất nhiều hướng dẫn khoan tôi với khoan thông qua "đây là một vòng lặp" trước khi họ tiết lộ "oh có, nó có thể lặp qua cấu trúc danh sách". –

+0

Ít nhất bạn không cố gắng làm ngược lại! C++ có một vấn đề trong đó việc sử dụng nó rất không nhất quán, thường dựa chủ yếu trên nền tảng của trình coder. – coppro

+0

Ngoài ra, Lặn vào Python là dành cho các lập trình viên có kinh nghiệm. Tôi chỉ có thể sử dụng liên kết đó; cảm ơn! – coppro

0

Để có ví dụ điển hình nhất về mã ngôn ngữ, thư viện chuẩn của ngôn ngữ thường là một nơi tốt để xem. Chọn một phần gần đây, mặc dù - các bộ phận cũ có thể được viết cho các phiên bản cũ hơn và đôi khi được viết trước khi thư viện trở nên đủ lớn để đảm bảo các tiêu chuẩn lớn - như thư viện của PHP và Erlang, có sự mâu thuẫn nội bộ.

Đối với Python nói riêng, Python 3000 làm sạch thư viện rất nhiều, và do đó có lẽ là một nguồn tuyệt vời của mã Python tốt (mặc dù nó được viết cho một phiên bản Python tương lai).

4

Tôi đã học được rất nhiều về Python bằng cách đọc nguồn của thư viện chuẩn đi kèm với Python. Tôi dường như nhớ có một vài "a-ha!" những khoảnh khắc khi đọc urllib2.py nói riêng.

2

Python hoàn toàn khác với C++ để kiến ​​thức cụ thể thường không thể chuyển được. Có một số ít languagecomparisons khả dụng. Những gì bạn có thể thực hiện là kiến ​​thức về các API cụ thể, ví dụ: của API POSIX hoặc API.

Làm ví dụ cho ứng dụng Python điển hình (GUI), xem IDLE (như được gửi cho Python).

1

C# và Java được xem là thay thế sạch hơn cho C++ trong nhiều khu vực ứng dụng, do đó thường có "di chuyển" từ một đến khác - đó là lý do tại sao có sách.

Python và C++ là những con thú rất khác nhau, và mặc dù cả hai đều được coi là ngôn ngữ lập trình mục đích chung mà chúng được nhắm mục tiêu theo các đầu khác nhau của phổ lập trình.

Đừng cố gắng viết C++ bằng Python; trên thực tế, hãy cố gắng quên C++ khi viết Python. Tôi tìm thấy nó tốt hơn nhiều để tìm hiểu các mô hình và kỹ thuật Python phổ biến và áp dụng chúng cho các chương trình C++ của tôi so với các cách khác xung quanh.

1

Để tìm hiểu ngôn ngữ, miễn phí và trực tuyến python tutorial thực sự là tất cả những gì bạn cần để chọn ngôn ngữ và bắt đầu viết ứng dụng. Nếu bạn muốn có một cuốn sách, tôi đã tìm thấy Beginning Python từ Apress để trở thành một tài liệu tham khảo và hướng dẫn tuyệt vời. Tất nhiên cách tốt nhất để học một ngôn ngữ là viết mã, do đó tôi khuyên bạn nên kiểm tra Boost.Python. Nếu bạn có một C++ mà cần phải được một chút linh hoạt hơn, Boost.Python có thể cung cấp cho bạn một cái cớ tốt để tìm hiểu Python và được trả tiền cho nó.

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