5 loại ngôn ngữ lập trình

5 loại ngôn ngữ lập trình cần thành thạo cho Developer

Posted by Coursera on August 30, 2023. 12 min read.

Table of contents

Types of Programming Languages

Tìm hiểu thêm về một số danh mục ngôn ngữ lập trình phổ biến để lấy cảm hứng bắt đầu viết mã.

Lập trình là một kỹ năng ngày càng được săn đón trên thị trường việc làm. Có ít nhất sự hiểu biết cơ bản về cách thức hoạt động của phần mềm sẽ hữu ích cho bất kỳ ai tương tác với công nghệ. Với nền tảng về lập trình, bạn có thể nhận được công việc viết mã, thiết kế phần mềm, kiến ​​trúc dữ liệu hoặc tạo giao diện người dùng trực quan.

Nhưng bạn nên học ngôn ngữ nào? Bạn sẽ tìm thấy vô số ngôn ngữ lập trình miễn phí để học và phát triển dự án trực tuyến. Với lĩnh vực công nghệ đang phát triển theo cấp số nhân mỗi năm, internet là nơi tuyệt vời để bắt đầu khi cố gắng khám phá những phát triển mới nhất hoặc khám phá một kỹ năng mới.

Cho dù bạn học ngôn ngữ nào, bạn có thể thấy hữu ích khi ghi chú hoặc vẽ sơ đồ nêu chi tiết các bước bạn đang thực hiện và lý do. Điều quan trọng đối với các lập trình viên là có thể truyền đạt quy trình của họ tới những bên liên quan không liên quan đến kỹ thuật, nhưng việc ghi chú cũng có thể là một công cụ học tập tuyệt vời. Eric Hartzog, kỹ sư phần mềm tại Meta, cho biết: “Hóa ra điều này thường hữu ích không chỉ vì mục đích tạo tài liệu mà còn giúp giải quyết một nhiệm vụ hoặc vấn đề duy nhất mà công nghệ cơ bản khó hiểu” .

Trong bài viết này, chúng ta sẽ khám phá một số loại ngôn ngữ lập trình phổ biến nhất và cung cấp cho bạn một số tài nguyên mà bạn có thể sử dụng để bắt đầu học.

Types of Programming Languages

5 loại ngôn ngữ lập trình chính

Mặc dù bạn sẽ tìm thấy hàng tá cách để phân loại các ngôn ngữ lập trình khác nhau nhưng chúng thường rơi vào năm loại chính. Hãy nhớ rằng một số ngôn ngữ có thể thuộc nhiều loại.

1. Ngôn ngữ lập trình thủ tục (Procedural)

Ngôn ngữ thủ tục tuân theo một chuỗi các câu lệnh hoặc lệnh để đạt được kết quả đầu ra mong muốn. Mỗi chuỗi bước được gọi là một thủ tục và một chương trình được viết bằng một trong những ngôn ngữ này sẽ có một hoặc nhiều thủ tục bên trong nó. Các ví dụ phổ biến về ngôn ngữ thủ tục bao gồm:

  • C and C++
  • Java
  • Pascal
  • BASIC

2. Ngôn ngữ lập trình hàm (Functional)

Thay vì tập trung vào việc thực thi các câu lệnh, các ngôn ngữ chức năng tập trung vào đầu ra của các hàm toán học và đánh giá. Mỗi hàm—một mô-đun mã có thể tái sử dụng—thực hiện một tác vụ cụ thể và trả về một kết quả. Kết quả sẽ khác nhau tùy thuộc vào dữ liệu bạn nhập vào hàm. Một số ngôn ngữ lập trình chức năng phổ biến bao gồm:

  • Scala
  • Erlang
  • Haskell
  • Elixir
  • F#

Scala không còn được đưa vào bảng xếp hạng ngôn ngữ lập trình Statista nữa, mặc dù năm 2020 nó có 3,6%. Tuy nhiên, nhiều nhà phát triển cho rằng ngôn ngữ lập trình trong tương lai phải có Scala vì đây là ngôn ngữ mạnh và đầy hứa hẹn. Theo trang web chính thức, Scala là ngôn ngữ lập trình cấp cao và ngắn gọn, kết hợp giữa lập trình chức năng và hướng đối tượng. Được phát hành chính thức vào năm 2004, Scala hiện được sử dụng bởi LinkedIn (đã chuyển sang nó vào năm 2019), Twitter (đã chuyển sang nó từ Ruby on Rails vào năm 2009), Sony, Netflix, Tumblr, Foursquare.

3. Ngôn ngữ lập trình hướng đối tượng (Object-oriented)

Loại ngôn ngữ này coi chương trình là một nhóm đối tượng bao gồm dữ liệu và các phần tử chương trình, được gọi là thuộc tính và phương thức. Các đối tượng có thể được tái sử dụng trong một chương trình hoặc trong các chương trình khác. Điều này làm cho nó trở thành loại ngôn ngữ phổ biến cho các chương trình phức tạp, vì mã dễ sử dụng lại và mở rộng quy mô hơn. Một số ngôn ngữ lập trình hướng đối tượng (OOP) phổ biến bao gồm:

  • Java
  • Python
  • PHP
  • C++
  • Ruby

4. Ngôn ngữ kịch bản

Các lập trình viên sử dụng ngôn ngữ kịch bản để tự động hóa các tác vụ lặp đi lặp lại, quản lý nội dung web động hoặc hỗ trợ các quy trình trong các ứng dụng lớn hơn. Một số ngôn ngữ kịch bản phổ biến bao gồm:

  • PHP
  • Ruby
  • Python
  • bash
  • Perl
  • Node.js

5. Ngôn ngữ lập trình logic

Thay vì ra lệnh cho máy tính phải làm gì, ngôn ngữ lập trình logic thể hiện một loạt các sự kiện và quy tắc để hướng dẫn máy tính cách đưa ra quyết định. Một số ví dụ về ngôn ngữ logic bao gồm:

  • Prolog
  • Absys
  • Datalog
  • Alma-0

Các cách khác để phân loại ngôn ngữ lập trình

Ngôn ngữ front-end và back-end

Một số ví dụ về ngôn ngữ lập trình front-end bao gồm: HTML, CSS, JavaScript, React

Một số ví dụ về ngôn ngữ lập trình back-end bao gồm: JavaScript, PHP, Java, Python, Ruby, C#

Ngôn ngữ cấp cao và ngôn ngữ cấp thấp

Các từ “bậc cao” và “bậc thấp” còn sử dụng với ý nghĩa tương đối; một lập trình viên Java có thể xem ngôn ngữ C là ngôn ngữ lập trình bậc thấp.

Các ngôn ngữ lập trình bậc thấp thường được chia thành hai loại: thế hệ thứ nhất và thế hệ thứ hai.

Ngôn ngữ lập trình thế hệ thứ nhất là mã máy. Nó là ngôn ngữ duy nhất mà bộ vi xử lý có thể hiểu. Hiện nay các lập trình viên hầu như không bao giờ viết chương trình trực tiếp bằng ngôn ngữ máy vì nó không chỉ yêu cầu chú ý nhiều đến các chi tiết mà một ngôn ngữ bậc cao xử lý một cách tự động mà còn yêu cầu ghi nhớ và tìm những mã lệnh bằng số cho mỗi chỉ thị được sử dụng.

Ngôn ngữ lập trình thế hệ thứ hai là ngôn ngữ Assembly. Nó được xem là ngôn ngữ thế hệ thứ hai vì mặc dù nó không phải là ngôn ngữ máy nhưng lập trình viên vẫn phải hiểu về kiến trúc của bộ vi xử lý (như các thanh ghi và các lệnh của bộ vi xử lý). Những câu lệnh đơn giản được dịch trực tiếp ra mã máy.

Ngôn ngữ Thông dịch (Interpreted) và Biên dịch (Compiled).

Ví dụ về các ngôn ngữ được Thông dịch bao gồm: Python, JavaScript, PHP, Ruby

Ví dụ về các ngôn ngữ được biên dịch bao gồm: C, C++, C#, Rust, Erlang

Types of Programming Languages

Ứng dụng của ngôn ngữ lập trình trong cuộc sống

Phát triển trang web

  • Frontend: HTML, CSS, Javascript (React, Angular, Vue, preact), Elm, ReasonML
  • Backend: Javascript (Node.js), Python (flask, django), Go (gin, gorilla), Ruby(Ruby on rails), Java(Spring Boot), C#(.NET framework), PHP
  • DevOps: Go, Python, Bash

Bạn có biết rằng React ban đầu được viết bằng OCaml và chỉ sau đó mới được chuyển sang JavaScript để hỗ trợ việc áp dụng?

+ Elm và ReasonML là các ngôn ngữ chức năng, biên dịch thành js.
+ Trước Angular, React và Vue, thế giới đã sử dụng Backbone.js và Ember.js

Phát triển ứng dụng di động

  • Native-Platform: Java or Kotlin (Android Studio), Swift or Objective C (Xcode, for iOS and macOS)
  • Cross-Platform (Platform Independent): Dart (for Flutter), Javascript (for React Native and Ionic), C#(Xamarin).
  • Đề cập đặc biệt - Delphi (Android, iOS and desktop apps).

Kỹ thuật phần mềm Desktop App/Software

  • C# (.NET framework)
  • C++ (Qt)
  • Java
  • Dart (Flutter)
  • Swift (XCode)
  • Python (Kivy, Tkinter)
  • Delphi

Game development

  • C++ (Unreal engine, 4A engine)
  • C# (Unity, CryEngine)
  • Java (LibGdx, Ardor3D)
  • Javascript (A-Frame (VR), ImpactJS)
  • LUA (Leadwerks)

Internet of Things (IoT)

  • C
  • Python

Robotics

  • C++
  • Python

AR/VR/Metaverse Developers

  • C++, C#
  • Java
  • Javascript (AR.js)
  • Python (VRED)
  • Solidity (Metamask)
  • Rust
  • Swift (ARKit)

Systems Programming

  • Go
  • C, C++
  • Rust
  • Erlang

Trí tuệ nhân tạo và học máy Artificial Intelligence/Machine Learning/Deep Learning

  • Python (Tensorflow, Keras)
  • LISP (CUDA SDK)
  • Javascript (Tensorflow.js, brain.js)
  • Swift (Core ML)

Data Science and Analytics, Phân tích dữ liệu

  • Python (Scrapy, Pandas)
  • R (ggplot2, dplyr)
  • Julia (Flux, Mocha.jl)

Big Data

  • Scala (Apache Spark, Kafka)
  • Java (Apache Hadoop, Hive, Storm)

Cyber security

  • Python
  • Bash
  • PHP

Những thứ khác

  • Automotive Industry: C/C++
  • Healthcare: Python
  • Marketing: SQL
  • Science: MATLAB
  • Embedded System: C/C++
  • Linux Programming (Kernel): C, Rust
  • Cloud and web APIs: Go, Elixir (Phoenix, ecto)
  • Finance: F#

Types of Programming Languages

BAN NÊN HỌC

Đánh giá ngôn ngữ lập trình thì TIOBEPYPL được coi là những nguồn có thẩm quyền nhất.

Nguyên tắc làm việc của họ tương tự nhau: Xếp hạng dựa trên tần suất một ngôn ngữ lập trình cụ thể được đề cập trên các phương tiện truyền thông. Dù sao, các phương pháp xếp hạng có một chút mâu thuẫn.

Đánh giá ngôn ngữ lập trình TIOBE hoạt động chủ yếu với kết quả tìm kiếm trên trình duyệt có chứa tên ngôn ngữ. Chỉ mục của họ bao gồm dữ liệu từ các nền tảng như Google, YouTube, Yahoo, Amazon, Wikipedia, v.v.

Types of Programming Languages

Đánh giá ngôn ngữ lập trình PYPL khai thác sự quan tâm của người dùng đối với các hướng dẫn lập trình nghiên cứu Google Xu hướng.

Types of Programming Languages

Đó là lý do tại sao kết quả của họ có thể khác nhau.

1. Javascript

Được sử dụng nhiều nhất, linh hoạt, dễ dàng, cộng đồng nhà phát triển lớn và WORA (Write Once Run Anywhere), script, frontend, backend, ML, game, mobile và webApps (hãy lưu ý đến địa ngục phụ thuộc của nó).

2. Python

Dễ học, backend, ML, khoa học dữ liệu, trực quan hóa dữ liệu, viết kịch bản, hack, tự động hóa, lĩnh vực giáo dục và tài chính, quét web, áp dụng tiếp tục phát triển.

3. Dart

Một cơ sở mã cho ứng dụng Android, iOS, Web App, Windows, macOS (beta), Linux (beta), hệ thống nhúng (không ổn định), máy chủ → Flutter.

4. C#

Nền tảng bất khả tri, ngôn ngữ đơn giản, đa năng, máy tính để bàn, bảng điều khiển và ứng dụng web, cửa sổ và dịch vụ web, phát triển trò chơi, VR, AR.

5. Go

Giải quyết các vấn đề về khả năng mở rộng, mã đơn giản, dễ học, ngôn ngữ của đám mây, DevOps, chương trình phụ trợ, máy chủ, vi dịch vụ, DNS, phát triển gốc trên nền tảng đám mây. (Uber, Netflix, Docker, Kubernetes, Soundcloud, Prometheus)

BẠN NÊN XEM XÉT HỌC TẬP

1. Java

Có nhu cầu cao trên toàn thế giới, dữ liệu lớn, android, tài chính, cơ sở dữ liệu, phần mềm hệ thống, công cụ kiểm tra, vua doanh nghiệp, ngôn ngữ cốt lõi của các công cụ tiêu chuẩn ngành như Apache Kafka, spark, hive, MTLAB là các ứng dụng phân tán, dựa trên Java, IoT, Hadoop, v.v.

2. R

R là ngôn ngữ giải quyết bài toán tạo số liệu thống kê. Nó thường được sử dụng trong số các nhà phân tích dữ liệu. Nó cũng hoạt động trên phần mềm MacOS, Linux và Windows. Ngôn ngữ này được áp dụng chủ yếu trong các lĩnh vực chăm sóc sức khỏe, ngân hàng và chính phủ.

Ngôn ngữ lập trình này ít được các chuyên gia ưa chuộng hơn nhiều và chỉ được 5% chuyên gia trên thế giới sử dụng. Nhưng có lý do cho điều này - R là ngôn ngữ phù hợp với tính toán thống kê và đồ họa. Nó được sử dụng để phân tích và trực quan hóa dữ liệu cũng như cho các thử nghiệm khác nhau với dữ liệu. Ngoài ra, theo các chuyên gia, nó có ngưỡng đầu vào cao hơn so với Python tương tự.

3. Kotlin

Phía máy chủ, web phía máy khách và Android, (sắp có hệ thống nhúng, macOS và iOS), plugin gradle, microservice, hợp đồng thông minh, phụ trợ, khoa học dữ liệu.

4. Swift

Phát triển cho mọi thứ có  trên đó (iPhone, iPad, macOS, watchOS, tvOS và ứng dụng cho tất cả chúng) linh hoạt, đơn giản hóa các phương pháp phát triển ứng dụng gốc hiện có, hiệu quả hơn obj-C

5. Rust

Quản lý bộ nhớ, lập trình hệ thống, nhân Linux, công cụ trò chơi, hệ điều hành, hệ thống tệp, thành phần trình duyệt và công cụ mô phỏng cho thực tế ảo. Mất một ít thời gian để tìm hiểu (so với cờ vây). Trả lương tốt.

6. Những thứ khác

→ C và Julia.

BẠN KHÔNG NÊN XEM XÉT

1. Ruby

Ứng dụng web, tự động hóa (WATIR), quét dữ liệu, máy chủ, DNS, nhưng các công cụ tốt hơn hiện đã có sẵn. (Sidenote: Github, Gitlab được viết bằng framework Ruby on Rails và vẫn là lựa chọn hàng đầu của nhiều công ty khởi nghiệp vì MVP dễ dàng và triển khai nhanh chóng).

2. PHP

PHP ban đầu là viết tắt của Trang chủ cá nhân, nhưng bây giờ nó là viết tắt của chủ nghĩa khởi tạo đệ quy, Bộ tiền xử lý siêu văn bản. → GUI trên máy tính để bàn, phần phụ trợ web, thiếu công cụ sửa lỗi tốt (so với các ngôn ngữ khác), lương tương đối thấp, vẫn phổ biến rộng rãi, cạnh tranh gay gắt từ java, Thương mại điện tử và các trang web công cộng King. [Các phiên bản PHP trước đây ít chú ý đến tính năng bảo mật hơn, hiện tại nó mạnh mẽ như bất kỳ ngôn ngữ nào khác]

3. C++

Cầu nối giữa LLP và HLP, bộ nhớ không an toàn, phát triển công cụ trò chơi, cấp độ hệ điều hành, nhúng, fintech, giao dịch, trình biên dịch, trình duyệt, VM, có thể gây khó chịu khi làm việc. (Visa, Mastercard, Amex đều sử dụng C++ cho hệ thống phụ trợ của họ). Đừng xem xét C++ nếu việc chơi game và lập trình phần cứng không khiến bạn quan tâm.

4. Các ngôn ngữ siêu mới và rất đặc thù

Nhưng không có cộng đồng lành mạnh. [Để biết thêm về điều đó, vui lòng tham khảo phần cuối bài viết]

Một chút lịch sử về các ngôn ngữ lập trình phổ biến.

1951 — Regional Assembly Language
1957 — FORTRAN (first compiler)
1958 — LISP
1958 — ALGOL 58
1959 — COBOL
1962 - Simula
1964 - IBM Basic Assembly Language
1964 — BASIC
1964 - PL/I (Programming Language One)
1969 — B (forerunner to C)
1970 — Pascal
1972 — C
1972 - Smalltalk
1972 - SPL
1976 - S
1978 — SQL
1980 — C++ (as C with classes, renamed in 1983)
1984 — MATLAB
1985 - Eiffel
1986 — Objective-C
1986 — Erlang
1987 — Perl
1990 — Haskell
1990 — Python
1991 — Visual Basic
1993 — R (influenced by S, 1976)
1995 - Delphi
1995 — Ruby
1995 — Java
1995 — JavaScript
1995 — PHP
2001 — C#
2002 — Scratch
2003 — Scala
2006 — PowerShell
2007 — Clojure
2008 — Nim
2010 — Rust
2011 — Elixir
2012 — JuliaOther new programming languages include Red, Crystal, Elm, Hack, Haxe, Zig, Reason, and Ballerina.

Tham khảo: