Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 679 add language basics #688

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions web/thesauruses/_meta/language_basics.json
Original file line number Diff line number Diff line change
@@ -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."
}
}
}
1 change: 1 addition & 0 deletions web/thesauruses/meta_info.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
Loading