diff --git a/web/thesauruses/_meta/language_basics.json b/web/thesauruses/_meta/language_basics.json new file mode 100644 index 000000000..0de09acf0 --- /dev/null +++ b/web/thesauruses/_meta/language_basics.json @@ -0,0 +1,57 @@ +{ + "meta": { + "structure": "language_basics", + "structure_name": "Basics of A Programming Language" + }, + "categories": { + "Typing Systems": { + "statically_typed": "The programming language may be statically typed", + "dynamically_typed": "The programming language may be dynamically typed" + }, + "Paradigm Category": { + "procedural_language": "Language extensively uses procedures to explicitly detail how tasks are performed", + "functional_language": "Language extensively uses functions, emphasize immutability", + "object_oriented_language": "Language extensively uses the concept of objects, which encapsulate data and behaviour" + }, + "Level of Abstraction": { + "low_level_language": "Language provides minimal abstraction from the hardware architecture of the computer", + "high_level_language": "Language provides a more abstract and user-friendly interface for software development" + }, + "Execution Method": { + "compiled_language": "Language is translated into machine code or an intermediate form by a compiler before execution", + "interpreted_language": "Language is executed line by line by an interpreter at runtime withot a separate compilation step" + }, + "Application Domain": { + "general_purpose_language": "Language is designed to be versatile and applicable to a wide range of tasks and applications", + "domain_specific_language": "Language is designed to address specific application domains or industries" + }, + "Memory Management": { + "manual_management": "Languages where memory has to be managed by the programmer manually", + "automatic_management": "Languages with an extensive support of automatic memory management" + }, + "Generation": { + "first_generation": "Language consists of binary code directly understood and executed by a computer's central processing unit (CPU) and represent the lowest level of programming abstraction", + "second_generation": "Language uses mnemonic codes and symbols to represent machine-level instructions, providing a more human-readable way to program and interact with a computer's hardware.", + "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.", + "fourth_generation": "High-level programming languages designed for specific applications or domains, often using natural language-like syntax and focusing on rapid application development." + }, + "Entry Point": { + "main_function": "Entry point of the program is the main function of the file", + "custom_function": "In some programming languages, custom functions can be made to be the entry point of a program", + "script_file": "Entry point of the program is the top of the script file" + }, + "Comments": { + "single_line": "Single line comments are used for brief explanations. Most common indicators of single line comments are // and #", + "multi_line": "Multi line comments span multiple lines. Used for longer explanations, or for commenting out code which you do not intend to execute. Usually multi line comments are enclosed within /* ... */, ''' ... ''' or \"\"\" ... \"\"\" ", + "documentation": "Some programming languages have specific comment syntax for generating documentation. For example, Javadoc comments can be generated using /** ", + "special": "Some programming languages have a special comment syntax for specific purposes" + }, + "Library and Framework support": { + "standard_libraries": "Programming Language is supported by an extensive network of standard libraries which are not required to be imported externally", + "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" + }, + "Minimal Program": { + "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." + } + } +} \ No newline at end of file diff --git a/web/thesauruses/meta_info.json b/web/thesauruses/meta_info.json index d04d4cd99..cc41fb3a2 100644 --- a/web/thesauruses/meta_info.json +++ b/web/thesauruses/meta_info.json @@ -31,6 +31,7 @@ "exception_handling": "Exception Handling", "functions": "Functions, Methods, and Subroutines", "io": "Input and Output", + "language_basics": "Basics of A Programming Language", "lists": "Lists, Arrays, and Hashed Lists", "operators": "Logical and Mathematical/Arithmetic Operators", "queues_stacks": "Queues and Stacks",