Author Topic: Anyone ever created their own language?  (Read 2627 times)

Offline bavariyn

  • New Linguist
  • *
  • Posts: 1
Anyone ever created their own language?
« on: March 25, 2016, 11:47:41 PM »
Hello members,

I've been looking for a place where I could finally talk a little bit about my greatest passion with people who are actually interested in languages. I am giving this forum a chance...

I love to learn and study the real languages in the real world and I am actually studying translation. However, my greatest creative personal project is developing my own artificial language that I created many years ago and that is still alive. It is, however, not just some "child language" or English with weird fantasy words.

It was originally based on French but has been highly influenced by virtually any other language I have dealt with in the course of time, especially Russian, Portuguese and Hungarian. It has its distinct morphology, sytax and orthography. Words are usually taken from other languages but always adapted to fit the exisitng patterns.

I would love to talk about it with somebody who would like to know more about it and I would be even happier if there were anybody who did something similar who could present their "works".

Ehperà keiyncon anceríhrrào é s'ix pà s'im tirnào aim paixom!  :D

Offline Daniel

  • Administrator
  • Experienced Linguist
  • *****
  • Posts: 1801
  • Country: us
    • English
Re: Anyone ever created their own language?
« Reply #1 on: March 26, 2016, 05:39:30 PM »
Hi Bavariyn,

What you're talking about is known as conlanging (from conlang < constructed language), and there are many forums online to talk about it. Not that you wouldn't be welcome here to talk about linguistic issues like the features of the languages you based yours on or questions about how certain grammatical properties work in general.
Welcome to Linguist Forum! If you have any questions, please ask.

Offline FlatAssembler

  • Linguist
  • ***
  • Posts: 84
  • Country: hr
    • Croatian
    • FlatAssembler's Homepage
Re: Anyone ever created their own language?
« Reply #2 on: January 06, 2019, 09:11:51 AM »
Well, I've recently created my own programming language. The compiler is written in JavaScript and C, using the Duktape framework (which is not intended to be used that way at all, but it obviously can be). That language transpiles into x86 assembly. Here are one of the first programs I've written in it:
Code: [Select]
;Advanced example: implementing the permutation algorithm.
AsmStart
    debug=0
macro pushIntToStack x
{
sub esp,4
fld dword [x]
fistp dword [esp]
}
macro pushPointerToStack x
{
sub esp,4
lea ebx,[x]
mov [esp],ebx
}
macro pushStringToStack x
{
sub esp,4
mov dword [esp],x
}
format PE console
entry start

include 'win32a.inc'

section '.text' code executable
start:
jmp enterNumber$
enterNumber db "Enter a whole number (1 - 1'000'000).",10,0
enterNumber$:
pushStringToStack enterNumber
call [printf]
pushPointerToStack original
jmp floatSign$
floatSign db "%f",0
floatSign$:
pushStringToStack floatSign
call [scanf]
jmp permutationString$
permutationString db "The permutations of its digits are:",10,0
permutationString$:
pushStringToStack permutationString
call [printf]
AsmEnd
numberOfDigits:=0
i:=0
While i<10
countDigits[i]:=0
i:=i+1
EndWhile
While original>0
numberOfDigits:= numberOfDigits + 1
lastDigit:= mod( original , 10 )
countDigits[ lastDigit ]:=countDigits( lastDigit ) + 1
original:= (original - lastDigit) / 10
EndWhile
AsmStart
if debug=1
AsmEnd
i:=0
While i<10
subscript:=4*i
AsmStart
fld dword [subscript]
fistp dword [subscript]
mov ebx,[subscript]
pushIntToStack (countDigits+ebx)
pushStringToStack integerSign
call [printf]
AsmEnd
i:=i+1
EndWhile
AsmStart
pushStringToStack newLineString
call [printf]
AsmEnd
AsmStart
end if
AsmEnd
topOfMyStack:=1
myStack[(numberOfDigits+1)]:=0
While topOfMyStack>0
currentNumberOfDigits:=myStack ( topOfMyStack * ( numberOfDigits + 1 ) )
i:=0
While i<currentNumberOfDigits
currentNumber(i):=myStack ( topOfMyStack * ( numberOfDigits + 1 ) + ( i + 1 ) )
i:=i+1
EndWhile
AsmStart
if debug=1
AsmEnd
i:=0
While i<currentNumberOfDigits
subscript:=i*4
AsmStart
fld dword [subscript]
fistp dword [subscript]
mov ebx,[subscript]
pushIntToStack (currentNumber+ebx)
pushStringToStack integerSign
call [printf]
AsmEnd
i:=i+1
EndWhile
AsmStart
pushStringToStack newLineString
call [printf]
AsmEnd
AsmStart
end if
AsmEnd
topOfMyStack:=topOfMyStack-1
If currentNumberOfDigits=numberOfDigits
i:=0
While i<numberOfDigits
subscript:=i*4
AsmStart
fld dword [subscript]
fistp dword [subscript]
mov ebx,[subscript]
pushIntToStack (currentNumber+ebx)
pushStringToStack integerSign
call [printf]
AsmEnd
i:=i+1
EndWhile
AsmStart
pushStringToStack newLineString
call [printf]
AsmEnd
Else
i:=0
While i<10
counter:=0
j:=0
While j<currentNumberOfDigits
If currentNumber(j)=i
counter:=counter+1
EndIf
j:=j+1
EndWhile
If counter<countDigits(i)
topOfMyStack:=topOfMyStack+1
myStack(topOfMyStack*(numberOfDigits+1)):=currentNumberOfDigits+1
j:=0
While j<currentNumberOfDigits
myStack(topOfMyStack*(numberOfDigits+1)+(j+1)):=currentNumber(j)
j:=j+1
EndWhile
myStack (topOfMyStack * (numberOfDigits + 1) + (j + 1) ) := i
EndIf
i:=i+1
EndWhile
EndIf
EndWhile
AsmStart
invoke system,_pause
invoke exit,0

_pause db "PAUSE",0
integerSign db "%d",0
newLineString db 10,0

section '.rdata' readable writable
original dd ?
result dd ?
lastDigit dd ?
numberOfDigits dd ?
countDigits dd 11 dup(?)
subscript dd ?
myStack dd 1000 dup(?)
topOfMyStack dd ?
counter dd ?
i dd ?
currentNumber dd 11 dup(?)
currentNumberOfDigits dd ?
j dd ?


section '.idata' data readable import
library msvcrt,'msvcrt.dll'
import msvcrt,printf,'printf',system,'system',exit,'exit',scanf,'scanf'
AsmEnd
You can download the source code of the compiler and the instructions on how to compile it here:
http://flatassembler.000webhostapp.com/Duktape.zip
I've created that language to be as easy to integrate with assembly as possible. The assembly code C compilers have to produce (trying to declare variables themselves, to manage stack themselves...) has to be almost completely rewritten if you are using a different assembly language compiler.
It's more of a toy than a useful language right now (though I think even what I've made now can help if you are forced to write some algorithms in assembly, an equivalent assembly language program would be around three times as long as the program I just posted), however, and I don't have time to continue developing it. Nevertheless, I can use that as a proof that I understand how programming languages work.  :)

Offline panini

  • Linguist
  • ***
  • Posts: 144
Re: Anyone ever created their own language?
« Reply #3 on: January 06, 2019, 11:38:36 AM »
My main recommendation for people hoping to construct a language is, get a clear understanding of what you're trying to accomplish, and perhaps what you're trying to avoid. For example, some people are enamored of "simplicity", so them invent a language with very few words, very short words and very few sounds (all trivial to pronounce), and then they can't say simple things like "my new white reindeer likes chasing your 3-legged skink". Or, it ends up being really ambiguous, like "big animal like a cow but not actually cow and I own the thing likes to walk very quickly towards small animal like flat dry frog...". Do you want it to be particularly bizarre (a popular theme in sci-fi versions of conlanging) thus challenging from a human perspective? Assuming you know a bit of Hungarian, are you hoping to avoid the phonological alternations of Hungarian, or are you hoping to enhance them?