Con-Programming Languages

Substantial postings about constructed languages and constructed worlds in general. Good place to mention your own or evaluate someone else's. Put quick questions in C&C Quickies instead.
SHiNKiROU
Sanci
Sanci
Posts: 17
Joined: Sat Aug 27, 2011 10:49 pm
Location: Vancouver

Con-Programming Languages

Post by SHiNKiROU »

Ever considered creating computer programming languages for your conworld? Did you create ancestor programming language and dominant paradigms as a base for programming languages currently used in your conworld? What about the keyboard layout in your conworld?

Here is my ultra-ugly legacy programming language:

Code: Select all

C ALL CAPS DUE TO DISPLAY LIMITATIONS
C THIS IS A LINE COMMENT
C VARIABLE DECLARATIONS AND PREFIX SYMBOLS 
$STR <= "STRING VALUE"
%REAL <= 3.14
#INT <= 123
?BOOL <= 1
_VARIANT <= 1

[#]INT-ARRAY <= [#][1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]

C ASSIGNMENT AND EXPRESSIONS (SQUARES #INT AND ADDS 2)
#INT <- #(#INT * #INT + 2)
C #INT IS NOW 15131
_VARIANT <- #INT + #[_VARIANT] C VARIANTS CAN HOLD ANY TYPE, AND #[...], $[...] CAST TYPES
C _VARIANT IS NOW #[15132]

C LOOPING THROUGH ARRAYS (ZERO IS LENGTH, ONE IS FIRST)
LOOP #I FROM 1 TO #[INT-ARRAY:0] BEGIN
    C THE // OPERATOR MEANS MOD
    IF ?(#[INT-ARRAY:#I] // 2 = 0) THEN 
        [OUT #I]
    END IF
END LOOP

C HELLO WORLD
[OUTL $HELLO]
C RECTANGLE AREA: FUNCTIONS AND SUBROUTINES ARE ENCLOSED BY %[REAL-FUNC ...] $[STR-FUNC ...] AND SO ON
FUNC %[RECTANGLE-AREA %W %H] = %(ABS[%W] * ABS[%H])

C ALTERNATE WAY
SUB %[RECTANGLE-AREA %W %H] BEGIN
  RETURN %(ABS[%W] * ABS[%H])
END SUB

[OUT "ENTER THE LENGTH: "]
%LENGTH <= %[IN-REAL]
[OUT "ENTER THE WIDTH: "]
%WIDTH <= %[IN-REAL]
%AREA <= %[RECTANGLE-AREA %LENGTH %WIDTH]
C OR AS AN EXPRESSION:
C   %( RECTANGLE-AREA[$LENGTH, $WIDTH] )

[OUT $[FORMAT "THE AREA IS ?%." %AREA]]

HTML on Half Earth

Code: Select all

Title: Example Document
Section: Tests/ Examples
Keywords: example, document, heading, link
Author: Kazim T.
------------------
{1 Heading}
This is a paragraph.
This is the second line in the same paragraph.

This is another paragraph. {*bold text}, {/italic text}, {_ underline text} and a {={/home}link to home}

Inline {c code}, {k keyboard}, {ac{Three Letter Acronym} TLA}.

{2 Subheading}
This is under a subheading. \
A backslash will prevent line breaking. This is an inline image {i("../image", width=100, +proportional, +inline)}.

{p This is a paragraph and a line break{\} without syntactic sugars.}

{! This is a comment. You can use {*tags} inside comments but it's pointless.}

{c {:::
This is a code sample {*tags are not parsed}. Colons are like PHP and Perl heredocs, and they make CDATA as in XML.
:::}}

{2 Heading 2}

{2 A form}
{form("/process_form")
{vbox
{form_label}
{input_text("Username", "username",min=5,max=50)}
{input_password("Password", "username", min=5,max=50)}
{input_submit("Submit")}}}


Ithisa
Niš
Niš
Posts: 4
Joined: Mon Jun 10, 2013 3:37 pm

Re: Con-Programming Languages

Post by Ithisa »

The government controlling program in my conworld is written in a far-future dialect of Scheme, with all the keywords in my conlang. I even have an interpreter for it :P

User avatar
Aurora Rossa
Smeric
Smeric
Posts: 1138
Joined: Mon Aug 11, 2003 11:46 am
Location: The vendée of America
Contact:

Re: Con-Programming Languages

Post by Aurora Rossa »

I have thought about this since I have been planning making a conworld with advanced technology. I have always wondered what a programming language made by speakers of a polysynthetic language would look like.
Image
"There was a particular car I soon came to think of as distinctly St. Louis-ish: a gigantic white S.U.V. with a W. bumper sticker on it for George W. Bush."

User avatar
Burke
Lebom
Lebom
Posts: 184
Joined: Mon Jan 21, 2013 1:55 am
Location: Red Sox

Re: Con-Programming Languages

Post by Burke »

I'm probably going to have to make this actually happen in an upcoming class...
Formerly a vegetable

User avatar
Soap
Smeric
Smeric
Posts: 1228
Joined: Sun Feb 16, 2003 2:57 pm
Location: Scattered disc
Contact:

Re: Con-Programming Languages

Post by Soap »

I dont know if this will interest you, but I might as well write it down for my own reference before I forget it all. Yes it sounds ridiculous but keep in mind I was six years old when I started with this concept and didn't really give it up until my early 20's. Writing this out got way longer than I expected, so if there was some way to hide the text in a collapse box I would. This is more about politics than programming, and doesnt even really make the distinction between a programming language and an operating system, but in this world I think the two things would actually be one.

I came up with two OS's used by rival empires, and since they each had full top-down control over all the software that ran on their computers, they each had one (and only one) programming language to go with them. They were known as Lilahaa and Kulapila in Andanese, used by empires that for now I'll also call Lilahaa and Kulapila for ease of understanding. I've carried these names through as Žirša and Turpera in Poswa, and Irasa and Wurabera in Pabappa, which makes no sense because Poswa and Pabappa were spoken thousands of years before computers were invented, but I did it because I figured I could explain the names as being named after famous people from even further back in the past that got passed down in the languages as if they were normal words. In my notes Kulapila is defined as an OS "reminiscent of ProDOS". Also Kulapila is very close to the word for "step, stair", so privately I've thought of it as being analogous to NeXTstep.

Anyway the concepts of the OS's themselves are very childish, in that Lilahaa is almost 100% perfect and Kulapila is basically a parody of every wrong decision made by Apple and Microsoft, combined, with no good features at all. Particularly the supposedly "user friendly" ideas that were aimed at making computers easier to use for casual users but ended up making it worse for everyone, including casual users. Whereas Lilahaa was essentially a "raw" OS that was aimed only at experts, and was far superior in performance to Kulapila in every way, and the people who used it were patriotic enough to learn how to use it the expert way, even if they had no general interest in computers. Thus all the groups in Lilahaa society that stereotypically are useless with computers were at a level beyond even the best of the Kulapilans, since Kulapila essentially made it impossible to be a computer expert by controlling everything from the top down at the highest level.

However, in the early years, "in the 20's" (I forget which century (maybe 3900’s?)), Kulapila's "make it easy" approach actually succeeded. Lilahaa expected to win in the long run, but knew that they would have to begin the war as the underdog. But they were up front with their citizens about the fact that they were using (for now) inferior technology, whereas Kulapila tried to hide the truths about those few things in Lilahaa that were superior even in the 20's, such as greater power for individual users.

Soon Kulapila became unbelievably perverse. Conflcit arose within the company about which direction to take the operating system, with one side sabotaging the efforts of the other at no gain to themselves and increasing costs to the customer. Even though they still had vastly superior resources, they began to fall behind Lilahaa in certain areas and again tried to hide this from their customers. Backdoors were built into the OS allowing the government to take full control of any citizen’s computer, even to the point of having them buy things online to raise more money for the government. A clock-like device with a numeric currency display was provided to each citizen to show how much money the government had cost them so far each day. The computers were also made to be easy to destroy, so that if the government wanted people to buy more computers they would send out a virus that would cause the computers to physically self-destruct. However the “debt meter” was not possible to destroy, and would continue to add up more money owed even when it wasn’t attached to a working computer.
By the middle of the 30’s, Kulapila was so bad that citizens were secretly buying up old computers from the 20’s since they were easier to use even though they had to keep on buying the new computers as well to satisfy the government’s insistence that everyone own a modern computer. Meanwhile, the Kulapila government ran itself mostly on computers from Lilahaa, since they were unable to produce anything of their own that was capable of running such a large nationwide network. Lilahaa programmers knew this, and periodically sent out viruses and other attacks to the few non-Lilahaa computers in order destroy the Kulapila government, as well as a few secret backdoors in Lilahaa itself. But Kulapila hired an army of programmers to write antivirus programs to fight off the Lilahaa programmers, and used these virus attacks as an excuse to their citizens for why the new computers ran so poorly. Antivirus programs were illegal for common citizens because the government had no way of designing one that could not also be used to keep out the government spies. (Generally viruses written by Lilahaa disguised themselbes as the Kulapila government, so any antivirus program designed by the Kulapila government would have to allow such viruses access anyway.) Thus the citizens of Kulapila were attacked by viruses both from Lilahaa’s children playing around and their own government deliberately targeting them. Meanwhile, Kulapila never attacked Lilahaa with viruses, because they knew that Lilahaa was immune to viruses because the Lilahaa government did not demand full control of its users’ computers.

Because of the way the software was designed, it generally was not possible to fix bugs in the software, only to write new software that fights teh bugs even if it also adds some bugs of its own. For example, since Kulapila could not read files larger than about 11 MB, when it became necessary to allow larger files to be created, the programmers came up with the idea of splitting files up into 11 MB chunks and creating a new type of file manager that displayed the groups as if they were a single file. The Kulapila of the 20’s had been a mostly textual interface, but GUI features were added throughout the 30’s to make it easier to use. But the programmers were never able to remove the underlying layers, so much like Windows 95/8 a lot of seemingly graphical programs would launch with a console in the upper left corner of the screen that was quickly hidden as if to pretend it were not real. This limitation affected both OS’s equally, but affected Kulapila in much worse ways because of the infighting and general aimlessness of the Kulapila programmers, such that most of the computer’s resources were spent on fighting different programs in the OS that were trying to delete each other. Sometimes a programmer being fired would deliberately add a virus to the OS that would only activate much later on, long after he was gone. Often a computer would encounter an error that required the user to press a certain key to bypass, and the person would have to call a technician who would come by with a special keyboard that had that key on it, press the key, and leave.

Kulapila realized now its product was vastly inferior, even without the government spying on its citizens, but continued to spend ever more money advertising to its people about how superior it supposedly was. In the early 40s, the Lilahaa government made a list of ways in which the Kulapila software was still arguably superior and exceeded all of them by wide margins in the next release of Lilahaa.

Eventually the situation got so bad that Kulapila realized they needed to start from scratch on a new OS that would work properly for everyone, even if it meant giving up total control. All of their code was contaminated now, so they made a new OS called People of the Meteors (Testapta). They were 30 years behind on programming, but still had roughly comparable hardware resources. At first the new OS was given to only a few people, since giving it to everyone would put the government’s hold on power at risk. In order to keep old software running properly, the programmers decided that every Testapta computer would come with a fully working Kulapila computer running its own OS, and to keep developing Kulapila as a side project even though it would only run within a window attached to the side of the Testapta monitor.

Lilahaa was scared that they might have a real enemy for the first time in almost 30 years, so they copied the source code of Testapta into Lilahaa and began to adopt some of its features in order to keep its own OS ahead in the race. Perversity was beginning to creep out from within the ranks of the Lilahaa government, as well, and for the same reasons; Lilahaa had been so much more successful than its competitor that the programmers realized nothing they did wrong would hurt them at all and they gave up trying to make anything more than incremental improvements to keep their bosses happy. A war of purity erupted in Lilahaa, with the programmers favoring adopting the Testapta source code fighting against those who did not. Eventually the pro-Testapta people won out, and Testapta itself took this as a sign that perhaps cooperation was the best way forward, even though the two empires were still at war.
Sunàqʷa the Sea Lamprey says:
Image

xybre
Niš
Niš
Posts: 6
Joined: Sun Aug 11, 2013 11:37 pm

Re: Con-Programming Languages

Post by xybre »

Interesting idea. I pretty much split my time thinking about conlang and building a real programming language, so it would make sense to join the two.

Declan
Lebom
Lebom
Posts: 107
Joined: Wed Jul 18, 2007 10:55 pm

Re: Con-Programming Languages

Post by Declan »

Aurora Rossa wrote:I have thought about this since I have been planning making a conworld with advanced technology. I have always wondered what a programming language made by speakers of a polysynthetic language would look like.
I really like that idea, though I find it hard to see how it influence: I suppose it could be argued that object-orientated languages are agglutinative anyway and something like printf could be seen as being similiar to object agreement. However, with strictly enforced naming conventions (e.g. start variables with $, numbers with 0r, functions with _ or whatever) something like $a0d1_+ might be more likely in a polysynthetic programming language, though maybe that would be more likely in a logographic programming language (perhaps with one-symbol variable names).

A programming language and input system designed from the ground up for various types of writing systems seems like a fascinating project to me actually! It was very easy for early character sets when the Roman alphabet was used, independently invented Chinese computing would be interesting! Though perhaps, independently invented Korean computing would have been more interesting because you would be faced with the trade-off between being able to algorithmically determine syllable blocks (at the expense of valuable computing time) compared to storage of all the possibilities. You would also have the problems of fonts: simple and small bitmap fonts were perfectly sufficient for the Roman alphabet, but not so for even a subset of Chinese.
[quote]Great wit and madness near abide, and fine a line their bounds divide.[/quote]

bulbaquil
Lebom
Lebom
Posts: 242
Joined: Fri Nov 17, 2006 2:31 pm

Re: Con-Programming Languages

Post by bulbaquil »

The conculture's off-computer mathematical notation would need to be taken into account as well - in most programming languages, we type something like "if (x < y)" rather than "if x is (strictly) less than y".

This may present its own localization challenges if your conworld does not have a universally accepted mathematical notation.
MI DRALAS, KHARULE MEVO STANI?!

User avatar
marconatrix
Lebom
Lebom
Posts: 234
Joined: Sun Apr 09, 2006 4:29 pm
Location: Kernow
Contact:

Re: Con-Programming Languages

Post by marconatrix »

Somewhere out there there is or was a Klingon version of Forth. Sorry, forget what it was called.
Kyn nag ov den skentel pur ...

Tanni
Niš
Niš
Posts: 13
Joined: Fri Jan 07, 2011 11:08 am

Re: Con-Programming Languages

Post by Tanni »

marconatrix wrote:Somewhere out there there is or was a Klingon version of Forth. Sorry, forget what it was called.
Googling yields var'aq – A language based on the constructed Klingon language of Star Trek.
An extended and updated version of Mentors and Students concept is available here.

Aldwinkle
Sanci
Sanci
Posts: 39
Joined: Sat Jul 18, 2009 7:28 pm

Re: Con-Programming Languages

Post by Aldwinkle »

If you want weird programming languages, you can look here :

http://esolangs.org/wiki/Main_Page

Though be aware that most of them are either joke languages or variations on Brainfuck, but there are a lot of interesting programming paradigms represented here.

User avatar
WeepingElf
Smeric
Smeric
Posts: 1630
Joined: Wed Mar 08, 2006 5:00 pm
Location: Braunschweig, Germany
Contact:

Re: Con-Programming Languages

Post by WeepingElf »

One day, I'll perhaps come up with an exceedingly ugly and bureaucratic programming language named COMSOMOL, which would make COBOL look elegant in comparison. However, I haven't even started working out the language, and also don't know yet what the acronym COMSOMOL stands for.
...brought to you by the Weeping Elf
Tha cvastam émi cvastam santham amal phelsa. -- Friedrich Schiller
ESTAR-3SG:P human-OBJ only human-OBJ true-OBJ REL-LOC play-3SG:A

User avatar
Pole, the
Smeric
Smeric
Posts: 1606
Joined: Sat Feb 11, 2012 9:50 am

Re: Con-Programming Languages

Post by Pole, the »

Aldwinkle wrote:If you want weird programming languages, you can look here :

http://esolangs.org/wiki/Main_Page

Though be aware that most of them are either joke languages or variations on Brainfuck, but there are a lot of interesting programming paradigms represented here.
http://esolangs.org/wiki/SyL :P
WeepingElf wrote:One day, I'll perhaps come up with an exceedingly ugly and bureaucratic programming language named COMSOMOL, which would make COBOL look elegant in comparison. However, I haven't even started working out the language, and also don't know yet what the acronym COMSOMOL stands for.
COmmon Metaprogramming Structured Objective Module-Oriented Language.
The conlanger formerly known as “the conlanger formerly known as Pole, the”.

If we don't study the mistakes of the future we're doomed to repeat them for the first time.

User avatar
WeepingElf
Smeric
Smeric
Posts: 1630
Joined: Wed Mar 08, 2006 5:00 pm
Location: Braunschweig, Germany
Contact:

Re: Con-Programming Languages

Post by WeepingElf »

Pole wrote:
WeepingElf wrote:One day, I'll perhaps come up with an exceedingly ugly and bureaucratic programming language named COMSOMOL, which would make COBOL look elegant in comparison. However, I haven't even started working out the language, and also don't know yet what the acronym COMSOMOL stands for.
COmmon Metaprogramming Structured Objective Module-Oriented Language.
Nah, it is not at all object-oriented, modular or anything, not even block-structured! It is worse than even COBOL in these regards: flow control is handled by pointer arithmetics. And I now have a name for it:

COMpletely SOphoMOric Language
...brought to you by the Weeping Elf
Tha cvastam émi cvastam santham amal phelsa. -- Friedrich Schiller
ESTAR-3SG:P human-OBJ only human-OBJ true-OBJ REL-LOC play-3SG:A

User avatar
Chuma
Avisaru
Avisaru
Posts: 387
Joined: Sat Oct 28, 2006 9:01 pm
Location: Hyperborea

Re: Con-Programming Languages

Post by Chuma »

I occasionally try my hand at making programming languages, mostly when I get annoyed by the existing ones, which is basically the same thought process that inspires me to make normal conlangs, or most other art forms for that matter.

Since my main conlang is syntactically unambiguous, it's already a good start towards some kind of programming language. I've also made an interpreter for it - type things in the conlang, watch them happen on the screen - but it's hardly programming.

I do think a few things would be different if my conpeople invented a programming language; for one thing, they would probably have strict prefix notation ("+ 1 2" rather than "1 + 2").

User avatar
Particles the Greek
Lebom
Lebom
Posts: 181
Joined: Tue Sep 17, 2013 1:48 am
Location: Between clauses

Re: Con-Programming Languages

Post by Particles the Greek »

Con-programming languages? Pffft. I create my own con-microprocessors, complete with con-assembly languages!
Non fidendus est crocodilus quis posteriorem dentem acerbum conquetur.

User avatar
Morrígan
Avisaru
Avisaru
Posts: 396
Joined: Thu Sep 09, 2004 9:33 am
Location: Wizard Tower

Re: Con-Programming Languages

Post by Morrígan »

Not a programming language, but a friend of mine once proposed developing an Insecure Socket Layer protocol, and the accompanying Insecure Shell. Commands are in lolspeak.

Tanni
Niš
Niš
Posts: 13
Joined: Fri Jan 07, 2011 11:08 am

Re: Con-Programming Languages

Post by Tanni »

araceli wrote:Con-programming languages? Pffft. I create my own con-microprocessors, complete with con-assembly languages!
It's quite easy to do this in VHDL and run them on an FPGA.
An extended and updated version of Mentors and Students concept is available here.

User avatar
Particles the Greek
Lebom
Lebom
Posts: 181
Joined: Tue Sep 17, 2013 1:48 am
Location: Between clauses

Re: Con-Programming Languages

Post by Particles the Greek »

Tanni wrote:
araceli wrote:Con-programming languages? Pffft. I create my own con-microprocessors, complete with con-assembly languages!
It's quite easy to do this in VHDL and run them on an FPGA.
Not in balanced ternary it isn't :-D
Non fidendus est crocodilus quis posteriorem dentem acerbum conquetur.

User avatar
Morrígan
Avisaru
Avisaru
Posts: 396
Joined: Thu Sep 09, 2004 9:33 am
Location: Wizard Tower

Re: Con-Programming Languages

Post by Morrígan »

araceli wrote:
Tanni wrote:
araceli wrote:Con-programming languages? Pffft. I create my own con-microprocessors, complete with con-assembly languages!
It's quite easy to do this in VHDL and run them on an FPGA.
Not in balanced ternary it isn't :-D
Make it run in a VM. Malbolge runs in a ternary VM.

Gojera
Lebom
Lebom
Posts: 96
Joined: Sun May 22, 2011 8:46 pm

Re: Con-Programming Languages

Post by Gojera »

I've always loved the parallel between Polish notation is Lisp and VSO languages. It seems much more logical, to me. If I was making a conlang with a con-programming language, that's what I'd do.

User avatar
Rhetorica
Avisaru
Avisaru
Posts: 271
Joined: Sun Nov 03, 2013 3:33 pm

Re: Con-Programming Languages

Post by Rhetorica »

Gojera wrote:I've always loved the parallel between Polish notation is Lisp and VSO languages. It seems much more logical, to me. If I was making a conlang with a con-programming language, that's what I'd do.
...to slightly necropost—that same realization is how I became serious about conlanging. Some people have taken this concept to extremes, resulting in this purple-fuming horror of unearthly eldritch beauty.

User avatar
Particles the Greek
Lebom
Lebom
Posts: 181
Joined: Tue Sep 17, 2013 1:48 am
Location: Between clauses

Re: Con-Programming Languages

Post by Particles the Greek »

Rhetorica wrote:
Gojera wrote:I've always loved the parallel between Polish notation is Lisp and VSO languages. It seems much more logical, to me. If I was making a conlang with a con-programming language, that's what I'd do.
...to slightly necropost—that same realization is how I became serious about conlanging. Some people have taken this concept to extremes, resulting in this purple-fuming horror of unearthly eldritch beauty.
I presume you've seen the Esoteric Programming Languages wiki? There's stuff like this on it.

(thinks) Maybe it's possible to create a programming language which works like a conlang?
Non fidendus est crocodilus quis posteriorem dentem acerbum conquetur.

User avatar
Pthagnar
Avisaru
Avisaru
Posts: 702
Joined: Fri Sep 13, 2002 12:45 pm
Location: Hole of Aspiration

Re: Con-Programming Languages

Post by Pthagnar »


spidermilk
Sanci
Sanci
Posts: 16
Joined: Fri Sep 05, 2014 4:16 pm
Location: Knoxville TN (Try to control your envy.)

Re: Con-Programming Languages

Post by spidermilk »

A programming language based on a conlang with logograms would be pretty interesting.
Economic Left/Right: -5.38
Social Libertarian/Authoritarian: -1.33

Post Reply