2009-12-10 40 views
9

Đây sẽ không phải là câu hỏi "lập trình" nhưng có thêm câu hỏi liên quan đến công nghệ/nền tảng. Tôi đang cố gắng để tìm ra liệu Python có thể là một thay thế Java phù hợp cho các ứng dụng doanh nghiệp/web.Trường hợp doanh nghiệp dành cho doanh nghiệp Python

Trường hợp lý tưởng nào bạn muốn sử dụng Python thay vì Java? Làm thế nào một ứng dụng web Python điển hình (cơ sở dữ liệu/phiên/đồng thời) thực hiện so với một ứng dụng Java điển hình? Làm thế nào để khuôn khổ Python cụ thể vuông lên chống lại các khuôn khổ dựa trên Java (Spring, SEAM, Grails, vv)?

Đối với doanh nghiệp, chuyển từ cơ sở hạ tầng Java sang cơ sở hạ tầng Python .. có quá khó/tốn kém/tài nguyên chuyên sâu/không khả thi? Cũng làm sáng tỏ một số trường hợp kinh doanh để cung cấp giải pháp Python + Google AppEngine cho khách hàng cuối cùng. Nó sẽ có hiệu quả chi phí trong một kịch bản điển hình?

Xin lỗi nếu tôi đặt câu hỏi quá rộng, tôi muốn giữ nó cụ thể, nhưng tôi cần sự giúp đỡ của bạn để đánh giá toàn bộ Python từ quan điểm của các lập trình viên, công ty cung cấp dịch vụ và khách hàng doanh nghiệp cuối.

Đối với SME, ngăn xếp công nghệ dựa trên Python/GoogleAppEngine là một nền tảng có thể mở rộng và giá cả phải chăng rõ ràng. Nhưng còn về một MNC lớn đã đầu tư rất nhiều vào Java.

Cảm ơn bạn rất nhiều. Tôi tự mình nghiên cứu và sẽ sẵn sàng chia sẻ kết luận của mình ở đây!

Cảm ơn bạn, Srirangan

Trả lời

14

Một doanh nghiệp mà đã có một terabucks đầu tư Java nên thêm jython để pha trộn của họ về công nghệ - nó có thể được áp dụng dần và dần dần, lúc đầu cho các chức năng phụ trợ như thử nghiệm, Việc di chuyển dữ liệu "một lần" & c, tạo mẫu chức năng mới, các trường hợp sử dụng một số thư viện Python mã nguồn mở hiện tại rất tiện dụng, v.v ... - khi nhiều nhà phát triển Java trong công ty tìm hiểu để sử dụng Jython, một số nguyên mẫu sẽ chỉ được đưa vào sản xuất dưới dạng mã Jython vì sẽ không có lợi ích để mã hóa chúng, một số hệ thống con cũ cần mã hóa sẽ được mã hóa lại trong Jython, v.v. Nó không bao giờ thực sự là một quyết định khôn ngoan để vứt bỏ một codebase hiện tại và làm việc lớn và đầu tư ginormous nó đại diện - thế mạnh của Python bao gồm sự giàu có, triển khai ở cấp độ sản xuất, họ chơi tốt với người khác như thế nào, và như thế nào Python có thể dần dần và dần dần thâm nhập vào hầu hết các cửa hàng phát triển.

+0

Cảm ơn câu trả lời của bạn. – Sri

+0

@Srirangan, bạn được chào đón! –

+2

"Terabucks" có uống cà phê không? :) – PaulMcG

4

Khoản đầu tư của bạn vào một công nghệ hiện có càng lớn thì chi phí càng cao. COBOL có lẽ là ví dụ tốt nhất ở đây.

Đầu tư đó không chỉ trong việc chuyển các giải pháp hiện có mà còn đào tạo nhân viên mới để bạn có kỹ năng xây dựng và hỗ trợ các công nghệ mới ngay cả khi vẫn duy trì các giải pháp kế thừa của mình.

Thêm vào đó thực tế là đối với hầu hết các tập đoàn đa quốc gia lớn, phần mềm không phải là hoạt động kinh doanh cốt lõi của họ. Miễn là nó hoạt động hiệu quả và đáp ứng nhu cầu kinh doanh, họ không có xu hướng quan tâm nhiều đến 'chi tiết'.

Bạn cần có khả năng cung cấp một số lợi ích hấp dẫn để vượt qua loại quán tính này.

Buồn nhưng đúng.

+0

Cảm ơn câu trả lời của bạn – Sri

1

Nếu bạn cần phải làm những điều bạn có thể làm với Django, sau đó Django và Python là hoàn toàn những gì bạn muốn. Google App Engine runs Django as well. Vì vậy, bạn có thể làm một ứng dụng Django và lưu trữ nó trên Google App Engine, và sau đó thay đổi ý định của bạn và chuyển sang lưu trữ máy chủ thông thường hoặc tự lưu trữ nếu bạn có máy chủ của riêng mình.

Tôi chưa thử Google App Engine nhưng hiểu biết của tôi là giá khá hợp lý cho những gì bạn nhận được. Bộ phận CNTT của Google làm một công việc tuyệt vời để giữ cho các trung tâm dữ liệu của họ hoạt động; nếu bạn thuê lưu trữ lên Google App Engine, bạn biết dữ liệu của mình đã được sao lưu, bạn biết rằng máy chủ sẽ không bị trục trặc và thậm chí nếu backhoe lấy toàn bộ trung tâm dữ liệu của Google khỏi Internet, một số trung tâm dữ liệu khác của Google sẽ tiếp tục phân phát ứng dụng của bạn cho khách hàng của bạn. Bạn cũng biết rằng nếu ứng dụng của bạn đột nhiên trở nên cực kỳ phổ biến, Google App Engine sẽ tự động mở rộng quy mô để xử lý tải. (Tôi nghĩ rằng bạn đặt một nắp cho tối đa bạn sẵn sàng trả tiền, và nó quy mô cho đến khi nó chạm vào nắp. Nhưng như tôi đã nói tôi đã không sử dụng nó và tôi không nhất định.)

I haven ' Tôi đã sử dụng Java, nhưng từ những gì tôi đã thấy, Python là một ngôn ngữ biểu cảm hơn và các lập trình viên Python có kỹ năng có thể hoàn thành nhiều công việc hơn trong một ngày chỉ vì ngôn ngữ đó tốt hơn nhiều. Tuy nhiên, nếu bạn đã đầu tư vào Java và có chuyên môn trong nhà ở Java, bạn sẽ điên khi bước ra khỏi đó qua đêm. Điều chính xác là chọn một dự án mới để thử điều Python điên rồ đó.

Và tôi thực sự khuyên bạn nên Django. Bạn có thể nhận được cuốn sách Django và thử hướng dẫn. Nếu dự án thí điểm đầu tiên của bạn trong Python là một dự án Django, bạn nên có một thời gian dễ dàng của sự vật.

+0

Django thật tuyệt vời. GAE + Django là ít tuyệt vời, cho rằng GAE không thực sự hỗ trợ đầy đủ nhiều tính năng mà làm cho Django thực sự tiện dụng. OP hỏi về các loại vấn đề được giải quyết bằng phần cứng nội bộ trong mọi trường hợp, làm cho GAE không phải là câu trả lời. –

+0

Ngoài ra, tôi yêu Python, nhưng nếu bạn chưa sử dụng Java, đừng vẹt vô nghĩa về nó mà bạn đã nghe ở nơi khác, nó chỉ làm cho bạn trông xấu. –

+0

* Rawk! * Steveha muốn một cái bánh quy! <- Đó là vẹt. Vui lòng xác định cụ thể phần mà tôi đã vẹt một cái gì đó mà tôi đã nghe ở nơi khác. Lưu ý tôi đã nói "từ những gì tôi đã thấy về nó" ... Tôi đã tranh luận từ kinh nghiệm của riêng tôi. Python có ít dòng mã hơn so với Java, và hầu hết mọi người đồng ý rằng điều này giúp mọi người làm việc hiệu quả hơn. Xem thêm: http://pythonconquerstheuniverse.wordpress.com/category/java-and-python/ – steveha

0

Có - gần như - không sử dụng được "Business Case" cho bất kỳ lựa chọn công nghệ nào.

"về một MNC lớn đã đầu tư rất nhiều vào Java" Hãy hỏi xung quanh. Xem nếu có một trường hợp kinh doanh cho Java.

Tôi nghi ngờ bạn sẽ tìm thấy mọi thứ. Hầu hết các công ty trôi dạt vào lựa chọn công nghệ từ từ.

Không có trường hợp kinh doanh cho COBOL - đó là trò chơi duy nhất trong thị trấn trong những ngày xa xưa.

Hiếm khi có trường hợp kinh doanh cho Java. Điều thường xảy ra là một số cá nhân có tầm nhìn xa bắt đầu xây dựng trang web đầu tiên (có lẽ trong Perl). "Điều web" có được lực kéo, và một số cá nhân về thị giác đã bắt đầu xây dựng các trang web trong Java. Cuối cùng, sự thành công của những nhóm nhỏ này chỉ ra cho người khác rằng Java có lợi thế hơn COBOL.

Người quản lý nói những từ "tạo doanh nghiệp", nhưng hãy xem những gì họ thực sự làm. Họ lắng nghe (1) đồng nghiệp của họ, (2) những người thành công.

Để làm cho "trường hợp kinh doanh" cho Python, bạn phải là cá nhân có tầm nhìn xa trông rộng.

1) Sử dụng Python.

2) Hãy thành công.

3) Chia sẻ thành công của bạn.

4) Hãy sẵn sàng giải thích rằng thành công của bạn là do công cụ của bạn chứ không phải cấp độ cá nhân của bạn về thiên tài và uy tín.

+0

Có hầu hết các trường hợp kinh doanh chắc chắn cho một ngôn ngữ. Các nhà phát triển của chúng tôi có kiến ​​thức phù hợp không, có các nhà phát triển (mới) có sẵn cho ngôn ngữ đó không? Chúng ta có thể dễ dàng tương tác với phần mềm khác của chúng ta (ví dụ như tích hợp ldap) hay chúng ta cần tự mình tái tạo lại bánh xe đó? Nó cũng không thực sự là công nghệ thú vị cho trường hợp kinh doanh, mà là việc sử dụng và hỗ trợ công nghệ đó. – extraneon

+0

@extraneon: Tất cả các câu hỏi thú vị. Nhưng, không ai trong số đó thực sự được sử dụng trong một "trường hợp kinh doanh" định lượng để đưa ra bất kỳ quyết định sử dụng ngôn ngữ nào. Thay vào đó, quyết định sử dụng ngôn ngữ là một cái gì đó xảy ra từ từ dựa trên thành công trước đó. Xem xét việc chấp nhận Java trong bất kỳ tổ chức nào. Tìm tài liệu "business case". Nó rất, rất hiếm. –

1

Câu trả lời cho câu hỏi của bạn là có. Python có thể rất phù hợp với Enterprise vì python là một ngôn ngữ có sức mạnh thô, linh hoạt và có thể được dán với các ngôn ngữ lập trình khác.Những gì doanh nghiệp thực sự đòi hỏi là một ngôn ngữ mà làm mọi thứ và tôi cảm thấy python đã sẵn sàng cho doanh nghiệp. Nếu bạn muốn các ví dụ sau đó tôi tin rằng có thể không có ví dụ lớn hơn so với google. Google đang chạy python nội bộ và bên ngoài cho các ứng dụng kinh doanh quan trọng của nó. Vấn đề duy nhất với python là nó không được công nhận bởi công ty MNC hàng đầu và chúng tôi là một lập trình viên python tìm thấy thời gian khó khăn thuyết phục đội ngũ quản lý. Tôi đoán bạn sẽ phải đối mặt với cùng một vấn đề. Nhưng tôi đảm bảo với bạn một khi bạn nhận được đôi chân của bạn ướt trong python, bạn sẽ hiểu được sức mạnh thực sự của nó

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