[Music] what's up everybody this is Tech G back with another video to help you successfully pass the CompTIA Tech Plus certification exam so let's get into it in this video you're going to learn about the different types of programming languages and how they function and we'll compare and contrast the three main categories they are interpreted languages compiled programming languages and query languages including assembly languages so let's break these down into their key types and functions now before we dive into these specifics it's important to understand what programming languages are in simple terms programming languages are a way for humans to communicate instructions to a computer and these languages are either highlevel meaning they are easy for humans to read or they're lowlevel and they're closer to the computer's machine code and the three primary categories we'll focus on are interpreted languages including scripting languages and markup Lang languages we'll talk about compiled programming languages and we'll talk about query languages including assembly languages and each of these categories has its own purpose benefits and limitations so let's start by discussing interpreted languages interpreted languages are programming languages in which the code is executed line by line by an interpreter at runtime rather than being compiled ahead of time and there are two major types of interpreted languages we have what is called scripting languages and markup languages scripting Lang languages they are used to write short programs or scripts that automate tasks they are interpreted by an interpreter meaning that the code is processed on line at a time during runtime and some examples of scripting languages include the following the first is called JavaScript and this is primarily used for adding interactive elements to websites JavaScript is interpreted by web browsers in real time enabling Dynamic behavior on websites that we have what is called Python and this is a versatile and widely used scripting language known for its Simplicity and readability and python is used in web development automation artificial intelligence and much more and then we have what is called Ruby this is often used for web applications Ruby is interpreted at runtime making it easy to make changes to code without recompiling and we also have what is called PHP and this is a serers side scripting language used for web development especially for dynamic websites and databases and the advantages of scripting languages are follows first one is ease of use so scripting languages are typically easier to learn and use making them great for beginners it offers platform Independence so since interpreted languages don't need to be compiled they can run on any system with an appropriate interpreter and they offer flexibility so these languages are highly flexible and allow for Rapid development now some of the disadvantages are slower performance so because the code is interpreted line by line at runtime scripting languages are generally slower than then compiled languages and then there's limited access to system resources interpreted languages often don't have the same level of access to system resources as compiled languages next we have what are called markup languages and markup languages they are used to define the structure and presentation of text especially in web development and examples include HTML which stands for hypertext markup language and this is the standard language used to create and structure web pages HTML elements Define headings paragraphs links and more making it essential for web development then we have what is called XML that stands for extensible markup language and this is used to store and transport data XML allows users to Define custom tags and is commonly used in web services and configuration files and then we have what is called CSS or cascading stylesheets though technically not a full programming language CSS is a stylesheet language used to describe the presentation of HTML documents it controls the layout and appearance of web pages and some of the advantages of markup languages are as follows they offer structure and organization so markup languages are great for structuring data or web content and they offer separation of content and presentation so especially in web development markup languages like HTML and CSS separate content from its presentation allowing for easier maintenance and updates and the major disadvantage to markup languages is limited logic so markup languages are not designed to perform complex computations or logic and they are mainly for formatting and structuring content so now that we've covered interpreted languages let's move on to compiled programming languages compiled programming languages are languages where the source code is translated into machine code or binary through a compiler before execution the compilation process translates the entire program in one go creating an executable file that can run on its own without the need for an interpreter and some examples of compiled languages are as follows the first one is called C and this is one of the oldest and most widely used programming languages it's powerful and provides low-level access to the system resources then we have what is called C++ this is an extension of C adding objectoriented programming features and it's used in system software development game development and much more then we have what is called Java all although Java runs in the Java virtual machine it is considered both compiled and interpreted and it is compiled into bite code before being executed by the jvm then we have what is called go or go Lang and this is a statically typed compiled programming language developed by Google it is known for its efficiency in system programming and networking and some of the advantages of compiled languages are as follows first one is speed so once compiled the code runs much faster than interpreted Lang languages because it's translated directly into machine code the next Advantage is optimization compilers can optimize code during compilation resulting in highly efficient programs and the next Advantage is full access to system resources so compiled languages allow for low-level access to memory and Hardware making them ideal for system level programming and some of the disadvantages are development time so the compilation process can slow down development since the code needs to be compiled before testing and then another disadvantage is platform dependency so compiled code is often platform specific meaning you may need to recompile the code to run it on different operating systems so compiled languages are best suited for applications where performance and efficiency are critical such as operating systems gain development and realtime systems all right next let's talk about query languages so query languages are specialized languages designed to retrieve manipulate and manage data in databases they are typically used in database Management Systems to interact with store data and some examples of query languages are as follows the first one you have is called SQL or SQL and that stands for structured query language and this is the most commonly used query language SQL is used for managing and querying relational databases and SQL commands can select insert update and delete data in database tables then we have what is called graphql and this is a query language for API I that allow clients to request specific data unlike traditional rest apis graphql is flexible and allows for efficient data retrieval and then we have what is called XPath or xquery and this is used to query XML data and these languages they help retrieve and manipulate XML documents and some of the advantages of query languages are as follows the first one is it is specialized for data manipulation so query languages like SQL are specifically designed to interact with large sets of data making them extremely efficient for database management and then they simplify complex queries so query languages are optimized for retrieving data with complex filters and conditions simplifying the process for developers and database administrators and the major disadvantage of a query language is it has limited use so query languages are highly specialized and they are not suitable for general purpose programming all right finally let's talk about assembly languages so assem language this is a low-level programming language that provides a way to write instructions in a format that is readable to humans but closely aligned with machine code and the characteristics of assembly languages are as follows assembly languages are specific to a particular computer architecture that require the programmer to manage memory and processor Registries directly and assembly instructions are one step above machine code making them very fast and efficient though more difficult to write it's some examples are you have x86 assembly this is used in Intel x86 processors then you have what is called arm assembly and this is used in arm architecture which Powers many mobile devices and embedded systems and then some of the advantages of Assembly Language are as follows they offer high performance so Assembly Language offers direct access to hardware and can produce very efficient and optimized code may offer control over system resources it allows the programmer to control processor Registries and memory making it ideal for Hardware level programming and some of the disadvantages are they are complex so assembly is much harder to learn and use in high level languages and they offer limited portability so Assembly Language is highly specific to Hardware architectures making it non-portable between different systems so ultimately assembly languages are typically used in situations where performance is critical such as embedded systems realtime applic ations and low-level device drivers so to wrap all this up let's quickly summarize the key differences between these categories of programming languages so interpreted languages such as scripting and markup languages are executed line by line at runtime and are ideal for dynamic and flexible applications but they tend to be slower compiled programming languages translate source code into machine code before execution offering high performance but requiring a comp compilation step query languages are specialized for interacting with databases providing efficient ways to retrieve and manipulate large data sets and assembly languages they offer low-level control over hardware and high efficiency but are more complex and less portable so understanding the strength and limitations of each language category will help you select the right tool for the task at hand and this information is essential for the CompTIA Tech Plus certification exam now with all that being said let's do some of this check on learning so the first question is which of the following is an example of an interpreted scripting language would it be C++ would it be python would it be assembly or would it be SQL and the correct answer is python so python this is an interpreted scripting language meaning that its code is executed line by line by an interpreter at runtime next question what is a key characteristic of a compound programming language is it the code is executed line by line during runtime is it the code is converted into machine code before execution is it it is used for querying databases or it requires an interpreter to run and the correct answer is the code is converted into machine code before execution so compiled programming languages such as C and C++ are converted into machine code by compiler before execution this means the entire program is translated into executable code before it runs unlike interpreted languages that run line by line and the final question which language category does SQL belong to would this be a markup language a compiled programming language a query language or a scripting language and the correct answer is it is a query language so SQL this is a query language primarily used to interact with databases it allows users to retrieve and manipulate data it is not compiled or interpreted as a general purpose programming language nor is it used for structuring documents like markup languages