text:
Scream very loudly
Write a script that outputs A to stdout infinitely.
There should be no newlines or separators between the characters.
Standard loopholes apply.
This is code-golf. The shortest solution in each language wins.

Or what I call "the bare minimum". Most of this is just boilerplate for an infinite loop.

@FryAmTheEggman I respectfully disagree with this being marked as duplicate. This has a few almost (but not quite!) trivial distinctions from the other questions. For example, printing to stdout without printing a new line, and in the other challenge, looping without output

@FryAmTheEggman The other challenge clearly states "producing no output". This is not "producing no output".

@JoKing That I could see.

@Post Rock Garf Hunter I'm still not entirely convinced that the two challenges are the same. The additional restrictions on this challenge, notaby printing to stdout without newline, and printing a specific character instead of whatever character you want. Maybe I'm wrong

@Tornado547 These things can boil down to matter of opinion.  I acknowledge those differences but I do find them to not make a difference enough to prevent this from being a duplicate in my eyes.

@S.S.Anne Adding print("A") inside the loop doesn't count as a meaningful enough difference to me.

@FryAmTheEggman You're effectively arguing that Shortest code to produce infinite output is a duplicate of Shortest infinite loop producing no output. Why don't you go ahead and close that question if you feel that adding a print to an infinite loop is not a meaningful modification?

@pppery This isn't really the right place for this, but the only reason I wasn't strongly against the no output version was that it was part of an effort to have "catalog" questions. Indeed, it was closed twice, and I think in the end that was correct. The community chose the opposite, but clearly with both of them existing there's not much point in this being open.

I suppose you're right

@FryAm In Brainfuck, the size is more than 5 times that of the original program. In some languages, output without newlines is hard, especially with sed. I had to use the -z flag just to even remove one.

"Infinite output" is significantly different from "a specific char infinitely many times without new lines". I don't think this is a duplicate. Let's reopen it if this comment gets four upvotes

How does one prove that the output is infinite? Thanks.

@BobJarvis-ReinstateMonica good question. I'm gonna say that if output is more than 128KiB its close enough

@Tornado547: ah - so, similar to "unlimited data" cell phone plans. Got it! :-)

@Tornado547 If you update the requirement, you need to notify current answers. Alternatively, you can keep the infinite output requirement, and include a sentence saying something like "The code should theoretically produce infinite output, given enough time and memory, and disregarding any data-type limitations. It is acceptable if in practice the output stops due to some of those limitations"

It should be "outputs infinitely given infinite time and resources".

Possible duplicate of Shortest code to produce infinite output

I'm surprised no one mentionned this helpful uncyclopedia page yet

@Oddrigue Aaaa.

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

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.

I'd hate to be the idiot that didn't put a screensaver on after running this for even a single minute.

Nice use of an undocumented interrups.

@S.S.Anne funny to read today that int 29h is undocumented... when virtually every resource on DOS programming tells about it.

Actually, this doesn't print to STDOUT as required in the OP. It prints directly to the screen, so you won't be able to e.g. redirect the output to a file as SCREAM > OUT.TXT.

So, this program is not valid?

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.

indeed! +1 for spotting this really nice use case :D

brainfuck, 16 bytes
+[+[<]>>+<+]>[.]

Credit to the Brainfuck constants page for 65!
Try it online!

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 :)

I think this is optimized. Going to Writer's Depot first adds 3 bytes. Trying to use Cyclone adds 20-something. Zoom Zoom is the best price and it's 2 bytes shorter than Go More because the directions are simpler. Well done.

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!

Grr... I was going to do this next. Good job, though.

13 bytes: yes|tr \ny A

@MitchellSpector You're on a roll! :D

You and I just like the same style of golfing!

11 bytes:  Here's a different approach, which I can't post as an answer since this challenge has been closed as a supposed duplicate:  printf A;s, where this script is stored in a file named s which is in the current PATH.  (The number of bytes in the script is 10, but I think we're supposed to add 1 because the program needs to be named "s" to work correctly.)  Of course, the repeated forking will cause you to run out of resources pretty quickly.

@MitchellSpector Interesting idea.  Shame they closed this question. I'm going to stay with what we've got.  Also don't know exactly how you'd count the bytes for something that needs to be stored in a file with a specific name in your PATH.

@MitchellSpector You'd probably have to write something like this.

You're allowed to have the script just be printf A;s but require that it be stored in a file named s.  The only proviso is that you have to add the number of bytes in the filename to your score.  See https://codegolf.meta.stackexchange.com/a/1072/59825 (which goes through some contortions, but that was the conclusion that the community reached).

You could also do printf A;./$0 -- this avoids both the filename and PATH issues, but is 3 bytes longer.

@MitchellSpector That's pretty cool! :-)

@MitchellSpector That's a (linear instead of exponential) fork bomb.

@S.S.Anne That's so the person starts screaming and the job's done! :D

Yes, it's a fork bomb, so it's going to fail at some point.... But so are all the other solutions here; they'll just last a bit longer! @S.S.Anne

Why is yes A not an acceptable solution?

@JDL Because you have to get rid of the newlines. You've got to generate a continuous stream of As, not one of A\ns that yes A will generate. They're actually \nAs which is what this post uses.

Why not simply printf A;$0? The ./ is redundant, especially if the program is in $PATH.

@Ruslan Answers can't rely on saved state like the execution path being in $PATH.

@Noodle9 that's not a problem: if you run your script as an executable with an exec permission (as opposed to e.g. bash myscript), $0 will be callable.

@Ruslan It doesn't run in TIO as $0.

alternative: yes|tr -c A A

@pxeger Nice one - added to the list, thanks! :D

Python 3, 25 22 bytes
while 1:print(end='A')

Saved 3 bytes thanks to xnor
Try it online!

Traditionally, you don't answer your own question for a couple of days. However, that's usually for more complex challenges. This one is quite trivial, so I suppose it's OK.

You can actually do print(end="A").

Why not just Print('A')?

@BruceWayne, print('A') includes the newline

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!

i scream"A"out loud in agony is the mood of current times.

Using the right tool for the job, I see.

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

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>.

The trick being that you call the macro while still creating it. Nice!

Apple II 6502 Assembly code, 7 bytes
L1: A9 C1      LDA #'A'
    20 ED FD   JSR COUT
    50 F9      BVC L1

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

C (gcc), 20 bytes
A(){A(putchar(65));}

-4 bytes thanks to ceilingcat!
How could I have forgotten recursion...
Try it online!

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.

.A; also works.

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!

9 bytes, and you don't need Extended.

Totally a hack, and completely unsupported, but ⍞←⍣≠'A' seems to work. Try it online!

Well, it mostly makes sense.

"forbidden hacky APL magic" :)

@Adám Aren't = and ≠ just special cases, that mean (not) equal to previous iteration? So 'A' is the argument to the assignment operator, and not tied to the power iterator?

@AndrewOgden Not sure how to answer this, but = and ≠ are certainly not "special cases". This is how the power operator works with a normal function as left operand. The only hacky thing here is that ← is being treated as a function, while it clearly is syntax and not a normal function.

@Adám which other operator can act as a standalone conditional for the power operator?

@AndrewOgden Any dyadic function whatsoever can be used as right operand for ⍣ as long as it returns a Boolean. E.g. ⍣(100<-) will call apply a function until the difference between two subsequent results exceed 100. Try it!

linking to the APL cultivation session(and continuing the discussion in chat) would be good.

@AndrewOgden As per Razetime's advice, have a look here, and let's continue this discussion in chat.

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

Replacing first JMP REV_JMP with REV JMP produced 1693 bytes of Malbolge (URL too long so not pastable)

><>, 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.

Burlesque, 3 bytes
@'A

Try it online!
@ is an odd operator.

For integers, it converts to double (@1 => 1.0)
For two letters, it pushes both to the stack individually (@az => 'a, 'z)
For characters it prints the character infinitely as a string (@'a => "aaaaaaaaaa....")
For anything else, it does nothing and just remains on the stack (@1.0 => @, 1.0).

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

Is it useful for the "anything else" scenario?

@S.S.Anne Not really, I suspect you could push it into a block and eval it. But I've never found cause to.

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

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):

With 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.

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

Tested and works just fine as advertised on DOS 1.0!

@640KB I guess I should give credit to Ralf Brown's Interrupt List while I'm at it.

@640KB I was into this a while back but I stopped. It was fun writing low-level code and learning about all the stuff you could and couldn't do.

@640KB Roll 'em once and use 'em everywhere.

Common Lisp, 15 bytes
(loop(princ'a))

Try it online!

This is so... English.

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!

Lua, 22 bytes
::a::io.write"A"goto a

I do think this is strictly suppossed to be an uppercase "A". Doesn't change your byte count though.

Dang it, completely forgot about goto! Fun fact: solutions with while and recursion both use 25 bytes.

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!

O! Thanks! I must admit that I did not know about the height-0 pyramids.

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

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"

Bitcycle, 25 16 14 bytes
~1000~!
>0010^

Try it online!
Output as a stream of bits. -9 thanks  to DLosc. -2 thanks to JoKing.

16 bytes ;)

If you use some undefined behaviour, you can get 14 bytes. Beware that this is different on the TIO interpreter

@JoKing Thanks! Unfortunately, this should be outputting 01000001 not 00100001, and it doesn't appear to be trivial to fix.

I'm getting 00100001 on DLosc's thing, 01000001 on TIO. Oh well, it works on TIO.

Oops, looks like i didn't do the permalink correctly. here

@JoKing Oh I see, thanks!

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.

77 bytes removes some spaces and uses for(;;) instead of while(0<1).

Full program Java 8+: 71 bytes - args to a and class M{public static to interface M{static. Full program Java 5/6: enum A{A;{for(;;)System.out.print("A");}} (41 bytes); Lambda Java 8+: v->{for(;;)System.out.print("A");} (34 bytes)

@Kevin How is an enum a full program?

@S.S.Anne In Java 5/6 there was a bug which executed a codeblock inside an enum even if there wasn't any main-method (here the relevant tip). PS: Lyxal, I once created this program with explanation for someone else on how Java 8+ lambdas work, so maybe it's also useful for you. :) It mostly explains the different type of lambdas, like with/without parameter(s) and/or return. If you have any questions, feel free to ask.

Perl 5, 15 bytes
print'A'while 1

Try it online!

Did you forget to quote "A" or you taking liberty with the definition of A? :)

Neither.  Perl treats bare words as if they were strings, if the interpreter cannot figure out what else to do with them.  You'll see this a lot here.  In this particular case, the spaces could have been quote marks with no additional byte cost.  In some instances, leaving out the quotes can significantly lower a score.

In the version of Perl I'm using, nothing outputs:  perl -e 'print A while 1'
This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi

Although the bare word does work in this context...  perl -e '$x = A; print $x while 1'

@Xcali In the program given, perl can figure out what the bare A means: it's a file handle. Your program prints $_ to filehandle A; it doesn't print A to STDOUT.

@Abigail  You're right.  The bare word doesn't work with print.  Corrected with no change in byte count.

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)

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.

There's 'A for pushing a single character :)

Seed, 8 bytes
3 141509

Try it online!

Looks an awful lot like Pi now that I think about it.

Windows Batch, 16 bytes
:a
echo a
goto a

Go, 38 bytes
import."fmt"
func A(){for{Print("A")}}

Try it online!

Keg, 3 bytes
{A,

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

Haskell, 20 bytes
main=putStr$cycle"A"

Try it online!

Also 20 bytes: main=putStr"A">>main

19 bytes: m@main=putStr"A">>m

Ruby, 12 bytes
loop{$><<?A}

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.

How long does it take for the stack to overflow?

I didn't run it locally, only on TIO... And it seems TIO stops the execution because of the output size. So maybe the implementation of the recursive call is actually a loop? Because in Python the usual recursion depth is 1000 or 1024 and I manage to output way more than 1024 "A"s..? Just check the TIO link.

Here. The interpreter sets the recursion limit to 1 << 30.

Actually, it seems that the tail call is simply optimized out.

PowerShell 25 23 bytes
for(1){Write-Host -n A}

Try it online!
A works same as "A" and saves 2 bytes.

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.

This will also work on the ZX81 as well, wouldn't it?

@ShaunBebbington It would just stop once it got to the end of the screen, because the ZX81 has no auto-scroll mechanism.

Ruby, 12 bytes
1while$><<?A

Try it online!

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, 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',

Wolfram Language (Mathematica), 28 bytes
$Output~WriteString~A~Do~∞

Try it online!
Most ways to output in Mathematica will include a trailing newline.

TeX (to file), 10 bytes
\def~{A~}~

TeX (to STDOUT), 19 bytes
\def~{\write0{A}~}~

05AB1E, 4 bytes
'A[?

Try it online!
'A    # push "A"
  [   # repeat forever...
   ?  # output top of stack to STDOUT without newline
      # (implicit) exit infinite 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.

I mean, why not just _65.? Or *65. to avoid memory filling up

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)

Welcome to Code Golf, and nice first answer! I tried running this on the Starry TIO, but it just looped forever producing no output. Additionally, it looks like your explanation contains extra spaces, and one more + and , than the code?

I must have typed the original wrong, I'll fix it now.

Pushing 65 as 8*8+1 is a bit shorter: https://tio.run/##Ky5JLCqq/P9fARloA6GCFpStlQDk6Sloq///DwA

I looked at 8*8, but I forgot about duplicating. Thanks!

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

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!

Note that we don't do non-competing anymore. Languages created after the question are fine, as long they weren't designed explicitly for the question itself

That's a bit sussy

3 bytes shorter with 65=1*2^6+1: https://tio.run/##bZLbboJAEIbveYptYgpUQfBszJpQ3SopRQNaY40XUPGQILUeaiR9d7vsAWrTC2Dnm3/nn1l2f/Iv12vw5YVAzG1h3zus1Sg4SzuoyS2QizLiU7LOSEzJIiOfhEhh8hHzhtN7UveBt1BXh5MvFWeG8jZPXprSnD98q8WCIIju2BUBbAMxzkMdbJbAh1BvgV0WlbDHdrabw/gv0BgoY72S6pPodHynGsYqNxWrvIA76pq2ugqO/uUY8CTwogW4o6ngY0lq7zGTYplJapjtN9HxxqLeAnHWRANH8He6iUE@HUHXkjzvX9dJUqdxG4diQRAd1KUn40MKHq0x4qREyHDsDK2UlQnrOQjZHFUImiLLGkw4qxLWmRqpqsbKG51njuoETfrmKC3foCpnMEk3NgmyzJdUhAcjjZl2WoqNM3AMu5fp6ACvyB7xMcM8343vhDtlUCHDA0FEFuqMHLNjWCwDNdbjgAKJRshhJvJ5vQkDSSJ/4R6WqlX5Dob4YsrXK/UF@IgBNgPJBGTx38NFyfGTBXYE5JRZhB1/AA

Pyth, 4 bytes
#p\A

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

Try it online!

Octave / MATLAB, 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.

Would while printf('A')end work?

@Yelp Yes, thank you! I didn't remember that Octave (unlike Matlab) has printf

AWK, 28 bytes
BEGIN{for(ORS="";;)print"A"}

Try it online!

I think using the END block instead of the BEGIN block works.

Using printf instead of print uses only 23 bytes: BEGIN{for(;;)printf"A"}

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!

Unfortunately, this prints null bytes between the As (due to the -z flag).

What does the g at the end of the substitution help with?

@Wezl Nothing, in this case. It's just a global replacement, and I have a habit of typing it.

BASIC, 21 18 17 13 bytes
1?"A";
GOTO 1

Try it online!
Everyone's first program!
Credits:

-3 bytes thx to @ceilingcat
-1 byte thx to @S.S. Anne
-3 bytes more thx again to @ceilingcat!

You can't even get a BASIC link right. Disappointing...

17 bytes.

Look around you. Look around you. Can you tell what we're looking for?

@JDL huh? I'm not following...

@640KB maybe a reference to the BBC show

05AB1E, 4 bytes
['A?

Try it online!
[         # infinite loop
 'A       # "A"
   ?      # print without a trailing newline

PHP, 16 14 bytes
for(;;)echo A;

Try it online!

-1 byte thx to @Kaddath!

You can save 1 byte with a for loop and echo ;) TIO

@Kaddath or 14 bytes with another tweak! TIO

@IsmaelMiguel I don't think that's necessary, as command-line is allowed for PHP golf; documentation says: when running in command line mode, the default is 0 (unlimited)

@Kaddath You're right, I've deleted my comment.

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

You should put these all in separate answers.

Ok :) I'll do it !

Perl 17-bytes Squirrel 21 (and watch out for captcha, it's been getting me a lot)

Answers are not accepted anymore I guess :/ better to undo my changes?

R 15 Squirrel 17

For the R one, you don't need the braces; repeat cat("A") is fine.

@JDL for code golf, prefer ' to "---makes it (look) shorter ;)

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 :-) .

But of course you can assume infinite resources and time.

Everybody else is assuming unlimited time.  This bash solution needs unlimited space too.  (In principle, it actually shouldn't need unlimited space, because the recursion is tail recursion, but bash doesn't do anything special to make tail recursion efficient, as far as I can tell.) @S.S.Anne

printf A;exec s  is a 5 byte longer but doesn't run out of memory

@OlivierDulac  Good point -- that more or less implements tail recursion, so it won't gobble us space any more as it runs.  Of course, both programs are useless, so I'll stick with the shorter one :) !

printf A;$0 will remove requirement of filename and being in PATH.

@Ruslan Yes, but like I mentioned in my last comment, all these programs are useless anyway, so I’ll keep the shortest one as the answer, even with its issues.

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!

W j, 3 bytes
'AI

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

Flag:j % Without a newline
```

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"

-3 bytes and more thanks to @SomethingDark!

You can save three bytes by removing the 0s (although if you're doing this from a file instead of the command prompt, you need to add a byte by using %%n instead of %n).

For the batch file version, you can use @%0 to loop, rather than relying on a for loop, and I think @set/p=A<nul works too.

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"

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:

F# (.NET Core), 22 bytes
while 1=1 do printf"A"

Try it online!

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

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

Clojure, 18 bytes
(while 1(print\A))

Try it online!

Mumps/Caché, 8 bytes.
f  ?'A';
Start an infinite loop (f)
Print 'A' with no newline (?'A';)

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.  :)

Does anyone ever use anything other than q for their macro?

Heh.  I use 'w' sometimes, but that's because I have an odd keyboard.

Python 3, 25 22 bytes
Saved 3 bytes thanks to Jo King! :)
while 1:print(end='A')

That's a good idea actually. Thing is though it would be 26 bytes, and the question doesn't require efficiency. Sorry :(

Ok, I'm lost. Could you give me your interpretation / solution?

Edit: I just realised what you meant, sorry

Kotlin, 50 47 bytes
fun main(a:Array<String>){while(0<1)print("A")}

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

You can save 3 bytes by not naming your args 'args' :)

You can just submit a bare lambda to save lots of bytes.

You can even go down to 20 bytes if you compile it as a script then your code only becomes this: while(0<1)print("A")

You can actually remove the arguments

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.

PowerShell 27 25 bytes
for(1){Write-Host -n "A"}

Try it online!
-n parameter for Write-Host works as -NoNewline.

-2 byte thanks to Veskah!

for() should work as well to save 3 bytes

perhaps not heard. turn up volume: ıııııııııııııııııııııııııııııııııııııııı[]ııı

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'

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 [ ]

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.

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.

Stax, 4 bytes
W'Ap

Run and debug it

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

Try it online!
Very simple. Just push A, infinitely dup and print.

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.

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.

Stax, 3 bytes
W"A

Run and debug it

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

MAWP 0.1, 8 bytes
[94M5W;]

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

JavaScript, 25 34 bytes
for(;;){process.stdout.write('A')}

Prints 'A' to the console indefinitely.

Unsure whether complies with the requirement “There shold be no newlines or seperators between the characters”.

Sorry about that. Edited the answer.

Yeah, but now with the exception of the unnecessary brackets, is identical with Joost K's solution posted more than 4 months ago (plus another one already deleted by its author).

Japt, 5 bytes
Assumes infinite memory.
ßOoau

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

C++ (gcc), 38 bytes
#import<ios>
int A(){putchar(65)&A();}

Try it online!

Welcome to the site! You can save 13 bytes by changing the language to C, as the # statement isn't required in C. Otherwise, check out our Tips for golfing in C++ page to see if you can shorten your answer at all

@cairdcoinheringaahing thanks! in C we have this entry https://codegolf.stackexchange.com/a/200308/89828

@cairdcoinheringaahing why main is not counted for C/C++ entries? could you point me to these rules?

For all languages where it makes sense, users may write either a function or a full program by default, and we don't count the code required to actually run this function

Pyth, 4 bytes
#p\A

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

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

Welcome to the league! You can use top-level looping words like this.

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.

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...

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.

Written in Ark, 8 bytes
{~ !A }~

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

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

Can you provide an interpreter for this language?

@emanresuA I added the link to my GitHub Repo for the interpreter.

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.

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!

Lexurgy, 17 bytes
a propagate:
*=>A

Forever replaces an empty string with A.

Piet, 15 Codels:
Original(5x3):
Scaled (x20):
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!

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.

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

Nibbles, 2.5 bytes (5 nibbles)
^~"A"

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

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

><> (Fish), 4 bytes
5d*o

Try it
or
"A"o

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!

I don’t know c++ well but it appears that replacing your include with #include<cstdio> and your cout with printf loses 4 bytes. I tried to paste my revision, but found myself incapable on mobile…

int A(){for(;;)__builtin_printf("A");} is shorter; you can remove the import

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!

I'd love to know the reason for the downvote, so I can improve my answer.

ColdFusion, 32 bytes
<cfloop condition="1">A</cfloop>

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

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.
```

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

Befunge-98 (FBBI), 3 bytes
'A,

Try it online!
' pushes the next character to the stack, , prints a char.

JavaScript (Node.js), 33 32 bytes
for(;;)process.stdout.write('A')

Try it online!
-1 byte thanks to Maria Miller

You can replace while(1) with for(;;) and -1 byte

C# (Visual C# Interactive Compiler), 21 18 bytes
for(;;)Write('A');

Try it online!

Why not for(;;)?

@mypronounismonicareinstate Thanks, I forgot about it

Lua, 27 bytes
while 1 do io.write("A")end

Try it online!

I believe this is suppossed to be an uppercase "A".

You are absolutely right, thanks I fixed it.

-1 byte Try it online!

Julia 1.0, 17 bytes
f()=print('A')f()

Try it online!

-1 byte using a Symbol instead of a Char Try it online!

Bash, 14 bytes
yes A|tr -cd A

will very quickly output A's.

Alternate 14-byte solution: yes A|tr -d \\n

Rust, 17 bytes
loop{print!("A")}

Try it online!

Red - 16 bytes
forever[prin 'A]

perl -l101 -E, 12 bytes
{print;redo}

I can't seem to get this to work properly.  It stalls but I don't get any output.  Are there any more relevant details here?

Really clever program - it encodes the A character under the flags!

@PostRockGarfHunter Did you use the command line parameters exactly as given? perl -l101 -E '{print;redo}' The command line parameters are important.

@Tunasalad I believe you need to add the length of the command line flags to your score: https://codegolf.meta.stackexchange.com/questions/273/on-interactive-answers-and-other-special-conditions/274#274

@milk That answer is outdated.  We no longer count flags.

@Tunasalad I ran it with both of the flags as presented in the answer.  What version of perl is this supposed to run on?

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

*><>, 4 bytes
"A"o

Try it online!
Pushes A then prints it an infinite amount of times

Ahead, 5 bytes
~oA'~

Try it online!

Brachylog, 4 bytes
Ṇhw↰

Try it online!

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.

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.

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)

This won't run forever as Japt's F.a() method uses a for loop that only runs a maximum of 1e8 times, as can be seen here.

... or, more legibly in v2, here.

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

Scala, 20 bytes
while(print('A')!=0)

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

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.

Perl 6, 16 bytes
loop {print "A"}

Try it online!

Neim, 5 bytes
ͻ    # Infinite loop
 (   # Decompress base 255
  A  # A
 )   #
   B # Compress number to base 255

Runs only 6 times
Try It Online!

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> ..

Husk, 3 bytes
∞'A

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

C#, 62 bytes
class P{static void Main(){for(;;)System.Console.Write('A');}}

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.

VBScript, 31 bytes
Do
WScript.StdOut.Write("A")
Loop

C# 9, 33
for(;;)System.Console.Write('A');

You can drop this to 26 bytes by removing the full qualification: for(;;)Console.Write('A');.

@Tacoタコス I'm not a great fan of that as this wouldn't really compile when you'd put it in VS19 for example.

By default System is added as a using directive with every class file generated. So creating a new console app to test this will include the System namespace by default. Plus, you can add a web link for testing with DotNETFiddle which also includes System by default with new fiddles.

Not saying you have to reduce it either, just wanted to let you know :)

@Tacoタコス I wanted to have a file only contain the string above which is possible with C# 9 and .NET Core 5. The System using is not added by default.

Fair enough :) never know if someone just overlooked something simple or if it was intentional.

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.

Welcome to Code Golf!

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.

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'

Fortran, 50 49 bytes
program A
do
write(*,"(A)",advance="no")"A"
enddo
end

Try it online!

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.

Regenerate -as '', 2 bytes
A+

Try it here!
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.

Nim, 26, 25 bytes (Credits to @hyper-neutrino)
while 1>0:stdout.write'A'

Try it online!
Not great, but not too shabby.

You can remove the space after stdout.write.

Thanks. Should have seen that.

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.

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)

JavaScript (Node.js), 33 32 bytes
-1 byte thanks to @Luke_
for(;;)process.stdout.write('A')

Try it online!

You can use for(;;) instead of while(1) to save 1 byte : )

Deorst, 6 bytes
oA
#EO

Try it online!
Explanation:
oA   # Push 'A'
#    # Forever:
 EO  #   Print without newline

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

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.

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!

INTERCAL (C-INTERCAL), 61 bytes
DO,1<-#9DO,1SUB#1<-#126DOCOMEFROM#9PLEASEREADOUT,1(9)DO,1<-#9

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.

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!

Python 3, 23 bytes
while[print(end="A")]:0

Try it online!

22 bytes

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

This can be significantly golfed. First, you can simply let the output list be contained in one character variable like o (for output), instead of s_{tdout}. Also, \to  can be replaced with ->. Taking these golfs into consideration, the code would be 18 bytes

Underload, 10 bytes
((A)S:^):^

Try it online!
Explained:
(    :^):^ While true...
    S      Print
 (A)       The string "A"

rusty_deque, 19 bytes
'A'~{dup~ow~}~loop~

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

makina, 14 bytes
>Pv
^>OtA;
^<<

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"

you may have beaten vyxal, but you still take the L to horrible Lyxal esolang design :P

Prolog (SWI), 18 bytes
a:-put(65),a.
?-a.

Try it online!
-1 from Steffan.

Instead of 'A', just use 65

Ouch, repeat is one byte longer

yeah, tried that before recursion

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

GolfScript, 13 bytes
{"A".print}do

Try it online!

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

Attempt This Online!
Explanation
[       # while True:
   ZL   #  print with no newline:
 'A     #   "A"

Pip, 7 bytes
W1{O'A}

Attempt This Online!
Explanation
W1{   }  # while 1:
   O'A   #  print "A" without a trailing newline

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.

Racket, 25 bytes (10 brackets)
(let a()((print 'a)(a)))

Welcome to Code Golf, and nice first answer! Be sure to check out our Tips for golfing in Racket page for ways you can golf your program

Swift, 36 35 bytes
while 1<2{print("A",terminator:"")}

Try it online!

Golfed 1 byte by reducing condition length

This is not valid; there should be no newlines present in the output.

@ConorO'Brien thank you for pointing that out! Fixed.

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.

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.

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.

YASEPL, 6 bytes
#"A"?1

very simple. :3

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!

Welcome to Code Golf, and nice first answer! This challenge requires printing the letter A, not a, repeatedly, and you might want to add a Try it online! link so others can test your code. Also, you can save quite a few bytes by replacing while true with loop.

Duocentehexaquinquagesimal, 8 bytes
2ïÛ∞è¥₁Ú

Try it online!

Kotlin, 32 bytes
fun main(){while(0<1)print('A')}

Try it online!

!@#$%^&*()_+, 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.

Splinter, 7 bytes
A{\AA}A

Try it online!
Interpreter breaking version. Would run forever otherwise.

BRASCA, 5 bytes
1[Do]

Try it online!
Explanation
1[  ] - Loop infinitely:
  Do  - Push "A" and output

Batch 17 bytes
@Set/P=A<nul
@%0

Explanation:

@Set/P=A<nul : Output A without newline
@%0          : Loop by restarting the script

2D Deadfish, 23 bytes
>~{i}ddsicv
^         <

Try it online!

10 bytes: {i}ddsi>c<

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\")

<>^v, 14 bytes
"A">~v
   ^ <

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)

I answered the same thing ^_^

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

KonamiCode, 25 bytes
v(^^^^^^>^^^^^)L(>)<<B(>)
Fortunately 65 != 0, so we can cheat a bit and use it as our "counter".

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:

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)

JavaScript, 32 bytes
for(;;)process.stdout.write("A")

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

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.

Wouldn't def f(n=9):print(end="A"*n);f(n*n) theoretically print many more "A"s before it hit the recursion limit for the same bytecount?

Come Here, 22 bytes
COME FROM1 1TELL65NEXT

Befunge-93, 4 bytes
"A",

Try it online!

Ruby, 14 bytes
loop{print"A"}
Attempt This Online!

you can use $><<?a

Capital As are required

Replaced a with A now

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

Isn't the MBR bootcode always x86-16?

Cognate, 17 bytes
F Def F(F Put"A")

Attempt This Online!
Cognate, 19 bytes
While(True)(Put"A")

Attempt This Online!

Arturo, 17 bytes
f:$=>[prints"A"f]

Try it

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.

brainfuck, 17 bytes
>+[+[<]>>+<+]>[.]

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

Uiua, 9 bytes
⍥(&pf@A)∞

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

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

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

authors: Bob Jarvis - Слава Україні


text:
Your Oscilloscope has ExPloDEd ! Make a sine wave
[ CODE GOLF]

BAM! - Fire and Smoke
Your Oscilloscope has exploded from one too many waves.

Re-create these waves assuming the following:

All waves are Sine Waves

An amplitude of 1 spans 3 lines (Therefore and amplitude of 2 would span 5 lines) [Vertically]

We want to see 100 characters worth of sine (Can be any char) [Horizontally]

12 characters per Period is a frequency of 1Hz

[Amplitude of 1 and Frequency of 1Hz with a Span of 45 Characters]
>SinASCII('a1','f1')

   ...         ...         ...             >
...   ...   ...   ...   ...   ...   ...    >[cont. for 100 char]
         ...         ...         ...       >

Inputs
Inputs can be in any format but must be explicitly stated if different from standard (below) and must contain:

Amplitude
Frequency

Test inputs: [('a2', 'f0.5'), ('a4', 'f1'), ('a6', 'f2'), ('a1','f0.25')]

This is a CODE GOLF Challenge
Some Clarification
Because sine is a continuous function, the values must be discretized:
For the case of amplitude of 1 and frequency of 1Hz the "Crest" of the sine wave must be on line 1 and the "Trough" of the sine wave must be on line 3.
To achieve the intermediate points, the wave points are set corresponding to ranges associated to the sections of the wave and these ranges will be relative to the amplitude.
Wikipedia - Crest and Trough

Please define how exactly the position of the dots needs to be determined - the sine wave is a continuous function and there is no cannonical was of translating it to a discrete grid like in your case.

I would think that an amplitude of 2 would span 5 lines vertically, rather than 6. The y values would be: -2, -1, 0, 1, 2.  Am I missing something?

@MitchellSpector - You are correct - I'll  fix it

Also, the 1 Hz output example you gave appears to have a period of 12, not 15. Which one would you like people to use?

@MitchellSpector Yes, I was 'umming' and 'ahhing' on the overlapping points - You are correct and it will be updated.

The specs are still not sufficient to define a "nice" sine wave. Please make it unambiguous, or if you want to leave certain choices to the reader please exactly specify them.

@flawr "Cannonical" I see what you did there

Presumably each point on the graph should be the desired point on the sine curve (with the right period and amplitude), rounded and/or truncated to an integer.

"Can be any char" does that mean that the background and foreground may be any characters, or must the background be made from spaces?

Are we free to display any phase we wish?

@Noodle9 Functions are allowed unless explicitly disallowed (even saying "write a program which..." does not disallow them here).

@JonathanAllan Thanks! :-)

Jelly, 21? 23 bytes
21 bytes if we may use a non-space character for the background.
×Ɱȷ2×30°ÆS×+1.Ḟ+Ṭ€o⁶z⁶Y

A full program accepting frequency (a float) and amplitude (an integer) which prints the result using 1 as the wave and  as the background.
Note: Since there is no mention of phase I have assumed we may pick any (I also asked for clarification).
Try it online!

Snap (well almost), though I’ve made fewer assumptions than you about phase. I also missed that ×30° was equivalent to ÷6×OP, and the allowance for any character. I think I’ll delete mine since it’s too close to yours to make it worthwhile keeping both.

No need to delete similar answers (or even identical ones), golfers do tend to converge on the same methods!

Python 3, 128 \$\cdots\$ 107 103 bytes
Added a byte to fix and error kindly pointed out by blueteeth.
Saved 23 27 bytes thanks to Jonathan Allan!!!
Added a byte to fix a fudge kindly pointed out by Jonathan Allan.
lambda a,f:[[' .'[~j<=a*sin(f*i*pi/6)+.5<-j]for i in range(100)]for j in range(~a,a)]
from math import*

Try it online!
Inputs an integral amplitude and a float for frequency.
Uses a period of 12 characters for 1Hz.
Returns a list of lists of characters.

For g(1, 1) this has 3 lines, but the first is empty. So it doesn't match the example.

@blueteeth Ok, now it's on three line - thanks! :-)

Save 23 by constructing as you go, inlining everything into list comprehensions and thus a lambda (with a little ~ magic sprinkled in) - TIO

@JonathanAllan Wow! Nice one - thanks! :-)

With different rounding we can save 4

@JonathanAllan Absolutely brilliant - thanks! :-)

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes