Tại sao Python không được sử dụng trong doanh nghiệp?

Python có nhiều người hâm mộ trong cộng đồng mã nguồn mở, nhưng liệu nó đã sẵn sàng cho doanh nghiệp chưa?

Python là một trong những dị thường hấp dẫn của phát triển phần mềm. một ngôn ngữ thường được coi là ngôn ngữ kịch bản "keo" mặc dù thực tế là nó rõ ràng đủ mạnh để phát triển phần mềm công nghiệp. Python, cũ hơn Java, đã phát triển được khá nhiều người theo dõi trong một nhóm nhỏ nhưng đang phát triển Pythonistas tự mô tả

Mặc dù Python thường được đánh giá so với Perl như một ngôn ngữ kịch bản đặc biệt phù hợp với các ứng dụng Internet, nhưng nó đang tạo ra tiếng vang trong không gian phát triển phần mềm quy mô lớn. Nó có thể được đặc trưng như

  • hướng đối tượng
  • Phiên dịch
  • tương tác
  • mô-đun
  • Năng động
  • Cấp độ cao
  • Cầm tay
  • Có thể mở rộng trong C và C++

Python kết hợp các mô-đun, ngoại lệ, gõ động, kiểu dữ liệu động cấp cao và các lớp. Nó có giao diện với nhiều cuộc gọi hệ thống và thư viện, cũng như các hệ thống dựa trên Windows khác nhau

Nếu Python không thể thâm nhập vào bất kỳ lĩnh vực điện toán cụ thể nào, thì đó là trong các cửa hàng phát triển doanh nghiệp, nơi Python vẫn được xem như một ngôn ngữ kịch bản thay thế cho Perl. Bài viết này cung cấp một đánh giá ngắn gọn về lý do tại sao Python có thể hoặc không thể hoạt động trong việc xây dựng các ứng dụng quy mô doanh nghiệp

Ưu điểm
Một số tính năng của Python khiến nó trở thành ứng cử viên hợp lý để sử dụng trong các ứng dụng doanh nghiệp là.

  • Tính khả dụng miễn phí [như Perl, Python là mã nguồn mở]
  • Tính ổn định [Python đang ở phiên bản 2. 2 vào thời điểm này và, như tôi đã lưu ý trước đó, cũ hơn Java]
  • Hỗ trợ tốt cho các đối tượng, mô-đun và các cơ chế tái sử dụng khác
  • Dễ dàng tích hợp và mở rộng bằng C và Java

Mặc dù các khả năng này đại diện cho các đối số phổ biến để sử dụng Python trong doanh nghiệp, nhưng có một số lý do hợp lý khác ít được chú ý hơn

Tiết kiệm chi phí phát triển và bảo trì
Không có gì bí mật khi các cửa hàng CNTT có nhiều việc phải làm hơn và ít tài nguyên hơn để thực hiện. Bất kỳ giải pháp CNTT nào hứa hẹn tăng năng suất của người lập trình và giảm tổng chi phí sở hữu phần mềm liên tục đều đáng được xem xét cẩn thận. Python đưa ra lập luận mạnh mẽ rằng nó có thể tiết kiệm tiền cho doanh nghiệp cả trong giai đoạn tạo và bảo trì phần mềm, nơi phần mềm dành 50% đến 95% vòng đời của nó.

Cú pháp rõ ràng, dễ đọc của Python làm cho mã có thể đọc được rõ ràng, ngay cả bởi các lập trình viên không phải là những người đã làm việc trong dự án ban đầu. Mặc dù một số lập trình viên phản đối việc sử dụng nhiều khoảng trắng trong mã Python, nhưng hầu hết những người xem mã Python đều đồng ý rằng nó dễ đọc hơn nhiều so với C hoặc Java, vốn sử dụng các ký tự đặc biệt để đánh dấu phần đầu và phần cuối của cấu trúc khối, vòng lặp, hàm, . Những người ủng hộ Python nói rằng việc sử dụng các ký tự như vậy có thể dẫn đến sự khác biệt về phong cách đáng chú ý khiến những người phải bảo trì mã khó đọc hơn

Sự rõ ràng về cú pháp của nó làm cho Python trở thành một ngôn ngữ dễ tiếp cận với đường cong học tập tương đối nông. Một lập trình viên có kinh nghiệm có thể nắm bắt những điều cơ bản về Python trong một ngày, làm việc hiệu quả trong một tuần hoặc ít hơn và tương đối thành thạo ngôn ngữ này nhanh hơn nhiều lần so với khả năng cô ấy có thể đạt được mức độ thông thạo tương đương trong C, C++, Java hoặc thậm chí là Perl

Có lẽ lợi ích ấn tượng nhất mà Python có được từ cú pháp rõ ràng của nó là thời gian phát triển giảm đáng kể. Một nhà phát triển ứng dụng cấp doanh nghiệp nói với tôi rằng thời gian phát triển mà cửa hàng của anh ấy tiết kiệm được nhờ Python đã bù đắp rất nhiều cho bất kỳ nhược điểm nào về hiệu suất phần mềm. Nhà phát triển cho biết: “Đối với doanh nghiệp của chúng tôi, việc phát triển sản phẩm mới một cách nhanh chóng vẫn quan trọng hơn là phát triển các sản phẩm có hiệu suất khủng khiếp,” nhà phát triển cho biết, “và thời gian của nhà phát triển đắt hơn nhiều [tính theo giá trị mỗi giờ] so với việc đưa phần cứng vào lồng. ”

Mặc dù rất khó để xác định điểm chuẩn cụ thể về tốc độ của nhà phát triển, nhưng dường như có sự đồng thuận rộng rãi rằng việc phát triển các ứng dụng Python nhanh hơn khoảng 5 đến 10 lần so với việc phát triển cùng một ứng dụng trong Java. Tiết kiệm thời gian thậm chí còn lớn hơn khi so sánh với C/C++

Khung quản lý nội dung
Python đã tạo ra Zope, một trong những khung quản lý nội dung được hiểu rõ và sử dụng rộng rãi nhất trong vũ trụ Nguồn mở. Công cụ này cho phép các lập trình viên am hiểu Python tạo và triển khai các trang Web có tính tương tác cao trong một khoảng thời gian ngắn theo yêu cầu của các đối tác JSP/ASP của họ và thực hiện điều đó theo cách cho phép chủ sở hữu và người chỉnh sửa dễ dàng sửa đổi nội dung của trang web .

Zope đã có sẵn trong vài năm và được sử dụng rộng rãi, đặc biệt là ở Châu Âu. Nó đang được chấp nhận rộng rãi hơn ở Hoa Kỳ và những nỗ lực phát triển hiện tại nhằm đơn giản hóa quá trình phát triển cũng như tách biệt hơn nữa chức năng và cách trình bày hứa hẹn sẽ tăng tỷ lệ chấp nhận của Zope. Giống như Python, Zope là mã nguồn mở

Zope phải chịu một số chi phí đáng kể làm chậm hiệu suất của nó trong quá trình phát triển, nhưng một số kỹ thuật có thể giảm thiểu vấn đề này khi các trang web được triển khai

Jython
Một điểm thường bị bỏ qua trong việc ủng hộ việc áp dụng Python trong doanh nghiệp, đặc biệt là những doanh nghiệp có cam kết quan trọng với Java, là một biến thể Python có tên là Jython. Được viết hoàn toàn bằng Java, Jython cho phép phát triển và thử nghiệm nhanh chóng các ứng dụng tận dụng thư viện lớp Java trong một khoảng thời gian ngắn của chu trình chỉnh sửa-biên dịch-kiểm tra của Java. Jython cũng cho phép tích hợp chặt chẽ mã Python và Java, cho phép mỗi người tận dụng các khả năng của ngôn ngữ kia. Đây là loại sức mạnh là tầm nhìn cuối cùng của Microsoft. Công nghệ Common Language Runtime [CLR] của sáng kiến ​​NET, nhưng ngày nay nó có thể truy cập được trong một sản phẩm trưởng thành dành cho Python.

Nhược điểm
Rõ ràng, một số đối số hợp lý phải được xem xét ở khía cạnh khác của câu hỏi về Python trong doanh nghiệp. Những phản đối chính đối với Python như một ngôn ngữ lập trình cấp doanh nghiệp khả thi tập trung vào những vấn đề này.

  • Nhóm nhà phát triển Python nhỏ hơn so với các ngôn ngữ khác, chẳng hạn như Java
  • Thiếu hỗ trợ đa bộ xử lý thực sự
  • Không có điểm hỗ trợ thương mại, ngay cả đối với dự án Nguồn mở [mặc dù tình hình này đang thay đổi]
  • Hiệu suất phần mềm [mặc dù các điểm chuẩn liên tục chứng minh Python có thể so sánh với Java trong hầu hết các ứng dụng]

Tất nhiên, việc không có hỗ trợ thương mại có thể là một lời phàn nàn với hầu hết công nghệ Nguồn mở. Với Python, thực sự không có câu trả lời nào vào lúc này. Tuy nhiên, sự hình thành gần đây của một nhóm các công ty châu Âu tập trung vào kinh doanh, những người đã cam kết mạnh mẽ với Python có thể báo hiệu sự khởi đầu của sự kết thúc cho kỷ nguyên này trong quá trình phát triển của Python. [Xem trang web Diễn đàn doanh nghiệp Python. ]

Thiếu các giải pháp đóng gói sẵn
PHP đã có được chỗ đứng vững chắc trong phần mềm doanh nghiệp, chủ yếu nhờ vào nhiều loại sản phẩm có thể sử dụng được, chẳng hạn như bảng thảo luận, máy chủ trò chuyện . Để so sánh, Python cung cấp tương đối ít giải pháp đóng gói. Nó bao gồm một thư viện lớp mở rộng với sự phân phối của ngôn ngữ và ngày càng có nhiều lập trình viên làm việc để phát triển một công cụ tương đương với PHP. Nhưng nếu thời gian đưa ra thị trường là rất quan trọng và có một giải pháp PHP cho vấn đề bạn đang gặp phải, PHP có lẽ là nơi đầu tiên tốt hơn để xem xét.

Sự mù mờ của Python trong các cửa hàng phát triển
Hầu hết các nhà quản lý phát triển biết rất ít, nếu có, về Python. Trong môi trường áp lực cao như cửa hàng CNTT hiện đại, việc người quản lý không quen với ngôn ngữ hoặc công cụ được đề xuất và ý nghĩa của nó đối với các khía cạnh khác của phát triển phần mềm có thể là hồi chuông báo tử cho việc áp dụng ngôn ngữ đó. Rốt cuộc, CIO hoặc giám đốc phát triển chịu trách nhiệm sản xuất các ứng dụng hoàn chỉnh. Không có bằng chứng cụ thể và thuyết phục về lợi ích đáng kể, hầu hết các nhà quản lý phát triển đều giữ nguyên những gì họ biết. Và rất ít người trong số họ biết Python.

Giới hạn của lớp truy cập cơ sở dữ liệu
So với các công nghệ đã có từ lâu như ODBC và JDBC, lớp truy cập cơ sở dữ liệu của Python có vẻ hơi thô sơ và kém phát triển. Mặc dù điều này đang thay đổi, nhưng các cửa hàng phát triển có nhu cầu ngay lập tức về các chương trình tương tác trơn tru với dữ liệu kế thừa phức tạp hoặc khả năng truy cập cơ sở dữ liệu SQL mạnh mẽ và nhanh chóng có thể không phải là ứng cử viên sáng giá cho Python trong thời gian tới.

Một lần nữa, nhiều công việc đang diễn ra trong lĩnh vực này và trong sáu tháng nữa, Python có thể giữ vững vị trí của mình trong lĩnh vực này

Khoảng trống về tài liệu
Hơn các ngôn ngữ đối thủ Perl, Java và ở một mức độ nào đó là PHP, Python gặp phải vấn đề thiếu tài liệu phong phú, dễ tiếp cận và sách đã xuất bản. Có gần gấp đôi số đầu sách PHP trên thị trường so với sách Python; .

Tài liệu trực tuyến, Python rất chắc chắn và phần lớn được tổ chức tốt, nhưng nó có xu hướng là tài liệu tham khảo thưa thớt. Đường cong học tập tương đối dễ dàng đối với Python giảm thiểu nhu cầu về hàng tấn sách về chủ đề này

Không có GUI và các công cụ làm việc nhóm
Việc tạo giao diện người dùng đồ họa trên các ứng dụng Python phức tạp không cần thiết. Tk đi kèm với bản phân phối Python và là công cụ thường được các nhà phát triển Python sử dụng nhất. Nhưng không có công cụ GUI dễ sử dụng, có thể truy cập cho Tkinter [Tk được triển khai với Python]. Dự án PythonCard phôi thai, hiện đang ở dạng nguyên mẫu [và trong đó tôi đóng vai trò phát triển], dự định lấp đầy khoảng trống đó. Một sản phẩm, boa-constructor, đã gây chú ý với một số lập trình viên Python, nhưng đó là một nỗ lực phức tạp để tạo ra Môi trường phát triển tích hợp [IDE] hoàn chỉnh.

Quan trọng hơn việc không có các công cụ GUI có thể sử dụng được là việc thiếu hoàn toàn các công cụ hỗ trợ phát triển nhóm trong Python. Java có đầy đủ các công cụ như vậy, cũng như C++. Trong phát triển phần mềm doanh nghiệp, thiếu sót này có thể được coi là một lỗ hổng gần như nghiêm trọng; . Python giảm thiểu phần nào điều này bằng cách sử dụng các mô-đun và độ phân giải không gian tên, điều này tạo điều kiện thuận lợi cho các dự án đa lập trình trong đó việc dẫm lên mã là điều khó xảy ra. Tuy nhiên, đây phải được coi là một nhược điểm lớn

Python có bị loại bỏ dần trong các ứng dụng doanh nghiệp không?

Python không bị “loại bỏ dần” trong các ứng dụng doanh nghiệp cũng như tuốc nơ vít đang bị loại bỏ dần trong cơ khí ô tô. Giống như tua vít và cờ lê, ngôn ngữ lập trình là công cụ. Chúng được chọn vì những gì chúng làm tốt nhất và các ngôn ngữ khác nhau làm những việc khác nhau tốt nhất.

Tại sao Python không được sử dụng trong các dự án lớn?

Python thực thi chậm hơn đáng kể so với các ngôn ngữ lập trình khác như Java, C++, PHP, Javascript, Swift và các ngôn ngữ khác. Khi xây dựng các ứng dụng lớn với nhiều dòng mã, đây là nỗi lo chính của các lập trình viên. Nó không gần với phần cứng như C hay C++ vì nó là ngôn ngữ viết mã cấp cao .

Python có phải là ngôn ngữ doanh nghiệp không?

Thực tế là Python nhanh, có thể mở rộng và hiệu quả, do đó, Python trở thành một ứng cử viên để viết mã cho các ứng dụng doanh nghiệp của bạn . Do đó, nó ngang bằng với các ngôn ngữ lập trình khác về phát triển ứng dụng phần mềm doanh nghiệp và, trong một số trường hợp, thậm chí vượt xa.

Tại sao Python không phổ biến?

Tốc độ. Python là viết tắt của khả năng chỉ thực hiện một tác vụ tại một thời điểm. Đó là bởi vì ngôn ngữ mã hóa này đảm bảo rằng mỗi biến chỉ có một loại dữ liệu và nếu có bất kỳ quy trình song song nào, chúng có thể làm hỏng điều đó . Tất cả điều này dẫn đến tốc độ chậm.

Chủ Đề