Cách viết “Hello World” với 28 Ngôn ngữ Lập trình

30206

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, worldn");
}

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, worldn").

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")

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 worldn")

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: