g | x | w | all
Bytes Lang Time Link
002Regenerate as ''210628T182525ZDLosc
017Brainfuck250811T234652ZJunebug
087Grass250902T090544Zjimmy230
027Tcl250814T231500Zsergiol
006Minus250811T011013Z鳴神裁四点一号
3224AArch64 machine code Linux250607T073952Z鳴神裁四点一号
025SAKO250321T115730ZAcrimori
125Turing Machine But Way Worse241010T060116Z鳴神裁四点一号
073Poetic200930T093448ZJosiahRy
015Kona250120T134455ZAbstract
052Bespoke250120T034829ZJosiah W
nanPiet + asciipiet220330T081238ZBubbler
100ACCUMULATOR241120T130309ZRhaixer
021AWK241028T142021Zxrs
020Octave200229T003911ZLuis Men
016Red241010T070041ZGalen Iv
040AHHH220315T023905ZDLosc
013ELVM IR240509T132525ZNone1
029ByT240215T211945Z2014MELO
028Rust240213T063739ZJoonas
008uxn/vavara240212T200532ZThe Zip
006YASEPL240212T194521Zmadeforl
032JavaScript Node.js210727T211456Zuser9403
009Uiua231104T132942Zchunes
017brainfuck230816T053043Zfwoosh
106Grass230607T232154Zbluswimm
004><> Fish230602T011101Zchunes
007Commodore C64/VIC20/C16/+4/C128 using Kernal230601T214503ZShaun Be
016Windows Batch230601T201146ZWallace
049Fortran210607T110850ZJSorngar
035Swift230301T020048Zuser1171
051Pascal230321T160038ZKai Burg
004Trilangle230214T163239ZBbrk24
017Arturo230301T022850Zchunes
2510Racket230301T015810Zgantz gi
038JavaScript230228T232405ZInfigon
002Bytebased Instruction Jumping230215T062804ZPeter
007Pip230212T203545ZThe Thon
nan230212T163225ZThe Thon
007Rattle210630T025739Zd01
013GolfScript230210T133515Zemirps
1693Malbolge200619T021641Zceilingc
031yup220908T074328ZKevin Cr
255Nibbles220907T173823ZDominic
017Cognate220907T165409Zchunes
018Prolog SWI220907T150521ZRazetime
nanFig220722T214130ZSeggan
512AMD64 Bare Metal220727T011022ZEric Xue
014Ruby220411T063830Zoeuf
007Flobnar220712T091136ZBubbler
040A0A0210606T150954Zstefvans
019rusty_deque220413T145313Zbigyihsu
020Emmental220412T030551ZOhentis
017Rust220410T165803ZSapherey
014makina220410T162155ZGinger
014Bitcycle210813T222818Zemanresu
015Piet220316T181324ZSpectral
004Befunge93220316T152429ZBowlingP
010Underload220316T132139ZJoao-3
044Desmos with actions220315T145516ZNot A Ch
022Come Here220315T124700ZSuperJed
008Seed220217T034942Zautumn
017Lexurgy220126T173017Zbigyihsu
023Python 3220126T063939ZDialFros
034Python 3220110T154109ZAlan Bag
032JavaScript211123T113946ZCreaZyp1
021Haifuckqueue211123T094658Zemanresu
025KonamiCode211112T153450ZGinger
003ErrLess211027T171335ZRuan
048CLCINTERCAL211005T124852Zuser1004
061INTERCAL CINTERCAL211005T124404Zuser1004
033Perl 5 ppencode210807T060410Zuser1004
009Vim210915T155136ZAaroneou
004Vyxal210908T100257ZSjoerdPe
035Swift210815T234954ZBbrk24
063Arduino210815T233802ZBbrk24
080Among Us210815T001744Zengineer
010Minim210814T002546ZChristia
010Japt200630T075558ZMukundan
008Written in Ark210806T204941Zcarne
004WedgeScript210805T200356ZLuke_
006Deorst210803T210041ZAaroneou
009FALSE210728T184037ZJoseph W
013Bash + core utilities200229T003447ZNoodle9
007Daoyu210629T151201ZJay Ryan
010Underload210629T135152ZJay Ryan
025Nim210628T201941ZQaziquza
011Mascarpone210628T164736ZSoup Gir
014<>^v210615T175551Zwasif
279Taxi210607T202707Zanderium
051MMIXAL210609T014829ZNoLonger
007Knight210608T014052ZEasyasPi
003Alice210607T082356ZSjoerdPe
007CBL210607T021700Zsmarnav
012Ruby210606T152306Zgsus
0232D Deadfish210606T083036Zwasif
047Kotlin200303T075515ZMango Li
035Starry210511T120825ZJay Ryan
098Barrel210414T211429ZLorenDB
005Japt200803T204831ZShaggy
005!@#$%^&*_+210513T154936Zwasif
017Batch210511T143432ZT3RR0R
005BRASCA210511T111347ZSjoerdPe
007Splinter210511T085957Zemanresu
008Duocentehexaquinquagesimal210414T184142ZMakonede
032Kotlin210414T211707ZMakotosa
033C# 9210401T132755Zbaltermi
031VBScript210401T112914Zwasif
019Factor210328T021223Zchunes
004convey210328T012527Zemanresu
4014Deadfish~210328T012247Zemanresu
010Add++201117T012739ZPkmnQ
008MAWP 0.1200622T102003ZDion
062C#201116T162430Zuser9921
052NDBall201116T053551ZQTpye
007APL Dyalog Extended200901T120923ZRazetime
018Forth gforth201106T110148ZUnrelate
003Husk201015T034245ZLegionMa
011StupidStackLanguage200630T132752ZLebster
005Labyrinth200925T003824ZBubbler
00405AB1E200924T180513ZMakonede
004Pyth200913T232749ZScott
038C++ gcc200912T224942Zmarcos a
010TeX to file200912T193912ZSkillmon
014x86 machine code200905T100732ZFebriyan
005Neim200901T125010ZLiefdeWe
098Pyramid Scheme200725T224952ZMarcinKo
016Perl 6200804T041347Zsugarfi
029Oak200802T185615ZConnor D
028Wolfram Language Mathematica200801T202353Zatt
0137200619T201040ZPizgenal
034JavaScript200727T113619ZRazetime
007CJam200726T040606ZEthan Ch
020Scala200725T232627Zuser
208Unreadable200629T091315ZRobin Ry
018FEU200626T055746ZPkmnQ
134Shakespeare Programming Language200625T150210ZRobin Ry
059Brainetry liveoutput200624T144941ZRGS
009International Phonetic Esoteric Language200621T161731Zbigyihsu
007GORBITSAROM200620T033653ZNoone At
003Hexagony200301T234714Zuser8199
003Stax200619T225238Zrecursiv
004Brachylog200619T065044ZUnrelate
005Ahead200316T064011Zsnail_
004*><>200313T073836Zlyxal
005!@#$%^&*_+200313T073414Zlyxal
032ColdFusion200304T012417ZAlex
032JavaScript Node.js200302T103227ZJoost K
004Stax200310T174536Zjoe
018C# Visual C# Interactive Compiler200302T121900ZJirka Pi
004Cubix200307T125614ZMango Li
024Erlang escript200307T121851Zuser9206
nan200306T084648Zwytrzesz
023PowerShell 25200304T222639ZAlex
005Rabbit~200303T132501ZAdam
005ZX Spectrum machine code200305T134355ZNeil
025PowerShell 27200303T112450ZT-Me
036batch file200302T024846Zmidspace
0154200305T011750ZMango Li
022Lua200303T005518Zobject O
022Python 3200302T222116Zinspirea
030Hexadecimal Stacking PseudoAssembly Language200304T082602ZDorian
016Clojure200304T082534Zmaxthour
045MarioLANG200304T081908ZDorian
026Piet200303T140312ZBenschii
015Perl 5200301T195531ZXcali
017Rail200304T005938ZMango Li
012perl l101 E200303T225823ZTuna sal
015R200229T013650ZBilel
016Red200303T191949ZBadTine
019Python 2200303T175626ZJBernard
008Mumps/Caché200302T153235ZForsh
008Brian & Chuck200303T112955ZDorian
040Python 2200303T105307ZElPedro
027Lua200302T123026ZLycea
010Vim200229T004003ZNoodle9
017Rust200302T194802ZYuri-M-D
010Vim200302T191736ZDavid Lj
014Bash200302T165433ZOlivier
017Julia 1.0200302T155839Zwilkben
nanBASIC200229T011048Z640KB
1614PHP200229T013543Z640KB
015Common Lisp200301T222217Zcoredump
020C gcc200229T001435ZS.S. Ann
018Clojure200302T103605ZKirill L
034Java JDK200229T011630Zlyxal
003Befunge98 FBBI200302T094746Zovs
042Batch200302T094454Zwasif
006MathGolf200302T092724ZKevin Cr
023Whitespace200302T091057ZKevin Cr
012Ruby200302T064024ZG B
003VisiCalc200302T060614Zuser9206
022F# .NET Core200302T045422ZLSM07
003W j200302T005958Zuser9206
00733200302T004011ZTheOnlyM
nanBash200301T201957ZMitchell
014sed 4.2.2 z200229T005217ZS.S. Ann
049C++ gcc200229T001555ZS.S. Ann
004Jelly200301T195122ZRGS
009Turing Machine Code200301T185930Zouflak
003Burlesque200301T175212ZDeathInc
076x8616200229T010248Z640KB
012Ruby200301T172339ZKirill L
020Haskell200301T165720Z79037662
016brainfuck200229T002749ZS.S. Ann
009dc200229T014138ZDigital
008x8616 machine code DOS 1+200229T013428ZS.S. Ann
00405AB1E200229T013107ZGrimmy
007Apple II 6502 Assembly code200229T011325Zpeter fe
003Keg200229T010429Zlyxal
028AWK200229T004418ZS.S. Ann
004><>200229T002302ZLuis Men
022Python 3200229T001324ZTornado5
004Pyth200229T001942ZTornado5
038Go200229T001848ZS.S. Ann

Regenerate -as '', 2 bytes

A+

Attempt This Online!

With the -a flag, Regenerate outputs all strings that match the given regex. With the -s flag setting the separator to '', it outputs them with no separator. The output with a newline separator would look like...

A
AA
AAA

... but with an empty separator, it's just an unending stream of A.

Brainfuck, 28 17 bytes

>+[+[<]>>+<+]>[.]

Thanks to ceilingcat for removing 9 bytes

Grass, 87 bytes

wWWWwwwwWWWWwWWWwvwwWWwWWWwvwWWwWWWwWWWWwvWwwwwwWWWWwWWWwwWwwWWwWWWwvwWWWWWWWWWWWwwWWww

Try it online!

wWWWwwwwWWWWwWWWwv     f -> f('y')
wwWWwWWWwv             Church numeral 2
wWWwWWWwWWWWwv         Church numeral 8
Wwwwww                 +8
WWWWw                  'y'+8
WWWww                  +64
Www                    'y'+8+64
WWw                    'y'+8+64+64
WWWw                   'y'+8+64+64+64
vwWWWWWWWWWWWwwWWww    Print and loop

Tcl, 27 bytes

while 1 {puts -nonewline A}

Try it online!

Minus, 6 bytes

A programming language with just the operator -=.

o191c2

No TIO link

Worked with Main Interpreted Version

How it works

o -= 191  putchar (256-191)
c -= 2    program counter

AArch64 machine code (Linux), 32 24 bytes

-8 by @ceilingcat

Uses syscall. Full program. Depends on little endian.


main:     file format elf64-littleaarch64

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .text         00000018  0000000000400078  0000000000400078  00000078  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
Contents of section .text:
 400078 81000010 200080d2 220080d2 080880d2  .... ...".......
 400088 410000d4 ffffff17                    A.......

Disassembly of section .text:

0000000000400078 <_start>:
  400078:       10000081        adr     x1, 400088 <bar>
  40007c:       d2800020        mov     x0, #0x1                        // #1
  400080:       d2800022        mov     x2, #0x1                        // #1
  400084:       d2800808        mov     x8, #0x40                       // #64

0000000000400088 <bar>:
  400088:       d4000041        svc     #0x2
  40008c:       17ffffff        b       400088 <bar>

Source

.globl _start
_start:
adr x1,bar
mov x0,1
mov x2,1
mov x8,64
bar:
svc 2  // Creates (char*)"A\0\0\xd4"
b bar

SAKO, 25 bytes

1)TEKST
A
SKOCZDO1
KONIEC

Basically port of my answer here, but with A instead of newlines.

Turing Machine But Way Worse, 125 bytes

0 0 0 0 i 0 0
0 i 1 0 u 0 0
0 u 0 0 y 0 0
0 y 0 0 t 0 0
0 t 0 0 r 0 0
0 r 0 0 e 0 0
0 e 0 0 w 0 0
0 w 1 1 e 1 0
1 w 1 1 e 1 0

Try it online!

How it works

A program to write 0b0100_0001 from least bit.

0 0 0 0 i 0 0  Write bit 0 and move left and goto state i
0 i 1 0 u 0 0  Write bit 1 and move left and goto state u
0 u 0 0 y 0 0  And so on
0 y 0 0 t 0 0
0 t 0 0 r 0 0
0 r 0 0 e 0 0
0 e 0 0 w 0 0
0 w 1 1 e 1 0  Write bit 1 and output a character on that 8-bit zone and move right and goto state e
1 w 1 1 e 1 0  Same for when seeing bit 1

Poetic, 73 bytes

why cant i cease,i say
i scream"A"out loud in agony
i cry,as i shouted on

Try it online!

Kona, 15 Bytes

while[1;`0:"A"]

Try it online!

Bespoke, 52 bytes

sitting
totally out of Reeses Puffs
saying so loud:A

We've all been there.

Piet + ascii-piet, 12 bytes (2×6=12 codels)

ttttlIauqasj

Try Piet online!

In grid form:

ttttli
auqasj

Represents the following Piet program:

How it works

pointer      command    stack
t<4> -> l    Push 4     [4]
l -> i       Dup        [4, 4]
i -> j       Dup        [4, 4, 4]
j -> s       *          [4, 16]
s -> a       *          [64]
a -> q       Push 1     [64, 1]
q -> u       +          [65]
u -> a       OutC       [] Print 'A'
a -> t       %          [] Stack underflow; ignored

ACCUMULATOR, 100 bytes

As of today I updated the language to include a very rudimentary form of loops: the E command. Since I haven't figured out how to juice JS to produce infinite output, running this on the online interpreter will hang for 5 seconds, then produce a limited form of the theoretical output.

Full explanation on Sunday See below. Some (needed) output is present in the first few characters of the output, but otherwise it's just a lot of A's (finite due to JS being JS).

AAAAAAACAAAAAURAAAAAACMUUUUUUAAURAAAAAAACUAAAAAAAAUMMMURAAAAAACMUUAAURAAAAAAACUUURAAAAAACAAAURAACMME

EXPLANATION: The first part AAAAAAACAAAAAURAAAAAACMUUUUUUAAURAAAAAAACUAAAAAAAAUMMMURAAAAAACMUUAAURAAAAAAACUUURAAAAAACAAAU prints RAAAAAACMURAACMMME, which prints A, resets the accumulator, and asks the interpreter to interpret the first 18 characters of the output (which is itself, producing an infinite loop). The second part, RAACMME, kickstarts the loop.

AWK, 21 bytes

END{for(;;)printf"A"}

Try it online!

Would be interested to see a tighter trick!

Octave, 21 20 bytes

1 byte off thanks to @Yelp!

while printf('A')end

Try it online!

Explanation

printf('A') prints 'A' to STDOUT and returns the number of printed characters, that is, 1. This number is used as condition for the while...end loop, which thus becomes an infinite loop.

Red, 16 bytes

forever[prin 'A]

Try it online!

AHHH, 40 bytes

AHHHHhhHHHhHHHhHHHhHHHHhHhhHHHHHHhhhhhhh

The right language for the job.

Try it online!

Explanation

AHHH  Start program
HhhH  Increment cell to 1
HHhH  Double cell to 2
HHhH  Double cell to 4
HHhH  Double cell to 8
HHHh  Square cell to 64
HhhH  Increment cell to 65
HHHH  Loop while cell is nonzero:
Hhhh    Output cell as ASCII character
hhhh  End loop

ELVM IR, 13 bytes

putc 65
jmp 0

Try it online!

ByT, 29 bytes

main = 1 main 0 1 0 0 0 0 0 1

In this language the output is only printed after the program halts, so to print infinitely many As the program must halt with an infinite string in the stack. This program halts by trying to execute a 0 command that doesn't have enough arguments:

bar baz 0
    where
        foo = 1 main
        bar = foo 0
        baz = 0 0

In this situation baz is deleted and the final output is the string represented by bar, which is defined as: (using Haskell notation)

bar_str = "0" ++ foo_str
    where
        foo_str = main_str ++ "1"
        main_str = "10000010" ++ main_str ++ "1"

bar_str ends up being the bits 010000010100000101000001..., the same as AAA..., and this is printed to stdout.

This program turns out to be optimal. A main stack is required for compilation, so main = can't be golfed. An infinite string is also necessary and the only way of doing this is through recursion in the main stack, this string must also repeat some rotation of the bits 01000001, so they must be in the definition of main and therefore main 0 1 0 0 0 0 0 1 can't be golfed either. The only possible optimization would be removing the left most 1, but none of the eight possible 27 bit solutions work:

main = main 1 0 0 0 0 0 1 0     // prints nothing
main = main 0 1 0 0 0 0 0 1     // prints nothing
main = main 1 0 1 0 0 0 0 0     // prints nothing
main = main 0 1 0 1 0 0 0 0     // loops
main = main 0 0 1 0 1 0 0 0     // prints nothing
main = main 0 0 0 1 0 1 0 0     // prints nothing
main = main 0 0 0 0 1 0 1 0     // loops
main = main 0 0 0 0 0 1 0 1     // prints nothing

Rust, 34 28 bytes

fn main(){loop{print!("A")}}

Try it online!

Thank you for emanresu A for suggesting using loop and correcting my code!

uxn/vavara, 8 bytes

Compiled machine code:

00000000: 8041 8018 1740 fff8                      .A...@..

Source (in uxntal):

|10 @Console &vector $2 &read $1 &pad $4 &type $1 &write $1 &error $1

|0100 @on-reset ( -> )
    ( push a, the .Console/write port, output to device, then jump back to on-reset )
    LIT "A .Console/write DEO !on-reset

I think for this language the binary size should count since uxntal is basically just assembly for the uxn system

YASEPL, 6 bytes

#"A"?1

very simple. :3

JavaScript (Node.js), 33 32 bytes

-1 byte thanks to @Luke_

for(;;)process.stdout.write('A')

Try it online!

Uiua, 9 bytes

⍥(&pf@A)∞

Try it!

⍥(&pf@A)∞
⍥(     )∞  # repeat (...) forever
     @A    # the letter A
  &pf      # print w/o newline

brainfuck, 17 bytes

>+[+[<]>>+<+]>[.]

Try it online!

Explaination

>+[+[<]>>+<+]>     make the number 65
              [.]  print it until it equals 0 (i.e. never)

Grass, 106 bytes

wwWWwWWWwvwWWwwwwWwwwwwwWWWWwwWWWWWwWwwwWWWWWWWwwWWWWWWWWwWWWWWWWWWwWwwwwWWWWWWWWWWWwwWwwvwWWwWWWWWwWWWwww

Try it online!

Grass is pretty difficult to follow, so I'll try to break things down as best as I can.

The first function, wwWWwWWWwv, takes in two parameters, a function and a character. It essentially just performs the given function on the character twice.

The second function creates the character A. Getting there is a little complicated, since the only character we initially have to work with is w. This means we have to call the primitive succession function 202 times. To accomplish this, we use the first function to recursively call succession several times. I've put what's currently at the top of the stack after each instruction.

w
WWwwww           (Succession Function x2)
Wwwwwww          (Last character +2)
WWWWww           (Succession Function x4)
WWWWWw           (Succession Function x8)
Wwww             (Last character +8)
WWWWWWWww        (Succession Function x16)
WWWWWWWWw        (Succession Function x32)
WWWWWWWWWw       (Succession Function x64)
Wwwww            (Last character +64)
WWWWWWWWWWWww    (Succession Function x128)
Www              (Last character +128)
v

The third and final function, wWWwWWWWWwWWWwww, is our main function, which calls the second function, prints its resulting A, and recursively calls itself.

><> (Fish), 4 bytes

5d*o

Try it

or

"A"o

Commodore C64/VIC-20/C16/+4/C128 (using Kernal) 7 bytes

This is the assembled code at memory location 828 (some free RAM usually used as the Datasette buffer):

.033c a9 41 20 d2 ff d0 f9

Or in 6502 assembly:

* = 828
    lda #$41
    jsr $ffd2
    bne $033c

We can use a relative branch here (bne $033c) instead of a jump instruction, which saves one byte. The branch is conditional, but the condition is never set (it compares against the zero flag, and as the accumulator is set to a non-zero value, this condition is never met).

The lda #$41 loads the accumulator with the value 65, which is the letter A in PETSCII, and jsr $ffd2 calls to the CHROUT Kernal routine. This will translate the value on the accumulator register to a character code, and output to the default output device, which will be the screen in this instance. So the character A is outputted until the machine is reset.

Scream very loudly CodeGolf challenge, for the Commodore C64

Windows Batch, 16 bytes

:a
echo a
goto a

Fortran, 50 49 bytes

program A
do
write(*,"(A)",advance="no")"A"
enddo
end

Try it online!

Swift, 36 35 bytes

while 1<2{print("A",terminator:"")}

Try it online!

Pascal, 51 bytes

This is a complete program according to ISO Standard 7185 "Standard Pascal". You may interpret it as a script, the standard does not prescribe or set restrictions to that.

PROGRAM A(OUTPUT);BEGIN WHILE 8=8 DO WRITE('A')END.

Trilangle, 4 bytes

This version has constant memory usage.

"A,o

Try it on the online interpreter!

Push an A, print it and pop it. For lack of an explicit exit instruction @, this loops infinitely by default.

Trilangle, 3 bytes

This version's memory usage grows without bound.

"Ao

Arturo, 17 bytes

f:$=>[prints"A"f]

Try it

Racket, 25 bytes (10 brackets)

(let a()((print 'a)(a)))

JavaScript, 38 bytes

setInterval(()=>document.write("A"),4)
Wow, I did not expect JS would be that uncooperative! (setInterval(document.write,4,"A")) errors, but I guess that's screaming in a different way.

Byte-based Instruction Jumping, 2 bytes

↓A

is a simply a placeholder for a non-printable ASCII character, so it takes a single byte of space. It evaluates to the following instructions:

mvr ... ... wrt cns ... ... mvl

It moves the instruction pointer to the byte on the right side of the current one (mvr), which is A, then writes it (wrt) to the console (cns) and moves back left (mvl). Now, the instruction pointer points to the first byte again, and executes the same instruction over and over forever.

Pip, 7 bytes

W1{O'A}

Attempt This Online!

Explanation

W1{   }  # while 1:
   O'A   #  print "A" without a trailing newline

Thunno, \$ 5 \log_{256}(96) \approx \$ 4.12 bytes

['AZL

Attempt This Online!

Explanation

[       # while True:
   ZL   #  print with no newline:
 'A     #   "A"

Rattle, 7 bytes

65|[,]0

Try it Online!

Explanation

65|             hard-coded input (Rattle's equivalent to a variable declaration)
   [...]0       infinite loop
     ,          prints the ASCII character of the value on top of the stack (A = ASCII 65)

GolfScript, 13 bytes

{"A".print}do

Try it online!

Malbolge, 2163 2069 1881 1787 1693 bytes

b'a;$9"~}HG{iyxwuu?O=pL:]mHj5!3DCezRQ=+^:('&Y$#m!1So.QOO=v('98$65a!}^{@hyf<WV9sr%4#I20FEJVBfw)btOr@#!7~|4{y1xv.us+rp(om%lj"ig}fd"cx``uz]rwvYnslkTonPfOjiKgJeG]\EC_X]@[Z<R;VU7S6QP2N1LK-I,GF(D'BA#?>7~;:9y16w43s10)p-,l*#(i&%e#d!~``{tyxZpuXsrTTongOkdMhg`Hd]ba`_^W@[ZYXW9UNSRQPOHMLKJ-++FE''<A$?>=<;:387xw43s10/(-&m*)('&}${d!~}|^zyxwvutmVqpiRQlkjiKafedc\E`_^@\[ZYX;V9NMRQ42NGLK.IH*F?DCBA$#>7~;{{8xx5uu2rr/oo,ll)ii&f|e"!aw`{z\r[vXnmVTpongPkNihgJ_dcFa`B^]\UZ=RWV8TSLQ4ON0LE.IHA)E>'BA:?!7~5|38y6/v321q).-&m*)i'&%|{d!~}_{zs\wvutsUqTonPlOjiKgJedFbE`_A]@[Z<X;VU7S6QP22GL/JIB+FEDC%;@?>7~;:987w5v32r0)p-,+k)('~g$#"b~w|uz]xwvutsrqTinQlOjLhgfeH]bE`CB]\>ZSXWVUTSRQPON1LE.I,+*((&&$$""~~||zzxxv4u210/(-n+l)(i&g$ddy~}`u^]\ZZotsrTjShQOOMMKgfeG]F[DB^]?[T=R;9UTS5K4I200..,,*F)DC&A:#>=~;|9yyx/vutrrp.-,l$k"i~ge#"!aw`u^\\ZZXXVrqpRhQfOMMKKIeHcbECC^W\?>=;W:UT7R5PIN1L/.,,*FED&<%:#!!}}{987w/v-trrppnnllj(i&%ee"!xa|_^\x[vutWrqjSnQPNNLLJJHHFFDDB^A\[==XWVOT7R542N1LKJ-HGF?D'B%$""~<;:z2y0wu321q)p'nl*)(h~g|eccaa__]][[YuXsrTTonmleNiLgfeG]F[`C^]\?ZYXWP9T76442NML.D-B+)EDC%;$9"~<;:z2y0wuussqqoommk)j'&ff#"!~}v{^y\wvXtmVkpSnmlOjihgf_dGbEDBB@\?==R;PUTS5K4I200..,,**(DCB$:#8!}}{{yyw5v321r/.-,+*#j'h%$#cybw`^^s\ZvuWslUjSQQOOMMKgJedc\E`_B]@[==<QV9T76KPON0F/D-++))'CBA#9"7~||z87w5.u,sqqoommkki'h%$#d!xa`{^\\qZotsUqjShmPkjMhKfe^cFEDYB@@>>S<:VU7SL5J311//--++))'C&A@#>!<;49z76w4u2rr).-n%lkjhhffddb~}|^t]rwZXXmrUpoRmfONihgI_H]FD`_^@V?T=;;9977553311/K.IH+))>C&%@?>~6}49z76w4u,1rq.o,+l)j'~g$#d!b}__^yr[ZuXsrUSSnmfkjiLKfedFbaDY^A\[>Y<WVOTSRQ43H1FKJI+A*?(&BA@"8!6}{987w/v-trrppn,mkk"'&%e{dyb``^^\\ZZXXW22}Rn-O>Nvu(IeH6F[`~1A@hZSRuc9rrqK4\lMkK-CHAS(ubBN:L!J6}kXW1wfv3Prr`;o,%IH(4~}|d/@Q>v{;(\wZ$W4V1}/R-PxjvuKf_$G#nZ}B|z>-xwQc88qR^nO1GL|JVyGeEca&$$?8[6|GjWxg/AR2POq(o,JH6j4&C$0@@-a`^:y[q6H54rq0BR--N*chJ&_%cF!CY}Ai.-wwWV(s6%4o\lZkKDz,fdRQ

Try it online!

-94 bytes thanks to @user100411.

This was built with Prof. Masahiko Sakai's LAL toolchain from the following source code.

PROGRAM_START_TO ENTRY@Argh
ROUTINE Argh {
ENTRY:
ROT A
A: 0000021020t
REV JMP
REV_JMP:REV JMP
OUTPUT
DUP
JMP REV_JMP
}

Online LAL assembler

yup, 33 31 bytes

0eee:0~--:0~--0:ee-0ee--0e-{:@}

Pushing the 65 can perhaps be shortened.

Try it online.

Explanation:

yup has a limited amount of operators, so almost everything in the program is to push 65:

0        # Push a 0
 e       # exp(0) = 1
  e      # exp(1) = 2.718...
   ::    # Duplicate this 2.718... twice
     ]]  # Rotate them both to the bottom of the stack
       e # exp(2.718...) = 15.154...
:        # Duplicate this 15.154...
 0       # Push another 0
  ~      # Reverse the top two values
   -     # Subtract them: 0-15.154... = -15.154...
    -    # Subtract again: 15.154...--15.154... = 30.308...
:0~--    # Do the same: 30.308...--30.308... = 60.617...
0        # Push 0 again
 [       # Rotate a 2.718... back to the top of the stack
  -      # Subtract: 0-2.718... = -2.718...
   [     # Rotate the other 2.718... to the top
    -    # Subtract again: -2.718-2.718 = -5.436...
     -   # Subtract it: 60.617...--5.436 = 66.053...
0e-      # Push and subtract 1: 66.053...-1 = 65.053...

{  }     # Loop while the top of the stack is NOT 0:
 :       #  Duplicate the 65.053...
  @      #  Print it as character with this codepoint, where yup implicitly rounds
         #  decimals to their nearest integers when it needs an integer

Nibbles, 2.5 bytes (5 nibbles)

^~"A"
^       # replicate
  "A"   # the letter "A" 
 ~      # infinitely

enter image description here

Cognate, 17 bytes

F Def F(F Put"A")

Attempt This Online!

Cognate, 19 bytes

While(True)(Put"A")

Attempt This Online!

Prolog (SWI), 18 bytes

a:-put(65),a.
?-a.

Try it online!

-1 from Steffan.

Fig, \$4\log_{256}(96)\approx\$ 3.292 bytes

(;/A

See the README to see how to run this

(;/A # Takes no input, obviously. Tbh I have no idea what to write on the first comment line
(    # Repeat forever:
 ;   # Print
  /A # "A"

AMD64 Bare Metal, 512 bytes

mov ah, 0x0e
mov al, 'A'
loop:
int 0x10
jmp loop
times 510-($-$$) db 0
db 0x55
db 0xaa

A QEMU window with the display filled with "A"

Ruby, 14 bytes

loop{print"A"}

Attempt This Online!

Flobnar, 7 bytes

g,_@
1A

Try it online!

It is most space-efficient to grab A from code than to try to evaluate from single-digit numbers.

@       Evaluate to west
_       If the other side (west) is 0, evaluate to east:
,         Print as char and return 0:
g         Grab code at (1,1) which is 'A' (so A is printed)
1
_       The return value is 0, so evaluate to east,
        which is start of the program again (which also acts as <)
        so it is an infinite loop printing 'A' repeatedly

A0A0, 44 40 bytes

A0A0
A0C3G1G1A0
A0P65A0
A0A1G-3G-3A0
G-3

Forms a standard infinite loop, with the three actual instructions to be executed in the middle.

P65 ; prints 'A'

Edit: Optimize by 4 bytes. The loop does not need three instructions to function, so we can drop two instructions, totalling four bytes.

rusty_deque, 19 bytes

'A'~{dup~ow~}~loop~

Pretty much a duplicate of my "Shortest code to produce infinite output" answer.

Emmental, 20 bytes

;#58#46#35#63#!#65#?

Try it online!

How?

;#58#46#35#63#!#65#?
;                     push ';' onto the stack
 #58#46#35#63         push ":.#?" onto the stack
             #        push NULL onto the stack
              !       pop NULL, ":.#?", and ';', and make NULL mean ":.#?"
               #65    push 'A' onto the stack
                  #   push NULL onto the stack
                   ?  execute NULL
:.#?
:    duplicate 'A'
 .   pop and print 'A'
  #  push NULL onto stack
   ? execute NULL

Rust, 17 bytes

loop{print!("A")}

Try it online!

Not much of a golfing language, but I love the loop keyword.

makina, 14 bytes

>Pv
^>OtA;
^<<

Bitcycle, 25 16 14 bytes

~1000~!
>0010^

Try it online!

Output as a stream of bits. -9 thanks to DLosc. -2 thanks to JoKing.

Piet, 15 Codels:

Original(5x3): Original Image

Scaled (x20):enter image description here

Operations in each loop:

push 8
dup
*
push 1
+
out(char) ;outputs 65 as 'A'

After each cycle, the index will flow through the white codel on the bottom left and repeat another cycle, running indefinitely.

Try it online!

Befunge-93, 4 bytes

"A",

Try it online!

Underload, 10 bytes

((A)S:^):^

Try it online!

Explained:

(    :^):^ While true...
    S      Print
 (A)       The string "A"

Desmos with actions, 44 bytes

Code in ticker:

s_{tdout}\to join(s_{tdout},65)

Code in list (the actual area where you can enter equations):

s_{tdout}=[]

It outputs the ascii code for A

Link: https://www.desmos.com/calculator/u1fynzwbuf

Come Here, 22 bytes

COME FROM1 1TELL65NEXT

Seed, 8 bytes

3 141509

Try it online!

Lexurgy, 17 bytes

a propagate:
*=>A

Forever replaces an empty string with A.

Python 3, 23 bytes

while[print(end="A")]:0

Try it online!

Python 3, 34 bytes

def f(n=9):print(end="A"*n);f(-~n)

Try it online!

Trying to print as many As as possible with recursion.

JavaScript, 32 bytes

for(;;)process.stdout.write("A")

for(;;) is one byte shorter than while(1)

Haifuckqueue, 21 bytes

#{A}o
$1|1.1o
ooooo

Don't try it online!

It turns out the server set up by the language's author has no timeout, so it's currently printing millions of A to STDOUT with no sign of stopping. Instead, download and run the intepreter and you should get something like this:

enter image description here

Explanation

The o are NOPS (effectively, they're actually xor), so the actual code is simply

#{A}
$1|1.1

# - pop the stack
{A} - push an A
$1 - pop and print the ToS
|1 - Push 1
.1 - Jump to line 1 (First line)

KonamiCode, 25 bytes

v(^^^^^^>^^^^^)L(>)<<B(>)

Fortunately 65 != 0, so we can cheat a bit and use it as our "counter".

ErrLess, 3 bytes

'A?

Explanation

'A { Push 'A' to the stack }
?  { Output the top element of the stack as a character }

The Instruction pointer loops when it reaches the end of the program.

Try it online!

CLC-INTERCAL, 48 bytes.

DO;1<-#1DO;1SUB#1<-#20DOCOMEFROM#9(9)DOREADOUT;1

(Don't) Copy and paste to try it online! It is very recommend to replace COME with NEXT, as output suppression may be weak.

INTERCAL (C-INTERCAL), 61 bytes

DO,1<-#9DO,1SUB#1<-#126DOCOMEFROM#9PLEASEREADOUT,1(9)DO,1<-#9

Try it online!

Perl 5 (ppencode), 35 33 bytes

print uc chr ord qw s abs while x

Try it online!

Previous

print uc chr ord qw s abs while exp

Try it online!

Alternatively:

print uc chr ord qw s abs while cos

Vim, 9 bytes

qqA<C-r>q<C-o>q<C-r>q

Uses the same Recursive Register Expansion trick as my Lolololololololololololol answer, inserting the unnamed register, which contains 'A' + the unnamed register. To see the output, you'll have to try it in Vim, and you may need to use Ctrl+C to stop the expansion if the terminal freezes.

Try it online!

Vyxal, 4 bytes

The try it link has the 5 flag to prevent it from freezing up forever.

{\A₴

Explanation

{    - While loop
 \A  - Push "A"
   ₴ - Print without newline

Try it Online!

Swift, 35 bytes

while 1>0{print("A",terminator:"")}

Try It Online cuts it off after 128kiB of output, but this will run forever. Swift for loops are Python-like, not C-like, so those aren't any help here.

This is my first code golf for something other than Arduino.

Arduino, 63 bytes

void setup(){Serial.begin(300);}void loop(){Serial.write('A');}

Not sure how much explaining I need to do here. Arduino has an infinite loop built-in, so just write one 'A' to the Serial output inside of it. Equally valid would be Serial.print('A'); and Serial.print("A");, and I think Serial.write("A"); should work as well. It's all just a matter of preference.

Among Us, 83 80 bytes

-3 bytes thanks to ovs

VENTED RED SUS LIME SUS SUS SUS SUS SUS SUS RED SUS BLUE SUS WHO GREEN SUS WHERE

Explanation:

VENTED                          A2 += 10   (A2 = 10)
RED SUS                         A1 += 1    (A1 = 1)
LIME SUS SUS SUS SUS SUS SUS    A1 *= 2 6x (A1 = 64)
RED SUS                         A1 += 1    (A1 = 65 = 'A')
BLUE SUS                        PUSH A1
WHO                             while (A2 != stack_top) {
GREEN SUS                           print(stack_top)
WHERE                           }

Documentation of the language doesn't match the interpreter, this goes off of what runs on the interpreter. (creator, please fix).

Try it online!

Minim, 10 Bytes

$<65.C=-1.

With whitespace and comments:

$< 65.  ; Print 65 as unicode 'A'
C = -1. ; Set program counter to -1 (advances to 0 afterwards)

GitHub Repository

Japt, 10 bytes

{Oo'A}g1/0

Try it online!

Explanation

{Oo'A}a
{          // Function
 Oo'A      //    Output 'A'
     }     // End Function
      g1/0 // Call infinite times
           // (Japt's O.o() method returns undefined)

Japt, 7 bytes

As pointed out by @Shaggy due to how a is implemented this will print A only 1e8 times

{Oo'A}a

Try it online!

Explanation

{Oo'A}a
{       // Function
 Oo'A   //    Output 'A'
     }  // End Function
      a // Call repeatedly until it returns a truthy value
        // (Japt's O.o() method returns undefined)

Written in Ark, 8 bytes

{~ !A }~

WedgeScript, 4 bytes

'A|o

Explanation:

'A    Pushes the character literal A to the stack\
|     Loop the rest of the code infinitely\
o     Output

Yes, Wedgescript is a custom language made by me, here is the repo with interpreter install instructions: https://github.com/WedgeScript/WedgeScript

Deorst, 6 bytes

oA
#EO

Try it online!

Explanation:

oA   # Push 'A'
#    # Forever:
 EO  #   Print without newline

FALSE, 9 bytes

[1]['A,]#

Try it online!

Pseudo-Code

While 1:
  Print "A"

Note: On TIO the interpreter throws an error. However, the code isn't erroneous. To show this, I ran it on another interpreter, which can be found at the link below:

http://morphett.info/false/false.html

Bash + core utilities, 16 14 13 bytes

Saved 2 3 bytes thanks to Mitchell Spector!!!

yes|tr \\ny A

Try it online!

Also for 13 bytes (written by Mitchell Spector):

Bash, 13 bytes

printf A;./$0

Try it online!

Yet another 13 byter, this one written by pxeger:

Bash, 13 bytes

yes|tr -c A A

Try it online!

Daoyu, 13 instructions, 7 bytes

There's two! Each instruction is a hex, so two instructions fit in a byte.

$$$(([]!)/(/[]!)):><
OPLEV 0:
$$$                   Allocate 8 bits of memory to the bit tape
   (([]!)/(/[]!))     Set the bit tape to 01000001
                 :><  Print the bit tape, and loop to the beginning
OPLEV 1:
...                   NOP
   ((().)/(/().))     Moves around the bit tape with no effect
                 :><  Print the bit tape, and loop to the beginning

This one is simpler, but it's 20 instructions and an extra byte. The first time the program loops, the operation level is 0, and it runs the first program, which allocates memory, sets the bit tape to 'A', and prints. Every other time it loops it just prints the bit tape.

%!)))):((((><
%!             Acts as NOP, encodes 'A'
  ))))         Moves data reader to '%!'/'A'
      :((((><  Prints, resets position, and loops to beginning

This one reads its own source code, and is a few bytes smaller. The operation level does change, but it doesn't really affect any of the program. When attempting to MERGE ()) while selecting the entire but tape, which is the original state of the program, the data reader moves to the parent bit tape, which is the program's source code. The program navigates to the %!, prints it as 'A', and loops.

Underload, 10 bytes

((A)S:^):^

(A)S:^ is pushed onto the stack, and after the first duplication and evaluation, it repeatedly evaluates itself, printing 'A' infinitely.

(I didn't find any other Underload answers, but if I missed one I'll delete this)

Nim, 26, 25 bytes (Credits to @hyper-neutrino)

while 1>0:stdout.write'A'

Try it online!

Not great, but not too shabby.

Mascarpone, 11 bytes

['A.:!]v*:!
[   :!]v*:!  // infinite loop
 'A.         // with the side effect of outputting 'A' each iteration

I feel a bit scummy for reposting the same code to multiple questions, but I guess it has to be done.

<>^v, 14 bytes

"A">~v
   ^ <  

Taxi, 279 bytes

Go to Post Office:w 1 l 1 r 1 l.[A]A is waiting at Writer's Depot.A is waiting at Writer's Depot.Go to Writer's Depot:w 1 r 1 l 2 l.Pickup a passenger going to Post Office.Pickup a passenger going to Post Office.Go to Zoom Zoom:n.Go to Post Office:w 3 l 2 r 1 l.Switch to plan A.

Try it online!


This is an interesting challenge because it requires both refueling infinitely for gas and getting enough passengers to pay for the gas. If passengers paid enough to pay for the gas used to transport them, the following would be enough:

Go to the Post Office: west 1st left, 1st right, 1st left.
[loop]
"A" is waiting at the Writer's Depot.
Go to Go More: west 1st right, 1st left, 1st left, 2nd right.
Go to the Writer's Depot: west 1st right.
Pickup a passenger going to the Post Office.
Go to the Post Office: north 1st right, 2nd right, 1st left.
Switch to plan "loop".

However, because passengers do not pay enough this results in only 54 * A, crashing the program once we are out of fuel. We can also go to Zoom Zoom to buy fuel, it's way cheaper to buy here allowing us to get 79 * A. Luckily, picking up two passengers at a time solves this problem of not earning enough per iteration. The code can be golfed further by removing quotes for strings that don't contain whitespace and minimising the directions. Ungolfed it looks like this:

Go to the Post Office: west 1st left, 1st right, 1st left.
[loop]
"A" is waiting at the Writer's Depot.
"A" is waiting at the Writer's Depot.
Go to the Writer's Depot: west 1st right, 1st left, 2nd left.
Pickup a passenger going to the Post Office.
Pickup another passenger going to the Post Office.
Go to Zoom Zoom: north.
Go to the Post Office: west 3rd left, 2nd right, 1st left.
Switch to plan "loop".

Two 321 byte answers

Before I realised I could go to Zoom Zoom with two passengers I found the following solutions of 321 bytes which have some interesting tricks not used in the shorter solution…

Go to Post Office:w 1 l 1 r 1 l.[A]"A"is waiting at Writer's Depot."A"is waiting at Writer's Depot."A"is waiting at Writer's Depot.Go to Writer's Depot:w 1 r 1 l 2 l.[B]Switch to plan C i.Pickup a passenger going to Post Office.Switch to plan B.[C]Go to Go More:s 1 l.Go to Post Office:e 1 l 1 r 1 r 1 l.Switch to plan A.

Try it online!

or

Go to Post Office:w 1 l 1 r 1 l.[A]"AAA"is waiting at Writer's Depot.Go to Writer's Depot:w 1 r 1 l 2 l.Pickup a passenger going to Chop Suey.Go to Zoom Zoom:n.Go to Chop Suey:w 1 l 3 r.[B]Switch to plan C i.Pickup a passenger going to Post Office.Switch to plan B.[C]Go to Post Office:s 1 r 1 l 2 r 1 l.Switch to plan A.

Try it online!


Using Go More to get Fuel, even picking up the maximum of three passengers does not give enough money to loop infinitely, so I had to think about it smarter. If we pick up passengers sooner and take them on a longer route through the city they will pay more for the ride. Going to Writer's Depot before getting fuel results in 70 * A. If we pick up three passengers using this route, we can loop infinitely.

Picking up three passengers going to the same destination can be done more byte-efficient than using the same code thrice. Using Switch to plan "name" if noone is waiting we can pick up a single pasenger until all three are picked up. The quotes around the plan name are optional and it any word after it get's interpreted as if noone is waiting. Using this we get our first 321 byte solution, the code below is the ungolfed version:

Go to Post Office: west 1st left, 1st right, 1st left.
[loop]
    [Setup 3 * "A"]
"A" is waiting at Writer's Depot.
"A" is waiting at Writer's Depot.
"A" is waiting at Writer's Depot.
Go to Writer's Depot: west 1st right, 1st left, 2nd left.
    [Pickup 3 * "A"]
[before pickup]
Switch to plan "after pickup" if noone is waiting.
Pickup a passenger going to Post Office.
Switch to plan "before pickup".
[after pickup]
    [Get Gas]
Go to Go More: south 1st left.
    [Print 3 * "A"]
Go to Post Office: east 1st left, 1st right, 1st right, 1st left.
Switch to plan "loop".

But there's more! Setting up three different passengers to pick up costs quite a few of bytes. If we instead split up the string "AAA" we can eliminate two lines setting up passengers, at the cost of going past Chop Suey. With this we don't need to go out of our way to visit the Go More gas station anymore, Fueler Up is on our route and Zoom Zoom is very easily accessible too. Looking into Fueler Up, it's the most expensive, in fact, it's so expensive that you don't get enough money even taking three passengers! We can only print 561 * A, 187 loops of three passengers, but not infinite as we are trying. Luckily, Zoom Zoom the cheapest gas station does not require much extra routing at all and taking this route does allows us to enter another infinite loop.

Go to Post Office: west 1st left, 1st right, 1st left.
[loop]
    [Setup 3 * "A"]
"AAA" is waiting at Writer's Depot.
Go to Writer's Depot: west 1st right, 1st left, 2nd left.
Pickup a passenger going to Chop Suey.
    [Get gas]
Go to Zoom Zoom: north.
Go to Chop Suey: west 1st left, 3th right.
    [Pickup 3 * "A"]
[before pickup]
Switch to plan "after pickup" if noone is waiting.
Pickup a passenger going to Post Office.
Switch to plan "before pickup".
[after pickup]
    [Print 3 * "A"]
Go to Post Office: south 1st right, 1st left, 2nd right, 1st left.
Switch to plan "loop".

It's sad that this does not safe any bytes, but it's the second time I got two answers with the same number of bytes which I think is cool! (See this DDoouubbllee  ssppeeaakk challenge.)

I also realised when I was about to publish that all strings without whitespace can be written without quotes. That golved my actual solution a bit more and does not leave the 321 byte solutions the same length anymore. Even so I still publish this explanation too, because the repeat to pickup three passengers is useful and using Chop Suey was fun :)

MMIXAL, 51 bytes

 LOC 0
Main SET $255,12
 TRAP 1793
 JMP 0
 BYTE 65

Surprisingly, this is one byte shorter than the minimal assembled version.

Explanation:

 LOC 0                  // start at 0; I believe this is required
                        // if it's not, we can drop 7 bytes
                        // (and possibly 8 from assembled version).
Main SET $255,12        // execution starts here
 TRAP 1793              // fputs(stdout, $255)
 JMP 0                  // jump back to address 0
 BYTE 65                // 'a' at address 12; any unset byte is 0.

Knight, 7 bytes

W1O"A\"

Try it online!

# infinite loop
WHILE 1
   # Output "A". The backslash disables
   # the implicit newline.
   OUTPUT("A\")

Alice, 4 3 bytes

It's a pretty simple Cardinal mode answer.

-1 bytes thanks to Martin Ender

'AO

Try it online!

Explanation

'A  - Push "A"
  O - Output as character
    - The IP wraps around to the left, and repeats.

CBL, 7 bytes

°¸A;«.»

CBL is a language that I am developing. This answer may not be up-to-date with the latest syntax. I have not coded an interpreter yet.

A breakdown:

°¸A;«.»

°       <; Add following value(s) to current array value
 ¸A;     <; A as it's value(in the CBL codepage)
    « »   <; Loop(since there is no parameter, it loops infinitely)
     .     <; Print current array value

COBOL, 80 bytes

Just for fun.

IDENTIFICATION DIVISION.PROGRAM-ID.A.PROCEDURE DIVISION.A.DISPLAY 'A'.PERFORM A.

https://www.tutorialspoint.com/compile_cobol_online.php

Ruby, 12 bytes

loop{$><<?A}

Try it online!


Explanation

loop {...} //infinite loop
$> //synonym for STDOUT
<<?A // << appends an element and ?A is shorthand for 'A'

2D Deadfish, 23 bytes

>~{i}ddsicv
^         <

Try it online!

Kotlin, 50 47 bytes

fun main(a:Array<String>){while(0<1)print("A")}

1.) Thanks to @Adam for pointing out the args naming

Starry, 41 35 bytes

-6 bytes, thanks to @ovs

Pushing values in Starry is pretty annoying, so the first 33 27 bytes are devoted to pushing the value of 'A' into the stack.

             + +  *      +*` + . +'
    13+    push 13-5
    1+     duplicate
    2*     multiply (top of stack is 64)
    6+     push 6-5
    0*     add (top of stack is 65)
    0`     label 0
    1+     duplicate
    1.     pop and print as char ('A')
    1+     duplicate
    0'     pop 'A', goto label 0

(The number at the beginning of each line signifies the number of spaces)

Barrel, 9 bytes (or 8 with newer instruction)

^A¤p←1

Explanation:

^A     // Sets the accumulator to the ASCII codepoint of 'A'.
  ¤ ←1 // Creates a jump target and jumps back to it.
   p   // Prints the accumulator as a character value.

Since the command will implicitly push the current location onto the location pointer stack, this program will use lots of system memory. In fact, on my system it used about one megabyte of RAM per second. To overcome this, I've since implemented the operator, which jumps without pushing (and therefore removes the possibility of RAM overflow). It makes the command look like this: ^A¤p↰1

This could be 8 bytes now that I have implemented the infinite loop that I'd thought about implementing: ^65#∞p In this case, the #∞p would define a loop which would print the character value infinitely. However, since the infinity command may have been inspired by this (I actually forget) and the command is newer than the answer anyway, I'll refrain from changing my answer.

Japt, 5 bytes

Assumes infinite memory.

ßOoau

Test it

ßOoau
ß         :Recursive call with (irrelevant) argument
 Oo       :  Output (returns undefined)
   au     :    "a" uppercased

!@#$%^&*()_+, 5 bytes

A(!@)

Try it online!

A   # Push A to the stack
(   # Start while loop
 !  # Duplicate top of stack
 @  # Print top of stack
)   # End while loop

Because top of stack is always truthy, it never ends.

Batch 17 bytes

@Set/P=A<nul
@%0

Explanation:

BRASCA, 5 bytes

1[Do]

Try it online!

Explanation

1[  ] - Loop infinitely:
  Do  - Push "A" and output

Splinter, 7 bytes

A{\AA}A

Try it online!

Interpreter breaking version. Would run forever otherwise.

Duocentehexaquinquagesimal, 8 bytes

2ïÛ∞è¥₁Ú

Try it online!

Kotlin, 32 bytes

fun main(){while(0<1)print('A')}

Try it online!

C# 9, 33

for(;;)System.Console.Write('A');

VBScript, 31 bytes

Do 
WScript.StdOut.Write("A")
Loop

Factor, 19 bytes

[ "A"write t ] loop

Try it online!

loop looks at the top of the stack and performs another iteration if it finds t. This is 1 byte shorter than using forever.

convey, 4 bytes

'A'}

Try it online!

An interesting (often annoying, but sometimes interesting) feature of convey is that string or number literals will output forever. So this outputs A constantly...

Deadfish~, 4014 bytes:

{iiiiii}iiiii{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{c}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

Sets the accumulator to 65, then prints as character 102000 times = far beyond the lifespan of the universe.

There's no way to do anything infinitely in Deadfish~, so 102000 times should be enough.

Add++, 10 bytes

x:"A"
Wx,o

Try it online!

First, we set x to A. A non-empty string is evaluated as true, so the While loop runs. o outputs the active variable, which is x, without a newline.

MAWP 0.1, 8 bytes

[94M5W;]

Explanation:

[          start of loop
94M5W      push 65 to stack ((9+4)*5)
;          print as ascii
]          end of loop

C#, 62 bytes

class P{static void Main(){for(;;)System.Console.Write('A');}}

NDBall, 52 bytes, 7 instructions in 2 dimensions

(0)>0
(1)+
(2)Y[65,>1,>0]
(3)p
(4)<0
(2,1)<0
(0,1)<1

Program

In essence, this just loops the ball on an add 1 loop until it reaches 65, then it bounces back and forth over p repeatedly printing "A"

APL (Dyalog Extended), 11 9 7 bytes

⍞←⍣≠'A'

Try it online!

-2 bytes from Bubbler.

-2 bytes from Adàm using forbidden hacky APL magic.

Older answer:

{⍞←'A'⋄∇⍵}0

Explanation

{⍞←'A'⋄∇⍵}0
      ⋄     separator (arguments will be evaluated left to right)
 ⍞←'A'      Print 'A' without newline
       ∇⍵   Call function again with the same right argument
{        }0 Call first time with 0(any number works)

Try it online!

Forth (gforth), 21 18 bytes

: f ." A"recurse ;

Try it online!

Although Forth typically tokenizes entirely by splitting on whitespace, as symbols and the like are allowed anywhere within a word, the word ." causes a string to be parsed up until a closing quote without also trying to parse that closing quote as part of a word.

I'm so unaccustomed to golfing in relatively ordinary languages that I forgot I could submit a named function!

Overflows the return stack quite quickly, and : f ." A"r> recurse ; doesn't take much longer to overflow the data stack, so without the assumption of infinite memory:

Forth (gforth), 25 22 20 bytes

[begin] ." A"[again]

Try it online!

-2 thanks to Bubbler

Husk, 3 bytes

∞'A

Try it online! Creates an infinite list of 'A characters and prints it.

StupidStackLanguage, 11 bytes

avqviiimtfu

Try it online!

Explanation

a - push 0 to stack
v - add 5
q - duplicate
viii - add 8 (making 13)
m - multiply top 2 items (13x5 = 65)
t - start bf style loop
f - print character
u - end bf style loop

Labyrinth, 5 bytes

65
".

Try it online!

Simple square loop. Push the number 65, pop and print as charcode, and loop through a no-op.

Labyrinth, 5 bytes

<>.56

Try it online!

I think I found a way to loop through single line of program! (Except that the commands are necessarily backwards, and each of <> pops one value from the stack and uses it as an offset, so the loop should begin with <_>_ instead if the stack is non-empty at the boundary.)

<>.56  At start, IP runs "<" which cyclically shifts the row along with the IP
>.56<  Now IP is at the end of the strip, which forces it to run backwards
   6   Run commands in this order, printing an 'A'
  5
 .
>      Cyclically shift the row to the right
<>.56  Continue running to the left, now stepping on "<" again
       which causes IP to wrap through the edge and run in a loop

Labyrinth, 6 bytes

19
`
.

Try it online!

Uses -191 % 256 == 65. Runs back and forth along the linear path .`19, starting at 1 facing right.

Labyrinth, 5 bytes

~9
.1

Try it online!

Another -191.

05AB1E, 4 bytes

'A[?

Try it online!

'A    # push "A"
  [   # repeat forever...
   ?  # output top of stack to STDOUT without newline
      # (implicit) exit infinite loop

Pyth, 4 bytes

#p\A
#     Infinite Loop
 p    Print with no newline
  \A  Single character string

Try it online!

C++ (gcc), 38 bytes

#import<ios>
int A(){putchar(65)&A();}

Try it online!

TeX (to file), 10 bytes

\def~{A~}~

TeX (to STDOUT), 19 bytes

\def~{\write0{A}~}~

x86 machine code - 14 bytes

So, yeah I'm using write() system call to print A characters without \n

     6                                  scream:
     7 00000000 6A41                      push 0x41
     8 00000002 31DB                      xor ebx, ebx
     9 00000004 89E1                      mov ecx, esp 
    10 00000006 B201                      mov dl, 0x1 
    11 00000008 B004                      mov al, 0x4 
    12 0000000A CD80                      int 0x80
    13 0000000C EBF2                      jmp scream

This is output using strace :

write(0, "A", 1A)                        = 1
write(0, "A", 1A)                        = 1
write(0, "A", 1A)                        = 1
write(0, "A", 1A)                        = 1
<repeat> ..

Neim, 5 bytes

ͻ    # Infinite loop
 (   # Decompress base 255
  A  # A
 )   #
   B # Compress number to base 255

Runs only 6 times

Try It Online!

Pyramid Scheme, 111 98 bytes

     ^
    / \
   /do \
  ^-----^
 /1\   / \
 ---  /out\
     ^-----
    / \
   /chr\
  ^-----
 / \
/65 \
-----

Try it online!

Edit:

98 bytes thanks to @Jo King and height-0 pyramids. Also, chr 65 is truthy.

   ^
  / \
 /do \
^-----^
-^   / \
 -^ /out\
  -^-----
  / \
 /chr\
^-----
-^
 -^
 / \
/65 \
-----

Try it online!

Perl 6, 16 bytes

loop {print "A"}

Try it online!

Oak, 29 Bytes

fn main(){while(1){prc!(65)}}

This may have to be changed to fn main(){while(1){prc!('A')}} once num and char are no longer interchangable, but for now it works.

Wolfram Language (Mathematica), 28 bytes

$Output~WriteString~A~Do~∞

Try it online!

Most ways to output in Mathematica will include a trailing newline.

7, 7 6 5 bytes (19 15 13 characters)

1170363757403

Try it online!

Explanation

The main program pushes 77033|5|463 on the frame, and the last section, 463, runs. 4 swaps it with the previous section, a single 5, and 6 pacifies the 5 back into 5. 3 outputs the 5, specifying output format 5 ("US-TTY"), and deletes the 463 section which is now before it.

77033 is left on the frame, and it runs in a loop forever. 7703 creates an empty section and a section with 63, which is outputted by 3. 63 contains an anonymous command, so it can't be output directly. Instead, it is pacified and 7 is added before it, and the resulting string 703 is outputted. In output format 5, 7 is ignored and 03 corresponds to the character A, which is printed to STDOUT. The 77033 section hasn't been deleted (because we added an empty section to get deleted by 3 instead), so it runs again.

JavaScript, 25 34 bytes

for(;;){process.stdout.write('A')}

Prints 'A' to the console indefinitely.

CJam, 7 bytes

'A{_o}h

CJam loops are surprisingly expensive as there are no markers, and since there's no infinite loop function, we need to make sure there's always a spare truthy A on the stack for our do-while loop.

Try it online

Explanation:

'A        Push 'A' to the stack
  {  }h   Loop while top of stack is true
   _      Duplicate the A
    o     Pop and output the A w/ no newline

Scala, 20 bytes

while(print('A')!=0)

Unreadable, 208 bytes

'"""""'"""'"'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'""'"""

Try it online!

Explanation (A has codepoint 65):

'"""""'""" while(1≠0)
'"         print unicode character number
'"" (×64)  1+1+1+… (64 times)
'"""       1

FEU, 18 bytes

a/A
loop
print
end

Try it online!

Explanation

a/A

Append A to the empty input.

loop
print
end

Starts an infinite loop where you print the input.

Shakespeare Programming Language, 134 bytes

,.Ajax,.Puck,.Act I:.Scene I:.[Exeunt][Enter Ajax and Puck]
Ajax:You is the sum ofthe cube ofa big big cat a cat.Speak thy.Let usAct I.

Try it online!

(Newline added for readability.)

The ASCII code for A is 65, which is represented following this trick as \$65 = (2\cdot 2\cdot 1)^3 +1\$. Puck will say A indefinitely.

Brainetry --live-output, 59 bytes

This uses the --live-output flag otherwise output would be deferred until the end of the program, which would never happen because the program doesn't end.

a b c d e f
a b c d e f g h
a b c d e f g
a b c d e f g h i

Golfed version of the following code:

This program will ask you for
some input but I really only care about
the first character of input. I'm gonna
take such a character and output it MANY times.

To try this, clone this GH repo and run python brainetry.py btry/scream.btry and give it A as input.

International Phonetic Esoteric Language, 9 bytes

Derived from my answer to "Shortest code to produce infinite output".

"A"10ɑbuɒ

Explanation:

This works because the ɒ instruction don't do anything with the loop index except to check if index < limit. If it is, it loops back to its associated ɑ. Otherwise it exits the loop (index manipulation is handled with e adn ø).

"A"10ɑbuɒ
"A"       (Push "A")
   10     (Loop bounds: 0 to 1)
     ɑ    (Start loop)
      b   (Copy top)
       u  (Print with no trailing)
        ɒ (End loop)

GORBITSA-ROM, 7 bytes

S\101TS\000B\000

in more readable form:

S65 T S0 B0

Explanation

S65          load 'A' into register
    T        output it
      S0 B0  jump to the beginning

Hexagony, 3 bytes

A.;

Try it online!

 A .
; . .
 . .

A sets the value of the current memory edge to A (ASCII 65).

. is a no-op that places the next command on a new row.

; prints the value of the current memory edge to stdout.


The no-op is required because the instruction pointer never returns to the top row after executing A. It only loops over the second and third rows.

Stax, 3 bytes

W"A

Run and debug it

Brachylog, 4 bytes

Ṇhw↰

Try it online!

Ahead, 5 bytes

~oA'~

Try it online!

*><>, 4 bytes

"A"o

Try it online!

Pushes A then prints it an infinite amount of times

!@#$%^&*()_+, 5 bytes

A(!@)

Try it online!

Very simple. Just push A, infinitely dup and print.

ColdFusion, 32 bytes

<cfloop condition="1">A</cfloop>

JavaScript (Node.js), 33 32 bytes

for(;;)process.stdout.write('A')

Try it online!

-1 byte thanks to Maria Miller

Stax, 4 bytes

W'Ap

Run and debug it

C# (Visual C# Interactive Compiler), 21 18 bytes

for(;;)Write('A');

Try it online!

Cubix, 4 bytes

.'Ao

or

.o'A

Try it online!

. = starting point

'A = literal A

o = prints output

Since Cubix wraps around in a cube surface, it's an infinite loop.

Erlang (escript), 24 bytes

An operand-less function self-recursing, printing the string.

a()->io:fwrite("A"),a().

Try it online!

Explanation

a()->               % Define a niladic function.
io:fwrite("A")      % Print "A" to the console.
,a().               % After that, call itself again.

Kenbark-1 (first personal computer) 6/7 bytes

002:
024 X 
004 PC
234 200 Print A from X
343 004 jump back to begin of the program

Register X is on Address 002 (oct) Then we set program Counter (address 003) to 004 for starting code. Move value from X (024='A') to output register what is set of lights on device front (Address 200 oct). And unconditional jump back to address 004.

User will see steady light, but in reality computer still output A

I'm not sure how to count bytes since that 002: is needed to tell computer what part of memory we need to fill.

Try it by yourself: http://www.neocomputer.org/kenbak/kenbak1-JS.html

PowerShell 25 23 bytes

for(1){Write-Host -n A}

Try it online!

A works same as "A" and saves 2 bytes.

Rabbit~, 5

A]:.[

Explanation:

A - store A to memory (not strictly used as A is already in memory, when loading the program. But the A is overwritten by a new A)
 ] - Start loop, read A as input
  :. - Print A character
    [ - Check current input, which is still A, carry on looping

Inverted brackets loops until input is not equal, doesn't terminate since input is always 'A'

ZX Spectrum machine code, 5 bytes

3E 41 LOOP: LD A, 'A'
D7          RST 16
18 FB       JR LOOP

RST 16 is the Spectrum's character output interrupt. It will prompt you to "scroll?" on the 705th and every subsequent screenful of characters; if you press N, STOP or BREAK it will abort with error D BREAK - CONT repeats.

I've hand-assembled this so the opcodes might be incorrect.

PowerShell 27 25 bytes

for(1){Write-Host -n "A"}

Try it online!

-n parameter for Write-Host works as -NoNewline.

batch file 36 bytes

for /L %%n in (,,)do @ECHO|set/p="A"

batch console 35 bytes

This can be run directly in the windows cmd console.

for /L %n in (,,)do @ECHO|set/p="A"

4, 15 bytes

3.6006580050094

3. start of code

6 assigns to cell 00 the value 65

8 starts the loop, keeps running while cell 00 is not zero.

5 prints ASCII character of the cell 00

9 closes the loop

4 end of code

Lua, 22 bytes

::a::io.write"A"goto a

Python 3, 25 22 bytes

Saved 3 bytes thanks to Jo King! :)

while 1:print(end='A')

Hexadecimal Stacking Pseudo-Assembly Language, 30 bytes

000000200041400000130000010000

Try it online!

000000  label Start:
200041  input 0x41 (dec. 65, ASCII 'A')
400000  push that on stack 0
130000  print character from stack 0
010000  jump to Start:

Clojure, 16 bytes

Another Clojure version saving 2 bytes over previous solution, posted as a separate answer because I don't have comment rights yet.

(while 1(pr 'A))

Try it online!

MarioLANG, 45 bytes

+>+
+"+
+++
+++
++(
++-
+)[
+!<)+>.<
=#======

Try it online!

Mario falls down the first column, colecting 8 pluses. He then steps on the elevator and repeats the second and third column 8 times, colecting a total of 64 pluses in his second cell. After that, he adds another plus to that and starts running left and right, screaming "AAAA"

Piet, 30 26 Codels

It's a .png 13x2 codels, a few are technically not used (4 white unused, 1 white as transition and 1 black to change direction). But since I don't know how to compress it further, I still count them.

Original file (codel size 1): Codel Size 1

With codel size 10: Codel Size 10

For some reason, the codel size 10 looks disproportional. Maybe it's an issue with the IDE

Pseudo code (incl. stack):

push 2    | Stack: 2
push 4    | Stack: 2, 4
push 2    | Stack: 2, 4, 2
push 4    | Stack: 2, 4, 2, 4
*         | Stack: 2, 4, 8
*         | Stack: 2, 32
*         | Stack: 64
push 1    | Stack: 64, 1
+         | Stack: 65
dup       | Stack: 65, 65
out(char) | Stack: 65 | Output: A

dup and out(char) are repeated indefinitely.

Try it online!

This is my first submission here and my first "real" program in Piet. I'm sure it still has some room for improvement, but I just wanted to share (what I think of as) a lovely language :D

Edit: Compressed down from 15x2 to 13x2.

Perl 5, 15 bytes

print'A'while 1

Try it online!

Rail, 17 bytes

$'main'
@-[A]o[]@

- horizontal rail (a rail is required as entry from starting point $)

@ bumper to reverse travel direction

o prints characters between the brackets [ ]

perl -l101 -E, 12 bytes

{print;redo}

R, 15 bytes

repeat cat('A')

Try it online!

Optimized thanks to @S.S. Anne

Perl 5 (cperl), 17 bytes

for(;;){print"A"}

Try it online!

Optimized 1 byte thanks to @S.S. Anne

Squirrel, 17 bytes

for(;;)print("A")

Try it online!

Optimized 1 byte thanks to @S.S. Anne

Red - 16 bytes

forever[prin 'A]

Python 2, 19 bytes

This might be cheating as it can only work on a terminal, since each space added in between "A" is removed with a backspace char.

while 1:print'\bA',

Mumps/Caché, 8 bytes.

f ?'A';

Start an infinite loop (f) Print 'A' with no newline (?'A';)

Brian & Chuck, 8 bytes

A{?
B{.?

Try it online!

Brian:
A   constant "A"
{?  restart Chuck's code

Chuck:
B   (just a filler, this will be ignored)
{   go to start of Brian's code
.   print char
?   toggle to Brian

Python 2, 40 bytes

import sys
while 1:sys.stdout.write('A')

Try it online!

Python 2 prints with either a newline or a space separator but we can import the sys module then write to stdout to get round this.

Lua, 27 bytes

while 1 do io.write("A")end

Try it online!

Vim, 14 7 10 bytes

qqiA^[@qq@q

Added 3 bytes to fx a bug kindly pointed out by David.

If you fire up vim (with no command line options) and type in these key strokes (^[ is the esc key) then the screen will fill up with A's.

Explanation:

qqiA^[@qq@q
qq          Start recording macro-q
  i         Enter insert mode
   A        Insert A
    ^[      Exit insert mode
      @q    Call macro-q from within macro-q
        q   Stop recording macro-q
         @q Call macro-q

Note: You'll probably have to kill that session of vim to stop it!

You can try to stopping the macro with ctrl-c, if that works you can exit with :q!<Enter>.

Rust, 17 bytes

loop{print!("A")}

Try it online!

Vim, 10 bytes

@Noodle9's answer of qqiA^[@q is a good start but is incorrect:

The call of macro-q is using any previous setting of macro-q. This only worked because, in testing, they had previously recorded macro-q to output A, so they were unwittingly relying on saved state.

You can see this by trying to change the A to a different letter, and the first time you test it you will still get 'A's. Or you can first clear macro-q with "qqq"

Here is a correct answer along the same lines:

qqiA^[@qq@q

qq            Record macro-q (the first time)
  i           Insert
   A          Letter 'A'
    ^[        Exit insert mode
      @q      Call macro-q
        qq    Stop recording
          @q  Call macro-q

Although this does require that nothing is in macro-q at the start, which I think is a fair assumption for code golf, that you are starting with a clean slate / fresh install, as opposed to random initialization state. If not, or if you want to test this and have macros set already, you would need to do:

qqqqqiA^[@qq@q

Where the initial 'qqq' will clear the macro-q.

Of course, all of this is much easier to read if you don't use 'q' for the macro. :)

Bash, 14 bytes

yes A|tr -cd A

will very quickly output A's.

Julia 1.0, 17 bytes

f()=print('A')f()

Try it online!

BASIC, 21 18 17 13 bytes

1?"A";
GOTO 1

Try it online!

Everyone's first program!

Credits:

PHP, 16 14 bytes

for(;;)echo A;

Try it online!

Common Lisp, 15 bytes

(loop(princ'a))

Try it online!

C (gcc), 20 bytes

A(){A(putchar(65));}

-4 bytes thanks to ceilingcat!

How could I have forgotten recursion...

Try it online!

Clojure, 18 bytes

(while 1(print\A))

Try it online!

Java (JDK), 85 77 34 bytes

v->{for(;;)System.out.print("A");}

Try it online!

Massive thanks to @Kevin for the lambda solution. I really need to learn how to do that.

Old Answer

class M{public static void main(String[]args){for(;;)System.out.print("A");}}

Try it online!

It's a full program and can probably be golfed if I knew how lambdas work in java. Oh well.

Befunge-98 (FBBI), 3 bytes

'A,

Try it online!

' pushes the next character to the stack, , prints a char.

Batch, 42 bytes

@for /l %%a in (0,0,0) do @set /p="A" <nul 

MathGolf, 6 bytes

1É'Aq↑

Try it online.

Or

æ'A_q▲

Try it online.

Explanation:

1       # Push a 1
     ↑  # While true without popping,
 É      # using the following 3 commands:
  'A   '#  Push an "A"
    q   #  Pop and print it without trailing newline

     ▲  # Do while true with pop,
æ       # using the following 4 commands:
 'A    '#  Push an "A"
   _    #  Duplicate this "A"
    q   #  Pop and print it without trailing newline

Whitespace, 23 bytes

[N
S S N
_Create_Label_LOOP][S S S T S S S S S T N
_Push_65_A][T   N
S S _Print_as_character_to_STDOUT][N
S N
N
_Jump_to_Label_LOOP]

Letters S (space), T (tab), and N (new-line) added as highlighting only.
[..._some_action] added as explanation only.

Try it online (with raw spaces, tabs and new-lines only).

Explanation in pseudo-code:

Start LOOP:
  Character c = 'A'
  Print c as character to STDOUT
  Go to next iteration of LOOP

Ruby, 12 bytes

1while$><<?A

Try it online!

VisiCalc, 3 bytes

You need an extra newline to enter the instruction. It's a modification of this solution.

/-A

The trailing newline is significant.

Explanation

/   Start a command:
 -  Replicate forever
  A The target for replication is the / character
Extra newline to enter the instruction

You end up with a cell with an infinite number of A's.
However, the current cell can only show a finite amount
of A's because cells are trunctuated based on their lengths.
```

F# (.NET Core), 22 bytes

while 1=1 do printf"A"

Try it online!

W j, 3 bytes

'AI

Explanation.

  I % Forever:
'A  % Calculate the string "A"
    % Implicit output

Flag:j % Without a newline
```

33, 7 bytes

"A"j[p]
"A"     Put "A" in the source string
   j    Copy the value into the accumulator, so the loop never terminates
    [p] Print infinitely

Try it online!

Bash, 11 bytes (10 + 1)

printf A;s

Try it online!

This script must be saved in file named s, and that file must be in a directory in your PATH.

I've added 1 byte to the score to account for the required filename, as per https://codegolf.meta.stackexchange.com/a/1072/59825 .

Of course, this recursively forking script is going to run out of resources very quickly, especially if you try running it on TIO :-) .

sed 4.2.2 -z, 14 bytes

s/\n/A/g;:
p
b

Sed 4.2.2 was the last version to support an empty label name.

Try it online!

sed -z, 16 bytes

s/\n/A/g;:r p
br

After that, golfing is slightly more expensive.

Try it online!

C++ (gcc), 49 bytes

#import<iostream>
int A(){for(;;)std::cout<<'A';}

Uses C++ I/O.

Try it online!

C++ (gcc), 41 bytes

#import<ios>
int A(){for(;;)printf("A");}

Uses C I/O.

Try it online!

Jelly, 4 bytes

A niladic link:

”AȮß

Try it online!, or check how it works below. If the "A" could be program input, we could get away with only two bytes: Ȯß

”A   The character literal "A"
  Ȯ  Print it and return it,
   ß and recursively call this same link.

Turing Machine Code, 9 bytes

0 * A r 0

Try it online!

One of the very few times that Turing Machine Code can compete overall.

Burlesque, 3 bytes

@'A

Try it online!

@ is an odd operator.

@   # A symbol which does odd things. For a char, it repeats infinitely.
'A  # Literal A

x86-16, IBM PC DOS, 7 6 bytes

00000000: b041 cd29 ebfc                           .A.)..

Unassembled listing:

B0 41   MOV  AL, 'A'    ; put 'A' into AL
    PRINT: 
CD 29   INT  29H        ; DOS fast console output char in AL
EB FC   JMP  PRINT      ; loop infinitely

enter image description here

As a bonus, if you run this on your IBM 5151 monitor for a few hours this will actually produce infinite output on that screen until the end of time.

Ruby, 12 bytes

loop{$><<?A}

Try it online!

Haskell, 20 bytes

main=putStr$cycle"A"

Try it online!

brainfuck, 16 bytes

+[+[<]>>+<+]>[.]

Credit to the Brainfuck constants page for 65!

Try it online!

dc, 9

[65Pdx]dx

Explanation

[     ]   # Push a macro to the stack
 65       # Push the number 65 to the stack
   P      # Pop and print ASCII char 65 (i.e. "A") with no newline
    d     # Duplicate the macro
     x    # Pop and execute the macro at the top-of-stack (tail recursion)
       d  # Duplicate the macro
        x # Pop and execute the macro at the top-of-stack

Try it online!

x86-16 machine code (DOS 1+), 8 bytes

Disassembled listing (objdump -D -bbinary -mi8086 scream.com):

   0:   b4 02                   mov    $0x2,%ah
   2:   b2 41                   mov    $0x41,%dl
   4:   cd 21                   int    $0x21
   6:   eb f8                   jmp    0x0

Output (DOSBox 0.74, and a lot faster than it looks):

Here's my ldscript and command-line options for anyone interested:

OUTPUT_ARCH(i8086)
SECTIONS {
        . = 0;
}
ENTRY(_start)
OUTPUT_FORMAT(binary)

commands:

as --32 scream.s -o scream.o
ld scream.o -Tldscript.lds -o scream.com
dosbox ./scream.com

and unmolested scream.s file:

_start:
    mov $0x02, %ah
    mov $0x41, %dl
    int $0x21
    jmp _start

05AB1E, 4 bytes

['A?

Try it online!

[         # infinite loop
 'A       # "A"
   ?      # print without a trailing newline

Apple II 6502 Assembly code, 7 bytes

L1: A9 C1      LDA #'A'
    20 ED FD   JSR COUT
    50 F9      BVC L1

Keg, 3 bytes

{A,

Try it online!

That was fun! This is literally an infinite loop that prints As over and over

AWK, 28 bytes

BEGIN{for(ORS="";;)print"A"}

Try it online!

><>, 4 bytes

'A'o

Try it online!

How it works

The instruction pointer begins at left, and its initial direction is to the right.

' starts string parsing mode. Everything until the next ' will be interpreted as individual characters, that will get pushed onto the stack. So A pushes that character, and then the second ' ends string parsing mode.

o pops the character from the stack and outputs it to STDOUT.

The instruction pointer has now reached the end of the code, so it wraps around to the initial position and keeps moving to the right, causing an infinite loop.

Python 3, 25 22 bytes

while 1:print(end='A')

Saved 3 bytes thanks to xnor

Try it online!

Pyth, 4 bytes

#p\A

Explanation:

#p\A
#    While 1:
 p   Print without newline
  \A Character A

Try it online!

Go, 38 bytes

import."fmt"
func A(){for{Print("A")}}

Try it online!