I'm skeptical that this should really be considered a distinct programming language. Using XText to map a few grammars with MWE doesn't really "count" IMO because XText is intended for the construction of Domain-Specific languages, not general ones.
Technically yes, since it is going to have a compiler in Java (to compile source files). But, if you can somehow compile it elsewhere; you pretty much don't need it.
Based on what I can see, I think it would be great for people just starting out in programming. The syntax makes sense when you read it out loud, unlike almost every other language. The only thing is that it doesn't really have any functionality that Java doesn't have, so I don't see any proficient programmers switching to this language.
Beginners don't need easier syntax, they need a more straightforward, more procedural, and less complex language. Learning your language is practically learning Java with a different syntax, so it's no easier than learning Java itself.
Yea, and if you're going to put the work in the learn the language anyway may as well learn Java directly. A custom made language won't have the wealth of helpful information on the net to look through when you have problems or questions and you can't put it on your resume to any useful effect.
It's also worth noting that trying to make code literally look more like English usually makes it harder to understand (see: SQL, COBOL, etc.), not easier. Good documentation is the correct way to infuse code with plain English.
A Programming language is designed for people, but it is designed for people to communicate instructions to a computer; "Human" languages are intended for communication between one human to another; they easily adapt well to use as a programming language because they are imprecise and rely on human thought/intuition. A Writing in an English-like programming language would be an exercise in adding more and more adjectives. "Send Power to Hydraulic ram" seems straightforward to us- send power to the hydraulic piston. A Computer trying to run that code might just say "No nearby swimming sheep to control." (ok, that's an exaggerated example...)
That said, writing the parser/interpreter or compiler for your own programming language is an excellent learning exercise. I don't think you get the full learning benefit if you use tools like the ones used here (or things like lexer/yacc).
The Meaning of Life, the Universe, and Everything.
Location:
In my TARDIS
Join Date:
9/2/2015
Posts:
71
Location:
In my TARDIS
Minecraft:
TheCool1James
Member Details
Ok, time to crash this 1-year-old inactive thread.
For a real challenge, you should incorporate functional programming into your language.
Like lambda expressions
You should look into lambda calculus and pi calculus too!
I have created a object orientated programming language, and wondering if the syntax is good and simple.
Update 1/28/2016
This programming language has full interoperability with Java. All Java libraries are compatible with this language.
I'm trying to make this language as easy to be read as possible. I'm borrowing some things from Lua, which has the end keyword.
I'll be posting new screenshots soon, since I have made improvements to it.
Just posted a new screenshot, please view the main post to see the details.
I'm skeptical that this should really be considered a distinct programming language. Using XText to map a few grammars with MWE doesn't really "count" IMO because XText is intended for the construction of Domain-Specific languages, not general ones.
I'm building a DSL using ANTLR. I'm just designing it in XText.
Making this DSL like a scripting language for Java.
Will it require Java to run?
Technically yes, since it is going to have a compiler in Java (to compile source files). But, if you can somehow compile it elsewhere; you pretty much don't need it.
Based on what I can see, I think it would be great for people just starting out in programming. The syntax makes sense when you read it out loud, unlike almost every other language. The only thing is that it doesn't really have any functionality that Java doesn't have, so I don't see any proficient programmers switching to this language.
Let's do some math.
1/3 = 0.333...
1/3 * 3 = 1
0.333... * 3 = 0.999...
1 = 0.999...
1 - 0.999... = 0.999... - 0.999...
0.0...1 = 0
0.0...1 * 10... = 0 * 10...
1 = 0
So you modified Java syntax to have more keywords and an imperative voice? Okay, cool, but why?
For beginners.
Yea, and if you're going to put the work in the learn the language anyway may as well learn Java directly. A custom made language won't have the wealth of helpful information on the net to look through when you have problems or questions and you can't put it on your resume to any useful effect.
It's also worth noting that trying to make code literally look more like English usually makes it harder to understand (see: SQL, COBOL, etc.), not easier. Good documentation is the correct way to infuse code with plain English.
A Programming language is designed for people, but it is designed for people to communicate instructions to a computer; "Human" languages are intended for communication between one human to another; they easily adapt well to use as a programming language because they are imprecise and rely on human thought/intuition. A Writing in an English-like programming language would be an exercise in adding more and more adjectives. "Send Power to Hydraulic ram" seems straightforward to us- send power to the hydraulic piston. A Computer trying to run that code might just say "No nearby swimming sheep to control." (ok, that's an exaggerated example...)
That said, writing the parser/interpreter or compiler for your own programming language is an excellent learning exercise. I don't think you get the full learning benefit if you use tools like the ones used here (or things like lexer/yacc).
Ok, time to crash this 1-year-old inactive thread.
For a real challenge, you should incorporate functional programming into your language.
Like lambda expressions
You should look into lambda calculus and pi calculus too!
Stay awesome!