https://github.com/lordubuntu/hello3000
A collection of roughly 3000 ways to say hello
https://github.com/lordubuntu/hello3000
hello-world language language-learning programming-language programming-languages
Last synced: 6 months ago
JSON representation
A collection of roughly 3000 ways to say hello
- Host: GitHub
- URL: https://github.com/lordubuntu/hello3000
- Owner: LordUbuntu
- Created: 2022-09-24T20:24:53.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-06-11T22:14:26.000Z (8 months ago)
- Last Synced: 2025-06-11T23:26:18.926Z (8 months ago)
- Topics: hello-world, language, language-learning, programming-language, programming-languages
- Language: Assembly
- Homepage:
- Size: 117 KB
- Stars: 1
- Watchers: 1
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# hello3000
A collection of roughly 3000 ways to say hello.
## Description
Hello 3000 is a repository containing thousands of examples of the hello world program written in various programming languages. This repository is the consequence of a dream. This repository is an exploration of languages, maybe it's art? I don't know.
It's **purpose** is to be a reference guide to io in the many programming languages that exist. For now that goal is restricted to the universal beginner program "Hello World!", but maybe in the future some additional programs like truth machine will be included.
My main reason for creating this repository was to give myself a simple way to start and maintain a habit of programming and learning, even by just this tiny bit, every single day. So that even on busy days or days where I feel down, I can do just a little bit of coding to keep the ball rolling. A journey of a thousand miles starts with a single step. While the programs are trivial, it does make a good reference to compare between different languages due to the program's uniformity.
I hope you enjoy this miniscule repo!
## Program Structure
Each "Hello World!" program follows the same pattern:
* take a user input
* assign that to the variable "name"
* print "Hello, [name]!" to the output
Or in pseudocode:
```
function main
var name = input
print "Hello, {name}!"
end
main
```
## Contributing
If there is a language you would like to see represented that isn't currently present, consider contributing to this project by submitting a PR (Pull Request) with your language.
**_To do that_**...
1. Fork this repo (and give it a :star: if you would like to)
2. Create a file called `hello` in your language (eg: `hello.py`)
3. Create a PR with the title `Hello [your language]` (eg: `Hello Python`)
* Make sure to give a description
4. I'll merge it in at most 3 days
**_subject to the following limitations_**:
- The contribution must be in a novel language (a language that is not already in the repository)
- The contribution must follow the same formula/structure (read input and assign to variable `name`, write output `"Hello [name]!"`)
- The program should be able to take input and print output on it's own (HTML/XML/MD won't be allowed)
- The program should be contained in a `main` function and that function called, if it can be done in the language!
- The input should _not_ include a text prompt like "what is your name?"
Contributions which do not meet the above requirementes will not be accepted.
If enough people contribute frequently enough, I will create a github action for this process. I doubt that will happen though >_>
## Languages
* [Ada](https://github.com/LordUbuntu/hello3000/blob/main/hello.ada)
* [Algol 68](https://github.com/LordUbuntu/hello3000/blob/main/hello.a68)
* [ASM](https://github.com/LordUbuntu/hello3000/blob/main/hello.asm)
* [Awk](https://github.com/LordUbuntu/hello3000/blob/main/hello.awk)
* [Basic](https://github.com/LordUbuntu/hello3000/blob/main/hello.bas)
* [Berd/C](https://github.com/LordUbuntu/hello3000/blob/main/hello.berd)
* [BrainFuck](https://github.com/LordUbuntu/hello3000/blob/main/hello.bf)
* [C](https://github.com/LordUbuntu/hello3000/blob/main/hello.c)
* [C#](https://github.com/LordUbuntu/hello3000/blob/main/hello.cs)
* [Clojure](https://github.com/LordUbuntu/hello3000/blob/main/hello.clj)
* [COBOL](https://github.com/LordUbuntu/hello3000/blob/main/hello.cob)
* [CoffeeScript](https://github.com/LordUbuntu/hello3000/blob/main/hello.coffee)
* [Coq](https://github.com/LordUbuntu/hello3000/blob/main/hello.coq)
* [C++](https://github.com/LordUbuntu/hello3000/blob/main/hello.cpp)
* [Crystal](https://github.com/LordUbuntu/hello3000/blob/main/hello.cr)
* [D](https://github.com/LordUbuntu/hello3000/blob/main/hello.d)
* [Dart](https://github.com/LordUbuntu/hello3000/blob/main/hello.dart)
* [Eiffel](https://github.com/LordUbuntu/hello3000/blob/main/hello.e)
* [Elixir](https://github.com/LordUbuntu/hello3000/blob/main/hello.exs)
* [F#](https://github.com/LordUbuntu/hello3000/blob/main/hello.fsx)
* [Factor](https://github.com/LordUbuntu/hello3000/blob/main/hello.factor)
* [Fortran](https://github.com/LordUbuntu/hello3000/blob/main/hello.f90)
* [Gleam](https://github.com/LordUbuntu/hello3000/blob/main/hello.gleam)
* [GnuPlot](https://github.com/LordUbuntu/hello3000/blob/main/hello.gnu)
* [Go](https://github.com/LordUbuntu/hello3000/blob/main/hello.go)
* [Guile](https://github.com/LordUbuntu/hello3000/blob/main/hello.guile)
* [Haskell](https://github.com/LordUbuntu/hello3000/blob/main/hello.hs)
* [Java](https://github.com/LordUbuntu/hello3000/blob/main/hello.java)
* [JavaScript](https://github.com/LordUbuntu/hello3000/blob/main/hello.js)
* [Julia](https://github.com/LordUbuntu/hello3000/blob/main/hello.jl)
* [Kotlin](https://github.com/LordUbuntu/hello3000/blob/main/hello.kt)
* [Common Lisp](https://github.com/LordUbuntu/hello3000/blob/main/hello.lisp)
* [Lobster](https://github.com/LordUbuntu/hello3000/blob/main/hello.lobster)
* [LOGO](https://github.com/LordUbuntu/hello3000/blob/main/hello.logo)
* [LOLCODE](https://github.com/LordUbuntu/hello3000/blob/main/hello.lol)
* [Lua](https://github.com/LordUbuntu/hello3000/blob/main/hello.lua)
* [Matlab](https://github.com/LordUbuntu/hello3000/blob/main/hello.m)
* [Modula 2](https://github.com/LordUbuntu/hello3000/blob/main/hello.mod)
* [Nelua](https://github.com/LordUbuntu/hello3000/blob/main/hello.nelua)
* [Nim](https://github.com/LordUbuntu/hello3000/blob/main/hello.nim)
* [Oberon](https://github.com/LordUbuntu/hello3000/blob/main/hello.obn)
* [Odin](https://github.com/LordUbuntu/hello3000/blob/main/hello.odin)
* [Onyx](https://github.com/LordUbuntu/hello3000/blob/main/hello.onyx)
* [Pascal](https://github.com/LordUbuntu/hello3000/blob/main/hello.pas)
* [Perl](https://github.com/LordUbuntu/hello3000/blob/main/hello.plx)
* [Prolog](https://github.com/LordUbuntu/hello3000/blob/main/hello.pl)
* [Python](https://github.com/LordUbuntu/hello3000/blob/main/hello.py)
* [R](https://github.com/LordUbuntu/hello3000/blob/main/hello.r)
* [Racket](https://github.com/LordUbuntu/hello3000/blob/main/hello.rkt)
* [Ruby](https://github.com/LordUbuntu/hello3000/blob/main/hello.rb)
* [Rust](https://github.com/LordUbuntu/hello3000/blob/main/hello.rs)
* [Scala](https://github.com/LordUbuntu/hello3000/blob/main/hello.scala)
* [Scheme](https://github.com/LordUbuntu/hello3000/blob/main/hello.scm)
* [Bash](https://github.com/LordUbuntu/hello3000/blob/main/hello.bash)
* [Smalltalk](https://github.com/LordUbuntu/hello3000/blob/main/hello.st)
* [Standard ML](https://github.com/LordUbuntu/hello3000/blob/main/hello.sml)
* [Swift](https://github.com/LordUbuntu/hello3000/blob/main/hello.swift)
* [Turing](https://github.com/LordUbuntu/hello3000/blob/main/hello.st)
* [TypeScript](https://github.com/LordUbuntu/hello3000/blob/main/hello.ts)
* [V](https://github.com/LordUbuntu/hello3000/blob/main/hello.v)
* [Wren](https://github.com/LordUbuntu/hello3000/blob/main/hello.wren)
* [Zig](https://github.com/LordUbuntu/hello3000/blob/main/hello.zig)