Primero vinieron

29

"Primero vinieron ..." es un poema de Martin Niemöller :

First they came for the Socialists, and I did not speak out-
Because I was not a Socialist.

Then they came for the Trade Unionists, and I did not speak out-
Because I was not a Trade Unionist.

Then they came for the Jews, and I did not speak out-
Because I was not a Jew.

Then they came for me-and there was no one left to speak for me.

Su tarea es generar lo anterior. Este es el , por lo que gana el código más corto en bytes.

Reglas

  • Puede incluir espacios en blanco adicionales que no afecten la apariencia. Se permite una nueva línea final.
  • De lo contrario, la salida debe coincidir exactamente, incluida la ubicación de las nuevas líneas.
  • Según los meta estándares, puede generar una lista de cadenas. Sin embargo, debe incluir las líneas vacías.

Tenga en cuenta que personalmente creo que esto no es un engaño debido a la forma en que se presenta el poema: necesita un poco de creatividad para jugar golf. Aquí se puede encontrar una meta discusión sobre si esto es un engaño o no .

Stephen
fuente
77
No estoy seguro de lo que esto agrega al sitio más allá del desafío RickRoll.
AdmBorkBork
77
No me gusta el martilleo de los tontos ricroll aquí.
programador
3
Meta discusión
programador
11
Por una vez, no creo que esto sea un engaño de Rickroll. Hay una estructura significativa aquí. El paralelismo permite desde diferentes estrategias. Reapertura
xnor
3
La estructura es un argumento a favor de ser un engañado del rickroll, no en contra.
Peter Taylor

Respuestas:

8

SOGL V0.12 , 103 102 101 bytes

 →∑‘¾ο╤Ε9‘}ψ⁴‘¹"4¡‘Q°‘:¹¹I{ū_:¹"Eā/}l6⁸SÆ□⁴↔b⅜╬I℮;YΥηκ*█⅞F^Κ⅜⁸{x⅔⁵⅟╚?Z‘O}"Ι╚╬√⅔δηvΧχ⁷⁾Η<υL┼!Ο'μΠ⁵╝⁷‘⁾

Pruébalo aquí!

Explicación (aquí reemplacé las cadenas comprimidas con ..para ahorrar espacio):

..‘.‘..‘                              push "socialist", "trade unionist" and "jew"
        ¹                             wrap in an array: ["socialist", "trade unionist", "jew"]
         "..‘..‘                      push "first" and "then"
                :                     duplicate the then
                 ¹                    wrap in an array: ["first","then","then"]
                  ¹                   wrap those two in an array: [["socialist", "trade unionist", "jew"], ["first","then","then"]]
                   I                  rotate clockwise: [[first,socialist], [then,trade unionist], [then,jew]]
                    {         }       for each do, pushing the array
                     ū                  uppercase the 1st letter of each word in the array - ["First", "Socialist"]
                      _                 splat the contents on the stack   "First", "Socialist"
                       :                duplicate the 2nd one             "First", "Socialist", "Socialist"
                        ¹               wrap in an array                  ["First", "Socialist", "Socialist"]
                         "..‘           push "ŗ they came for the ŗs, and I did not speak out-\nBecause I was not a ŗ." with ŗ replaced with its appropriate item in the array
                             O          output that
                               "..‘   push "then they came for me-and there was no one left to speak for me."
                                   ⁾  uppercase the 1st letter of it
                                      implicitly output it in a new line
dzaima
fuente
¿Podría agregar una explicación por favor?
Nzall
@Nzall Olvidé escribir
dzaima
@Nzall agregó una explicación
dzaima
7

Código de máquina 6502 (C64), 229 bytes

Un poco aburrido, siendo factible en un C64 con una cierta cantidad decente de bytes :)

00 C0 A9 17 8D 18 D0 A2 2C 86 FE A6 FE A0 C0 BD B6 C0 20 1E AB C6 FE 10 F2 60
C6 49 52 53 54 20 00 D4 48 45 4E 20 00 54 48 45 20 00 54 48 45 59 20 43 41 4D
45 20 00 46 4F 52 20 00 53 50 45 41 4B 20 00 41 4E 44 20 C9 20 44 49 44 20 4E
4F 54 20 00 4F 55 54 2D 0D 00 C2 45 43 41 55 53 45 20 C9 20 57 41 53 20 4E 4F
54 20 41 20 00 4D 45 2D 41 4E 44 20 54 48 45 52 45 20 57 41 53 20 4E 4F 20 4F
4E 45 20 4C 45 46 54 20 54 4F 20 00 4D 45 2E 00 2E 0D 00 53 2C 20 00 D3 4F 43
49 41 4C 49 53 54 00 D4 52 41 44 45 20 D5 4E 49 4F 4E 49 53 54 00 CA 45 57 00
0D 00 8C 35 3A 6B 2A 1F B4 90 B0 56 50 3A 41 93 B0 25 35 2A 1F B4 90 A1 56 50
3A 41 93 A1 25 35 2A 1F B4 90 97 56 50 3A 41 93 97 25 35 2A 18

Demostración en línea

Uso: SYS49152

Explicación:

Como esto contiene principalmente datos, en lugar de una lista de desmontaje sin sentido, aquí está la ca65fuente de ensamblaje de estilo que crea este código de máquina:

.segment "LDADDR"
                .word   $c000           ; load address
.code
                lda     #$17            ; upper/lower mode
                sta     $d018           ; store in VIC register
                ldx     #revpoemsize    ; initialize ...
                stx     $fe             ; ... counter
loop:           ldx     $fe             ; load current position
                ldy     #$c0            ; highbyte of strings always same
                lda     revpoem,x       ; load lowbyte from table
                jsr     $ab1e           ; output 0-terminated string
                dec     $fe             ; decrement position
                bpl     loop            ; >=0 ? -> repeat
                rts                     ; done

first:          .byte   "First ", 0
then:           .byte   "Then ", 0
the:            .byte   "the ", 0
came:           .byte   "they came ", 0
for:            .byte   "for ", 0
speak:          .byte   "speak ", 0
didnot:         .byte   "and I did not ", 0
out:            .byte   "out-", $d, 0
wasnot:         .byte   "Because I was not a ", 0
noone:          .byte   "me-and there was no one left to ", 0
me:             .byte   "me.", 0
period:         .byte   ".", $d, 0
comma:          .byte   "s, ", 0
socialist:      .byte   "Socialist", 0
unionist:       .byte   "Trade Unionist", 0
jew:            .byte   "Jew", 0
p:              .byte   $d, 0

revpoem:        .byte   <me, <for, <speak, <noone, <came, <then, <p
                .byte   <period, <jew, <wasnot, <out, <speak, <didnot
                .byte   <comma, <jew, <the, <for, <came, <then, <p, <period
                .byte   <unionist, <wasnot, <out, <speak, <didnot, <comma
                .byte   <unionist, <the, <for, <came, <then, <p, <period
                .byte   <socialist, <wasnot, <out, <speak, <didnot, <comma
                .byte   <socialist, <the, <for, <came, <first
revpoemsize     = * - revpoem - 1
Felix Palmen
fuente
6

Python 3 , 209 bytes

t='they came for '
s='First '
for i in'Socialist','Trade Unionist','Jew':s+=t+f'the {i}s, and I did not speak out-\nBecause I was not a {i}.\n\nThen '
print(s+t+'me-and there was no one left to speak for me.')

Pruébalo en línea!

-5 gracias a Felipe Nardi Batista .

Erik el Outgolfer
fuente
@Heiteira Lo siento, pero no puedo dejar la parte "Comercio" fuera de la salida.
Erik the Outgolfer
4

Perl 6 , 193 bytes

say join ' they came for ','First'Socialist "Trade Unionist" Jew».map({"the {$_}s, but I did not speak out-
because I was not a $_.

Then"}),'me- and there was no one left to speak for me.'

Pruébalo en línea!

Massa
fuente
4

Perl 5 , 185 bytes

print join" they came for ",First,(map"the ${_}s, and I did not speak out-
Because I was not a $_.

Then",Socialist,"Trade Unionist",Jew),"me-and there was no one left to speak for me."

Pruébalo en línea!

¡Gracias a @ Massa por -3 bytes!

Dom Hastings
fuente
Use Join y podrá recortar otras cinco sillas más o menos
Massa
@Massa no estoy seguro de ver cómo! ¿Alguna pista más?
Dom Hastings
Estoy en mi móvil ahora mismo, ¡pero mira mi respuesta perl6 a continuación!
Massa
@Massa Ahhh, ¡bien! ¡Gracias! -3 al final :)
Dom Hastings
3

C, 248 bytes

Gracias a @ Zacharý por guardar 9 bytes.

p(x,y){printf("%s they came for the %ss, and I did not speak out-\nBecause I was not a %s.\n\n",x,y,y);}f(){p("First","Socialist");p("Then","Trade Unionist");p("Then","Jew");puts("Then they came for me-and there was no one left to speak for me.");}

Pruébalo en línea!

Steadybox
fuente
¿Se puede pasar sdirectamente a la printfdeclaración?
Zacharý
@ Zacharý Sí, por supuesto.
Steadybox
3

C # (.NET Core) , 248 246 242 bytes

a=>{string b=@", and I did not speak out-
Because I was not a ",c=" they came for ",d="Socialist",e="Trade Unionist";return$@"First{c+d}s{b+d}.

Then{c+e}s{b+e}.

Then{c}the Jews{b}Jew.

Then{c}me-and there was no one left to speak for me.";}

Las nuevas líneas reales me ahorraron algunos bytes.

Pruébalo en línea!

Guardado 2 bytes gracias a Business Cat

LiefdeWen
fuente
3

Python 3 , 203 bytes

print('First',*[f'the {s}s, and I did not speak out-\nBecause I was not a {s}.\n\nThen'for s in['Socialist','Trade Unionist','Jew']],'me-and there was no one left to speak for me.',sep=' they came for ')

Pruébalo en línea!

Lynn
fuente
sep = es un movimiento genial! :-)
Massa
3

Befunge-93 , 348 bytes

".em rof kaeps ot tfel eno on saw ereht dna-em rof emac yeht nehT"52*:v
v"d not speak out-"*25"Because I was not a "<   p5-2*89p1-2*89"vvJew."<
> "id I dna ">",sweJ>v"67+2p66+5p     v     ^p2-2*89"vTrade Unionist."<
>"tsriF">:#,v>",stsinoinU edarTv"67+3pv     ^   p3+66p40"^_Socialist."<
>"nehT"52*: v>",stsilaicoS@"67+3p     >" eht rof emac yeht "

Pruébalo en línea!

ItsJ0el
fuente
3

Befunge, 293 274 270 bytes

62574732594932584832001v_@#:\0\!<
0-*84g+3/"P"\%"P"::+p00<_|#:-1g0
84!-"*":g+3/"P"\%"P"::+1\<+1_$#:^#-2\,-**
&First0 they came for %the Qs, and I did not speak out-*Because I was not a (.**
ThenOme-and there was no one left to speak for me.*$Jew*Socialist/Trade Unionist

Pruébalo en línea!

Este es un enfoque diferente a la solución Befunge existente. Utiliza un tipo de lista vinculada para almacenar un diccionario de las frases comunes, y luego solo tiene una lista simple de valores en la pila que representa el orden en el que las frases deben salir.

James Holderness
fuente
2

Retina , 176 bytes


 Socialists, Trade Unionists, Jews,1me-and there was no one left to2for me.
( .+?)s,
1the$& and I did not2out-¶Because I was not a$1.¶¶Then
^
First
1
 they came for 
2
 speak 

Pruébalo en línea! Explicación: Las cadenas 1y 2son solo repeticiones que son lo suficientemente largas como para valer la pena deduplicar. El Firstse añade más adelante para hacer más fácil para seleccionar el marcador de posición para la porción repetitiva, "vinieron por el [grupo] s, y yo no dije nada porque yo no era un [grupo]. Entonces", que se expande por La segunda etapa.

Neil
fuente
2

JavaScript (ES6), 231 227 223 221 bytes

_=>`First${t=" they came for "}the Socialist${a=`s, and I did not speak out-
Because I was not a `}Socialist${t=`.

Then`+t}the ${(u="Trade Unionist")+a+u+t}the Jew${a}Jew${t}me-and there was no one left to speak for me.`

Intentalo

o.innerText=(
_=>`First${t=" they came for "}the Socialist${a=`s, and I did not speak out-
Because I was not a `}Socialist${t=`.

Then`+t}the ${(u="Trade Unionist")+a+u+t}the Jew${a}Jew${t}me-and there was no one left to speak for me.`
)()
<pre id=o>

Lanudo
fuente
2

Java 8, 250 , 236 bytes

o->{String t=" they came for ",r="First";for(String s:"Socialist,Trade Unionist,Jew".split(","))r+=t+"the "+s+"s, and I did not speak out-\nBecause I was not a "+s+".\n\nThen";return r+t+"me-and there was no one left to speak for me.";}

Pruébalo aquí.

Kevin Cruijssen
fuente
2

JavaScript (ES6), 210 207 206 203 bytes

Un enfoque diferente para mi otra solución, así que pensé que valía la pena editarlo con su propia respuesta ahora que el desafío se ha reabierto.

_=>`First${["Socialist","Trade Unionist","Jew"].map(x=>t+`the ${x}s, and I did not speak out-
Because I was not a ${x}.

Then`,t=` they came for `).join``+t}me-and there was no one left to speak for me.`

Intentalo

o.innerText=(
_=>`First${["Socialist","Trade Unionist","Jew"].map(x=>t+`the ${x}s, and I did not speak out-
Because I was not a ${x}.

Then`,t=` they came for `).join``+t}me-and there was no one left to speak for me.`
)()
<pre id=o>

Lanudo
fuente
2

Gaia , 179 175 bytes

⇓“the ”3ṁ“s, and I did not speak out-¶Because I was not a ”2ṃ“.¶¶Then
“ they came for 
First”“Socialist“Trade Unionist“Jew”↓¦⇑“me-and there was no one left to speak for me.”]$

Pruébalo en línea!

Explicación

Aquí se definen 3 funciones (1 por línea). El inferior se llama primero. es reemplazado por nuevas líneas.

⇓“the ”3ṁ“...”2ṃ“.¶¶Then  First helper function. Argument: s
⇓                         Push "Then they came for "
 “the ”                   Push "the "
       3ṁ                 Bring s to the top
         “...”            Push "s, and I did not speak out-¶Because I was not a "
              2ṃ          Push a copy of s
                “.¶¶Then  Push ".¶¶Then"


“ they came for   Helper function. No arguments.
“ they came for   Push " they came for "


First”“..“..“..”↓¦⇑“...”]$  Main function.
First”                      Push "First"
      “..“..“..”            Push the list ["Socialist" "Trade Unionist" "Jew"]
                ↓¦          Call the first helper function on each.
                  ⇑         Push "Then they came for "
                   “...”    Push "me-and there was no one left to speak for me."
                        ]$  Wrap the stack in a list and join with no separator.
Gato de negocios
fuente
2

Bubblegum , 149 132 129 bytes

00000000: 9d4d b515 0241 14cc af8a c991 1e70 0991  .M...A.......p..
00000010: 02fe bbfd e7b7 cb1a 523d ee0e d9f8 7453  ........R=....tS
00000020: 631d 5cc2 2b84 5432 2265 760c 6315 a654  c.\.+.T2"ev.c..T
00000030: a4d6 d92a 480a 0c20 5201 a91c ec8c 2987  ...*H.. R.....).
00000040: f2ae 1634 3924 6f79 6b2e c8ee 4dba 14eb  ...49$oyk...M...
00000050: 4130 4958 3ed9 9e18 128c a94c 95fc e3e0  A0IX>......L....
00000060: b6fd fa65 c88b 1fa7 7795 e77b 25d7 488a  ...e....w..{%.H.
00000070: 9d68 f898 8792 8c82 2307 a78e bb87 647d  .h......#.....d}
00000080: 03                                       .

Pruébalo en línea!

Aburrida respuesta de Bubblegum. Ya derrotado por SOGL, así que está bien.

El crédito por -17 bytes va a Dom Hastings

-3 bytes por ovs

Nnnes
fuente
132 bytes . Todavía no puede vencer a SOGL!
Dom Hastings
@DomHastings No creo que alguna vez vencerás a SOGL con Bubblegum ...
Erik the Outgolfer
@EriktheOutgolfer ¡Estoy muy contento de ese hecho también! Me gustaría invertir algo de tiempo para jugar con él, ¡increíblemente expresivo!
Dom Hastings
129 bytes
ovs
2

SQL 269 bytes

declare @ char(18)='They came for the ',@a char(49)='s, and I did not speak out-
Because I was not a '
print'First '+@+'Socialist'+@a+'Socialist.

'+@+'Trade Unionist'+@a+'Trade Unionist.

'+@+'Jew'+@a+'Jew.

'+@+' me-and there was no one left to speak for me.'
Michael Salzmann
fuente
1
Hola, bienvenido a PPCG! He editado tu publicación para agregar algo de formato. En cuanto al código real, creo que "Then "faltan las palabras principales en las últimas tres oraciones, y la última oración ahora dice en "They came for the me-..."lugar de "Then they came for me-...".
Kevin Cruijssen
1

Protón , 219 bytes

t='they came for'for i:'Socialist','Trade Unionist','Jew'print(i[0]=='S'? 'First':'Then',t,'the',i+'s, and I did not speak out-
Because I was not a',i+'.
')print('Then',t,'me-and there was no one left to speak for me.')

Pruébalo en línea!

Hiperneutrino
fuente
1

Python 2, 246 bytes

La primera vez intenté comprimir la cadena y devolverla. Aparentemente toma más bytes que otros enfoques. ¿Le queda algo al golf?

import zlib,base64
print zlib.decompress(base64.b64decode('eJyd0DEOwjAMBdA9p/gHoD0EAxJdgQNYiatGtDaKU1XcvikUdSkDjLb/f4NPMVlG7vgJTwOj1bRMuKiP1EfLdgBJwBkhBohm2IPpDh1z5Y7saTQux4nsdaStWDt37Vh27JtElT/oT++73PD0K1oq+97A1QKVZeI1DxVGz215mK7uO1nPf1Zu5g=='))

Pruébalo en línea!

Simon
fuente
1

Röda , 204 bytes

{t="Then"c=" they came for";["First","Socialist",t,"Trade Unionist",t,"Jew"]|[`$_$c the ${_}s, and I did not speak out-
Because I was not a $_2.

`];[`$t$c me-and there was no one left to speak for me.`]}

Pruébalo en línea!

fergusq
fuente
1

PHP, 194 bytes

First<?=$t=" they came for ";foreach([Socialist,"Trade Unionist",Jew]as$s)echo"the ${s}s, and I did not speak out-
Because I was not a $s.

Then$t"?>me-and there was no one left to speak for me.

Pruébalo en línea .

Titus
fuente
1

C (gcc) , 244 bytes

f(c){for(c=0;c<3;printf("%s they came for the %ss, and I did not speak out-\nBecause I was not a %2$s.\n\n",c++?"Then":"First",c^2?c?"Trade Unionist":"Socialist":"Jew"));puts("Then they came for me-and there was no one left to speak for me.");}

Pruébalo en línea!

cleblanc
fuente
1

Python 3 , 208 bytes

print(' they came for '.join(["First"]+[f"the {i}s, and I did not speak out-\nBecause I was not a {i}.\n\nThen"for i in['Socialist','Trade Unionist','Jew']]+['me-and there was no one left to speak for me.']))

Pruébalo en línea!

-1 gracias a @Step Hen

Massa
fuente
1
Then "for-> Then"fory estás superando las otras respuestas de Python :)
Stephen
@StepHen ¡Gracias por notar el espacio extra! :-)
Massa
1

Clojure, 285 bytes

(fn[](doseq[i(range 4):let[c["Socialist""Trade Unionist""Jew"""]f #(if(< i 3)% %2)]](println(if(= i 0)"First""Then")"they came for"(str(f(str"the "(c i)"s, ")"me-")(f"and I did not speak out-\n""and there was no one left to speak for me.")(f(str"Because I was not a "(c i)".\n")"")))))

Este fue un pequeño desafío divertido. Terminé reescribiendo casi por completo la mayoría de las veces un par de veces porque me di cuenta de que estaba haciendo algo excesivamente indirecto. Todavía hay un par de áreas que probablemente podrían retocarse, pero estoy bastante contento con cómo resultó, incluso si solo estoy "comprimiendo" el original en 54 bytes.

repl.io

Vea el código previo al golf para obtener una explicación:

(defn ftc []
  ; Loop over the lines numbers for reference
  (doseq [i (range 4)
          :let [; Added a dummy last "class" since "me-" wasn't necessary,
                ;  and only having 3 elements was causing OOB errors.
                classes ["Socialist" "Trade Unionist" "Jew" ""]

                ; A helper function that executes either its first or second argument
                ;  depending on if the current line is one of the first 3 lines.
                if-first-three-lines #(if (< i 3) % %2)]]

    ; An implicit space is inserted between each of the args to println
    (println
      ; Decide on the opener
      (if (= i 0) "First" "Then")

      "they came for"

      ; Start string concatenation because the implicit space
      ;  begins complicating things.
      (str
        ; Decide which "class" the line belongs to
        (if-first-three-lines
          (str "the " (classes i) "s, ")
          "me-")

        ; Decide on the line ending
        (if-first-three-lines
          "and I did not speak out-\n"
          "and there was no one left to speak for me.")

        ; Then pick the trailer
        (if-first-three-lines
          (str "Because I was not a " (classes i) ".\n")
          "")))))
Carcigenicate
fuente
1

Japt , 153 150 149 147 bytes

`{=` ey ¯´ f `}´-d tre °s no e ¤ft  speak f ´.`i`Sáû\E
TÎè UÍát
Jew`·rÈ+U+`e {Y}s, d I ¹d not speak t-
Be¯«e I °s not a {Y}.

Tn`}`Fir¡

Pruébalo

1 byte guardado gracias a Oliver

Lanudo
fuente
1

05AB1E , 124 119 bytes

.•RYÁ Wö∍®Ø’áÅÚ)’Òü•'x¡™vy„€Û‚½#NĀ虓ÿ€»‹é€‡€€ ÿs,€ƒ Iƒ§€–¡´€Ä-“©¶y“ƒ« I€¥€–€… ÿ.“.ª¶¶}®19£“€á-and€Ç€¥€¸€µ…¸€„¡´€‡€á.“J

Pruébalo en línea.

Explicación:

.•RYÁ Wö∍®Ø’áÅÚ)’Òü•
                  # Push compressed string "socialistxtrade unionistxjew"
 'x¡             '# Split it on "x": ["socialist","trade unionist","jew"]
                 # Convert each word to Titlecase: ["Socialist","Trade Unionist","Jew"]
v                 # Loop `y` over each of these strings:
 y                #  Push string `y`
 „€Û‚½            #  Push dictionary string "first then"
      #           #  Split on spaces: ["first","then"]
       N          #  Push the index of the loop
        Ā         #  Truthify it (0 remains 0; every other number becomes 1)
         è        #  Use it to index into the list
                 #  Titlecase it
 “ÿ€»‹é€‡€€ ÿs,€ƒ Iƒ§€–¡´€Ä-“
                  #  Push dictionary string "ÿ they came for the ÿs, and I did not speak out-"
                  #  where the "ÿ" are automatically filled with the strings at the top of the stack
  ©               #  Save it in the register (without popping)
                 #  Push a newline "\n"
 y                #  Push string `y` again
 “ƒ« I€¥€–€… ÿ.“  #  Push dictionary string "because I was not a ÿ."
                  #  where the "ÿ" is automatically filled again with the string
                #  Sentence case it: "because" becomes "Because"
 ¶¶               #  Push two newline characters "\n\n"
}                 # After the loop:
®                 # Push the string from the register:
                  #  "Then they came for the Jews, and I did not speak out-"
 19£              # Only leave the first 19 characters: "Then they came for "
“€á-and€Ç€¥€¸€µ…¸€„¡´€‡€á.“
                  # Push dictionary string "me-and there was no one left to speak for me."
J                 # Then join everything on the stack together (and output implicitly)

Consulte este consejo mío de 05AB1E (secciones ¿Cómo usar el diccionario? Y ¿Cómo comprimir cadenas que no forman parte del diccionario? ) Para comprender por qué:

  • .•RYÁ Wö∍®Ø’áÅÚ)’Òü• es "socialistxtrade unionistxjew"
  • „€Û‚½ es "first then"
  • “ÿ€»‹é€‡€€ ÿs,€ƒ Iƒ§€–¡´€Ä-“ es "ÿ they came for the ÿs, and I did not speak out-"
  • “ƒ« I€¥€–€… ÿ.“ es "because I was not a ÿ."
  • “€á-and€Ç€¥€¸€µ…¸€„¡´€‡€á.“ es "me-and there was no one left to speak for me."
Kevin Cruijssen
fuente
-4

Texto , 348 bytes

First they came for the Socialists, and I did not speak out-
Because I was not a Socialist.

Then they came for the Trade Unionists, and I did not speak out-
Because I was not a Trade Unionist.

Then they came for the Jews, and I did not speak out-
Because I was not a Jew.

Then they came for me-and there was no one left to speak for me.

Esta es la versión más corta posible en su idioma, y ​​está a la par con la respuesta Befunge-93 al momento de escribir.

IFcoltransG
fuente
2
Al igual que con casi todas las respuestas de "Texto", esto es aburrido y perezoso
Jo King
@Jo King Lo notable es que tiene la misma longitud que la respuesta Befunge-93.
IFcoltransG