Skip to main content

10 ngôn ngữ lập trình nên học trong năm 2017

Sau khi tham khảo từ các cuộc khảo sát từ StackOverFlow, kể cả lập trình viên trong nước thì với bản thân mình nhận thấy trong năm 2017, những ngôn ngữ lập trình đáng quan tâm và nên học bao gồm:



1. JavaScript

Tại sao chọn JavaScript?

Không có gì phải bàn cãi về vị thế độc tôn của JavaScript ở thời điểm hiện tại, kể cả trong một vài năm tới. Đây là ngôn ngữ được sử dụng nhiều nhất trong thế giới lập trình, kể cả một lập trình viên BackEnd cũng sử dụng ngôn ngữ này nhiều hơn các ngôn ngữ khác. Vào tháng 6 năm 2015, JavaScript đã chiếm ngôi của Java trở thành tag phổ biến nhất thế giới. Theo một cuộc khảo sát trên StackOverFlow, tổ hợp công nghệ kép thường được sử dụng nhiều nhất là JavaScript và SQL. Trong đó, tổ hợp 3 công nghệ thường thấy nhất là JavaScript, SQL, PHP. JavaScript nổi tiếng đến mức lọt vào tất cả tổ hợp 3-tech được Back-End Developer sử dụng.

JavaScript được sử dụng ở đâu?

  • Thiết kế trang web
  • Có thể sử dụng để xây dựng toàn bộ một trang web nếu sử dụng với NodeJS và MongoDB (database)
  • Phát triển ứng dụng web
  • Phát triển ứng dụng điện thoại Hybrib cho các lập trình viên Web
  • Phát triển game 3D (Unity3D sử dụng JavaScript)
  • Lập trình web phía client

2. Java 

Tại sao chọn Java?

Do Google chọn Java để lập trình nền tảng Android nên chúng ta phải chọn Java (haha). Java không có gì quá xa lạ với chúng ta vì JavaScript và Java luôn chia sẻ nhau ở hai vị trí quán quân và á quân trong bảng xếp hạng các ngôn ngữ lập trình phổ biến trong nhiều năm qua, nhưng JavaScript có phần nhỉnh hơn so với ngôn ngữ đến từ Oracle.
Java là một ngôn ngữ lập trình hướng đối tượng do Oracle phát triển với phương châm “Write one, run anywhere” nên cũng khá dễ hiểu tại sao Java lại trở thành xu thế trong giới cộng đồng lập trình. Những lý do khiến cho Java không bao giờ hết hot có thể kể đến như:
  • Java là một ngôn ngữ lập trình hướng đối tượng
  • Số lượng API Function rất phong phú
  • Thư viện mã nguồn mở
  • Java miễn phí
  • Javadocs hỗ trợ tối đa cho lập trình viên
  • Java là nền tảng độc lập
  • Java có mặt ở khắp mọi nơi
Hiện nay, Android chiếm hơn 75% về thị phần hệ điều hành Smartphone thì chắc hẳn lập trình Android nói riêng và Java nói chung là một con mồi béo bở đối với các lập trình viên chúng ta.

3. C Sharp (C#)

C# (đọc là "C thăng" hay "C sharp" ("xi-sáp")) là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo ECMA là C#, chỉ bao gồm dấu số thường. Microsoft phát triển C# dựa trên C++ và Java. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++,Visual Basic, Delphi và Java.C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC.


4. Golang

Tại sao chọn Golang?

Golang (còn được gọi là Go) là ngôn ngữ lập trình mới được Google thiết kế và phát triển vào năm 2009, nếu so về tuổi đời của các ngôn ngữ lập trình thì Golang còn khá mới. Go ra đời mang theo nhiều kỳ vọng của Google giúp ngành công nghiệp phần mềm khai thác nền tảng đa lõi của bộ vi xử lý và hoạt động đa nhiệm tốt hơn.
Với các ngôn ngữ lập trình hướng đối tượng hiện nay như Java, C++ thì khả năng khai thác nền tảng đa lõi của bộ vi xử lý mới là bất khả thi. Chính vì vậy, Google đã đặt nặng vấn đề này và thực hiện hóa thông qua dự án Golang. Không chỉ khai thác nền tảng đa lõi, Go còn được trang bị thêm tính năng “quản lý bộ nhớ trong quá trình hoạt động của phần mềm” giúp các lập trình viên xử lý dễ dàng hơn. Thêm vào đó, tốc độ của Go phải vượt trội và sánh ngang với C và C++.

5. Python

Python là một ngôn ngữ lập trình thông dịch nhe do Guido van Rossum tạo ra năm 1990. Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động; do vậy nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý.Theo đánh giá của Eric S. Raymond, Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình. Cấu trúc của Python còn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu, như nhận định của chính Guido van Rossum trong một bài phỏng vấn ông.

6. Swift

Swift là một ngôn ngữ lập trình hướng đối tượng dành cho việc phát triển iOS và OS X, được giới thiệu bởi Apple tại hội nghịWWDC 2014.[2] Swift được mong đợi sẽ tồn tại song song cùng Objective-C, ngôn ngữ lập trình hiện tại dành cho các hệ điều hành của Apple.[2] Swift được thiết kế là một ngôn ngữ có khả năng phòng chống lỗi cao.

7. C++

C++ (đọc là "C cộng cộng" hay "xi-plus-plus", IPA: /siː pləs pləs/) là một loại ngôn ngữ lập trình. Đây là một dạng ngôn ngữ đa mẫu hình tự do có kiểu tĩnh và hỗ trợ lập trình thủ tục, dữ liệu trừu trượng, lập trình hướng đối tượng, và lập trình đa hình. Từ thập niên 1990, C++ đã trở thành một trong những ngôn ngữ thương mại phổ biến nhất trong khi đó.Bjarne Stroustrup của Bell Labs đã phát triển C++ (mà tên nguyên thủy là "C với các lớp" trong suốt thập niên 1980như là một bản nâng cao của ngôn ngữ C. Những bổ sung nâng cao bắt đầu với sự thêm vào của khái niệm lớp, tiếp theo đó là các khái niệm hàm ảo, chồng toán tử, đa kế thừa, tiêu bản, và xử lý ngoại lệ. Tiêu chuẩn của ngôn ngữ C++ đã được thông qua trong năm 1998 như là ISO/IEC 14882:1998. Phiên bản hiện đang lưu hành là phiên bảnC++14, ISO/IEC 14882:2014[1]. Hiện tại tiêu chuẩn mới nhất của ngôn ngữ C++ là C++14, phát hành ngày 15/12/2014 (ghi theo định dạng ISO 8601 là 2014-12-15). Và C++ còn là ngôn ngữ được cải tiến từ C

8. Assembly

Là ngôn ngữ lập trình thấp nhất chỉ sau Binary Code (Mã nhị phân). Assembly (còn gọi là hợp ngữ) là một ngôn ngữ bậc thấp được dùng trong việc viết các chương trình máy tính. Ngôn ngữ assembly sử dụng các từ có tính gợi nhớ, các từ viết tắt để giúp ta dễ ghi nhớ các chỉ thị phức tạp và làm cho việc lập trình bằng assembly dễ dàng hơn. Mục đích của việc dùng các từ gợi nhớ là nhằm thay thế việc lập trình trực tiếp bằng ngôn ngữ máy được sử dụng trong các máy tính đầu tiên thường gặp nhiều lỗi và tốn thời gian. Một chương trình viết bằng ngôn ngữ assembly được dịch thành mã máy bằng một chương trình tiện ích được gọi là assembler (Một chương trình assembler khác với một trình biên dịch ở chỗ nó chuyển đổi mỗi lệnh của chương trình assembly thành một lệnh Các chương trình viết bằng ngôn ngữ assembly liên quan rất chặt chẽ đến kiến trúc của máy tính. Điều này khác với ngôn ngữ lập trình bậc cao, ít phụ thuộc vào phần cứng.Trước đây ngôn ngữ assembly được sử dụng khá nhiều nhưng ngày nay phạm vi sử dụng khá hẹp, chủ yếu trong việc thao tác trực tiếp với phần cứng hoặc làm các công việc không thường xuyên. Ngôn ngữ này thường được dùng cho trình điều khiển (tiếng Anh: driver), hệ nhúng bậc thấp (tiếng Anh: low-level embedded systems) và các hệ thời gian thực. Những ứng dụng này có ưu điểm là tốc độ xử lí các lệnh assembly nhanh.


9. Haskell

Haskell là ngôn ngữ lập trình thuần hàm, đặt theo tên của Haskell Curry. Vì là ngôn ngữ lập trình hàm, trong Haskell, hàm là quan trọng nhất, với hầu hết các cấu trúc điều khiển là hàm. Lập trình hàm đang là xu hướng của ngành công nghệ phần mềm sau sự lỗi thời của lập trình hướng đối tượng

10. C
C là một trong những ngôn ngữ lập trình được sử dụng rộng rãi nhất. Có một vài lý do cho việc này. Lập trình viên nổi tiếng Joel Spolsky nói rằng, C trong lập trình quan trọng như việc học giải phẫu cơ bản để trở thành một bác sĩ y khoa vậy. C là một ngôn ngữ "mức máy", do đó bạn sẽ học cách làm thế nào để một chương trình tương tác với phần cứng và học những kiến thức nền tảng của lập trình tại mức thấp nhất - phần cứng - (C là nền tảng cho Linux/GNU). Bạn học về các chương trình gỡ lỗi, quản lý bộ nhớ, và nhiều thứ mà những ngôn ngữ lập trình bậc cao hơn như Java không thể làm được - nó giúp cho bạn viết code hiệu quả hơn trong các ngôn ngữ khác. C là "ông nội" của nhiều ngôn ngữ cấp cao khác, bao gồm cả Java, C#, và JavaScript.
Điều đó nói lên rằng, lập trình trong C là chặt chẽ và khó hơn so với các ngôn ngữ khác, và nếu bạn không có kế hoạch làm việc trên các chương trình giao tiếp với phần cứng (ví dụ, các driver thiết bị, hoặc các extension của hệ điều hành), thì việc học lập trình C có lẽ sẽ không cần thiết. Stack Overflow có một cuộc thảo luận rất hay về việc nên chọn C hay Java là ngôn ngữ đầu tiên, và hầu hết mọi người đều nghiêng về C. Tuy nhiên, cá nhân tôi, mặc dù tôi rất vui vì mình đã được tiếp xúc với C, nhưng tôi không nghĩ rằng đó là một ngôn ngữ thân thiện cho người mới bắt đầu. Nó sẽ dạy cho bạn kỷ luật, nhưng bạn sẽ phải tìm hiểu rất nhiều vấn đề khó trước khi có thể làm ra bất cứ điều gì hữu ích.

 Gook Luck !



Comments

Popular posts from this blog

Hướng dẫn cài đặt HĐH Kali Linux trên máy thật

Để cài đặt được HĐH Kali Linux trên máy thật các bạn chỉ cần chuẩn bị như sau: 1- USB >=4GB 2- Phiên bản Linux muốn cài đặt (Tải tại đây) 3- Tải win32 disk imager  (Tải tại đây)    Vậy là đã chuẩn bị xong ! TIẾP TỤC: Bước 1 . Khởi động chương trình UUI. Chọn I Agree. Bước 2 . Cấu hình UUI. Step 1: Select a Linux Distribution from the dropdown to put on your USB : Chọn hệ điều hành cần tạo, bạn chọn Kali Linux. Step 2: Select your Kali*.iso : Chọn file cài cài đặt Kali Linux. Lưu ý: tên file phải bắt đầu bằng Kali và kết thúc bằng .iso . Step 3: Select your USB Flash Drive Letter Only: Chọn thiết bị USB của bạn. Check vào We will format E:\ Drive as Fat32 để format lại USB của bạn. Cấu hình UUI Cảnh báo Format USB hiện lên, bạn chọn Yes để bắt đầu tiến trình. Cảnh báo format, chọn Yes. Tiến trình format và tạo USB Boot Kali Linux bắt đầu. Format và gắn nhãn UUI. Bắt đầu giải nén file .iso. Quá trình giải nén. Bước 3 . Hoàn t...

Hooks in React - How to use it ?

Mới đây, React đã chính thức công bố hooks . Vậy hooks là gì ? Hooks là những hàm cho phép bạn “kết nối” state và lifecycle của React vào các components. Với Hooks bạn có thể sử dụng state và lifecycles mà không cần dùng class. Ví dụ đơn giản cho việc sử dụng hooks useState : - Đầu tiên import thêm useState từ react.  - Ta có 1 function Counter, 2 biến count, setCount và truyền vào cho useState 1 giá trị được gán cho count. - Trong hàm render ta có hiển thị biến count và khi click thì sẽ gọi tới hàm setCount và tăng count lên 1 đơn vị. Qua ví dụ trên ta có thể thấy, việc sử dụng function component kết hợp với hooks hoàn toàn tiện lợi. Nó giúp code trong ngắn gọn và dễ hiểu hơn thay vì ta dùng class và phải setState. Tiếp theo, để có thể dùng được các lifecycles trong function component ta có useEffect . Nó tương tự như các lifecycles componentDidMount , componentDidUpdate , componentWillUnmount . Cách sử dụng useContext trong hooks sẽ như v...

Cách sử dụng Nmap để scan Port trên Kali Linux

Port là gì ? Có rất nhiều lớp trong mô hình mạng nói chung, lớp vận chuyển đóng vai trò cung cấp các thông tin liên lạc giữa các ứng dụng hệ thống với nhau, và lớp này thì được kết nối với Port (Cổng). Một số điều lưu ý mà bạn cần biết về port - Port là một số hiệu ID cho 1 ứng dụng nào đó. - Mỗi ứng dụng chỉ có thể chạy trên một hoặc nhiều port và mang tính độc quyền, không có ứng dụng khác được chạy chung. - Chính vì tính độc quyền nên các ứng dụng có thể chỉnh sửa để cho phép chạy với một port khác. - Port cũng có phân chia làm Internal và External . - Số hiệu từ 1->65535. Một số thuật ngữ mà bạn cần nắm rõ Port: Là một địa chỉ mạng thực hiện bên trong hệ điều hành giúp phân biệt các traffic khác nhau của từng ứng dụng riêng lẻ Internet Sockets: Là một tập tin xác định địa chỉ IP gắn kết với port, nhằm để xử lý dữ liệu như các giao thức. Binding: Là quá trình mà một ứng dụng hoặc dịch vụ (service) sử dụng Internet Sockets để xử lý nhập và xuất các dữ liệu ...