Ngôn ngữ lập trình là gì?
Hiện nay có rất nhiều ngôn ngữ lập trình đang được sử dụng. Mặc dù các ngôn ngữ cũng có điểm chung tương đồng nhưng mỗi ngôn ngữ lại có các cú pháp sử dụng riêng.
Công việc của các lập trình viên là họ phải học các quy tắc, cú pháp và cấu trúc ngôn ngữ rồi thực hiện viết mã nguồn trong một trình soạn thảo hoặc IDE và biên dịch code thành ngôn ngữ máy để máy tính có thể hiểu được. Các ngôn ngữ script không yêu cầu trình biên dịch mà sử dụng các trình thông dịch để thực thi script.
Ngôn ngữ lập trình (programming language) là dạng ngôn ngữ được chuẩn hóa theo một hệ thống các quy tắc riêng, sao cho qua đó người lập trình có thể mô tả các chương trình làm việc dành cho thiết bị điện tử mà cả con người và các thiết bị đó đều hiểu được.
NỘI DUNG BÀI VIẾT
1. Lập trình là gì?
Lập trình là việc sử dụng cấu trúc dữ liệu và các lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán.
2. Ngôn ngữ lập trình dùng để làm gì?
Hiển nhiên, ngôn ngữ lập trình dùng để viết nên các chương trình phần mềm. Vậy, một ngôn ngữ này được cấu tạo bởi những bộ phận cơ bản nào để thực hiện được điều này?
Mỗi ngôn ngữ lập trình có thể được xem như là một tập hợp của các chi tiết kỹ thuật chú trọng đến cú pháp, từ vựng, và ý nghĩa của ngôn ngữ.
Những chi tiết kỹ thuật lập trình này thường bao gồm:
Dữ liệu và cấu trúc dữ liệu
Câu lệnh và dòng điều khiển
Các tên và các tham số
Cơ chế tham khảo và sự tái sử dụng
3. Các loại ngôn ngữ lập trình cơ bản hiện nay.
Các ngôn ngữ lập trình có thể được chia thành một số mô hình sau đây. Mỗi ngôn ngữ có thể thuộc nhiều loại.
• Ngôn ngữ Bậc cao (High-level) – Ngôn ngữ Bậc thấp (Low-level)
• Lập trình Khai báo (Declarative) – Lập trình Mệnh lệnh (Imperative) – Lập trình Thủ tục (Procedural)
• Lập trình Đa năng (General-purpose) – Lập trình Chuyên biệt (Domain-specific)
• Lập trình Hướng đối tượng (Object-oriented) – Lập trình Đồng thời (Concurrent)
• Ngôn ngữ Dòng lệnh (Command) – Ngôn ngữ Biên dịch (Compiled) – Ngôn ngữ Thông dịch
Ngày nay, có hàng trăm ngôn ngữ lập trình khác nhau với những cái tên nổi bật nhất.
Nhìn danh sách trên, có thể bạn sẽ cảm thấy khá choáng ngợp về sự “đông đảo” của các ngôn ngữ, và thật khó để tìm “nơi tình yêu bắt đầu” nếu bạn là một người đang mong muốn bước chân vào lĩnh vực lập trình máy tính.
4. Một số ứng dụng của lập trình.
Ngôn ngữ lập trình có ứng dụng rất lớn trong rất nhiều ngành nghề, đặc biệt là các ngành khoa học và thực tế cuộc sống. Trong thời kì 4.0 ngôn ngữ lập trình có vai trò ứng dụng quan trọng hơn nữa:
- Lập trình ứng dụng thiết bị di động Android, iOS, giúp tạo ra các ứng dụng với các tính năng và công dụng phù hợp, giúp phục vụ nhu cầu người dùng.
- Nhờ ngôn ngữ lập trình để thiết kế website các loại như: thiết kế website tin tức, thiết kế website bán hàng, thiết kế website giới thiệu..
- Tạo ra các ứng dụng quản lý quán cà phê, phòng trọ, gửi xe…
Phân loại một số lĩnh vực lập trình khác nhau và các ngôn ngữ sử dụng cho từng lĩnh vực.
Phát triển Ứng dụng và chương trình máy tính
Các ứng dụng và chương trình máy tính là những thứ bạn sử dụng để làm việc, học tập, giải trí hằng ngày. Ví dụ: trình duyệt Internet bạn đang sử dụng để xem trang web này được coi là một chương trình. Nếu quan tâm đến việc phát triển một chương trình, ứng dụng, bạn nên xem xét các ngôn ngữ sau:
• C • C# • C++ • D • Java • Swift • Tcl • Visual Basic
Phát triển Trí tuệ nhân tạo
Lĩnh vực này liên quan đến Trí tuệ nhân tạo, hay hướng tới tạo ra các nhân vật có thể tương tác trong các trò chơi máy tính, các chương trình đưa ra quyết định, chatbot… Nếu bạn quan tâm đến việc phát triển AI và lĩnh vực này, hãy xem xét các ngôn ngữ sau:
• AIML • C • C# • C++ • Prolog • Python
Phát triển Cơ sở dữ liệu
Dành cho các nhà phát triển, nghiên cứu, duy trì cơ sở dữ liệu. Nếu bạn quan tâm đến cơ sở dữ liệu, hãy xem xét các ngôn ngữ sau đây:
• DBASE • FoxPro • MySQL • SQL • Visual FoxPro
Phát triển chương trình game
Phát triển trò chơi liên quan đến việc tạo trò chơi trên máy tính hoặc phần mềm giải trí khác. Nếu bạn quan tâm đến việc phát triển trò chơi, nên xem xét các ngôn ngữ sau:
• C • C# • C++ • DarkBASIC • Java
Phát triển Driver máy tính
Nếu bạn quan tâm đến việc phát triển driver hoặc giao diện phần mềm cho các thiết bị phần cứng, bạn nên xem xét các ngôn ngữ sau:
• Assembly • C
Phát triển website và Internet
Phát triển Internet và trang web là bản chất của Internet. Không có những nhà phát triển, Internet sẽ không tồn tại. Nếu bạn quan tâm đến việc tạo các trang web, ứng dụng Internet hoặc các tác vụ khác liên quan đến Internet, bạn nên xem xét các ngôn ngữ sau:
• HDML • HTML • Java • JavaScript
• Perl • PHP • Python • XML
Phát triển Script
Mặc dù việc nghiên cứu, phát triển script không có khả năng trở thành một nghề nghiệp chính, nhưng nếu bạn biết cách tạo và phát triển các tập lệnh, bạn có thể dễ dàng tăng năng suất cho bản thân và công ty của mình, giúp tiết kiệm vô số thời gian. Nếu bạn quan tâm đến việc phát triển các script, hãy xem xét các ngôn ngữ sau:
• AutoHotkey • awk • bash • Batch file
• Perl • Python • Tcl
5. Ngôn ngữ lập trình nào phổ biến nhất?
Top 10 Ngôn ngữ lập trình phổ biến nhất là: JavaScript, Java, Python, PHP, C++, C#, TypeScript, Shell, C và Ruby.
Tuy nhiên, nếu bạn đang học lập trình, khuyên bạn nên học ngôn ngữ phù hợp với nhu cầu của bản thân hoặc ngành nghề của mình thay vì chọn những ngôn ngữ phổ biến nhất! Hãy có những lựa chọn thông minh cho tương lai của mình!
6. Vì sao cần nhiều ngôn ngữ lập trình?
Câu trả lời ngắn gọn là chúng ta không cần quá nhiều ngôn ngữ để hoàn thành công việc, nhưng chúng ta muốn có chúng.
Mỗi một ngôn ngữ lập trình đều có những thể mạnh riêng, đáp ứng cho một mảng nhất định, giúp hiệu suất tốt nhất chứ không thể hoàn thiện được tất cả mọi thứ. Đó là lý do cơ bản nhất để giúp bạn hiểu vì sao cần phải có nhiều ngôn ngữ LT khác nhau.
7. Để học một ngôn ngữ lập trình mất bao lâu
Để thành thạo một cái gì đó chúng ta cần phải bỏ ra một thời gian nhất định. Và kể cả việc học lập trình cũng không nằm ngoài quy luật đó.
Theo thống kê, với một ngôn ngữ lập trình bạn thực sự có thể tìm hiểu, học nó trong vòng một vài tháng. Với lượng thời gian vài tháng đó bạn đã làm ra những sản phẩm từ ngôn ngữ lập trình bạn theo học. Hiện nay, bạn có thể thấy rằng có rất nhiều khóa học về ngôn ngữ lập trình online hộ trợ bạn tốt hơn. Hoặc bạn có thể theo học nó tại một nơi uy tín. Mình nghĩ rằng bạn có thể học được ngôn ngữ đó trong vòng vài tháng.
8. Nghề lập trình là gì?
Đây là cụm từ bao quát khi tôi muốn chia sẻ về các yếu tố khác nhau của nghề đặc biệt này. Có những chuyên ngành nào tạo nên ngành lập trình? Có những ngôn ngữ lập trình nào? Hay những yêu cầu cơ bản nào giúp bạn trở thành lập trình viên?
9. Lịch sử hình thành và phát triển ngôn ngữ lập trình
Các máy tính rất sơ khai, chẳng hạn như Colossus, được lập trình mà không cần sự trợ giúp của chương trình được lưu trữ, bằng cách sửa đổi mạch điện của chúng hoặc thiết lập các kho các rơ le điều khiển vật lý.
Sau đó một chút, các chương trình có thể được viết bằng ngôn ngữ máy, trong đó lập trình viên viết từng lệnh dưới dạng số mà phần cứng có thể thực thi trực tiếp. Ví dụ: lệnh thêm giá trị vào hai vị trí bộ nhớ có thể bao gồm 3 số: một “mã opcode” chọn thao tác “cộng” và hai vị trí bộ nhớ. Các chương trình, ở dạng thập phân hoặc nhị phân, được đọc từ thẻ đục lỗ, băng giấy, băng từ hoặc được chuyển vào trên các công tắc trên bảng điều khiển phía trước của máy tính. Ngôn ngữ máy sau này được gọi là ngôn ngữ lập trình thế hệ thứ nhất (1GL).
Bước tiếp theo là sự phát triển của cái gọi là ngôn ngữ lập trình thế hệ thứ hai (2GL) hoặc hợp ngữ, những ngôn ngữ này vẫn được gắn chặt với kiến trúc tập lệnh của máy tính cụ thể. Những điều này phục vụ cho việc làm cho chương trình dễ đọc hơn nhiều và giúp người lập trình giảm bớt các tính toán địa chỉ tẻ nhạt và dễ xảy ra lỗi.
Các ngôn ngữ lập trình cấp cao đầu tiên, hoặc ngôn ngữ lập trình thế hệ thứ ba (3GL), được viết vào những năm 1950. Một ngôn ngữ lập trình cấp cao ban đầu được thiết kế cho máy tính là Plankalkül, được phát triển cho Z3 của Đức bởi Konrad Zuse từ năm 1943 đến năm 1945. Tuy nhiên, nó đã không được thực hiện cho đến năm 1998 và 2000.
Mã ngắn của John Mauchly, được đề xuất vào năm 1949, là một trong những ngôn ngữ cấp cao đầu tiên từng được phát triển cho máy tính điện tử . Không giống như mã máy, các câu lệnh mã ngắn biểu diễn các biểu thức toán học ở dạng dễ hiểu. Tuy nhiên, chương trình phải được dịch sang mã máy mỗi khi nó chạy, làm cho quá trình chạy chậm hơn nhiều so với chạy mã máy tương đương.
Tại Đại học Manchester, Alick Glennie đã phát triển Autocode vào đầu những năm 1950. Là một ngôn ngữ lập trình, nó sử dụng một trình biên dịch để tự động chuyển đổi ngôn ngữ thành mã máy. Mã và trình biên dịch đầu tiên được phát triển vào năm 1952 cho máy tính Mark 1 tại Đại học Manchester và được coi là ngôn ngữ lập trình cấp cao được biên dịch đầu tiên.
Mã tự động thứ hai được RA Brooker phát triển cho Mark 1 vào năm 1954 và được gọi là “Mã tự động Mark 1”. Brooker cũng đã phát triển một mã tự động cho Ferranti Mercury vào những năm 1950 cùng với Đại học Manchester. Phiên bản cho EDSAC 2 được phát minh bởi DF Hartley của Phòng thí nghiệm Toán học Đại học Cambridge vào năm 1961. Được gọi là Mã tự động EDSAC 2, nó là sự phát triển trực tiếp từ Mã tự động của Mercury được điều chỉnh cho phù hợp với hoàn cảnh địa phương và được chú ý vì khả năng tối ưu hóa mã đối tượng và chẩn đoán ngôn ngữ nguồn đã được cải tiến vào thời điểm đó. Là một chuỗi phát triển hiện đại nhưng riêng biệt, Atlas Autocode được phát triển cho máy Atlas 1 của Đại học Manchester.
Năm 1954, FORTRAN được John Backus phát minh ra tại IBM. Nó là ngôn ngữ lập trình mục đích chung cấp cao đầu tiên được sử dụng rộng rãi để có một triển khai chức năng, thay vì chỉ là một thiết kế trên giấy. Nó vẫn là một ngôn ngữ phổ biến cho tính toán hiệu suất cao và được sử dụng cho các chương trình đánh giá và xếp hạng các siêu máy tính nhanh nhất thế giới.
Một ngôn ngữ lập trình ban đầu khác được phát minh bởi Grace Hopper ở Mỹ, được gọi là FLOW-MATIC . Nó được phát triển cho UNIVAC I tại Remington Rand trong thời gian từ năm 1955 đến năm 1959. Hopper nhận thấy rằng khách hàng xử lý dữ liệu kinh doanh không thoải mái với ký hiệu toán học, và vào đầu năm 1955, bà và nhóm của mình đã viết một đặc tả cho một ngôn ngữ lập trình tiếng Anh và thực hiện một nguyên mẫu. Trình biên dịch FLOW-MATIC được công bố rộng rãi vào đầu năm 1958 và về cơ bản hoàn thành vào năm 1959. FLOW-MATIC có ảnh hưởng lớn trong việc thiết kế COBOL, vì chỉ có nó và hậu duệ trực tiếp của nó là AIMACO được sử dụng thực tế vào thời điểm đó.
Dịch vụ in ấn
Thiết kế đồ họa
Thiết kế web
Tin học văn phòng
Sửa chửa máy giặt
Sửa chửa máy lạnh