Rảnh rảnh type vài dòng cho các bác:
Ưu điểm của Go:
1. Code dễ đọc, dễ hiểu.
2. Go compiler mang lại nhiều thông tin có để giải quyết các vấn đề thay vì những output vô nghĩa.
3. Go code portable
4. Hỗ trợ concurrency, distributed programming.
5. Support Garbage collection. Được thiết kế khá nhanh chứ ko chậm chạp như GC của java.
6. Ko có preprocessor, tăng tốc độ khi compile chương trình.
7. Có thể build web app.
8. Bộ thư viện chuẩn của Go cung cấp nhiều library cho phép làm việc dễ dàng.
9. Sử dụng static linking by default. Ko cần quan tâm tới library, different version v.v...
10. Support Unicode
(cái này mình đọc sách nhiều nên biết thôi :sexy
Tất nhiên ko có ngôn ngữ nào là hoàn hảo, quan trọng là mục tiêu khi người ta xây dựng ngôn ngữ đó là gì.
Ví dụ như Go thì ko có OOP, có thể gọi là ko trực tiếp support OOP thì chính xác hơn.
Về tốc độ thì mình nghĩ Go vẫn ko thể nhanh hơn C dc, đơn giản là Unix viết bằng C.
Nhưng dù sao Go là một ngôn ngữ hiện đại, dễ học, dễ nắm bắt, dễ viết.
Để học syntax 1 ngôn ngữ thì rất dễ, python hay Java thì chắc ngồi vài hôm là xong. Nhưng để thực sự "đào sâu" vào ngôn ngữ đấy, thì mình nghĩ các bác cần nhiều thời gian hơn rất nhiều.
Có thể mất cả năm trời để hiểu rõ dc các cơ chế hoạt động phía dưới của ngôn ngữ, sử dụng một cách thông thạo, code đẹp đẽ tối ưu.
Do tính chất công việc hiện nay nên đa phần nhiều người ko đạt dc tới level đó và cũng ko coi việc đó là quan trọng, với mình đó là 1 điều đáng buồn.
Các bác chỉ có thể code 1 cách tối ưu khi các bác hiểu rõ ngôn ngữ đó hoạt động như thế nào.