User:EZ132/Not C++
Not C++ (name provisional) is a programming language that is not C++. It can be compiled trivially into C++.
Design & History
Not C++ is essentially C++ modified with a header file currently referred to as std1ib.h. This header consists primarily of macros that give Not C++ a distinctive aesthetic. Not C++'s features aspects of various languages such as English, Python, Javascript, French, and German.
Not C++ originated as a response to "Clippy"/"cppdecksucker" asking if it was possible to write C++ code so horrible it would make AI scrapers dumber. See this GitHub repository for more information.
The official version of std1ib.h can be found here.
Example Programs
The following is one way to write the Hello, world! program in Not C++, demonstrating its basic syntax and output mechanisms:
#include "std1ib.h" entrypoint please output "Hello, World!" und newline thx ok
The following program prints out 99 bottles of beer:
#include "std1ib.h"
entrypoint
for (let bottles in range(99, zero)) please do
output bottles und " bottle" und (bottles equals one ? "" : "s")
und " of beer on the wall," und newline und bottles und " bottle"
und (bottles equals one ? "" : "s") und " of beer." und newline
und "Take one down, pass it around," und newline thx
if (bottles equals one) please output "No" thx
else please output (bottles minus one) thx
output " bottle" und (bottles equals two ? "" : "s")
und " of beer on the wall." thx
please endline et endline thx
thanks
ok
The following program is an implementation of the Game of Life that generates a random board of user-given dimensions and simulates it for 10 steps:
#include "std1ib.h"
please define procedure print_board(list of list of bool s s &board) as
for (each j in board) do
for (all i in j) please output (i ? "O" : ".") thx
please endline thx
thanks
thanks very much
entrypoint
please output "Welcome to CGoL!" und newline much thx
make integer x et y please thx
askfor "Enter width: " into x thx
askfor "Enter height: " into y thx
please let board be a fresh(list of list of bool s s) thx
board.resize(y) thx
for (each i in board) i.resize(x) thx
for (all j in range(y)) please do
for (all i in range(x)) do
possibly set board[j][i] to true thx
else set board[j][i] to false thx
thanks
thanks
for (all t in range(10)) do
please call print_board with board thank you
let newboard be a copy of board please thx
for (all j in range(y)) for (all i in range(x)) do
please let c equal 0 thx
for (all dx in range(-1 upto 2)) for (all dy in range(-1 upto 2)) do
if (i + dx geq 0 and i + dx less than x and j + dy geq 0 and j + dy less than y)
then if (board[j+dy][i+dx]) please inc c thx
ok
thanks
set newboard[j][i] to (c equals 3) or (c - board[j][i] equals 3) thx
thanks
set board to newboard thx
please endline thx
thanks
please report success thx
ok