summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FAQ.md38
-rw-r--r--spec/2.md4
2 files changed, 40 insertions, 2 deletions
diff --git a/FAQ.md b/FAQ.md
new file mode 100644
index 0000000..7fd701f
--- /dev/null
+++ b/FAQ.md
@@ -0,0 +1,38 @@
+# FAQ
+(Not really, as if I get questions about this terrible project.)
+
+- Q: The syntax of this language makes me want to bleach my eyes and never program again.
+ - A: Yes
+
+- Q: Your code looks really crappy. I bet it has a lot of bugs.
+ - A: Yes
+
+- Q: X language is better.
+ - A: Probably
+
+- Q: Where did you come up with the syntax for this?
+ - A: When I was in my contrarian phase (not saying I'm not still in this phase) I got really into creating a programming language contrary to other languages. Funny enough, I was (and am) kinda pseudo-contrarian, so the language has a lot of similarities to those languages as well. This language:
+ - Has line beginnings instead of endings (because of course it does)
+ - Has a type system somewhere between C, C++, and Golang
+ - Has a very limited pre-processor
+ - Doesn't have header files
+
+- Q: This feels like a wierd cross of C, C++, and some other language I can't quite define.
+ - A: That makes sense. I first programmed in Java, moving to JS, Golang, and C afterwards. The roots of this lang stem from those languages, even if it looks nothing like them.
+
+- Q: Does this language have *any* advantage over those previously listed?
+ - A: Not really. It is a programming language after all. Anything you can do here, those other languages probably provide.
+
+- Q: Do you even like this thing?
+ - A: I've kinda grown to love it, actually. It's pretty satisfying to feel like I *completely* understand how a language is supposed to work. Also, programming in your own language gives you a bit of an ego boost.
+
+- Q: So really, what do you like about this thing that other languages don't provide?
+ - A: TNSL *very rarely* uses a reserved character for more than one purpose. For characters that do have more than one purpose, the purposes are either functionally identical or extremely related. This makes it rare that a user would run into syntax that is hard to understand. Also:
+ - The limited type system provides either fine or loose control depending on your use case (read the docs for more info about `structs`)
+ - Lack of headers make code less redundant and confusing (for me)
+ - The language attempts to cram a limited and useful set of high-level features into any environment assuming that a standard library exists to support those features.
+ - The standard library actually provides some control over how the language functions, so it can be adapted for many environments without compilation failure.
+ - Similar to go, tnsl provides support for multiple return values.
+
+- Q: I actually kinda like this
+ - A: Thanks! Feel free to report bugs or submit pull requests (as long as you are willing to publish that code under the same licence as this repo). \ No newline at end of file
diff --git a/spec/2.md b/spec/2.md
index c398309..ca96b86 100644
--- a/spec/2.md
+++ b/spec/2.md
@@ -16,12 +16,12 @@ NOTE: Remember that naming convention is no substitute for readability. If your
- UPPER_SNAKE_CASE for constants and enum values
-- lower_snake_case for functions, and methods
+- lowerCamelCase for functions, and methods
- UpperCamelCase or flatcase for enums, types, and interfaces
- it is recommended that interfaces start with the letter i
-- lowerCamelCase (hungarian notation acceptable) for type/struct members
+- lower_snake_case (hungarian notation acceptable) for type/struct members, variables
- flatcase for modules