Hỏi về ngôn ngữ sử dụng trong back-end

back-end thì dùng java hay python thì tốt hơn và có tương lai hơn ạ

php la tuong lai sang lang nhat nhe ban

1 Like

Mình thích C# hơn :stuck_out_tongue: , nhưng mà học cả đi bạn, đâu có thiệt gì đâu.

1 Like

Có tương lai hay không là do khả năng code của bạn. Code giỏi thì java hay python đều có tương lai cả.

2 Likes

Không có cái nào là tốt hơn cả bạn ạ. Java, Python hay PHP đều chỉ là các ngôn ngữ mà thôi. Còn backend là cả một tập hợp nhiều thành phần và công cụ khác nhau. Tùy thuộc vào môi trường mà chúng ta sử dụng các công cụ thích hợp mà thôi.

Theo tôi biết, các lập trình viên độc lập (freelancer) hay các doanh nghiệp nhỏ và vừa có khuynh hướng chọn PHP hoặc Python để phát triển các ứng dụng Web vì các ngôn ngữ này có nhiều thư viện opensource hỗ trợ và dễ sử dụng (ở Việt nam dường như PHP phổ biến hơn Python trong nhóm này). Tuy nhiên nhược điểm của các thư viện này cũng là do opensource (không có các công ty lớn đứng phía sau và do đó không đảm bảo về cam kết hỗ trợ kỹ thuật hoặc tài liệu - thử tưởng tượng nếu bạn phát triển các dự án lớn có vài trăm đến cả nghìn lập trình viên mà thiếu tài liệu kỹ thuật hoặc phát hiện lỗi với một thư viện nào đó thì phải làm sao?). Vì lý do đó nên các doanh nghiệp lớn có xu hướng chọn Java hay .NET để lập trình trong các sản phẩm của họ. Một lý do phụ nữa là Python và PHP là các ngôn ngữ thông dịch nên performance của các ứng dụng này sẽ thường sẽ không nhanh bằng các ứng dụng viết bằng Java hay .NET. Tuy nhiên, điều này cũng không phải là tuyệt đối vì nó còn phụ thuộc rất nhiều vào mục đích sử dụng của ứng dụng (nếu bạn viết một Web app phổ thông với vài trăm user thì bạn sẽ không thấy khác nhau nhiều về tốc độ truy cập và xử lý giữa các ngôn ngữ khác nhau) và trình độ của người lập trình. Một lập trình viên giỏi có thể viết một ứng dụng trên PHP hoặc Python chạy nhanh hơn một lập trình viên tồi cũng viết ứng dụng đó trong .NET hoặc Java.

Tuy vậy, các ngôn ngữ lập trình chỉ là điểm khởi đầu, một khi bạn đã học sâu và hiểu rõ các khái niệm thì bạn sẽ thấy dù là với ngôn ngữ nào, các khái niệm áp dụng cho backend (và cả frontend) cũng tương tự nhau. Do đó, chuyện học ngôn ngữ nào chỉ là ngắn hạn thôi, trong dài hạn thì bạn cần phải nắm được cái khái niệm này (ví dụ như cách sử dụng các hệ CSDL qua SQL, cách dùng ORM, cách viết các thành phần bảo mật, cách tối ưu performance …). Nếu bạn hiểu được các khái niệm này thì bạn có thể áp dụng với hầu hết các ngôn ngữ mà không gặp trở ngại đáng kể.

Nếu bạn là người mới bắt đầu học thì theo tôi, bạn nên bắt đầu với Java hoặc C#. Lý do là vì Java hoặc C# có cấu trúc ngôn ngữ chặt chẽ hơn nên sẽ giúp bạn hiểu tốt hơn các khái niệm về lập trình. PHP hoặc Python cũng có ưu điểm là dễ hiểu và dễ học, nhưng sẽ không giúp bạn hiểu sâu về ngôn ngữ lập trình bằng C# hoặc Java. Thật ra nếu để hiểu sâu về lập trình thì C++ là tốt nhất. Nhưng C++ tương đối khó học, thành ra tôi chọn điểm cân bằng là Java hoặc C#.

5 Likes

Học tốt 1 ngôn ngữ thì ngôn ngữ thứ 2 học trong phút mốt, ko phải suy nghĩ chọn làm gì.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?