Đâu là ngôn ngữ nên học cho người mới bắt đầu (phần 4)

Đây là bài viết được dịch từ blog của Codementor.

Tiếp theo phần 3

Tương lai của từng ngôn ngữ lập trình

Một ngôn ngữ lập trình cụ thể sẽ thích hợp như thế nào trong tương lai? Trước hết, tương lai của một ngôn ngữ sẽ phụ thuộc phần lớn vào sự phát triển của cộng đồng của nó. Giống như máu, nó chính là cái giữ cho một ngôn ngữ được phổ biến và đảm bảo ngôn ngữ đó vẫn tồn tại và có nguồn lực. Hãy cùng điểm qua những ngôn ngữ đang được quan tâm nhất khi học:

Có vẻ như Python, JavaScript, Java (C # đứng thứ ba trong năm 2014), và C ++ có độ quan tâm tăng trưởng lớn nhất. Dựa trên các xu hướng đã biết, chúng ta có thể rút ra kết luận sau:

JavaScript

Không còn nghi ngờ gì nữa, JavaScript chỉ có việc ngày càng trở nên phổ biến, đặc biệt là giờ nó có thể sử dụng được cho phát triển back-end và thậm chí có khả năng xây dựng các native app cho di động (thông qua React Native). JavaScript tiếp tục có thêm nhiều tools và update với tốc độ khá nhanh, vì vậy bạn có thể mong đợi nó sẽ cực kỳ quan trọng trong tương lai.

Ruby

Các start up yêu thích Ruby on Rails. Nhiều trang web nổi tiếng như Airbnb, Twitch, Hulu,... được built bằng Rails. Điều đó có nghĩa là họ luôn tìm kiếm các dev Ruby. Và một khi dev có nhiều niềm vui khi làm việc với Rails và Rails khá dễ để lựa chọn thì khá chắc chắn một điều là Rails vẫn sẽ tiếp tục phổ biến với các dev mới vào nghề.

Bên cạnh đó, sự gia tăng của Node.js chắc chắn sẽ có tác động đến sự phổ biến của Ruby on Rails: Node.js đã vượt qua Rails trên Github. Mặc dù đây không phải là dấu hiệu tuyệt đối rằng Node.js sẽ vượt qua Rails, nhưng chúng ta nên lưu ý rằng một vài năm trước, Rails đã vượt qua web framework lớn nhất của Python cho phát triển back-end là Django, và Rails thì có nhiều ngôi sao hơn Django.

Tuy nhiên, khi Rails được cập nhật thường xuyên, nó vẫn sẽ thích hợp trong một thời gian nữa. Chưa kể, nó có một cộng đồng rất trung thành với rất nhiều công cụ hữu ích để giúp phát triển dễ dàng hơn. Do đó, bất chấp sự suy giảm về tính phổ biến, Ruby vẫn sẽ theo sát các ngôn ngữ khác.

Python

Python phổ biến giữa các nhà nghiên cứu học thuật và các nhà khoa học dữ liệu, và như đã đề cập ở trên, nhiều trường học chọn giới thiệu nhập môn code thông qua Python. Điều này có nghĩa là Python sẽ tiếp tục tăng trưởng ổn định. Mặc dù Python sẽ không phát triển nhanh hay nhìn thấy sự tăng trưởng bùng nổ về mức độ phổ biến và nhu cầu như JavaScript, nhưng nó sẽ tiếp tục mạnh mẽ, đặc biệt khi có nhu cầu cao đối với các nhà khoa học dữ liệu.

PHP

Các xu hướng phát triển backend đã được chuyển từ PHP qua hướng khác trong vài năm nay, nhưng 80% các trang web vẫn được xây dựng bằng PHP - sau cùng thì đó là ngôn ngữ được thiết kế cho web.

Tuy nhiên, nếu bạn Google tìm hiểu về ngôn ngữ lập trình mà những người mới bắt đầu nên tìm hiểu, bạn sẽ thấy rằng các dev thường không khuyên bạn nên học PHP. Trong thực tế, dev dường như ghét nó.

Cộng đồng PHP đang cố gắng loại bỏ danh tiếng xấu của mình bằng các hướng dẫn mới về cách code PHP đúng cách với các tools mới, nhưng nhìn chung, tương lai của PHP có vẻ khá trì trệ vào năm 2015 (ít nhất là ở Mỹ). Mặc dù một số người đã hy vọng rằng PHP7 sẽ hồi sinh cộng đồng, nó vẫn được biết đến khá tản mạn.

Java

Android là một sự thúc đẩy lớn trong việc giữ Java là ngôn ngữ lập trình phổ biến nhất, và hầu hết các doanh nghiệp cũng yêu thích Java vì tính ổn định và khả năng mở rộng của nó.

Với sự nổi lên của Spark (sử dụng ngôn ngữ Scala) và Cassandra (hỗ trợ các ngôn ngữ khác), thật khó để nói rằng Hadoop sẽ tiếp tục trị vì để trở thành framework big data phổ biến nhất. Và dù các doanh nghiệp lớn hoạt động như thế nào khi nó thay đổi, Hadoop sẽ không biến mất. Cũng có thể nói tương tự về ngôn ngữ lập trình Java nói chung, vì Java có các tools tuyệt vời để phát triển back-end và được thiết lập nhiều hơn cho phát triển doanh nghiệp.

Do đó, Java sẽ tiếp tục mạnh mẽ như một trong những ngôn ngữ lập trình có quan tâm nhiều nhất trong vài năm tới.

Objective-C / Swift

Kể từ khi Apple phát hành Swift, và Objective-C chỉ hoạt động cho các sản phẩm của Apple, người ta không thể mong đợi Objective-C bám sát quá lâu hơn nữa trong tương lai. Swift, mặt khác, tất nhiên sẽ thích hợp cho những năm tới, miễn là mọi người tiếp tục sử dụng các sản phẩm của Apple.

Như vậy không có nghĩa là bạn không nên học Objective-C vào năm 2018, vì hầu hết các phần mềm đều dùng open source vì hầu hết các dự án open source phát triển cho iOS vẫn được viết bằng Objective-C. Nói chung, sử dụng một cái gì đó bạn không hiểu không phải là một ý tưởng tốt. Chưa kể, không khó để bạn học Objective-C nếu bạn biết Swift hoặc ngược lại.

SQL

SQL gần như được hiểu bởi các database administrators. Trong một thời gian, SQL dường như đã mất đi sự thích hợp của nó với sự gia tăng của các dịch vụ NoSQL, như MongoDB và Redis, và các nền tảng điện toán Big Data không sử dụng SQL, chẳng hạn như Hadoop, Spark và Cassandra. Nhiều người đã gào thét về việc SQL đã chết như thế nào.

Tuy nhiên với sự gia tăng của big data và khó khăn trong việc quản lý nó, SQL trở nên nóng hơn bao giờ hết (như bạn đã biết từ các xu hướng công việc). Google gần đây cũng đã cập nhật dịch vụ BigQuery của mình để bây giờ nó có thể nhập tối đa 100.000 rows mỗi giây cho mỗi bảng và BigQuery sử dụng SQL. Spark cũng đã có Spark SQL Module kể từ phiên bản 1.3. Đối với các sản phẩm như ClustrixDB, DeepSQL, MemSQL và VoltDB, tất cả những gì bạn cần làm là thêm các nút hàng hóa thay vì bulking lên một database server.

Sau tất cả, SQL trở nên thích hợp một lần nữa bởi vì nó cần thiết để quản lý và phân tích (không lưu trữ) big data. Cộng đồng các nhà phát triển thậm chí còn dự đoán một số loại hợp nhất của SQL và NoSQL. Dù bằng cách nào, không chỉ có thể nói SQL ở khắp mọi nơi, mà còn rất chắc chắn khi nói SQL sẽ tiếp tục thích hợp trong tương lai.

C++

C++ vẫn được coi là ngôn ngữ mạnh nhất về mặt hiệu năng và khả năng (thậm chí chống lại Rust), C ++ rất có thể sẽ tiếp tục thích hợp trong một số lĩnh vực nhất định như những thứ cần hiệu suất cao (ví dụ: công cụ trò chơi). Kể từ khi ISOCPP (Tổ chức tiêu chuẩn hóa quốc tế) hoàn thành công việc của mình trên C ++ 17, rất có thể họ sẽ bắt đầu làm việc trên C ++ 20 vào tháng 7 năm 2017. Tất cả những gì cần nói là đây là một ngôn ngữ đang phát triển.

Trong tương lai, Rust có thể thay thế C ++ trong một số lĩnh vực lập trình hệ thống, vì Rust nhắm tới việc có thể tạo ra phần mềm ít bị tổn thương hơn C ++. Bất kể Rust có thực sự chiếm được C ++ hay không, bây giờ là thời điểm tốt để học Rust nếu bạn là một dev nâng cao.

C

Bị hạn chế đối với nền tảng của Microsoft và bị closed-sourced không làm việc được với những lợi ích từ C # trong quá khứ, nhưng may mắn là Mono đã giải cứu nó (mặc dù Mono có một số vấn đề về hiệu suất trong quá khứ, các cập nhật gần đây của họ đã cải thiện chúng).

Các nhà phát triển đã làm việc với C # dường như yêu thích ngôn ngữ lập trình C # và niềm đam mê tiếp tục thúc đẩy cộng đồng mạnh mẽ. Chưa kể, C # là ngôn ngữ chính của Unity 3D, một công cụ trò chơi khá nổi tiếng cũng có thể hoạt động trên iOS, Linux, v.v. Sự nổi lên của Unity3D là công cụ trò chơi độc lập và ứng dụng VR đã củng cố tương lai của C #. Kể từ khi VR trở thành một thứ lớn lao, và sẽ tiếp tục là một điều lớn lao, C # chắc chắn sẽ có một tương lai tươi sáng.

Bên cạnh đó, C # cũng khá phổ biến để phát triển doanh nghiệp ở các quốc gia khác ngoài Mỹ, chẳng hạn như Anh. Rõ ràng, Microsoft sẽ giữ cho C # tồn tại trong một thời gian và giữ cho nó thích hợp với .NET platform. Trong thực tế, nó đã tích cực được open-sourcing các sản phẩm của mình và trở nên dễ tiếp cận hơn để các dev có thể áp dụng.

Kết luận

Vậy người mới nên học ngôn ngữ nào? Rõ ràng nếu bạn muốn đi theo con đường phát triển Web, bạn nên học JavaScript dù bạn có thích hay không. Nếu bạn muốn làm back-end phát triển Web thì bạn phải học vài form trong SQL. Còn nếu bạn muốn có những websites liên quan đến data của riêng mình hay bạn muốn trở thành nhà khoa học dữ liệu thì Python là một ngôn ngữ tuyệt vời để học. Nếu bạn muốn làm việc ở doanh nghiệp thì Java là hướng đi cho bạn. Nếu bạn thực sự không có hứng thú xây dựng hệ thống mà quan tâm hơn đến các cơ hội nghề nghiệp thì có thể SQL sẽ là một nơi tốt để bắt đầu (đặc biệt nếu bạn thích toán). Nói tóm lại Đâu là ngôn ngữ nên học trong 2018 cho người mới bắt đầu? suy cho cùng đều phụ thuộc vào việc bạn muốn làm gì.

HẾT