Hướng dẫn is python a real programming language - python có phải là ngôn ngữ lập trình thực sự không

Vì vậy, hãy gọi cho bạn tôi Jeff, và hãy gọi đây là anh chàng khác.

Tôi đã cho Jeff xem một dự án mới tuyệt vời mà tôi đã hoàn thành, và Asshat hỏi tôi ngôn ngữ nào tôi đã viết. Xin chúc mừng Asshat. Tôi nói với Asshat tôi đã viết chương trình bằng Python, và anh ấy bắt đầu nói về việc Python chỉ dành cho người mới bắt đầu như thế nào và đó không phải là ngôn ngữ lập trình thực sự ...

Được rồi, ông. Asshat, nếu bạn là chuyên gia về Python cho tôi thấy các kỹ năng lập trình ổ cắm của bạn mà không phải là lập trình thực sự với bạn.

Tôi không thực sự khó chịu nhưng người đàn ông Asshat đã làm cho máu của tôi chỉ sôi lên hôm nay.

Ý kiến

Mặc dù nó sẽ có nhu cầu cao trong một vài năm nữa

Python đã phục vụ chúng tôi tốt - nhưng liệu nó có kéo dài không? Ảnh của David Clode trên unplash

Hướng dẫn is python a real programming language - python có phải là ngôn ngữ lập trình thực sự không
Cộng đồng lập trình phải mất một vài thập kỷ để đánh giá cao Python. Nhưng kể từ đầu năm 2010, nó đã bùng nổ - và cuối cùng vượt qua C, C#, Java và JavaScript về mức độ phổ biến. took the programming community a couple of decades to appreciate Python. But since the early 2010’s, it has been booming — and eventually surpassing C, C#, Java and JavaScript in popularity.

Nhưng cho đến khi nào thì xu hướng đó sẽ tiếp tục? Khi nào Python cuối cùng sẽ được thay thế bằng các ngôn ngữ khác, và tại sao?

Đặt một ngày hết hạn chính xác vào Python sẽ là rất nhiều suy đoán, nó cũng có thể vượt qua như khoa học viễn tưởng. Thay vào đó, tôi sẽ đánh giá những đức tính đang thúc đẩy sự phổ biến của Python, ngay bây giờ và những điểm yếu sẽ phá vỡ nó trong tương lai.

Điều gì làm cho Python trở nên phổ biến ngay bây giờ

Thành công của Python, được phản ánh trong các xu hướng tràn ngăn xếp, đo lường số lượng thẻ trong các bài đăng trên nền tảng. Với kích thước của Stackoverflow, đây là một chỉ số khá tốt cho sự phổ biến ngôn ngữ.

Ảnh chụp nhanh các thẻ trên các ngôn ngữ lập trình khác nhau trên StackOverflow.

Trong khi R đã được cao nguyên trong vài năm qua, và nhiều ngôn ngữ khác đang suy giảm đều đặn, sự tăng trưởng của Python dường như không thể ngăn cản. Gần 14% của tất cả các câu hỏi StackOverflow được gắn thẻ Py Python, và xu hướng đang tăng lên. Và có một số lý do cho điều đó.

No cu

Python đã xuất hiện từ những năm 1990. Điều đó không chỉ có nghĩa là nó đã có nhiều thời gian để phát triển. Nó cũng đã có được một cộng đồng lớn và hỗ trợ.

Vì vậy, nếu bạn có bất kỳ vấn đề nào trong khi bạn mã hóa trong Python, tỷ lệ cược cao mà bạn sẽ có thể giải quyết nó bằng một tìm kiếm trên Google. Đơn giản là vì ai đó sẽ gặp phải vấn đề của bạn và viết một cái gì đó hữu ích về nó.

Nó thân thiện với người mới bắt đầu

Nó không chỉ có thực tế là nó đã tồn tại trong nhiều thập kỷ, cho các lập trình viên thời gian để thực hiện các hướng dẫn tuyệt vời. Hơn thế nữa, cú pháp của Python rất có thể đọc được.

Để bắt đầu, không cần chỉ định loại dữ liệu. Bạn chỉ cần khai báo một biến; Python sẽ hiểu từ bối cảnh cho dù đó là một số nguyên, giá trị nổi, boolean hay thứ gì khác. Đây là một lợi thế rất lớn cho người mới bắt đầu. Nếu bạn đã từng phải lập trình trong C ++, bạn sẽ biết rằng chương trình của bạn đã giành được sự thất vọng như thế nào vì bạn đã hoán đổi một chiếc phao cho một số nguyên.

Và nếu bạn đã từng phải đọc mã Python và C ++ cạnh nhau, bạn sẽ biết Python dễ hiểu như thế nào. Mặc dù C ++ được thiết kế với tiếng Anh trong tâm trí, nhưng nó có một lần đọc khá gập ghềnh so với mã Python.

Nó linh hoạt

Vì Python đã có từ rất lâu, các nhà phát triển đã tạo ra một gói cho mọi mục đích. Ngày nay, bạn có thể tìm thấy một gói cho hầu hết mọi thứ.

Bạn muốn crunch số, vectơ và ma trận? Numpy là anh chàng của bạn. Bạn muốn tính toán cho công nghệ và kỹ thuật? Sử dụng Scipy. Bạn muốn đi lớn trong thao tác và phân tích dữ liệu? Cho gấu trúc đi. Hãy bắt đầu với trí tuệ nhân tạo? Tại sao không sử dụng Scikit-Learn.NumPy is your guy.
Want to do calculations for tech and engineering? Use SciPy.
Want to go big in data manipulation and analysis? Give Pandas a go.
Want to start out with Artificial Intelligence? Why not use Scikit-Learn.

Bất cứ nhiệm vụ tính toán nào mà bạn đang cố gắng quản lý, rất có thể có một gói Python cho nó ngoài kia. Điều này làm cho Python đứng đầu những phát triển gần đây, có thể được nhìn thấy từ sự gia tăng trong học tập máy trong vài năm qua.

Nhược điểm của Python - và liệu họ có gây tử vong

Dựa trên các công phu trước đó, bạn có thể tưởng tượng rằng Python sẽ ở trên đỉnh của sh*t cho nhiều năm tới. Nhưng giống như mọi công nghệ, Python có những điểm yếu. Tôi sẽ trải qua những sai sót quan trọng nhất, từng cái một và đánh giá xem những thứ này có gây tử vong hay không.

Tốc độ, vận tốc

Python chậm. Giống như, thực sự chậm. Trung bình, bạn sẽ cần khoảng 2 trận10 lần để hoàn thành một nhiệm vụ với Python hơn bất kỳ ngôn ngữ nào khác.

Có nhiều lý do cho điều đó. Một trong số đó là nó được gõ một cách tự động - hãy nhớ rằng bạn không cần phải chỉ định các loại dữ liệu như trong các ngôn ngữ khác. Điều này có nghĩa là rất nhiều bộ nhớ cần được sử dụng, bởi vì chương trình cần đặt đủ không gian cho từng biến mà nó hoạt động trong mọi trường hợp. Và rất nhiều cách sử dụng bộ nhớ chuyển sang nhiều thời gian tính toán.

Một lý do khác là Python chỉ có thể thực thi một nhiệm vụ tại một thời điểm. Đây là hậu quả của các kiểu dữ liệu linh hoạt - Python cần đảm bảo mỗi biến chỉ có một kiểu dữ liệu và các quy trình song song có thể làm hỏng điều đó.

Để so sánh, trình duyệt web trung bình của bạn có thể chạy một tá các luồng khác nhau cùng một lúc. Và có một số lý thuyết khác xung quanh, quá.

Nhưng vào cuối ngày, không có vấn đề nào về tốc độ. Máy tính và máy chủ đã trở nên rẻ đến mức chúng tôi nói về phân số vài giây. Và người dùng cuối không thực sự quan tâm liệu ứng dụng của họ có tải trong 0,001 hay 0,01 giây hay không.

Phạm vi

Ban đầu, Python đã được sử dụng động. Điều này về cơ bản có nghĩa là, để đánh giá một biểu thức, một trình biên dịch trước tiên tìm kiếm khối hiện tại và sau đó liên tiếp tất cả các chức năng gọi.

Vấn đề với phạm vi động là mọi biểu thức cần phải được kiểm tra trong mọi bối cảnh có thể - điều này là tẻ nhạt. Đó là lý do tại sao hầu hết các ngôn ngữ lập trình hiện đại sử dụng phạm vi tĩnh.

Python đã cố gắng chuyển sang phạm vi tĩnh, nhưng làm nó rối tung lên. Thông thường, phạm vi bên trong - ví dụ các hàm trong các chức năng - sẽ có thể nhìn thấy và thay đổi phạm vi bên ngoài. Trong Python, phạm vi bên trong chỉ có thể nhìn thấy phạm vi bên ngoài, nhưng không thay đổi chúng. Điều này dẫn đến rất nhiều sự nhầm lẫn.

Lambdas

Bất chấp tất cả sự linh hoạt trong Python, việc sử dụng Lambdas khá hạn chế. Lambdas chỉ có thể là biểu hiện trong Python, và không phải là tuyên bố.

Mặt khác, các tuyên bố và tuyên bố biến luôn là các tuyên bố. Điều này có nghĩa là Lambdas không thể được sử dụng cho chúng.

Sự khác biệt này giữa các biểu thức và câu lệnh khá độc đoán, và không xảy ra trong các ngôn ngữ khác.

Không gian trắng làm cho mã dễ đọc hơn, nhưng ít có thể duy trì hơn. Ảnh của Irvan Smith trên unplash

Không gian trắng

Trong Python, bạn sử dụng khoảng trắng và vết lõm để chỉ ra các mức mã khác nhau. Điều này làm cho nó hấp dẫn về mặt quang học và trực quan để hiểu.

Các ngôn ngữ khác, ví dụ C ++, phụ thuộc nhiều hơn vào niềng răng và dấu chấm phẩy. Mặc dù điều này có thể không hấp dẫn về mặt trực quan và thân thiện với người mới bắt đầu, nhưng nó làm cho mã có thể duy trì hơn rất nhiều. Đối với các dự án lớn hơn, điều này hữu ích hơn rất nhiều.

Các ngôn ngữ mới hơn như Haskell giải quyết vấn đề này: chúng dựa vào khoảng trắng, nhưng cung cấp một cú pháp thay thế cho những người muốn đi mà không cần.

Phát triển điện thoại di động

Khi chúng tôi chứng kiến ​​sự thay đổi từ máy tính để bàn sang điện thoại thông minh, thì rõ ràng chúng tôi cần các ngôn ngữ mạnh mẽ để xây dựng phần mềm di động.

Nhưng không có nhiều ứng dụng di động đang được phát triển với Python. Điều đó không có nghĩa là nó có thể được thực hiện - có một gói Python gọi là Kivy cho mục đích này.

Nhưng Python đã được tạo ra với thiết bị di động. Vì vậy, mặc dù nó có thể tạo ra kết quả có thể vượt qua cho các nhiệm vụ cơ bản, nhưng đặt cược tốt nhất của bạn là sử dụng một ngôn ngữ được tạo ra để phát triển ứng dụng di động. Một số khung lập trình được sử dụng rộng rãi cho thiết bị di động bao gồm React Native, Flutter, Aconic và Cordova.

Để rõ ràng, máy tính xách tay và máy tính để bàn sẽ có trong nhiều năm tới. Nhưng vì thiết bị di động đã vượt qua lưu lượng máy tính để bàn, nên nên nói rằng việc học Python không đủ để trở thành một nhà phát triển toàn diện.

Lỗi thời gian chạy

Một kịch bản Python được biên soạn trước và sau đó được thực thi. Thay vào đó, nó biên dịch mỗi khi bạn thực thi nó, do đó, bất kỳ lỗi mã hóa nào đều thể hiện trong thời gian chạy. Điều này dẫn đến hiệu suất kém, tiêu thụ thời gian và nhu cầu rất nhiều bài kiểm tra. Giống như, rất nhiều bài kiểm tra.

Điều này là tuyệt vời cho người mới bắt đầu kể từ khi thử nghiệm dạy họ rất nhiều. Nhưng đối với các nhà phát triển dày dạn, phải gỡ lỗi một chương trình phức tạp ở Python khiến họ trở nên tồi tệ. Sự thiếu hiệu suất này là yếu tố lớn nhất đặt ra dấu thời gian trên Python.

Điều gì có thể thay thế Python trong tương lai - và khi

Có một vài đối thủ cạnh tranh mới trên thị trường ngôn ngữ lập trình:

  • Rust cung cấp cùng một loại an toàn mà Python có - không có thay đổi nào có thể vô tình bị ghi đè. Nhưng nó giải quyết vấn đề hiệu suất với khái niệm sở hữu và vay mượn. Đây cũng là ngôn ngữ lập trình được yêu thích nhất trong vài năm qua, theo StackoverFlow Insights. offers the same kind of safety that Python has — no variable can accidentally be overwritten. But it solves the performance issue with the concept of ownership and borrowing. It is also the most-loved programming language of the last few years, according to StackOverflow Insights.
  • Go là tuyệt vời cho người mới bắt đầu như Python. Và nó đơn giản đến mức nó thậm chí còn dễ dàng hơn để duy trì mã. Điểm thú vị: Các nhà phát triển GO là một trong những lập trình viên được trả lương cao nhất trên thị trường. is great for beginners like Python. And it is so simple that it’s even easier to maintain the code. Fun point: Go developers are among the highest-paid programmers on the market.
  • Julia là một ngôn ngữ rất mới cạnh tranh trực tiếp với Python. Nó lấp đầy khoảng trống của các tính toán kỹ thuật quy mô lớn: Thông thường, người ta sẽ sử dụng Python hoặc Matlab, và vá toàn bộ điều với các thư viện C ++, cần thiết ở quy mô lớn. Bây giờ, người ta có thể sử dụng Julia thay vì tung hứng với hai ngôn ngữ. is a very new language that competes head-on with Python. It fills the gap of large-scale technical computations: Usually, one would have used Python or Matlab, and patched the whole thing up with C++ libraries, which are necessary at a large scale. Now, one can use Julia instead of juggling with two languages.

Mặc dù có những ngôn ngữ khác trên thị trường, Rust, Go và Julia là những ngôn ngữ sửa chữa các bản vá yếu của Python. Tất cả các ngôn ngữ này đều xuất sắc trong các công nghệ chưa đến, đáng chú ý nhất là trong trí tuệ nhân tạo. Mặc dù thị phần của họ vẫn còn nhỏ, như được phản ánh trong số lượng thẻ StackOverflow, xu hướng cho tất cả chúng đều rõ ràng: lên trên.

Ảnh chụp nhanh các thẻ trên các ngôn ngữ lập trình khác nhau trên StackOverflow.

Với sự phổ biến phổ biến của Python vào lúc này, chắc chắn sẽ mất nửa thập kỷ, thậm chí có thể là một tổng thể, cho bất kỳ ngôn ngữ mới nào trong số này để thay thế nó.

Nó sẽ là ngôn ngữ nào - Rust, Go, Julia hoặc một ngôn ngữ mới của tương lai - rất khó để nói vào thời điểm này. Nhưng với các vấn đề hiệu suất là cơ bản trong kiến ​​trúc của Python, người ta chắc chắn sẽ chiếm được vị trí của nó.

Python có phải là một ngôn ngữ lập trình thực tế?

Python là một ngôn ngữ lập trình cấp cao, hướng đối tượng, hướng đối tượng với ngữ nghĩa động. with dynamic semantics.

Tại sao Python là một ngôn ngữ lập trình thực sự?

Ngôn ngữ Python là một trong những ngôn ngữ lập trình dễ tiếp cận nhất có sẵn vì nó có cú pháp đơn giản hóa và không phức tạp, điều này nhấn mạnh hơn vào ngôn ngữ tự nhiên.Do dễ học và sử dụng, mã Python có thể dễ dàng viết và thực hiện nhanh hơn nhiều so với các ngôn ngữ lập trình khác.it has simplified syntax and not complicated, which gives more emphasis on natural language. Due to its ease of learning and usage, python codes can be easily written and executed much faster than other programming languages.

Python có còn liên quan năm 2022 không?

Python được xếp hạng đầu tiên trong số các ngôn ngữ mong muốn nhất của Stack Overflow cho năm 2021. Đây là công nghệ phổ biến thứ ba, theo khảo sát của các nhà phát triển.Tính đến tháng 5 năm 2022, nó là số 1 trong Chỉ số TIOBE.As of May 2022, it is no. 1 in the TIOBE Index.

Python có dễ hơn C ++ không?

C ++ hơi phức tạp khi nói đến sự đơn giản của ngôn ngữ và nó có nhiều quy tắc cú pháp cũng như các quy ước của chương trình.Python là một ngôn ngữ thân thiện. Nó có cú pháp đơn giản và dễ học.Hơn nữa, các tính năng của nó rất dễ sử dụng, cho phép bạn viết mã ngắn và có thể đọc được.Python is a friendly language. It has a simple and easy-to-learn syntax. Moreover, its features are easy to use, which allows you to write short and readable code.