Salam dünya (Hello World) — bu, hər bir proqramçının yeni proqramlaşdırma dili ilə tanış olarkən yazdığı ilk proqramdır. Onun yeganə vəzifəsi ekranda mətn göstərmək və inkişaf alətlərinin düzgün işlədiyinə əmin olmaqdır. Kernighan və Ritchie, 1978-nin məlumatına görə, ifadənin ilk dəfə görünməsi “C Proqramlaşdırma Dili” kitabında qeydə alınıb. O vaxtdan Hello World peşəyə girişin universal simvoluna çevrildi.
Əsas məqamlar
Hello World — yeganə məqsədi ekranda “Hello, World!” və ya oxşar salamlaşma mətni göstərmək olan sadə proqramdır. Yeni proqramlaşdırma dilini öyrənərkən ilk addım kimi xidmət edir.
Hello World yazan başlanğıc üç şeyi yoxlayır: kompilyator və ya interpreter quraşdırılıbmı, inkişaf mühiti düzgün konfiqurasiya olunubmu və dilin əsas sintaksisi aydındırmı. Proqram xətadan işə düşürsə — davam etmək olar.
Stack Overflow Developer Survey 2024 məlumatına görə, respondentlərin 65%-dən çoxu ilk dilini məhz Hello World ilə öyrənməyə başlayıb. Bu proqram proqramlaşdırmaya girişin yazılmamış standartına çevrilib.
Alətlərin minimal yoxlanılması — Hello World-un əsas vəzifəsidir. Onsuz proqramçı mühitinin düzgün qurulduğuna əmin ola bilməz.
Dil və ya freymvork dəyişdirilərkən Hello World 5 dəqiqə ərzində bütün asılılıqların quraşdırıldığına əmin olmağa imkan verir. Məsələn, Java-dan Kotlin-ə keçərkən ilk proqram Kotlin kompilyatorunun işlədiyini göstərir.
Mədəni əhəmiyyəti Hello World texniki zərurət çərçivəsindən kənara çıxır. Milyonlarla proqramçı bu ifadə ilə başlayıb və bu, onu peşənin birləşdirici simvoluna çevirir.
Zamanla Hello World mem və yaradıcılıq mövzusuna çevrildi: ezoterik dillərdə, QR-kod şəklində, osiloskopda və hətta mikrodalğalı sobada reallaşdırmalar mövcuddur.
“Hello, World!” ifadəsinin proqramlaşdırmada ilk sənədləşdirilmiş görünüşü 1972-ci ilə aiddir. Brayan Kerniqan onu B dilinin (C-nin sələfi) tədris nümunəsində istifadə edib.
1978-ci ildə Kerniqan və Dennis Riçi “The C Programming Language” (K&R C) kitabını nəşr etdirdilər, burada Hello World nümunəsi 6-cı səhifədə yer aldı. Məhz bu nəşr ənənəni onilliklər boyu möhkəmləndirdi.
Computer History Museum-un məlumatına görə, orijinal kod belə görünürdü: main() { printf("hello, world"); } — qayıdış tipi olmadan, başlıq faylları olmadan və kiçik hərflərlə. Sonrakı nəşrlərdə nümunə ANSI C-yə yeniləndi.
İfadə təsadüfən seçildi — Kerniqan mətn çıxışını nümayiş etdirmək istəyirdi və ağlına gələn ilk şey dünyaya salamlaşma oldu. Heç bir dərin məna və ya istinad nəzərdə tutulmamışdı.
Ancaq zamanla Hello World simvolik məna qazandı: proqramçı yeni dillə və proqramçılar cəmiyyəti ilə “salamlaşır”. GitHub Octoverse 2024-ün məlumatına görə, Hello World nümunələri olan repozitoriyalar ən çox fork olunan top-100-ə daxildir.
50 il ərzində Hello World sadə mətn çıxışından qrafik interfeysi olan çoxplatformalı nümunələrə qədər inkişaf etdi. Mobil tətbiqlər üçün müasir Hello World Activity və ya ViewController yaradılmasını əhatə edir.
Android platformasında minimal Hello World layout faylı, Activity və manifest tələb edir — təxminən 50 sətir kod. SwiftUI ilə iOS üçün bir fayl kifayətdir: Text("Hello, World!").
Bütün Hello World reallaşdırmaları, dildən asılı olmayaraq, üç ümumi elementi ehtiva edir: giriş nöqtəsi, çıxış operatoru və mətn sətri. Yalnız sintaksis fərqlənir.
Kompilyasiya olunan dillərdə (C, C++, Java, Kotlin) main funksiyası və ya sinif bəyannaməsi tələb olunur. İnterpretasiya olunan dillərdə (Python, Ruby, JavaScript) bir sətir kifayətdir — icra mühiti haradan başlayacağını özü bilir.
GitHub analizinin 2024-cü il məlumatına görə, 50 məşhur dil üçün Hello World-da orta sətir sayı 3,7 sətirdir. Ən qısası — Ruby-də (1 sətir), ən uzunu — Java-da (sinif daxil olmaqla 7 sətir).
Giriş nöqtəsi — proqramın icrasının başladığı yerdir. C və Java-da bu main funksiyasıdır, Python-da — faylın birinci sətri, Swift-də — @main atributu və ya əl ilə giriş nöqtəsi.
Giriş nöqtəsinin təyinində səhv — başlanğıcların ən çox rastlaşdığı problemdir. Stack Overflow-un məlumatına görə, “ilk proqramı necə işə salmaq” teqlə suallar ayda 50 mindən çox baxış toplayır.
Mətn çıxışı — Hello World-un ikinci məcburi hissəsidir. Müxtəlif dillərdə müxtəlif funksiyalardan istifadə olunur: printf C-də, System.out.println Java-da, print Python-da, console.log JavaScript-də.
stdout və stderr-ə çıxış arasındakı fərqi anlamaq sonra gəlir, lakin Hello World artıq giriş-çıxış axınları konsepsiyası ilə tanış edir. Daxili çıxış funksiyaları istisnasız bütün dillərdə mövcuddur.
2025-ci il üçün TIOBE indeksinə görə top-10-a daxil olan 5 dil üçün Hello World reallaşdırmalarına baxaq: Python, Java, JavaScript, C# və Kotlin. Hər nümunə sintaktik xüsusiyyətləri nümayiş etdirir.
Nümunələr ən qısadan ən uzuna doğru sıralanıb. Bu, müxtəlif dillərin eyni tapşırığı minimal vasitələrlə necə həll etdiyini görməyə kömək edir.
print("Hello, World!")
Ən qısa reallaşdırma. Nöqtəli vergülsüz bir sətir. Python avtomatik olaraq yeni sətir əlavə edir. Başlanğıc üçün bu minimal giriş həddidir.
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Salam, Dünya!");
}
}
Java main metodu olan sinif tələb edir. Başlanğıc üçün bu çox “sehr” deməkdir — public static void modifikatorları hələ anlaşılmazdır. Lakin Hello World ciddi tipləşdirməyə alışmağa kömək edir.
console.log("Hello, World!");
Python kimi, JavaScript də bir sətirlə kifayətlənməyə imkan verir. Fərq — məcburi nöqtəli vergül (formal olaraq isteğe bağlı olsa da) və print əvəzinə console.log istifadəsidir.
using System;
class Program {
static void Main() {
Console.WriteLine("Salam, Dünya!");
}
}
C# sintaksisi Java-ya bənzəyir, lakin nüanslar var: using System direktivi, Main-də böyük M hərfi və Console.WriteLine. C#-da Hello World ad məkanları ilə tanış edir.
fun main() {
println("Salam, Dünya!")
}
Kotlin müasir kompilyasiya olunan dildir, lakin Hello World cəmi 3 sətir tutur. main funksiyası sinifdən kənarda elan edilir, println isə qlobal funksiyadır və bu, girişi asanlaşdırır.
Hello World-un tətbiq sahəsi tədris tapşırıqları çərçivəsindən çox kənara çıxır. Peşəkar proqramçılar ondan alətləri yoxlamaq, mühiti test etmək və hətta sənədləşdirmədə istifadə edirlər.
Davamlı inteqrasiyada (CI/CD) Hello World layihələri tez-tez pipeline üçün minimal testlər kimi xidmət edir: Hello World-ün qurulması keçərsə, əsas mühit düzgün konfiqurasiya olunub. JetBrains Developer Survey 2024-ün məlumatına görə, komandaların 38%-i CI diaqnostikası üçün Hello World-dan istifadə edir.
Yeni kitabxana və ya freymvork qoşularkən rəsmi sənədləşdirmədən Hello World nümunəsi ilk addımdır. O, asılılıqların həll olunduğunu, importların işlədiyini və API-nin əlçatan olduğunu təsdiqləyir.
Məsələn, React Native üçün rəsmi Hello World mətnli komponentdir. O, emulatorda göstərilirsə, inkişaf mühiti düzgün qurulub və real tapşırığa başlamaq olar.
Hello World linterlərin, formatterlərin və qurma sistemlərinin yoxlanılması üçün istifadə olunur. ESLint və ya SwiftLint konfiqurasiyası zamanı Hello World faylında ilk işə salma qaydaların düzgün işlədiyini göstərir.
GitHub-un məlumatına görə, GitHub-dan “hello-world” repozitoriyası (2008-ci ildə yaradılıb) 2,5 milyondan çox fork-a malikdir. Bu, platformada ən çox fork edilən repozitoriyadır və Git əmrlərini sınamaq üçün poliqon kimi istifadə olunur.
Tez-tez verilən suallar
Ənənə 1978-ci ildən K&R C kitabının nəşrindən sonra möhkəmləndi. Kerniqan ingilis ifadəsini istifadə etdi və o, standarta çevrildi. Tədris məqsədləri üçün tərcümə məqbuldur, lakin orijinal variant ümumqəbul edilmiş olaraq qalır.
Ən qısa reallaşdırma Ruby dilindədir: puts "Hello, World!" (17 simvol). Bir sətirli variantlar Python, JavaScript və PHP-də də mövcuddur. Ən uzunu — məcburi sinif və main metodu ilə Java-dadır.
Bəli, bu, mühiti yoxlamaq və əsas sintaksisi mənimsəmək üçün ən yaxşı üsuldur. Hətta təcrübəli proqramçılar dil dəyişdirərkən Hello World yazır — bu, sənədləşdirməni sıfırdan oxumaqdan daha sürətlidir.
Bəli, Android üçün Hello World TextView-də mətn olan Activity-dir, iOS üçün — UILabel və ya SwiftUI-də mətn görünüşü olan tətbiqdir. Xcode və Android Studio-nun standart şablonları Hello World-“avcıdan” ehtiva edir.
Hello World inkişaf mühiti üçün smoke test-dir. O, məntiqi və ya performansı yoxlamır, lakin kompilyatorun, icra mühitinin və qurma alətlərinin əsaslı şəkildə düzgün işlədiyini sübut edir.
Nəticə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun