01/10/2018, 16:21
Tại sao các ứng dụng doanh nghiệp thường dùng java hơn là php
Cho mình hỏi , Tại sao các ứng dụng doanh nghiệp thường dùng java hơn là php. Ai pro cho e xin chút ý kiến ưu và nhược điểm!
Cho mình hỏi với thanks ae
Bài liên quan
Câu này giống với câu: sao không hỏi google mà lại lên daynhauhoc hỏi nhỉ
just for fun …
bảo cái chuyên sâu bác ạ , ko phải là cái cơ bản để quảng cáo khóa học =)) tôi được ông sếp hỏi vậy đó =))
Theo mình nghĩ là doanh nghiệp tức là kết quả đòi hỏi phải chính xác. Vậy thì backend phải là 1 ngôn ngữ rõ ràng về cú pháp như java, c#. PHP không như vầy dẫn đến việc hàm trả về thực ra là số nhưng có những lúc nhầm lẫn lại là 1 string. Java thì có maven load các dependencies(package thư viện) nhanh hơn bằng cách ghi tên các deps trong 1 file xml và tự load các deps từ trên mạng về chứ thay vì phải tự tải về và làm bằng tay như PHP. Đấy là tất cả những gì mình có thể chia sẻ cho bạn
PHP có composer để quản lý dependencies, không ai kéo dependencies về bằng tay như bạn đâu.
Vấn đề về dự án lớn thì như thế nào được xem là lớn?
Mình không rõ định nghĩa lớn của các bạn là như thế nào nhưng mình đã từng làm cho các dự án của nhà mạng trong nước, của các cty lớn của ngước ngoài và họ vẫn dùng PHP nếu thấy PHP phù hợp.
Chỉ cần kiến trúc code tốt, test cases đầy đủ. Và quan trọng nhất là tìm được người phù hợp cho dự án.
vì sự ổn định của nó , khi làm ứng dụng lớn điều người ta cần nhất là sự an toàn và ổn định , và qua 1 thời gian tồn tại và phát triển khá lâu làm cho nó càng ổn định hơn và cú pháp của các ngôn ngữ dạng strong type khá rõ ràng nên giúp cho việc sửa chữa và mở rộng dễ hơn so với các ngôn ngữ dạng script như ruby , php …
Do JAVa nó đẩy mọi thứ ra exception được, nên hệ thống rất hiếm khi bị crash, kể cả vào tay coder dỏm, miễn là anh catch every where
bởi mk thấy php tốc độ load nhanh hơn java mà cũng nhẹ hơn ko loằng ngoằng , hôm nay được hỏi nên mk ko bít nói sao
PHP có exception mà
http://php.net/manual/en/language.exceptions.php
mk thấy chắc vì nó lâu đời hơn mk ko bít giải thích chuyên sâu sao cho chuẩn nhỉ
mk nghĩ nó phải có gì đó . ko phải chỉ vì mấy cái họ thường ns đâu , mk tìm trên mạng nhưng mà toàn là bề nổi ấy . chỉ có thấy nó bảo mật hơn mà thôi , ko chuyên sâu ấy
Có thể nói 1 phần do lịch sử để lại -.-, đa số job java bây giờ là maintaince hệ thống cũ. Việc thay đổi ngôn ngữ 1 hệ thống cũ rủi ro fail rất cao.
Bản thân pure php không có concurrency mà trong các hệ thống doanh nghiệp, tài chính thì nó cần. cho nên so sánh thì so sánh với bộ .net của MS hoặc C++ chứ -.-
Dùng java chạy trên đa nên tảng, đỡ tốn chi phí hơn -.-
Kiếm người expert về java dễ hơn là php :v
Exception của php nó cũng như C++, không phải lúc nào cũng xuất được. Có những lỗi còn phải dùng magic method hoặc regex mới lọc ra được. Nên dù nói gì thì khoản exception của java vẫn là đứng đầu hiện nay.
Mình thấy Java và PHP đều mạnh như nhau cả. Chỉ có điều tài liệu học cho beginner của PHP tạm nham và không tổ chức rõ ràng như Java. Vì vậy trình độ fresher của Java cao hơn PHP tí. Tuy nhiên nếu đi sâu thì PHP làm được gì thì Java cũng làm được.
Về Big Data, đa số tool và lib đều hỗ trợ Java, nhưng vẫn hỗ trợ cách viết script bằng bash. Có thể thay bash bằng ngôn ngữ nào cũng được: Ruby, Python, JavaScript,… và cả PHP nữa. Cách thiết lập và quy trình sẽ rắc rối hơn tí thôi.
Hết màn chém gió của mình.
Nếu không phải là để phát triển công nghệ riêng cho công ty, nếu không phải là hãng công nghệ thì họ thường xem xét các yếu tố sau:
Time: Thời dây dựng 1 ứng dụng không cần phải nhanh nhất nhưng không nên đứng ở cửa dưới nếu so sánh với các NN khác. Java là 1 ứng cử viên tốt để nhanh đạt đến sản phẩm.
Cost: Sự phổ biến của Java developers, tính dễ tiếp cận của ngôn ngữ, thời gian phát triển nhanh là những yếu tố quan trọng ảnh hưởng đến cost.
Security: Tính oan toàn kể cả trong giai đoạn phát triển và bảo trì xét về cả góc độ sản phẩm và con người.
Scalable: Doanh nghiệp là thực thể sống, phát triển, thay đổi. Ứng dụng gắn liền với hoạt động của doanh nghiệp nên được thiết kế, xây dựng với tầm nhìn trên. Java với sự tường minh trong OOP, module có lẽ lại là 1 ứng cử viên tốt.
Nhắc đến exception, thì mấy hệ thống lớn cũng handle cái này:
Thật sự thì quản lý exception rất quan trọng -.-
Java không nhanh đâu, starup không dùng java vì nó quá lâu @@
Xét ở những năm gần đây với sự xuất hiện của nhiều ứng cử viên mới?
Nếu trình đánh giá khả thi cho sếp (không phải công nghệ) thì ô ta gần như chắc chắn chẳng biết Exception là cái quái gì.
ý ông là sao -.-…
Bạn nói đến “Startup”. Buzzword này khiến mình hiểu là bạn có thể đang so sánh các công nghệ của những năm gần đây chứ ko xét theo chiều lịch sử của 2 nn trên.
Mình cũng ko rõ là bạn đang đề cập đến “Ứng dụng” hay “Ứng dụng doanh nghiệp” . Một Startup có lẽ người ta quan tâm đến “ứng dụng” (hướng tới khác hàng, người dùng) đầu tiên chứ ko phải là “Ứng dụng doanh nghiệp” (hướng tới nội bộ doanh nghiệp).
VD: Zalo, Grab, Life360, Snapchat… là ứng dụng chứ ko phải ứng dụng doanh nghiệp.