g | x | w | all
Bytes Lang Time Link
089JavaScript Node.js240811T042520ZAndrew B
nanVyxal Ṫ230924T120931Zffseq
nanPython 3.11230923T194940ZJoao-3
055APL220715T163910ZVadim Tu
nanPxem210504T111653Zuser1004
055Japt171108T000648ZHawkings
233C#161111T203316ZPete Ard
055J140121T202654ZMort Yao
089C140119T022103Zvmrob
055Forth or Ruby140120T214136ZDarren S
nan140120T194632ZElisha
002Windows Command Prompt140118T112126ZRobert S
002Bash140120T133105ZTobia
034Sclipting140120T124505ZTimwi
nan140118T151756ZReut Sha
055Mathematica140118T164717Zybeltuko
nan140118T150818ZTimtech
034MySQL140118T144125ZTobia
021Korn Shell140118T121050Zfriol
055C64 BASIC140118T112340Zfriol
055PHP140118T101003Znull
055sh140118T100305Zuser1220
055Windows PowerShell probably also Bash140118T095455ZJohn Dvo
055GolfScript140118T091606ZHoward
055Befunge 98140118T091107ZJustin

JavaScript (Node.js), 89 bytes

console['log'](0000000000000000000000000000000000000000000000000000000||"Hello world!!!")

Try it online!

Vyxal , 8+13=21 bytes

kh6⁽NV33C3ẋ#123456789

kh6⁽NV = Hello world

33C = ASCII 33 to !

3ẋ = repeat top of stack three times

(Note that 33C3ẋ is one non numeric less than literal !!! would be)

Try it Online!

Python 3.11, 34+21=55 bytes

Boring answer, uses comments to store extra junk.

print("Hello world!!!")#abcdef12345678901234567890123456

APL, 55 bytes

14↑'Hello world!!!!!!!11111111111111111111111111111111'

Pxem, Numeric: 34 bytes + Non-numeric: 21 bytes = 55 bytes.

The boring answer. The stupid latter part is nothing but a garbage.

Try it online!

Japt, 55 bytes

"aaaaaaa1234567890123456789012345678901234"`HÁM WŽld!!!

Try it online!

It is basically a simple hello world with some rubbish at the beginning that is ignored but makes the code satisfy the conditions.

C#, 233 Bytes

233 Characters
144 Numeric
89 Non-Numeric Characters

/*I suck at CodeGolf!!!*/new List<int>{0072,00101,000108,000108,000111,0000032,00000119,00000111,0000000000114,0000000000108,00000000000000100,00000000000000033,00000000000000033,00000000000000033}.ForEach(c=>Console.Write((char)c));

Outputs:

Hello world!!!

J (55 characters)

(34 numeric + 21 non-numeric)

(72 101 108 108 111 32 119 111 114 108 100{a.), 3#33{a.

C (89 characters)

main() {
int i[0000000000000004]={1819043144,1870078063,560229490,2566922529};
puts(i);
}

While the above is valid, unfortunately, my efforts to compact it with the following program doesn't meet the spec. I feel like it's worth looking at and maybe someone else can shorten it a bit though (64 characters, 37 numerals, 27 non-numerals). To compile it, you'll have to use clang and with -fms-extensions.

main(){puts((__int128[]){671944380693508453879479574226248i8});}

Forth or Ruby, 55

(34 numeric + 21 non-numeric)

Forth

." Hello world!!!" \ 3141592653589793238462643383279502

Ruby

puts"Hello world!!!"#3141592653589793238462643383279502

Using comments to pad feels dirty, but those are valid answers.

Python

print'092020090920200948656c6c6f20776f726c642121212009200909200920'.decode('hex').strip()

digits : 55 non digits: 34

Windows Command Prompt - 34, 8, 5 chars, (2 below)

*These ones may or may not be breaking rule 2, but here it is anyway

%~099

Name the file:

&start call echo Hello world!!!&exit -b .cmd


Now lets corrupt the file-system a little - 2 chars (or less if you want)

A1

Name the file (using your preferred unorthodox method):

"&start call echo Hello world!!!&exit&.cmd

How does this work:

Since cmd scripts are invoked with 'cmd.exe /C "%1" %*' the executed command will be:

cmd.exe /C "c:\PATH_TO_THE_SCRIPT\"&start call echo Hello world!!!&exit&.cmd"

which will in the following order:

Bash, 2 chars

Very well, in the unlikely case Robert's answer is not disqualified, here's mine:

$0

Name the file echo Hello world!!! and execute with sh.

Sclipting (34 characters)

丟0000000000긒괡뉆롲닷댠닶롬뉔밈0000000000併0反

Unfortunately Sclipting doesn’t use any ASCII characters at all, so I have to pad the program with 21 useless number characters :(

Python 34-55

print "Hello world%s"%("!"*int(3.141592653589793238462643383279502884197169399375105820))

Yes. I waste them digits. What are you gonna do about it?

Mathematica 55

"Hello World!!!"(34+21!)/000000000051090942171709440034

Output

Hello World!!!

Windows Batch

echo Hello World!!!::0123456789012345678901234567890123

MySQL, 34

x'48656C6C6F20776F726C642121'||'!'

This is a MySQL expression that evaluates to Hello world!!!, assuming the sql_mode setting includes PIPES_AS_CONCAT. It contains exactly 21 digits and 13 non-digits.

Whether this qualifies as a valid entry, I leave it to the jury.

Example

mysql> select x'48656C6C6F20776F726C642121'||'!';
+------------------------------------+
| x'48656C6C6F20776F726C642121'||'!' |
+------------------------------------+
| Hello world!!!                     |
+------------------------------------+
1 row in set (0.00 sec)

Korn Shell, 21

echo $0
#123456789012

The script must be called "Hello world!!!" :)

C64 BASIC, 55

enter image description here

For fun and nostalgia!

PHP (55 bytes)

This program uses binary (wow, it's the third time I reuse the same trick). 21 non-numeric characters, 34 numeric characters. No letters, because letters are boring.

xxd

0000000: 3c3f 3d7e b79a 9393 90df 8890 8d93 9bde  <?=~............
0000010: dede f53b 2331 3233 3435 3637 3839 3031  ...;#12345678901
0000020: 3233 3435 3637 3839 3031 3233 3435 3637  2345678901234567
0000030: 3839 3031 3233 34                        8901234

sh, 55

echo Hello world!!! #1234567890123456789012345678901234

Windows PowerShell (probably also Bash), 55

curl -L bit.ly/1b9q8ve?1=123581321345589144233377610987

You didn't say anything about network access, so here's a dirty solution. I've got a bit.ly URL with few enough letters on the second try. Unfortunately, It's still 21 non-digits, needing 34 digits to be used or wasted.

GolfScript, 55 characters

[72 101 108 108 111 32 119 111 114 108 100 33 {.}2*]''+

Didn't find a way to have a 34 characters solution, thus I created this one.

Befunge 98 - 55

a"!!!dlrow olleH"ek,@1235813213455891442333776109871597

Decided to do it with a newline, since it doesn't cost anything. The numbers are the concatenated values of the Fibonacci sequence.