Trong danh sách 25 công việc có thu nhập cao nhất, một nửa số đó là các công việc liên quan đến CNTT và đòi hỏi kỹ năng lập trình. Chính vì vậy, số người theo đuổi CNTT nói chung và lập trình nói riêng đang ngày càng tăng lên. Tuổi nghề trung bình của lập trình viên đang có xu hướng trẻ đi. 90% học sinh phổ thông bên Mỹ cũng đã được tiếp xúc với lập trình từ khi các em còn đang ngồi trên ghế nhà trường.
Các em nhỏ được tiếp xúc với CNTT và lập trình từ khi ngồi trên ghế nhà trường là một lợi thế lớn bởi các em sẽ được định hướng từ sớm và biết được mục tiêu mà mình sẽ theo đuổi sau này. Tuy nhiên đối với các bạn sinh viên hoặc các cử nhân, thạc sĩ mới chỉ chân ướt chân ráo bước vào thế giới CNTT thì có lẽ việc bắt đầu từ đâu và đi theo con đường nào quả thực là một vấn đề rất nan giải.
Bài viết này dành cho các bạn mới bước chân vào con đường lập trình và chưa biết nên đi theo con đường nào. Bằng việc đưa ra các số liệu cụ thể và thực tế, nó sẽ cung cấp cho các tân binh một góc nhìn cơ bản về các công nghệ và ngôn ngữ lập trình phổ biến nhất. Từ đó giúp họ có lựa chọn phù hợp cho con đường sự nghiệp của bản thân.
Dữ liệu thống kế trong bài viết được lấy từ indeed.com
1. SQL
Để tạo nên một ứng dụng, ta có thể dùng các ngôn ngữ khác nhau. Tuy nhiên, khi ứng dụng kết nối với cơ sở dữ liệu thì mô hình CSDL phổ biến nhất vẫn là cơ sở dữ liệu quan hệ. CSDL quan hệ chiếm 80% trong tổng số các ứng dụng và hệ thống đang vận hành.
Nhắc đến cơ sở dữ liệu quan hệ, ta không thể không nhắc đến ngôn ngữ truy vấn SQL – Structured Query Language.
Với mô hình CSDL quan hệ, dữ liệu sẽ được lưu vào các bảng, mỗi cột là một thuộc tính (attribute), mỗi hàng là một bản ghi (record). Các bảng được liên kết với nhau thông qua khóa ngoài (foreign key)… Tập hợp các bảng được chuẩn hóa sẽ tạo nên mô hình CSDL quan hệ cho một hệ thống cụ thể.
SQL phổ biến đến mức hầu như sản phẩm công nghệ nào bạn đang sử dụng cũng có dính líu tới nó. Ngay cả các ứng dụng nằm trong smartphone của bạn cũng kết nối với một hệ quản trị CSDL là SQLite.
2. Java
Sau 21 năm kể từ ngày đầu tiên được công bố, Java đã và đang được sử dụng bởi 9 triệu lập trình viên và 7 triêu thiết bị trên toàn thế giới. Java được ứng dụng rộng rãi như vậy bởi nó có rất nhiều ưu điểm: tương thích mọi nền tảng; an toàn; mạnh mẽ; dễ học; cú pháp mạch lạc, trong sáng; và đặc biệt, người sử dụng Java sẽ được hỗ trợ từ cộng đồng OpenSource khá hùng hậu.
Có thể bạn chưa biết, mạng xã hội Twitter ban đầu được xây dựng trên Ruby On Rails. Tuy nhiên khi số lượng người dùng tăng lên quá lớn, Twitter đã phải chuyển qua xây dựng trên nền tảng Java bởi khả năng chịu tải của Ruby On Rails yếu hơn hẳn Java. (Sự kiện này được biết đến dưới cái tên Fail Whales)
3. JavaScript
Đây là ứng cử viên sáng giá cho top 3 của bảng xếp hạng các ngôn ngữ lập trình phổ biến nhất.
Khởi thủy của java_script là một ngôn ngữ scripting chứ không phải một ngôn ngữ lập trình. Javscript sẽ thêm các hiệu ứng bắt mắt vào bất kỳ trang web nào có sử dụng nó. Javascript mang đến một trải nghiệm tuyệt vời hơn cho người dùng.
Trong 5 năm gần đây, Javascript dần mở rộng “bờ cõi” của mình lên cả server-side và desktop app. Nhờ các framework mạnh mẽ như NodeJS, ta có thể viết code back-end bằng java_script. Nhờ React-JS, ta có thể tạo các ứng dụng cho máy tính cá nhân chạy Window, Linux… đẹp lung linh không kém gì C#.
Một desktop app được viết bằng java_script mà bạn có thể trải nghiệm ngay lúc này, đó chính là Atom Text Editor
4. C#
C# được Microsoft phát triển từ năm 2000. Với bộ ba: C#, .NET framework và Visual Studio của microsoft, ta có thể xây dựng được gần như mọi ứng dụng: desktop-app, web-app,… phục vụ nhiều đối tượng khác nhau từ người dùng cá nhân đến các doanh nghiệp lớn, đặc biệt, với khả năng lập trình kéo-thả của C#, ta có thể xây dựng hoàn chỉnh một desktop app chỉ trong vài giờ.
gettyimages.com, guru.com, xbox.com là một số trang web xây dựng bằng .NET có lượng traffic rất cao:
5. C++
C++ là ngôn ngữ lập trình hướng đối tượng được xây dựng dựa trên “ông tổ” là ngôn ngữ C. Tính đến nay, C++ cũng ngấp nghé 33 tuổi. Có rất rất nhiều ứng dụng được viết bằng C++. Hầu như các phần mềm của Adobe như Photoshop, PDFReader…. đều được dựng bằng C++, các game kinh điển như AOE, Counter Strike hay Call Of Duty đều có bàn tay của C++.
Nhập môn giải thuật – lập trình với C++
6. Python
Python ra dời được hơn 20 năm, nhưng trong 5 năm gần đây, nó mới được nhiều người biết đến.
Python là ngôn ngữ có cú pháp ngắn gọn và dễ hiểu nhất trong số các ngôn ngữ lập trình hiện tại. Nó cũng là ngôn ngữ dùng để giảng dạy cho học sinh cấp 2 tại Mỹ và nhiều nước phương Tây.
Với Python, ta có thể làm được khá nhiều thứ như viết web, desktop app, viết code điều khiển thiết bị IoT… Hiện nay, các thư viện hỗ trợ cho Python ngày càng trở nên phong phú: TensorFlow cho học máy, OpenCV cho xử lý ảnh….
Nếu bạn muốn chiêm ngưỡng sản phẩm xây dựng bằng Python ngay bây giờ, hãy truy cập Reddit hoặc trang web của NASA, đó là 2 site lớn được viết bằng Python.
7. PHP
Tuổi đời của PHP đang dừng ở con số 22.
PHP không được cha đẻ của mình coi như một ngôn ngữ lập trình. Rasmus Lerdord chỉ coi PHP như một tập hợp các công cụ để bảo trì trang chủ cá nhân của ông.
Ngày nay, PHP là một ngôn ngữ scripting, chạy ở phía server (back-end). PHP được coi như một ngôn ngữ khá “nhẹ nhàng” cho người mới bắt đầu, và có lẽ PHP cũng là ngôn ngữ giữ kỷ lục về số lượng framework.
8. Ruby On Rails
Giống với Java và Python, Ruby được thiết kế như một ngôn ngữ lập trình đa chức năng. Tuy nhiên, nó thường được dùng để lập trình web. Rails chính là tên của một framework dành cho Ruby.
Lý do mà Roby On Rails trở nên phổ biến nằm ở sự đơn giản của nó. Với RoR, việc phát triển một trang web được tinh giản tới tối đa nhờ các thư viện sẵn có. Tuy nhiên, thực tế cho thấy Rails chỉ phù hợp với các hệ thống mức trung bình trở xuống. Với các hệ thống lớn và rất lớn, Rails tỏ ra chậm chạp và có khả năng chịu tải (scalability) rất kém.
9. Swift
Swift là ngôn ngữ trẻ nhất trong danh sách này. Nó mới chỉ ra đời được 2 năm.
Swift được phát triển bởi Apple với 2 mục tiêu chính: thay thể Objective-C trong lập trình iOS và hỗ trợ tối đa lập trình viên trong quá trình phát triển ứng dụng cho các thiết bị của Apple.
Techtalk via techmaster