Skip to content

Commit 056d652

Browse files
Language basics: Add syntax/style, naming, scoping, package management, error handling, and variable declarations
1 parent 3ad138f commit 056d652

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

web/thesauruses/_meta/language_basics.json

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,19 @@
1919
},
2020
"Execution Method": {
2121
"compiled_language": "Language is translated into machine code or an intermediate form by a compiler before execution",
22-
"interpreted_language": "Language is executed line by line by an interpreter at runtime withot a separate compilation step"
22+
"interpreted_language": "Language is executed line by line by an interpreter at runtime without a separate compilation step"
2323
},
2424
"Application Domain": {
2525
"general_purpose_language": "Language is designed to be versatile and applicable to a wide range of tasks and applications",
2626
"domain_specific_language": "Language is designed to address specific application domains or industries"
2727
},
28+
"Syntax and Style": {
29+
"case_sensitive": "Language distinguishes between uppercase and lowercase characters in identifiers",
30+
"case_insensitive": "Language does not distinguish between uppercase and lowercase characters in identifiers",
31+
"significant_whitespace": "Indentation or whitespace has semantic meaning in the language",
32+
"insignificant_whitespace": "Indentation or whitespace does not have semantic meaning, often using braces or other delimiters",
33+
"statement_terminators": "The characters or methods used to signal the end of a statement (e.g., semicolons, newlines)"
34+
},
2835
"Memory Management": {
2936
"manual_management": "Languages where memory has to be managed by the programmer manually",
3037
"automatic_management": "Languages with an extensive support of automatic memory management"
@@ -35,6 +42,26 @@
3542
"third_generation": "High-level programming languages designed for general-purpose software development, offering a higher level of abstraction and greater ease of use compared to low-level languages like assembly.",
3643
"fourth_generation": "High-level programming languages designed for specific applications or domains, often using natural language-like syntax and focusing on rapid application development."
3744
},
45+
"Naming Conventions": {
46+
"variable_naming": "The standard convention for naming variables (e.g., snake_case, camelCase)",
47+
"function_naming": "The standard convention for naming functions or methods",
48+
"class_naming": "The standard convention for naming classes or types (e.g., PascalCase)"
49+
},
50+
"Scoping": {
51+
"lexical_scoping": "Variable scope is determined by its position in the source code",
52+
"dynamic_scoping": "Variable scope is determined by the program's runtime call stack",
53+
"block_scoping": "Variables are scoped to the nearest enclosing block (usually marked by braces or indentation)",
54+
"function_scoping": "Variables are scoped to the nearest enclosing function"
55+
},
56+
"Package Management": {
57+
"primary_package_manager": "The primary tool used for managing dependencies and libraries",
58+
"central_repository": "The main public repository for sharing and downloading packages"
59+
},
60+
"Error Handling": {
61+
"exception_based": "Errors are handled using an exception-throwing mechanism (try/catch/finally)",
62+
"return_code_based": "Errors are handled by checking return values or status codes",
63+
"type_based": "Errors are handled using functional types like Result, Option, or Either"
64+
},
3865
"Entry Point": {
3966
"main_function": "Entry point of the program is the main function of the file",
4067
"custom_function": "In some programming languages, custom functions can be made to be the entry point of a program",
@@ -50,6 +77,10 @@
5077
"standard_libraries": "Programming Language is supported by an extensive network of standard libraries which are not required to be imported externally",
5178
"extensive_frameworks": "Language has a strong network of external frameworks for supporting additional functionalities. Usually the external libraries are installed into the project using a package manager, and imported into the required file using the `import` keyword"
5279
},
80+
"Variable Declaration": {
81+
"mutable_variable": "Declaring a mutable variable",
82+
"immutable_variable": "Declaring an immutable variable/constant"
83+
},
5384
"Minimal Program": {
5485
"hello_world": "The most minimal program to understand all the basics is the Hello World program. Here you only need to print \"Hello World\" to the console/output of the programming language of your choice."
5586
}

0 commit comments

Comments
 (0)