| Bytes | Lang | Time | Link |
|---|---|---|---|
| 137 | JavaScript Node.js | 240805T063118Z | Andrew B |
| 048 | YASEPL | 240207T235747Z | madeforl |
| 011 | Japt | 230705T145341Z | Luis fel |
| 723 | 05AB1E | 230629T090807Z | Kevin Cr |
| 066 | NASM linux x32 | 230623T151242Z | AnttiP |
| 019 | GolfScript | 230622T233511Z | Bubbler |
| 021 | Retina | 230622T230335Z | Neil |
| 018 | Charcoal | 230622T225948Z | Neil |
| 010 | Jelly | 230622T182732Z | Jonathan |
| 002 | Thunno 2 / Vyxal polyglots | 230622T180535Z | The Thon |
JavaScript (Node.js), 137 bytes
F=!1+''
V=[][0]+''
3[C=`c${p=(''+[][`f${V[5]}nd`])[6]}nstr${V[0]}ct${p}r`][C](`c${p}ns${p}l${f=F[4]}.l${p}g('H${f}ll${p}, W${p}rld!')`)()
05AB1E, 7 (or 23) bytes
”Ÿ™,‚ï!
If we want to get rid of vowels like Ÿ and ï as well, it would be 23 bytes (most likely golfable some more, though..):
'H.•7¤p³mƶG•¦#`™„, s'!J
Explanation:
”Ÿ™,‚ï! # Push dictionary string "Hello, World!"
# (which is output implicitly as result)
'H '# Push "H"
# STACK: "H"
.•7¤p³mƶG• # Push compressed string "jello world"
# STACK: "H","jello world"
¦ # Remove the first letter: "ello world"
# STACK: "H","ello world"
# # Split it on spaces: ["ello","world"]
# STACK: "H",["ello","world"]
` # Pop and push both separated to the stack
# STACK: "H","ello","world"
™ # Titlecase the top word: "World"
# STACK: "H","ello","World"
„, # Push string ", "
# STACK: "H","ello","World",", "
s # Swap it with "World" on the stack
# STACK: "H","ello",", ","World"
'! '# Push "!"
# STACK: "H","ello",", ","World","!"
J # Join all strings on the stack together
# STACK: "Hello, World!"
# (after which the result is output implicitly)
NASM (linux x32), 66 bytes
The source code in hexadecimal
64 62 22 04 04 43 E8 0E 22 2C 30 2C 30 2C 30 2C 37 32 2C 31 30 31 2C 22 6C 6C 22 2C 31 31 31 2C 22 2C 20 57 22 2C 31 31 31 2C 22 72 6C 64 21 22 2C 31 30 2C 22 5A B1 0E 87 D1 CD 80 B0 01 4B CD 80 22
Printed out it looks like this:
db"C�",0,0,0,72,101,"ll",111,", W",111,"rld!",10,"Z�K̀"
This basically encodes the following assembly:
add al, 4
inc ebx
call _f
data db "Hello, World!", 10
_f:
pop edx
mov cl, 14
xchg edx, ecx
int 0x80
mov al, 1
dec ebx
int 0x80
The instruction pointer is used to make the code position independent. Unfortunately pop ecx corresponds to the character Y, so I had to add an exchange.
To compile, run
nasm -f elf32 golf.S -o golf.o
ld -m elf_i386 -o golf.out golf.o
./golf.out
where golf.S contains the source code
GolfScript, 19 bytes
'Gdkkn+Vnqkc '{)}%
'Gdkkn+Vnqkc ' Hello world but -1 applied to each character
{)}% Add back 1 to each character
Retina, 21 bytes
K`H1ll3, W3rld!
T`d`v
Try it online! Explanation:
K`H1ll3, W3rld!
Start with the string constant H1ll3, W3rld!.
T`d`v
Change 1 to e and 3 to o.
Charcoal, 18 bytes
⍘I”)¶iτCφ(≦$χ≕G&”γ
Try it online! Link is to verbose version of code. Explanation:
I”...” Cast compressed string `22011474394810164197455861` to integer
⍘ γ Convert to base 95 using printable ASCII
Implicitly print
Best I could do without compression was 19 bytes:
⭆Pmttw4(_wztl)℅⁻℅ι⁸
Try it online! Link is to verbose version of code. Explanation: Subtracts 8 from the ASCII codes of each character in the string constant. (Other values such as 2 can also be used.)
Jelly, 10 bytes
Always remember to “;ṇTry HARD
“;ṇṪṙẏHȦ»Ḋ
A full program which prints the result (also a niladic Link yielding it).
How?
Without the restriction, we could have the compressed string “3ḅaė;œ» for \$8\$ bytes.
“;ṇṪṙẏHȦ»Ḋ - Main Link: no arguments
“;ṇṪṙẏHȦ» - compressed string = "\nHello, World!"
Ḋ - dequeue -> "Hello, World!"
- implicit print
Other \$10\$ byters
(...with nothing that could be considered a vowel, like Ȧ)
“¿ṃ{+ṀH“£» - Main Link: no arguments
“......“.» - list of compressed strings:
¿ṃ{+ṀH - "Hello, World"
£ - "!"
-> ["Hello, World", "!"]
- implicit, smashing print
“Ṣc çsṢƑ»Ṗ - Main Link: no arguments
“Ṣc çsṢƑ» - compressed string = "Hello, World!$"
Ṗ - pop -> "Hello, World!"
- implicit print
Thunno 2 / Vyxal (polyglots), 2 bytes
kH
Attempt This Online! or Try it Online!
Making this a CW because it's very boring and exactly the same as the normal Hello, World! submissions in Thunno 2 and Vyxal.