Cách viết “Hello World” với 28 Ngôn ngữ Lập trình
Bọn máy tính khá là thực dụng – Nó chỉ làm những gì được yêu cầu thôi. Vậy làm thế nào để báo máy tính cần phải làm gì? Bạn sẽ phải “nói” thông qua Ngôn ngữ Lập trình. Và 1 trong những việc đầu tiên bạn cần làm khi học 1 ngôn ngữ lập trình mới chính là làm cho máy tính hiển thị “Hello, World”.
Không có ngôn ngữ lập trình nào là hoàn hảo cả, chúng đều có những đặc điểm khác nhau. Và mỗi ngày có hàng trăm ngôn ngữ mới được tạo ra.
Dưới đây là danh sách các ngôn ngữ lập trình mà mình muốn giới thiệu và hầu hết chúng đều đã được ghi danh trên ‘bảng vàng’ của ngành lập trình. Ngày nay chúng vẫn đang được sử dụng và đóng góp thêm cho ‘nghệ thuật của các ngôn ngữ máy tính’.
ANGOL
Cùng đương thời với các ngôn ngữ lập trình FORTRAN, Lisp, và COBOL vào đầu những năm 1950. Nó đã trở thành cách quy chuẩn để diễn tả các thuật toán học thuật trong hơn 30 năm, và đã tác động ảnh hưởng tới nhiều syntax của các ngôn ngữ lập trình khác, C là 1 cái tên tiêu biểu trong số đó.
BEGIN DISPLAY("HELLO WORLD!") END.
ASPECTJ
Tiêu chuẩn thực tế cho phong cách lập trình, hay còn được gọi là ‘Aspect Oriented Programming’ (AOP). AOP không phổ biến cho lắm, nhưng khá được yêu thích bởi 1 số người và khái niệm đặc biệt của AOP đã giúp nó tìm được con đường riêng của mình tới các thư viện và ngôn ngữ khác. AspectJ sử dụng các syntax khá giống Java.
// HelloWorld.java public class HelloWorld { public static void say(String message) { System.out.println(message); } public static void sayToPerson(String message, String name) { System.out.println(name + ", " + message); } } // MannersAspect.java public aspect MannersAspect { pointcut callSayMessage() : call(public static void HelloWorld.say*(..)); before() : callSayMessage() { System.out.println("Good day!"); } after() : callSayMessage() { System.out.println("Thank you!"); } }
APPLESCRIPT
Nếu bạn đang sử dụng máy Mac, bạn có thể dùng cái này để tự động hoá và tuỳ chỉnh các ứng dụng của mình.
say “Hello, world!”
ASSEMBLY LANGUAGE
Đây chính là ngôn ngữ sẽ giúp bạn tạo ra 1 phần mềm có hiệu năng và hiệu quả cao nhất mà bạn vẫn có thể đọc được. Thật sự Assembly rất khó để viết nên thường nó chỉ được dùng trong các phần nhỏ mang tính ‘performance-sensitive’ của chương trình. Bạn sẽ tìm thấy chúng trong các hệ điều hành và các bộ máy game 3D.
global _main extern _printf section .text _main: push message call _printf add esp, 4 ret message: db 'Hello, World', 10, 0
BASH (UNIX SHELL)
Từng được dùng để quản lý và tương tác các dòng lệnh với hệ thống Linux & Unix.
#!/bin/bash STR="Hello World!" echo $STR
BASIC
Basic được ra mắt vào năm 1964 và vươn lên thời hoàng kim vào đầu những năm 80, khi mà máy vi tính bắt đầu thâm nhập vào các văn phòng nhỏ và hộ gia đình. Bạn mong đợi để viết riêng phần mềm của mình và phần lớn các máy tính được gửi kèm với một số phiên bản của BASIC. Nó tiếp cận đến được nhiều người nhờ việc dễ học và vừa đủ để chạy trên các phần cứng không mạnh lắm này.
Số lượng các biến thể của BASIC là vô cùng lớn, Visual Basic là 1 biến thể khá phổ biến trên Windows trong những năm 90. Sau đó nó được thay thế bởi Visual Basic .NET (bây giờ chỉ còn gọi là Visual Basic) nhưng khá là khác biệt so với phiên bản trước đó. Visual Basic hiện vẫn được sử dụng rộng rãi.
10 PRINT "Hello, World!" 20 END
C
Đây chính là ngôn ngữ phổ biến nhất trên thế giới. Là ngôn ngữ viết ra các hệ điều hành nổi tiếng như Windows, MacOS, iOS và Android, cũng như các trình duyệt và engineer game 3D. Syntax của nó đã ảnh hưởng đến vô số các ngôn ngữ lập trình khác.
Các map của C khá gần giống như Assembly Language nhưng bạn có thể viết nhiều chương trình phức tạp với nó. Nếu bạn cần hiệu năng cao nhất có thể mà không muốn bị quả tải thì C chính là thứ dành cho bạn.
C còn là ngôn ngữ làm phổ biến nên khái niệm “Hello, World”.
#include <stdio.h> int main(void) { printf("hello, world\n"); }
C++
Hiệu suất của C++ gần giống như C và được sử dụng trong các dự án quan trọng như Chrome browser. C++ là kết quả của nỗ lực để tạo nên 1 ngôn ngữ giúp dễ dàng build nên các dự án lớn trong khi vẫn giữ được hiệu suất và tốc độ nhanh.
#include <iostream> int main() { std::cout << "Hello, world!\n"; return 0; }
Tham khảo thêm các vị trí tuyển lập trình C++ tại Topdev
C#
Được tạo ra khi Microsoft dựng nên .Net virtual machine. Và C# đã trở thành ngôn ngữ lập trình hàng đầu của Microsoft.
using System; class Program { static void Main(string[] args) { Console.WriteLine("Hello, world!"); } }
Tham khảo ngay các vị trí tuyển dụng C# mới nhất từ các công ty HOT
CAML (OCAML)
Một ngôn ngữ lập trình tập trung chức năng trong họ ngôn ngữ ML. Được dùng cho 1 số dự án nhỏ trên Facebook. Compiler cho ngôn ngữ Facebook’s Hack được viết bởi OCaml.
print_endline "Hello, world!";;
CLOJURE (CLOJURESCRIPT)
Một ngôn ngữ lập trình chức năng có dự định để thành 1 bước tiến mới trên Lisp. Nó được chạy trên virtual machine của Java hay compile xuống JavaScript.
(println "Hello world!")
COBOL
1 thời rất nổi tiếng trong thời đại máy tính mainframe. Hiện giờ thì nó đã khá lu mờ và nhiều chương trình COBOL đang được chuyển thể sang các ngôn ngữ khác.
IDENTIFICATION DIVISION. PROGRAM-ID. hello-world. PROCEDURE DIVISION. DISPLAY "Hello, world!" .
COFFEESCRIPT
1 nỗ lực để làm JavaScript dễ dàng sử dụng hơn.
console.log "Hello, World!"
DART
1 ngôn ngữ cho các phần mềm xây dựng theo hướng khách hàng và có thể chạy trên điện thoại và trình duyệt. Google đang sử dụng Dart cho 1 số dự án quan trọng.
main() { print('Hello World!'); }
DBASE (FOXPRO)
dBase là bộ sưu tập các công cụ: ngôn ngữ lập trình, database, các form. Trong thời của riêng mình, dBase đã từng khá phổ biến hơn hiện tại nhiều. 1 clone khá nổi khác của nó là FoxPro.
? "Hello World"
DELPHI (OBJECT PASCAL)
Delphi đã từng là 1 công cụ phát triển ứng dụng nhanh chóng (Rapid Application Development – RAD) bởi sử dụng ngôn ngữ Object Pascal. Trong những năm giữa đến cuối thập niên 90, nó khá được yêu thích bởi các lập trình viên cho việc viết các chương trình Windows. Dù không còn được sử dụng nhưng nó vẫn là 1 trong những ngôn ngữ được yêu thích.
procedure TForm1.ShowAMessage; begin ShowMessage('Hello World!'); end;
EIFFEL
Ngôn ngữ đi đôi với phương pháp viết phần mềm có tên là Eiffel Method. Eiffel đã giới thiệu khái niệm về “Design by contract” (Design by contract trong Eiffel: một phương pháp làm nâng cao tính tin cậy phần mềm và cung cấp nền tảng cho việc đặc tả, làm tài liệu và kiểm nghiệm phần mềm), và đến giờ đã được sử dụng trong các ngôn ngữ khác.
class HELLO_WORLD create make feature make do print ("Hello, world!%N") end end
ERLANG
Được thiết kế để cung cấp thông tin xử lý thời gian-thực và tính khả dụng cao theo một cách có phân phối. Nó phổ biến trong các hệ điều hành điện thoại nhưng ít được biết đến cho tới khi nó được dùng cho CouchDB, dự án đã làm ‘chất xúc tác’ cho phong trào NoSQL.
-module(hello). -export([hello_world/0]). hello_world() -> io:fwrite("hello, world\n").
ELIXIR
Trong khi Erlang khá tuyệt vời tại cấp độ kỹ thuật, thì các lập trình viên lại cảm thấy khó khi làm việc cùng nó. Elixir sử dụng công nghệ của Erlang trong khi cung cấp trải nghiệm dễ dàng hơn cho các lập trình viên.
IO.puts "Hello World!"
F#
1 ngôn ngữ lập trình chỉ tập trung vào các chức năng, chạy trên .NET framework.
open System Console.WriteLine("Hello World!")
FORTRAN
Được tạo ra vào những năm 1950 để chạy trên máy tính mainframe, nó khá phù hợp cho công việc khoa học và số. Fortran đã trở thành tiêu chuẩn trong thế giới khoa học nơi mà nó vẫn còn được sử dụng đến ngày nay.
program helloworld print *, "Hello world!" end program helloworld
GO
Go được tạo ra và sử dụng tại Google. Là 1 ngôn ngữ luyện tập mà chỉ tập trung vào năng suất của lập trình viên với 1 cộng đồng chỉ tập trung vào hiệu năng và độ trễ thấp (low latency).
package main import "fmt" func main() { fmt.Println("Hello, World") }
GROOVY (RUBY)
1 ngôn ngữ dạng dynamic typing, được chạy trong runtime của Java. Hầu hết các code Java sẽ đều chạy như code Groovy nhưng code Groovy có thể gọn nhẹ hơn vì nó không yêu cầu mọi thứ như Java.
println "Hello World"
HASKELL
Thuộc loại hạng nặng, ngôn ngữ lập trình chức năng thuần túy.
module Main where main :: IO () main = putStrLn "Hello, World!"
IBM RPG
Được ra mắt lần đầu vào năm 1959, được tạo ra bởi IBM để chạy trên phần cứng của họ. Là 1 trong những ngôn ngữ ít ỏi được thiết kế cho các loại thẻ đục lỗ (punch card) mà vẫn còn dùng ngày nay.
dcl-s wait char(1); dsply ( 'Hello World!') ' ' wait; *inlr = *on;
JAVA
Điều làm cho Java đặc biệt là việc nó được thiết kế để các lập trình viên chỉ cần viết code 1 lần và cho phép nó chạy trên mọi hệ điều hành. Java là ngôn ngữ phổ biến nhất trên thế giới. Nó được dùng để dạy lập trình cho học sinh và trong các công ty lớn. Tất cả các ứng dụng Android đều được viết bằng Java.
class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); // Prints the string to the console. } }
JAVASCRIPT (ECMASCRIPT)
JavaScript là ngôn ngữ lập trình phổ biến nhất trên thế giới. Lý do chính là vì nó được yêu cầu để có thể chạy trên mọi trình duyệt web. JavaScript giúp cho web sống động và dễ tương tác hơn. Nó được tiêu chuẩn hóa dưới cái tên ECMAScript.
console.log("Hello World!");
LISP
Được thiết kế 1 năm sau Fortran, Lisp là ngôn ngữ lập trình cấp cao lâu đời thứ 2 trên thế giới mà vẫn còn được sử dụng rộng rãi. Lisp có thể đặt yêu cầu đối với nhiều ngôn ngữ lập trình trước, và bây giờ có thể được coi là một họ ngôn ngữ cũng như là bản thân nó cũng là 1 ngôn ngữ. Được phổ biến trong giai đoạn những năm 70 cho việc nghiên cứu AI. Dù độ phổ biến của nó dường như đã phai dần vào những năm 90 nhưng giờ đây nó đã lấy lại được sự phổ biến nhờ vào vài phương ngữ mới.
(print "Hello world")
LOGO
Với mục đích sử dụng cho giáo dục, Logo có mối liên hệ chặt chẽ với việc dạy các khái niệm đồ họa. Phổ biến trong những năm 80, học sinh sẽ điều hướng 1 “chú rùa” trên màn hình để vẽ những đường kẻ. 1 số học sinh may mắn sẽ có 1 chú rùa máy thật sự để vẽ những đường nét này trên giấy thật.
TO HELLO PRINT [Hello world] END
LUA
Điều làm cho Lua trở nên tuyệt vời là vì cách nó nhúng dễ dàng vào phần mềm.
print("Hello World!")
MACHINE CODE
Machine code là chỉ dẫn cấp độ thấp nhất bạn có thể gửi tới 1 CPU. Machine code thường khó đọc được bởi con người và con người chỉ có thể làm những việc nhỏ nhặt với nó. Nhưng tất cả phần mềm cuối cùng đều được chuyển thành Machine code trước khi nó được gửi đến CPU.
b8 21 0a 00 00 #moving "!\n" into eax a3 0c 10 00 06 #moving eax into first memory location b8 6f 72 6c 64 #moving "orld" into eax a3 08 10 00 06 #moving eax into next memory location b8 6f 2c 20 57 #moving "o, W" into eax a3 04 10 00 06 #moving eax into next memory location b8 48 65 6c 6c #moving "Hell" into eax a3 00 10 00 06 #moving eax into next memory location b9 00 10 00 06 #moving pointer to start of memory location into ecx ba 10 00 00 00 #moving string size into edx bb 01 00 00 00 #moving "stdout" number to ebx b8 04 00 00 00 #moving "print out" syscall number to eax cd 80 #calling the linux kernel to execute our print to stdout b8 01 00 00 00 #moving "sys_exit" call number to eax cd 80 #executing it via linux sys_call
MATHEMATICA (WOLFRAM LANGUAGE)
Một chương trình với ngôn ngữ lập trình chuyên dụng, phổ biến trong giới khoa học và toán học để thực hiện các phép tính phức tạp.
CloudDeploy["Hello, World"]
MATLAB
Một sự kết hợp của 1 chương trình và 1 ngôn ngữ lập trình. Được sử dụng để phân tích dữ liệu và phát triển các thuật toán. Nó được sử dụng trong giáo dục để dạy đại số tuyến tính và phân tích số. Nó cũng phổ biến với các nhà khoa học làm việc về thao tác hình ảnh.
classdef hello methods function greet(this) disp('Hello, World') end end end
ML
Một ngôn ngữ chức năng có nguồn gốc từ Lisp nhưng với một hệ thống hạng nặng.
print "Hello world!\n";
NODE.JS
Không hẳn là 1 ngôn ngữ (ngôn ngữ được sử dụng là JavaScript) nhưng là 1 môi trường runtime để chạy JavaScript trên các máy chủ so với trình duyệt. Mục đích là để chứng minh rằng lập trình không thực sự đồng bộ tốt hơn cho các CPU ‘multi-core’ hiện đại. Bây giờ nó được sử dụng rất nhiều cho công cụ của các dự án lớn.
console.log("Hello World!");
Tham khảo thêm các vị trí tuyển dụng NodeJS lương cao cho bạn
OBJECTIVE-C
1 bản mở rộng của C và được thêm vào Smalltalk như là phần tin nhắn. Được dùng bởi Apple để viết macOS và iOS.
main() { puts("Hello World!"); return 0; }
PASCAL
Ngôn ngữ phổ biến những năm 80 và 90 đặc biệt là dành cho việc dạy lập trình. Nó đã phát triển rất nhiều và cũng là ngôn ngữ được sử dụng trong bộ công cụ Delphi RAD.
program HelloWorld(output); begin Write('Hello, world!'); end.
PERL
Perl rất mạnh để xử lý văn bản. Một sự lựa chọn phổ biến để buils trang web trong những ngày đầu của các trang web động (dynamic webs).
print "Hello, World!\n";
PHP
PHP là ngôn ngữ phổ biến nhất để xây dựng phần backend của trang web. Nó còn là ngôn ngữ đã viết nên Facebook và WordPress. Sau đó, Facebook quyết định tạo ra phương ngữ PHP riêng của họ có tên là Hack.
<?php echo "Hello, World";
POWERSHELL
Được dùng để tương tác và quản lý hệ điều hành Windows ở mức dòng lệnh.
Write-Host "Hello, World!"
PYTHON
Với một cú pháp nhỏ gọn cần ít dòng code hơn các ngôn ngữ khác như Java hoặc C ++. Nó rất phổ biến và được sử dụng cho các trang web cũng như trong việc phát triển Trí tuệ Nhân tạo (AI).
print("Hello World")
R
1 ngôn ngữ tuyệt vời cho công việc thống kê, và là 1 lựa chọn phổ biến trong thế giới khoa học.
cat("Hello world\n")
RPG
1 ngôn ngữ lập trình đã lâu đời mà vẫn còn được dùng bởi sự phát triển không ngừng của nó. Với khởi nguồn trong giai đoạn thẻ đục lỗ (punch card), hiện nó vẫn được tìm thấy trên hầu hết các phần cứng của IBM.
dcl-s wait char(1); dsply ( 'Hello World!') ' ' wait; *inlr = *on;
RUBY
Được thiết kế để thành 1 ngôn ngữ vui nhộn và năng suất để sử dụng, nhấn mạnh nhu cầu của con người hơn là nhu cầu máy tính. Web framework Rails được viết cho Ruby và có tác động rất lớn đến thiết kế các Web framework. Ruby vẫn còn là một ngôn ngữ phổ biến để tạo trang web.
puts 'Hello World!'
RUST
1 ngôn ngữ mới được dự định để thay thế các ngôn ngữ như C để thực hiện công việc ở cấp hệ thống. Các bộ phận của Firefox đang được thay thế dần bằng Rust.
fn main() { println!("Hello, world!"); }
SCALA
Được thiết kế để giải quyết một số chỉ trích về Java. Một ngôn ngữ tập trung vào chức năng chạy trên virtual machine của Java.
object HelloWorld extends App { println("Hello, World!") }
SCHEME
Một trong hai phương ngữ chính của Lisp, cái còn lại là Common List. Scheme đã cố gắng tối giản trong phần thiết kế và cho phép các extension mạnh hơn cho ngôn ngữ.
(let ((hello0 (lambda() (display "Hello world") (newline)))) (hello0))
SCRATCH
Một ngôn ngữ lập trình trực quan được thiết kế để cho trẻ em học các kỹ năng bằng cách lập trình. Ngoài ra còn có Scratch Jr. dành cho trẻ từ 5 – 7 tuổi. Cả hai ngôn ngữ được sử dụng bởi hàng triệu người bên trong và ngoài trường học trên toàn thế giới.
say Hello, World!
SELF
Một phương ngữ của Smalltalk, nó là ngôn ngữ đầu tiên sử dụng lập trình dựa trên nguyên mẫu, thứ mà JavaScript cũng đang sử dụng.
'Hello, World!' print.
SMALLTALK
Một ngôn ngữ rất quan trọng có ảnh hưởng lớn đến nhiều ngôn ngữ lập trình. Nhiều thứ phổ biến trong ngành lập trình hiện nay đều được thực hiện lần đầu tiên trên Smalltalk.
Transcript show: 'Hello World!'.
SWIFT
Một ngôn ngữ mới hơn được tạo ra bởi Apple. Nó đang được quảng bá để thay thế Objective-C trên các nền tảng của riêng mình. Swift được thiết kế để trở thành một ngôn ngữ dễ học và dễ sử dụng hơn mà không làm mất hiệu suất của Objective-C.
println("Hello, world!")
Bạn có thể xem thêm các thông tin tuyển dụng Objective C từ các công ty HOT.
TCL
Được sử dụng kết hợp với tiện ích mở rộng Tk, Tcl / Tk phổ biến để tạo giao diện đồ họa cho người dùng.
puts "Hello World!"
TYPESCRIPT
Được thiết kế bởi Microsoft, nó mang một phương ngữ JavaScript bổ sung các quy tắc nghiêm ngặt để trợ giúp cho các dự án lớn trong khi vẫn tương thích với JavaScript.
console.log("Hello World!");
Có thể bạn quan tâm:
- V Vì sao lập trình viên BE cần phải biết Figma?
- N Nên học Front-end hay Back-end trước?
- H Học back end cần học những gì? Lộ trình cho người mới bắt đầu
- T Tầm quan trọng của Loose Coupling trong hệ thống Backend
- L Lập trình Web nên học ngôn ngữ nào là phù hợp?
- N Nên học Front-end hay Back-end? Sự khác biệt là gì?
- P Phân biệt Front End và Back End, điểm khác nhau là gì?
- T Top 7 câu hỏi phỏng vấn Backend Developer
- L Lộ trình học MySQL từ A đến Z
- Q Quản lý realm database theo hướng micro-service trong iOS