diff --git a/computer-science/languages/answers/marianne.md b/computer-science/languages/answers/marianne.md new file mode 100644 index 0000000..2775f90 --- /dev/null +++ b/computer-science/languages/answers/marianne.md @@ -0,0 +1,14 @@ +What is a programming language? + A. A formal set of rules and syntax for writing instructions that a computer can execute. +What is a software framework? + A. A pre-built structure of code that provides common functionality and patterns, so you don't have to write everything from scratch. You build within its conventions and it handles a lot of the boilerplate. +What is the difference between a programming language vs a framework? + A. A language is the tool you write code in (JavaScript, Python). A framework is a collection of pre-written code in that language that gives you structure and shortcuts (React, Django). You can use a language without a framework, but not the reverse. +What is the difference between a procedural, object-oriented, and functional programming language? + A. Procedural organizes code as a sequence of instructions/procedures that execute top to bottom. Object-oriented organizes code around objects - bundles of data and methods that act on that data. Functional organizes code around pure functions and avoids changing state. Most modern languages support multiple paradigms. +What is the difference between a typed and non-typed language? + A. Typed languages require you to declare what kind of data a variable holds (number, string, etc.) and enforce it - catching type errors before or during runtime. Non-typed (dynamically typed) languages let variables hold any type and figure it out at runtime, which is flexible but can lead to unexpected bugs. + +// Advanced // +What is the difference between a compiled and interpreted language? Is JS compiled or interpreted? + A. Compiled languages (C, Rust) are translated entirely into machine code before running - you get an executable file. Interpreted languages are read and executed line by line at runtime. JavaScript is technically interpreted, but modern JS engines (like V8) use just-in-time (JIT) compilation - they interpret first, then compile hot paths to machine code for speed.