Назва мови вихідного програмування


45

Виклик:

У вибраній мові програмування не вводьте та не вводите назву мови програмування.

Досить справедливо, правда?

Обмеження:

  • Ви не можете використовувати жодних символів, що входять до вашого імені мови програмування у вашому коді. Наприклад, якщо я використовую Batch, я не повинен використовувати символи 'B' 'a' t '' c '' h 'у своєму коді. Зауважте, що це враховує регістри. Я все ще можу використовувати знак "b", тому що він відрізняється від "B".
  • Ви можете мати "непотрібний вихід" до або після назви мови
  • Номер версії не вважається частиною назви мови. Наприклад, я можу використовувати число 3 в коді у своїй відповіді, якщо воно є в Python 3
  • Вихідна назва мови програмування не відрізняється від регістру.
  • Брутне форсування всіх можливих комбінацій літер і сподівання, що ви отримаєте свою назву мови, заборонено.

Приклади виходів: (скажімо, моя мова програмування називається Мова) (✔ якщо дійсна, інакше ✖)

  • Language
  • Body language is a type of non-verbal communication in which physical behavior, as opposed to words, is used to express or convey information. Such behavior includes facial expressions, body posture, gestures, eye movement, touch and the use of space.
  • Language 2.0 - © 1078 AD some company
  • foobar

Це таким чином, найкоротший виграш коду.


7
Правило про обмеження, що враховують регістри, дуже неоднозначне. Яка правильна орфографія: ОСНОВНА Основна чи основна? Я майже впевнений, що можу знайти приклади для всіх трьох.
Річка Рівня Св.

6
Обов’язкове "Просто код має бути порожнім, але прапор, як --versionне дозволено"?
Значення чорнила

87
Має нечутливий до регістру вихід, одночасно забороняючи назву мови з урахуванням регістру, дозволяє нудні рішення, які просто виводять назву мови, замінені регістром.
xnor

11
Ви помилилися, дозволивши користувачам виводити непотрібні дані. Все, що їм потрібно зробити, - це використовувати мову, де компілятор включає ім'я, коли виникає помилка. Це круто, але не виклик, на який я сподівався
Ліноб

3
Це питання дійсно потрібно уточнити, що "Код" повинен бути запущений. Більшість мов покажуть своє ім'я на дамп використання, якщо ви не вкажете жодного коду - наприклад, "Java" або "Groovy" у командному рядку без коду відображатиметься правильне ім'я, однак якщо ви передасте код (навіть " порожній "код) як в (groovy -e" "), ви отримаєте порожню відповідь. Те саме, що стосується проблем із компіляцією, використання компілятора або вихід помилок не означає, що ви написали програму.
Білл К

Відповіді:


67

Виходи в STDERR

Виведення на STDERR тепер становить + 33 / -21 як дозволений за замовчуванням, що є позитивним, але оспорюваним. Це відповідь CW для збирання відповідей, які просто викликають помилку на мові, де повідомлення про помилки містить назву мови.

Haskell, 1 байт

1

Помилка:

Parse error: naked expression at top level
Perhaps you intended to use TemplateHaskell

Луа, 1 байт

1

Помилка:

lua: .code.tio:1: syntax error near <eof>

(ім'я файлу неважливо)

Пакет, 1 байт

~

Помилка:

'~' is not recognized as an internal or external command,
operable program or batch file.

тинілісп, 5 байт

(c()1

Помилка:

Error: cannot cons to Int in tinylisp

R, 1 байт

)

Помилка:

Error: unexpected ')' in ")"

Байт-код Java, 0 байт

Помилка:

Exception in thread "main" java.lang.ClassFormatError: Truncated class file

Groovy, 1 байт

a

Зверніть увагу, що aйого можна замінити будь-яким іншим символом

Помилка:

groovy.lang.MissingPropertyException: No such property: a ...

MATLAB, 1 байт

\

Помилка:

Error: Unexpected MATLAB operator.

PHP, 3 байти

<?=

Помилка:

PHP Parse error:  syntax error, unexpected end of file in /home/runner/.code.tio on line 1

CJam, 1 байт

/

Помилка:

/
^
RuntimeException: The stack is empty
Java exception:
java.lang.RuntimeException: The stack is empty
    at net.aditsu.cjam.CJam.pop(CJam.java:75)
    at net.aditsu.cjam.Op2.run(Op2.java:10)
    at net.aditsu.cjam.Block.run(Block.java:304)
    at net.aditsu.cjam.CJam.runCode(CJam.java:210)
    at net.aditsu.cjam.CJam.main(CJam.java:240)

Гілочка, 2 байти

Twig - мова шаблонів, написана на PHP. Цілком можливо, що це поліглот.

{{
{%
{#

Помилка:

PHP Fatal error:  Uncaught exception 'Twig_Error_Syntax' with message [...] in [...][...]:n:
Stack trace:
#0 [...]

Повідомлення змінюється залежно від того, яку програму ви вибрали.

SILOS , 2 байти

x+

Спробуйте в Інтернеті! Тривіально викликає незадокументовану поведінку. Силоси - це назва мови.

Пітон, 6 байт

pYTHON

Оскільки обмеження символів є нечутливим до регістру, а висновок не повинен бути правильним, це правильна відповідь. Повідомлення про помилку, яке воно створює, виглядає приблизно так:

Traceback (most recent call last):
  File ".code.tio", line 1, in <module>
    pYTHON
NameError: name 'pYTHON' is not defined

Спробуйте в Інтернеті! (виводить на вкладку "налагодження")

JavaScript, 10 байт

jAVAsCRIPT

Це створює таке повідомлення про помилку або подібне у всіх середовищах:

ReferenceError: jAVAsCRIPT is not defined

QBIC , 6 байт

?b(12)

У 6 байтах ми можемо поставити на екрані помилку QBIC: 9 на екрані, що означає помилку поза межами.

ForceLang, 2 байти

()

Помилка:

Exception in thread "main" lang.exceptions.IllegalInvocationException: null is not a function.
    at lang.ForceLang.parse(ForceLang.java:99)
    at lang.ForceLang.main(ForceLang.java:129)

Піп, 5 байт

1~`[`

(Примітка. Це працює в поточній версії станом на цей текст, 0.17.09.01 . Ніякі гарантії, що перекладач не зміниться, щоб в майбутньому по-різному обробляти цю помилку.)

Намагається повторно виразити збіг із синтаксично недійсним малюнком. Отримана помилка буде виглядати приблизно так:

Traceback (most recent call last):
  File "/opt/pip/pip.py", line 221, in <module>
    pip(interactive=False)
  File "/opt/pip/pip.py", line 206, in pip
    state.executeProgram(tree, args)
  File "/opt/pip/execution.py", line 56, in executeProgram
    returnVal = self.functionCall(mainFunction, cmdLineArgs)
  File "/opt/pip/execution.py", line 368, in functionCall
    returnVal = self.getRval(returnExpr)
  File "/opt/pip/execution.py", line 235, in getRval
    expr = self.evaluate(expr)
  File "/opt/pip/execution.py", line 213, in evaluate
    result = opFunction(*args)
  File "/opt/pip/execution.py", line 1134, in FIRSTMATCH
    matchObj = regex.asRegex().search(str(string))
  File "/opt/pip/ptypes.py", line 175, in asRegex
    self._compiled = re.compile(pyRegex)
  File "/usr/lib64/python3.6/re.py", line 233, in compile
    return _compile(pattern, flags)
  File "/usr/lib64/python3.6/re.py", line 301, in _compile
    p = sre_compile.compile(pattern, flags)
  File "/usr/lib64/python3.6/sre_compile.py", line 562, in compile
    p = sre_parse.parse(p, flags)
  File "/usr/lib64/python3.6/sre_parse.py", line 855, in parse
    p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, 0)
  File "/usr/lib64/python3.6/sre_parse.py", line 416, in _parse_sub
    not nested and not items))
  File "/usr/lib64/python3.6/sre_parse.py", line 765, in _parse
    p = _parse_sub(source, state, sub_verbose, nested + 1)
  File "/usr/lib64/python3.6/sre_parse.py", line 416, in _parse_sub
    not nested and not items))
  File "/usr/lib64/python3.6/sre_parse.py", line 523, in _parse
    source.tell() - here)
sre_constants.error: unterminated character set at position 8

Стакс, 2 байти

0u

Помилка:

Stax runtime error: rational divide by zero

zh також працює.

чорнило, 1 байт

~

~на початку рядка вказує, що рядок - це оператор, який слід виконати, а не текст, який слід надрукувати. Що стосується незалежної версії inklecate TIO, якщо після цього нічого немає ~, інтерпретатор виходить із ладу із наступною помилкою:

System.NullReferenceException: Object reference not set to an instance of an object
  at Ink.InkParser.LogicLine () [0x000b1] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.ParseObject (Ink.StringParser+ParseRule rule) [0x00012] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.OneOf (Ink.StringParser+ParseRule[] array) [0x0000a] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser.StatementAtLevel (Ink.InkParser+StatementLevel level) [0x00009] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser+<>c__DisplayClass134_0.<StatementsAtLevel>b__0 () [0x00000] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.ParseObject (Ink.StringParser+ParseRule rule) [0x00012] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.Interleave[T] (Ink.StringParser+ParseRule ruleA, Ink.StringParser+ParseRule ruleB, Ink.StringParser+ParseRule untilTerminator, System.Boolean flatten) [0x00040] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser.StatementsAtLevel (Ink.InkParser+StatementLevel level) [0x0004f] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser.Parse () [0x00000] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.Compiler.Compile () [0x00033] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.CommandLineTool..ctor (System.String[] args) [0x001a3] in <d64e27e7788347b2a5377c9e19bbdcab>:0 
  at Ink.CommandLineTool.Main (System.String[] args) [0x00000] in <d64e27e7788347b2a5377c9e19bbdcab>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object
  at Ink.InkParser.LogicLine () [0x000b1] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.ParseObject (Ink.StringParser+ParseRule rule) [0x00012] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.OneOf (Ink.StringParser+ParseRule[] array) [0x0000a] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser.StatementAtLevel (Ink.InkParser+StatementLevel level) [0x00009] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser+<>c__DisplayClass134_0.<StatementsAtLevel>b__0 () [0x00000] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.ParseObject (Ink.StringParser+ParseRule rule) [0x00012] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.Interleave[T] (Ink.StringParser+ParseRule ruleA, Ink.StringParser+ParseRule ruleB, Ink.StringParser+ParseRule untilTerminator, System.Boolean flatten) [0x00040] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser.StatementsAtLevel (Ink.InkParser+StatementLevel level) [0x0004f] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser.Parse () [0x00000] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.Compiler.Compile () [0x00033] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.CommandLineTool..ctor (System.String[] args) [0x001a3] in <d64e27e7788347b2a5377c9e19bbdcab>:0 
  at Ink.CommandLineTool.Main (System.String[] args) [0x00000] in <d64e27e7788347b2a5377c9e19bbdcab>:0 

18
Чи не міститься порожня рядок у назві мови? : D
mbomb007

21
C і R - c леве r .
DLosc

2
@ mbomb007, але це не символ, тому це не символ, що входить до назви мови.
користувач253751

Версію PHP можна відключити, якщо я не помиляюся. Використання чогось подібного <??буде більш ефективним і його неможливо відключити.
Ісмаїл Мігель

10
" Java-байт-код, 0 байт ". Перший раз я бачу, як Ява перемагає над ВСІМ з усіх інших згаданих мов. :)
Kevin Cruijssen

49

SmileBASIC, 11 байт

sPsET.,1474

Еквівалентно SPSET 0,1474. Встановлює спрайт 0 до визначення 1474, що є логотипом SmileBASIC.

Знімок екрана


43

MATL , 1 байт

Y

Вихід здійснюється через STDERR, що дозволено за замовчуванням .

Вихід з офлайн-компілятора є

Error using matl_parse (line 339)
MATL error while parsing: Y not recognized at position 1
Error in matl (line 234)
    S = matl_parse(s, useTags); 

Або спробуйте в Інтернеті! (розгорніть розділ «налагодження»).


6
Чи варто з цим зливатися ?
wizzwizz4

@ wizzwizz4 Я не впевнений. Я запитав у чаті і отримав ці дві відповіді , тож не зовсім зрозуміло
Луїс Мендо

1
так, але Y Тхо?
sagiksp

@sagiksp Зробиться все, що видає помилку, наприклад, Xабо Z. Це тому X, що Yабо Zє префіксами двоярусних імен функції, тому Yсам по собі є недійсним
Луїс Мендо

37

R, 1 байт:

T

Tє псевдонімом постійної TRUE. Отже, вихід для вищезазначеного:

[1] TRUE

Оскільки мотлох дозволено навколо імені, "R" в ньому є ім'я мови.

( Як зазначається в коментарі в іншому місці , майже будь-яка окрема літера та багато гліфів працюватимуть однаково добре, оскільки вони викликають повідомлення "Помилка:…", яке містить "r".)


31

HTML, 24 20 байт

&#72;&#84;&#77;&#76;


HTML, 16 байт

Як вказував @Bob , сучасні веб-переглядачі розпізнають сутності HTML без крапки з комою, хоча це технічно недійсний HTML. Звичайно, це цілком справедливо для кодового гольфу.

&#72&#84&#77&#76


HTML, 4 байти

І звичайно, нецікава відповідь.

html


Також дивіться мою відповідь CSS .


3
Ви можете зберегти чотири символи за допомогою десяткової замість: &#72;&#84;&#77;&#76;. Ви можете зберегти додаткові чотири символи, скинувши крапки з комою, ціною технічно недійсного HTML (але все ще працюючи в сучасних браузерах).
Боб

Чому не HTMLрахується?
Зупиніть шкодити Моніці

1
@OrangeDog "Ви не можете використовувати жодного символу, який включений до імені мови програмування у вашому коді"
darrylyeo

Але htmlмає бути дійсним, зменшуючи бал на 12 байт.
Крістоф

3
@Clearer Це гольф коду! Поки він працює принаймні в одному середовищі, кого цікавить, чи вважає W3C це дійсним?
darrylyeo

25

Vim, 0 байт



Коли ви запускаєте Vim, редактор виводить на екрані сплеск, який виглядає приблизно так:

Vim сплеск екрану

Тут ви можете сказати Vim:

Vim сплеск екрану з vim виділено

Попередня відповідь:

Вим, 1 байт

<Ctrl-C>

У Vim 8 натискання відображатиметься Type :quit<Enter> to exit Vimв останньому рядку. Я не зовсім впевнений, чи враховується це.


1
Слід порахувати. Ctrl-C насправді має власний код ASCII (код 3, також званий ETX або "кінець тексту"), тому це програма з чистою ASCII (якщо не чисто ASCII для друку ). Ви можете використовувати це для доказу, що довгий один байт програми та відображення тексту на екрані.

4
З якого часу "vim" є мовою програмування?
ДепресіяДаніель

4
@DepressDaniel vim - це насправді мова сценаріїв, якщо глибше заглянути в внутрішні сторінки. Усі ці модні натискання клавіш - це інструкції => ви програмуєте під час керування вашим редактором.
bash0r

1
@DepressDaniel це завершення завершення? Якщо це не так, я не думаю, що це має розраховувати.
Чіткіший

3
@dfeuer Я погодився з вами, оскільки я зробив цей коментар більше 2 років тому.
Чіткіший

20

Пітон, 15 байт

Пітон 2 (15)

exec"\150elp()"

Він конкатенації рядків використовує восьмеричну , 150який hі "elp()"і запускає результат. Це друкує help()команду, яка говорить "Welcome to Python 3.5's help utility!", виконуючи вимоги.

Пітон 3 (17)

exec("\150elp()")

Спробуйте в Інтернеті!


Не впевнений helpпідрахунок, він працює лише в середовищі REPL.
xnor

Він досі друкує Python. Це все, що потрібно.

1
Неважливо, я помилився, і це працює як програма. Вибач за те.
xnor

1
ви вживали букву "р"
Метт

3
pдозволено, але Pце не так. Правило 1.

18

C, 0 байт.

/usr/lib/gcc/i586-linux-gnu/5/../../../i386-linux-gnu/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: error: ld returned 1 exit status

Спробуйте в Інтернеті!


звідки ім’я? Або ви посилаєтесь на символи c там?
СподіваємосьДопомога

3
Це має бути позначено як C (gcc), оскільки інші компілятори мають різні повідомлення.
orlp

Мех, ваш cродом із надзвичайно залежних від впровадження джерел. Було б приємніше, якби ви принаймні спровокували повідомлення, яке міститься cв якомусь висновку котла.
Пригнічений

1
@DepressDaniel undefined reference c e to 'main'
Лорен Печтел

@LorenPechtel Ярмарок досить, пропустив це.
Пригнічений

17

Так? 0 байт



(ні, в цьому блоці коду нічого немає)

Мова названа за її вихід, тому ...

У виконанні, що я перевірив , інтерпретатор приймає довжину mod 8 кожного рядка даного файлу і перемикається залежно від результату. Для нуля він друкує Huh?. Оскільки він позбавляє останніх рядків, ви також можете зробити 1-байтну \nверсію.

Зауважте, що це не виводить на stderr або обмін випадками або будь-яку іншу хитрість. Просто дуже розгублений перекладач Ху?


13

V , 2 байти

¬U

Спробуйте в Інтернеті!

Очевидна відповідь:

év~

Спробуйте в Інтернеті!

Що таке "Вставити літеру" v "та переключити регістр". Однак, оскільки ви дозволяєте виводити непотрібні дані до / після назви мови, це також працює.

¬Команда приймає два символу для введення і вставляє кожен ASCII символів між ними. Якщо ми не постачаємо другий символ, він автоматично встановлюється за замовчуванням ÿ(ASCII 0xff), тому ця програма вставляє кожен символ у кодування latin1 між Uі ÿ.


13

мозковий ебать , 54 байти

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

Виходи brainfuck, припускаючи, що зліва відкрита 8-бітна стрічка. Спробуйте в Інтернеті!

Як завжди, часткові кредити переходять до Привіт, світ! відповідь .

Альтернативи з різним кожухом

Brainfuck (62 байти):

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

BrainFuck (68 байт):

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

12

MATLAB, 3 байти

ver

Вихід такий. Невідповідну інформацію було замінено на [...]). Деякі частини виводу можуть змінюватися залежно від версії, встановлених ящиків інструментів тощо.

-----------------------------------------------------------------------------------------
MATLAB Version: 8.6.0.267246 (R2015b)
MATLAB License Number: [...]
Operating System: [...]
Java Version: Java 1.7.0_60-b19 with [...]
-----------------------------------------------------------------------------------------
MATLAB                                                Version 8.6         (R2015b)
Communications System Toolbox                         Version 6.1         (R2015b)
Curve Fitting Toolbox                                 Version 3.5.2       (R2015b)
[...]
Wavelet Toolbox                                       Version 4.15        (R2015b)

Використовує av та e

Ваша мова є Octave, тому ви не можете користуватися vі e.
JungHwan Min

6
Вупи. Виправлено зміною мови на Матлаб (що все одно було моїм початковим наміром)
Луїс Мендо

12

Пітон, 27 53 49 48 45 байт

-3 байти від @ wizzwizz4

exec eval('"IMpORT THIS".LOWER()'.swapcase())

Друкує наступний текст, на якому в першому рядку є "Python".

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

1
@Arnauld виправлено!
Значення чорнила

1
HELP()або HELP(HELP)коротше.
Гурупад Мамадапур

Не має значення, якщо ви замінюєте регістр імпортного рядка, тому що це все одно робить його малі регістри. -3 байти.
wizzwizz4

@GurupadMamadapur відповідь Python 3 вже висвітлював це і краще (я впевнений, що мій код був би точно таким же), тому я не в настрої використовувати його також. Гадаю, я дотримуюся import this.
Значення чорнила

@ValueInk Добре тоді.
Гурупад Мамадапур

12

Python 2 (1 байт)

è

вихід ...:

вихід


Ви впевнені, що це лише 1 байт?
Okx

1
Домовились. Це 2 байти в UTF-8
mbomb007

Ключ "не-ASCII" - спробуйте 0xa0(nbsp) або в основному будь-який інший високий байт, який вам подобається, і ви отримаєте ту ж помилку!
Джон П

3
Це 1 байт у Win1252, який показує повідомлення про помилку.
Атако

10

> <> , 12 10 байт

"2,:o:2-o|

Це буде постійно друкуватись <<>, поки у перекладача не залишиться місця.

Спробуйте в Інтернеті!

12-байтна версія нижче для тих, хто любить чистий вихід. Рекомендовано Aaron (без помилок, 1 вихід)

":3+:o$1+oo;

Блискуче рішення!
Емінья

@Emigna - Спасибі, остаточна версія була після купки невдалих гольфів, але мені це дуже подобається, оскільки з помилкою вона друкує> <> та рибу: D
Тілі пелікан

Хороший ! Ось версія в 14 байт, яка друкується лише один раз і не помиляється:"-o-o-o;_!\ _!
Аарон

@Aaron, якщо ти перевіриш редагування першої версії, зробив це о 12. Мені подобається, як виглядає твоя чиста все-таки :)
Teal pelican

Мені подобається ваша версія 12 байт (10 байтів теж :)), я думаю, ви повинні залишити її у вашій відповіді як сторону ("для тих, хто любить чистий вихід, [...]")!
Аарон

9

JAVA, 1 байт

1

Вихід до stderr:

Main.java:1: error: class, interface, or enum expected
1
^
1 error
Error: Could not find or load main class Main
Command exited with non-zero status 1
    Command being timed: "/srv/wrappers/java-openjdk"
    User time (seconds): 1.40
    System time (seconds): 0.80
    Percent of CPU this job got: 40%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:05.40
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 44564
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 205
    Minor (reclaiming a frame) page faults: 11301
    Voluntary context switches: 2666
    Involuntary context switches: 1677
    Swaps: 0
    File system inputs: 78312
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 1 

14
Це є результатом компіляції, а не запуску програми. Я не знаю, чи це дозволено за замовчуванням.
CAD97

2
Крім того, якщо ви вибрали інше розширення файлу, воно не виводить "java", чи не так? (Не впевнений, чи можливо це з java)
Jonas Schäfer

11
якщо ви переходите з Java на байт-код Java, ви можете зменшити його на один символ. спроба запустити порожній файл класу кине java.lang.ClassFormatError
user902383

2
Програми, що виходять на stderr, слід редагувати у цій відповіді .
mbomb007

8

CSS, 25 байт

:after{content:'\43\53\53

Зауважте, що додаткові розмітки додаються до фрагментів стека переповнення, внаслідок чого "CSS" відображається не один раз. Відкрийте .htmlфайл із вмістом

<style>:after{content:'\43\53\53

щоб побачити результат за призначенням.


7

баш CLI, 9

printf $0

Якщо ви хочете фактичний сценарій, а не просто команду в інтерактивному командному рядку, ви можете зробити це:

баш, 13

printf $SHELL

Виходи /bin/bash


1
echo $0мусить працювати
пискливе костіння

@squeamishossifrage Це працює в командному рядку оболонки, але в сценарії виводить назву сценарію.
Цифрова травма

1
x $0працює, припускаючи, що на шляху немає виконуваного файлу, що називається x. У такому разі замініть будь-який інший символ літери, цифри або не спеціальний символ.
nigel222

2
'h' є для вас нелегальним символом, і ви використовуєте його в ехо
user902383

2
$'ec\x68o' $0лікує цю деталь.
манантська робота

7

C, 15 байт

Складено C на машині Linux з німецькою мовою:

main(){main();}

Він запуститься до переповнення стека та надрукує Speicherzugriffsfehler(німецька для помилки сегментації) на stderr.


............ :-D
Альфе


6

Піп , 8 байт

'IWR C80

Бере персонаж Iі WRдодає його в Chr ( 80), в результаті чого PIP. Спробуйте в Інтернеті!

Використовувати Iвідчуття трохи схоже на обман, тому ось два 9-байтові рішення , які не використовують жодне з PpIi:

z@8WRz@15
(z8+^707)

Обидва вихідні pip. Мені особливо приємно друге:

    ^707   Split 707 into a list of characters        [7;0;7]
  8+       Add 8 to each one                          [15;8;15]
(z      )  Use list to index into lowercase alphabet  ["p";"i";"p"]
           By default, lists are printed without a separator

Для правильної капіталізації нам потрібно 10-байтне рішення :

'IWR C80Vx

Як це працює, залишається читачем як вправа. ; ^)


6

C #, 60 67 байт

class P{static void Main(){System.\u0043onsole.Write("\x43\x23");}}

Це насправді ваша відповідь, чи помилка зіпсувала вашу відповідь?
auhmaan

@auhmaan Вибачте, виправлено . Я спочатку тестував LINQPad, і забув, що він має кілька імпортів простору імен за замовчуванням.
Боб

Я мав на увазі \u0043і подібних,
аумман

1
@auhmaan Це навмисно, тому що мені потрібно, Consoleале я не можу використовувати Cвідповідні правила. У C # ви можете використовувати послідовності виходу Unicode в ідентифікаторах.
Боб

3
Я впевнений, що ви можете використовувати для цього анонімний метод, я не бачу обмеження, яке вимагає повноцінної програми, так що ви можете зробити_=>System.\u0043onsole.Write("\x43\x23");
TheLethalCoder

6

мозковий ебать, 105 байт

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

Спробуйте його онлайн тут


7
Ну, не проблема в BrainFuck;)
devRicher

@devRicher зовсім не;)
TrojanByAccident

@ mbomb007 Я бачу.
TrojanByAccident

@ mbomb007 оновлено
TrojanByAccident

Чи є якась причина надмірної ---вашої відмітки?
FlipTack

5

R , 11 байт

cat("\x52")

Спробуйте в Інтернеті!


version$l9 байт
djhurio

2
Напевно version, достатньо (7 байт)
djhurio

1
Або просто 'r'. 3 байти.
Конрад Рудольф

@KonradRudolph Ви не можете використовувати ... чекати; характеристики перевіряють регістри, але не виводять ... Розумні.
wizzwizz4


5

J, 2 байти

   a.


┌┬┐├┼┤└┴┘│─ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������

a. повертає алфавіт мови J - вбудований список усіх байтів.

Мій оригінал: 4 байти

   %:_1
0j1

Це мені здається досить крутим. Квадратний корінь ( %:) від’ємника 1 ( _1) - це i ( 0j1).


1
2 байта: a.. Друкує алфавіт, який, очевидно, включає "J". Однозначно не так круто: /
Bolce Bussiere

Готта гольф. :-) Це сказав, я прихильний до своєї оригінальної відповіді.
Дейн

5

BASIC (ZX Spectrum), 4 2 байти

перекреслений 4 все ще є регулярним 4

Збережено 2 байти завдяки @ShaunBebbers.

Примітка. У наборі символів спектра ZX ці байти відображаються як

0 PRINT

Коли ви вводите це в, Спектр починається з розбору необов'язкового числа, а потім рядка коду. Зазвичай номер рядка є тим, 1..9999що викликає додавання коду до збереженої програми. Однак якщо номер рядка не надається, код замість цього виконується негайно. На жаль, помилка в спектрі означає, що він помиляється на рядку нульового нуля, взагалі немає номера рядка, але він все ще намагається виконати нуль як частину рядка коду, що є незаконним, тим самим спричиняючи помилку.

Попередня 4-байтна версія генерує справжню помилку, а не покладається на помилку інтерпретатора:

õ°""

Примітка. У наборі символів спектра ZX ці байти відображаються як

PRINT VAL ""

який виводить

C Nonsense in BASIC, 0:1

тому що порожній рядок не є дійсним числовим виразом. (Я, звичайно, міг би використати будь-який вислів, що займає одне ціле число.) Якщо ця відповідь неприйнятна, то на 6 байт можна написати програму, що складається з одного рядка з одним із ключових слів, який не приймає аргументів, а потім використовувати POKEдля заміни це з незаконним ключовим словом, а потім спробуйте RUNпрограму.


або 0 REMстворює ту саму помилку
Shaun Bebbers

1
@ShaunBebbers Це навіть проходить перевірку синтаксису?
Ніл

так, це робиться на реальному спектрі.
Shaun Bebbers

4

C 24 20 байт (Clang 3.8.1)

Завдяки @squeamish ossifrage за допомогу мені зберегти 4 байти.

main(){putchar(67);}

Як щодо putchar(67);?
пискливий косинець

@squeamishossifrage так, спасибі
Уейд Тайлер

Просто цікаво, але чи це printf('c')також не буде дійсним? Вам заборонено використовувати великі регістри "С", але ви є малі, і результат є нечутливим до регістру.
Jocie

Звичайно, це звучить так, як @jocie, але 67коротше 'c':-)
Коді Грей,

1
@Jocie printfпотребує char *так, що мені потрібно використовувати""
Уейд Тайлер

4

Perl 5, 36 байт (35 + 1 для -E)

$^X=~s/.+(.)(...)$/\U$1\E$2/;say$^X

Біжи з -Eпрапором.

$ perl -E 'say$^X=~s/.+(.)(...)$/\U$1\E$2/r'
Perl

Змінної$^X шлях до виконуваного файлу , на якому виконується поточна програма. Оскільки перекладач Perl називається perl, то нам потрібно зробити його першою літерою. Але ucfirstфункція містить an r, що не дозволено, тому ми маємо вдатися до \Uта \E, які включають та вимикають перетворення верхнього регістру.

Ми не можемо використовувати /rмодифікатор для s///повернення зміненої рядки, оскільки rце не дозволено.

Важливо знати, що ім'я мови програмування Perl - Perl , а ім'я інтерпретатора - perl з малих літер p. PERL немає .


Технічно я думаю, що perl -vзадовольняє обмеження виклику, але це набагато цікавіше :) Хоча це робить припущення, що не в усіх системах (наприклад, $^Xце /home/foo/.plenv/versions/5.16.3/bin/perl5.16.3для мене, але це могло б бути так само, /home/foo/pythonякби мене так закрутили ).
ThisSuitIsBlackNot

@ це не впевнено, чи буде це в межах правил. Кажуть, вибирайте мову та робіть речі. Але perl -vв Perl нічого не буває. Тому я думаю, що це не враховується. Але я думаю, що є простіші способи. Щодо різних систем, я думаю, що ми можемо виправити це за допомогою трохи більше виродкової магії.
simbabque

Вже є купа рішень з нульовим байтом, які покладаються на поведінку за замовчуванням (наприклад, друк номерів версій). Ніщо в правилах прямо не забороняє це. Але це, безумовно, нудно і відчуває себе "обманливим".
ThisSuitIsBlackNot

Переглянувши правила ще раз, ви насправді могли просто зробити uber нудним perl -E'say$^X'.
ThisSuitIsBlackNot

2
Як щодо -E'say`$^X -v`'? Це безперечно програма.
панно


4

R, 10 байт

citation()

Виходи:

Для цитування R у публікаціях використовують:

R Core Team (2016). R: Мова та середовище для статистичних обчислень. R Фонд статистичних обчислень, Відень, Австрія. URL https://www.R-project.org/ .

Запис BibTeX для користувачів LaTeX є

@Manual {,
title = {R: Мова та середовище для статистичних обчислень},
автор = {{Основна команда}},
організація = {Фонд статистичних обчислень},
адреса = {Відень, Австрія},
рік = {2016 },
url = { https://www.R-project.org/ },
}

Ми вклали багато часу та зусиль у створення R, будь ласка, цитуйте це, використовуючи його для аналізу даних. Дивіться також "citation (" pkgname ")" для цитування R-пакетів.

Досить багатослівний лише для того R, щоб ім’я відображалося правильно?

З коментаря @ djhurio до цієї відповіді, використовуючи R, versionтеж хитрість.


3
"Виведення назви мови програмування не відрізняється від регістру." То чому б не просто "r"? Або залежно від суворого "Ви можете мати" непотрібний вихід "до або після назви мови". ви також могли просто зробити T.
Billywob

1
Після коментаря @Billywob, все, що потрібно для виведення, - це, rабо R, таким чином, інший підхід полягає у виведенні STDERR через синтаксичну помилку. )Виходи Error: unexpected ')' in ")", який містить r.
rturnbull

@Billywob Я згоден на ваш коментар, а також на rturnbull's. Я написав цю відповідь швидко раніше і, мабуть, точно уточнив, що, хоча це робить код і відповідь марно довгими, мені здається смішним виводити весь цей мотлох лише для того, щоб з'явилося "R". Більше того, це найкоротший шлях до моїх знань змусити R написати своє ім'я спеціально.
Фредерік
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.