Hướng dẫn is python based on c? - python có dựa trên c không?

Từ tất cả mọi thứ tôi đã thấy, đó là sự kết hợp của lý do thực tế và lịch sử. Lý do lịch sử (chủ yếu) là Cpython 1.0 đã được phát hành vào năm 1989. Vào thời điểm đó, C vừa mới được tiêu chuẩn hóa gần đây. C ++ gần như không được biết đến và không thể xác định được, bởi vì hầu như không ai có trình biên dịch C ++.

Mặc dù C ++ phổ biến rộng rãi và dễ dàng hơn ngày hôm nay, nhưng vẫn sẽ mất một lượng lớn công việc để viết lại Cpython vào tập hợp con của C tương thích với C ++. Chính nó, công việc đó sẽ cung cấp ít hoặc không có lợi ích thực sự.

Nó giống như bài đăng trên blog của Joel về việc bắt đầu lại và viết hoàn toàn là sai lầm tồi tệ nhất mà công ty phần mềm có thể mắc phải. Tôi sẽ chống lại điều đó bằng cách chỉ vào chuyển đổi của Microsoft từ lõi Windows 3.0 sang lõi Windows NT và chuyển đổi của Apple từ MacOS 9 sang Mac OS/X. Không ai giết chết công ty-nhưng cả hai đều chắc chắn là những dự án lớn, đắt tiền, dài hạn. Cả hai cũng chỉ ra một cái gì đó rất quan trọng để thành công: duy trì cả hai cơ sở mã đủ lâu để (hầu hết) người dùng có thể chuyển sang cơ sở mã mới khi giải trí, dựa trên lợi ích (ít nhất là nhận thức).

Tuy nhiên, đối với một nhóm phát triển, quy mô của Python, loại thay đổi đó khó khăn hơn nhiều. Ngay cả sự thay đổi từ Python 2 thành 3 cũng đã mất khá nhiều công việc và đòi hỏi phải có sự chồng chéo tương tự. Tuy nhiên, ít nhất trong trường hợp đó, có những lợi ích trực tiếp cho các thay đổi, viết lại thành C ++ (tự nó) sẽ không (ít nhất là ngay lập tức) cung cấp.

Linus Torvalds của C ++ đã được đưa lên, vì vậy tôi cũng sẽ đề cập đến điều đó. Không có gì tôi thấy từ Guido chỉ ra rằng anh ấy có những cảm giác mạnh mẽ, tiêu cực đối với C ++. Về điều tồi tệ nhất tôi thấy anh ấy nói là việc dạy C ++ thường là một thảm họa - nhưng anh ấy ngay lập tức nói rằng điều này phần lớn là do các giáo viên không/không biết C ++.

Tôi cũng nghĩ rằng mặc dù có thể chuyển đổi nhiều mã C thành C ++ một cách dễ dàng tương đối, thì việc nhận được nhiều lợi thế thực sự từ C ++ không chỉ cần viết lại nhiều hơn một chút so với thế, mà còn yêu cầu tái giáo dục đáng kể cho hầu hết các nhà phát triển liên quan. Hầu hết C ++ được viết tốt về cơ bản khác với C viết tốt để làm những điều tương tự. Đây không chỉ là vấn đề thay đổi malloc thành newprintf thành cout, bởi bất kỳ sự tưởng tượng nào.

Python ngôn ngữ cơ sở được viết là gì?

Hướng dẫn is python based on c? - python có dựa trên c không?

bad_coder

9.81620 Huy hiệu vàng39 Huy hiệu bạc64 Huy hiệu đồng20 gold badges39 silver badges64 bronze badges

hỏi ngày 26 tháng 2 năm 2012 lúc 9:23Feb 26, 2012 at 9:23

Hướng dẫn is python based on c? - python có dựa trên c không?

DewsworlddewsworldDewsworld

12.7K22 Huy hiệu vàng66 Huy hiệu bạc102 Huy hiệu Đồng22 gold badges66 silver badges102 bronze badges

2

Bạn không thể nói rằng Python được viết bằng một số ngôn ngữ lập trình, vì Python là ngôn ngữ chỉ là một tập hợp các quy tắc (như quy tắc cú pháp hoặc mô tả về chức năng tiêu chuẩn). Vì vậy, chúng tôi có thể nói rằng nó được viết bằng tiếng Anh :). Tuy nhiên, các quy tắc được đề cập có thể được thực hiện trong một số ngôn ngữ lập trình. Do đó, nếu bạn gửi một chuỗi như 'Nhập cái này' vào chương trình đó có tên là phiên dịch, nó sẽ trả lại cho bạn "Zen of Python".

Vì hầu hết hệ điều hành hiện đại được viết bằng C, các trình biên dịch/phiên dịch cho các ngôn ngữ cấp cao hiện đại cũng được viết bằng C. Python không phải là một ngoại lệ - triển khai "truyền thống" nhất của nó được gọi là CPython và được viết bằng C.

Có những triển khai khác:

  • IronPython (Python chạy trên .net)
  • Jython (Python chạy trên máy ảo Java)
  • Pypy (triển khai Python nhanh với trình biên dịch JIT)
  • Python không chồng (nhánh của Cpython hỗ trợ microthreads)

Hướng dẫn is python based on c? - python có dựa trên c không?

Đã trả lời ngày 26 tháng 2 năm 2012 lúc 9:56Feb 26, 2012 at 9:56

Bodnarchukroman La Mã BodnarchukRoman Bodnarchuk

28.6K12 Huy hiệu vàng58 Huy hiệu bạc73 Huy hiệu đồng12 gold badges58 silver badges73 bronze badges

2

Các nguồn là công khai. Python được viết bằng C (thực tế là triển khai mặc định được gọi là cpython).

Đã trả lời ngày 26 tháng 2 năm 2012 lúc 9:27Feb 26, 2012 at 9:27

2

Python được viết bằng tiếng Anh. Nhưng có một số triển khai:

  • Pypy (được viết bằng Python)
  • CPython (được viết bằng C)
  • IronPython (được viết bằng C#)
  • Jython (được viết bằng Java)

Đã trả lời ngày 26 tháng 2 năm 2012 lúc 9:55Feb 26, 2012 at 9:55

GandarogandaroGandaro

3.3971 Huy hiệu vàng16 Huy hiệu bạc19 Huy hiệu đồng1 gold badge16 silver badges19 bronze badges

2

Nó được viết bằng C, nó còn được gọi là Cpython.

Đã trả lời ngày 26 tháng 2 năm 2012 lúc 9:27Feb 26, 2012 at 9:27

Python được viết bằng tiếng Anh. Nhưng có một số triển khai:neizod

Pypy (được viết bằng Python)15 silver badges24 bronze badges

CPython (được viết bằng C)

IronPython (được viết bằng C#)Jul 9, 2013 at 14:59

Jython (được viết bằng Java)

Đã trả lời ngày 26 tháng 2 năm 2012 lúc 9:55 (actually the default implementation is called CPython).

Python có phải là gia đình C không?

Do đó, sự phát triển của các ngôn ngữ khác nhau đã bị ảnh hưởng bởi ngôn ngữ C.Các ngôn ngữ này là C ++ (còn được gọi là C với các lớp), C#, Python, Java, JavaScript, Perl, PHP, Verilog, D, Limbo và C Shell của Unix, v.v.C++ (also known as C with classes), C#, Python, Java, JavaScript, Perl, PHP, Verilog, D, Limbo and C shell of Unix etc.