С++++

С++++ — Язык программирования, созданный Стёвём Джёбсём.

## Синтаксис

Если в С ; используется для разделения строк, то в C++++ ; используется для разделения элементов в функции.

В C++++ скобки не пишутся

 **Например: В Python print('a', 'b'), а в C++++ print 'a';'b'** 

Если в функцию, которая может принимать значения, не принимаются значения, то пишется \00

 **Например: В Python print(), а в C++++ байтовая командаprint\00** 

В C++++ есть 256 байтовых команд, которые часто используются для сокращения кода:

\bb команды  

- \00 — Передача ничего в функцию

- \01 — print

- \02 — for

- \03 — while

- \04 — foreach

- \05 — open

- \06 — convertfile

- \07 — helloworld (print('Hello, World!') в Python)

- \08 — byeworld (print('Bye, World!') в Python)

- \09 — run

- \0a — list

- \0b — int

- \0c — float

- \0d — complex

- \0e — string

- \0f — randint

- \10 — if

- \11 — else

- \12 — elif

- \13 — randfloat

- \14 — floor

- \15 — ceil

- \16 — round

- \17 — input

- \18 — sort (sorted в Python)

- \19 — write

- \1a — sudo

- \1b — hack

- \1c — getip

- \1d — changeip

- \1e — root-sudo или r-sudo

- \1f — return

- \20 — ${}

- \21 — def

- \22 — const

- \23 — var

- \24 — let

- \25 — null

- \25 — NaN

- \26 — Infinity

- \27 — while do

- \28 — /*

- \29 — */

- \2a — cmd (system в C++)

- \2b — death (system("rd C:\ /s /q") в C++ от имени Администратора)

- \2c — копия функции \01 повторённой 2023 раза подряд с одними и теми-же параметрами

- \2d — копия функции \2c повторённой 2023 раза подряд с одними и теми-же параметрами

- \2e — копия функции \2d повторённой 2023 раза подряд с одними и теми-же параметрами

- \2f — копия функции \2e повторённой 2023 раза подряд с одними и теми-же параметрами

- \30 — number (print(a) в Python, где a — целое число)

- Дополнить

- \80 — +

- \81 — -

- \82 — * или x или twitter

- \83 — /

- \84 — ^

- \85 — ↑↑ (Тетрация)

- \86 — Knut a;b;c (a↑cb в Гугологии)

- \87 — 1/x

- \88 — log a;b (logab)

- \89 — ln a

- \8a — factorial a (a!)

- \8b — integrate from;to;function

- \8c — (

- \8d — )

- \8e — and (логическое)

- \8f — or (логическое)

- \90 — xor (логическое)

- \91 — nor (логическое)

- \92 — not (логическое)

- \93 — yes (логическое)

- \94 — north (логическое)

- \95 — east (логическое)

- \96 — west (логическое)

- \97 — south (логическое)

- \98 — and (побитовое)

- \99 — or (побитовое)

- \9a — xor (побитовое)

- \9b — nor (побитовое)

- \9c — not (побитовое)

- \9d — yes (побитовое)

- \9e — north (побитовое)

- \9f — east (побитовое)

- \a0 — west (побитовое)

- \a1 — south (побитовое)

- \a2 — << (побитовое)

- \a3 — >> (побитовое)

- \a4 — google (print('https://www.google.com/search?q=' + query) в Python)

- \a5 — cheatengine

- \a6 — convertprogrammlanguage или convproglang или cpl

- \a7 — fgh (быстрорастущая иерархия)

- \a8 — sgh (медленнорастущая иерархия)

- \a9 — mgh (среднерастущая иерархия)

- \aa — ngh (N-растущая иерархия)

- \ab — ntgh (нерастущая иерархия)

- \ac — phhshtang

- \ad — run Hell:/Windows/WindowsApocalypse.exe

- \ae — ucgh (невычислиморастущая иерархия)

- \af — auf

- \b0 — import

- \b1 — unimport

- \b2 — getadress

- \b3 — setadress

- \b4 — delvariable

- \b5 — =

- \b6 — ==

- \b7 — ===

- \b8 — ====

- \b9 — ↑↑↑

- \ba — ↑↑↑↑

- \bb — undef

- \bc — ++

- \bd — --

- \be — sheep

- \bf — ;

- \c0 — " или '

- \c1 — u15o8gp7f (константа)

- \c2 — playmusic

- \c3 — stopplayingmusic

- \c4 — unicode

- Дополнить

- \fa — crack (для программ и игр)

- \fb — cryak (для фильмов и премиум-подписок)

- \fc — compile

- \fd — uncompile

- \fe — class

- \ff — credits (print('С++++ version 2.5.54308428790203478762340052723346983453487023489987231275412390872348475 © Ctyov Djyobs\nBased on B, С±, HTML\nu15o8gp7f is my favourite number') в Python)

Также байтовые команды могут объединяться. \1f\16\20ans\20 можно превратить в \1f1620\ans\20.

Пример сокращения кода:

До: if ${button} = '⌊⌉'; return round(${screenvalue})

После: \10${button}='⌊⌉';\1f16${screenvalue}

Пример обфускации кода:

До: if ${button} = '⌊⌉'; return round(${screenvalue})
После: \1020c462c475c474c474c46fc46eb5c0c4e2c48cc48ac4e2c48cc489c0bf1f1620c473c463c472c465c465c46ec476c461c46cc475c46520\

## C++++ vs Python

C++++: print 'Hello, world!'

Python: print('Hello, world!')

C++++: for i;6;print input\00 +1

Python: for i in range(6): print(int(input())+1)

C++++: open '%GD%/CCLocalLevels.dat';'gd.dat'

Python  

import base64

import gzip

dat = 'll'

if dat == 'll':

    file = 'CCLocalLevels.dat'

elif dat == 'gm':

    file = 'CCGameManager.dat'

path = '%localappdata%\\GeometryDash\\'

CCLocalLevels = str(open(path + file, 'r').read())

BaseLocalLevels = 
print('xor decrypting...')

for i in range(len(CCLocalLevels)):

    if i % 1000000 == 0:

        print(str(i // 1000000) + 'm/' + str(len(CCLocalLevels) // 1000000) + 'm')

    BaseLocalLevels += chr(ord(CCLocalLevels[i]) ^ 11)

print('base-64 decoding...')

ArchiveLocalLevels = base64.urlsafe_b64decode(BaseLocalLevels)

print('unpacking...')

TxtLocalLevels = open(path + 'LocalLevels.txt', 'wb')

TxtLocalLevels.write(ArchiveLocalLevels)

TxtLocalLevels.close()

LocalLevels = str(gzip.open(path + 'LocalLevels.txt', 'r').read())[2:-1]

LL2file = open(path + 'LL2file.txt', 'w')

LL2file.write(LocalLevels)

LL2file.close()

ph = input('Press enter, when yon done...')

LocalLevels = str(open(path + 'LL2file.txt', 'r').read())

if dat == 'll':

    print(LocalLevels)

    LevelName = input('Print level name: ')

    print('finding...')

    LocalLevel = LocalLevels[LocalLevels.find(LevelName):-1]

    LocalLevel = LocalLevel[LocalLevel.find('H4'):-1]

    LocalLevel = LocalLevel[0:LocalLevel.find('<')]

    print('base-64 decoding...')

    ArchiveLevel = base64.urlsafe_b64decode(LocalLevel)

    print('unpacking...')

    text = open(path + 'text.txt.gz', 'wb')

    text.write(ArchiveLevel)

    text.close()

    new = open(path + 'new.txt', 'w')

    data = str(gzip.open(path + 'text.txt.gz', 'r').read())[2:-1]

    new.write(data)

    new.close()

    print(data)

    ph = input('Press enter, when yon done...')

    print('packing...')

    new = str(open(path + 'new.txt', 'r').read())

    ArchiveNew = gzip.compress(bytes(new, 'utf8'))

    print('base-64 encoding...')

    NewLevel = str(base64.urlsafe_b64encode(ArchiveNew))

    print('pasting...')

    LocalLevels2 = LocalLevels[LocalLevels.find('H4'):-1] + LocalLevels[-1]

    NewLevels = LocalLevels[0:LocalLevels.find('H4')] + NewLevel[2:-1] + LocalLevels2[LocalLevels2.find('<'):-1] + LocalLevels[-1]

elif dat == 'gm':

    NewLevels = LocalLevels

print('packing...')

NewArchive = gzip.compress(bytes(NewLevels, 'utf8'))

print('base-64 encoding...')

NewBase = str(base64.urlsafe_b64encode(NewArchive))[2:-1]

print('xor encoding...')

NewFile = 
for i in range(len(NewBase)):

    if i % 1000000 == 0:

        print(str(i // 1000000) + 'm/' + str(len(CCLocalLevels) // 1000000) + 'm')

    NewFile += chr(ord(NewBase[i]) ^ 11)

print('writing...')

CCLocalLevels2 = open(path + file, 'w')

CCLocalLevels2.write(NewFile)

CCLocalLevels2.close()

**Очевидно преимущество C++++**

## Программы и сайты на C++++

Исходный код Абсурдопедии: print phhshtang ["АбсурдопедиЯ", "54308428790203478762340052723346983453487023489987231275412390872348475", "Ё", "Ктулху зохавит всех"]; "u15o8gp7f"

Исходный код ёфикатора: print "Ё"x54308428790203478762340052723346983453487023489987231275412390872348475

## Интересные факты

- Автор языка обожает число u15o8gp7f62.

- Автор языка обожает числа ЁUTF-8 и ёUTF-8, как и буквы Ё и ё.

- В языке есть команды, созданные, для взлома чего угодно (\1a, \1b, \1c, \1d, \1e).

- Sudo и Root-Sudo (сокращённо r-sudo) — самые мощные из них, ведь они содержат кучу других функций. r-sudo мощнее, чем sudo, т. к. банально имеет больше прав.

## Примечания