Categories
Android OS Apple iOS Apple macOS C Language C# .NET C++ Django Web Framework Flask Web Framework Go Programming Language Java JavaScript Kotlin Linux Operating Systems PowerShell Python Ruby Software Engineering Spring Framework Swift TypeScript Windows Desktop Windows Server

Operating systems (OS)

An operating system (OS) is system software that manages computer hardwaresoftware resources, and provides common services for computer programs.

Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor timemass storage, printing, and other resources.

For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware,[1][2] although the application code is usually executed directly by the hardware and frequently makes system calls to an OS function or is interrupted by it. Operating systems are found on many devices that contain a computer – from cellular phones and video game consoles to web servers and supercomputers.

The dominant general-purpose[3] desktop operating system is Microsoft Windows with a market share of around 76.45%. macOS by Apple Inc. is in second place (17.72%), and the varieties of Linux are collectively in third place (1.73%).[4] In the mobile sector (including smartphones and tablets), Android’s share is up to 72% in the year 2020.[5] According to third quarter 2016 data, Android’s share on smartphones is dominant with 87.5 percent with also a growth rate of 10.3 percent per year, followed by Apple’s iOS with 12.1 percent with per year decrease in market share of 5.2 percent, while other operating systems amount to just 0.3 percent.[6] Linux distributions are dominant in the server and supercomputing sectors. Other specialized classes of operating systems (special-purpose operating systems)[7][8]), such as embedded and real-time systems, exist for many applications. Security-focused operating systems also exist. Some operating systems have low system requirements (i.e. light-weight Linux distribution). Others may have higher system requirements.

Some operating systems require installation or may come pre-installed with purchased computers (OEM-installation), whereas others may run directly from media (i.e. live cd) or flash memory (i.e. usb stick).

Categories
Artificial Intelligence AWS Azure Bibliography C Language C# .NET C++ Cloud Data Science - Big Data DevOps DevSecOps-Security-Privacy Django Web Framework Flask Web Framework GCP Go Programming Language Java JavaScript Kotlin Kubernetes Linux Networking Operating Systems PowerShell Python Ruby Software Engineering Spring Framework Swift TypeScript Windows Server

Udemy

See Dr. Angela Yu, Udemy’s best instructor: 100 Days of Code – The Complete Python Pro Bootcamp

Udemy, Inc. is an American massive open online course (MOOC) provider aimed at professional adults and students. It was founded in May 2010 by Eren Bali, Gagan Biyani, and Oktay Caglar.

As of February 2021, the platform has more than 40 million students, 155,000 courses and 70,000 instructors teaching courses in over 65 languages. There have been over 480 million course enrollments. Students and instructors come from 180+ countries and 2/3 of the students are located outside of the U.S.[3]

Students take courses largely as a means of improving job-related skills.[4] Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.[5] As of 2021, there are more than 155,000 courses on the website.[6][3]

The headquarters of Udemy is located in San Francisco, California, with offices in Denver, Colorado; Dublin, Ireland; Ankara, Turkey; Sao Paulo, Brazil; and Gurugram, India.[7]

(WP)

Sources:

Fair Use Sources:

Categories
C Language C# .NET C++ Cloud DevOps Django Web Framework Flask Web Framework Go Programming Language Java JavaScript Kotlin PowerShell Python Ruby Software Engineering Spring Framework Swift TypeScript

Software design pattern

In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code. Rather, it is a description or template for how to solve a problem that can be used in many different situations. Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system.

Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved. Patterns that imply mutable state may be unsuited for functional programming languages, some patterns can be rendered unnecessary in languages that have built-in support for solving the problem they are trying to solve, and object-oriented patterns are not necessarily suitable for non-object-oriented languages.

Design patterns may be viewed as a structured approach to computer programming intermediate between the levels of a programming paradigm and a concrete algorithm.

In a recent review study, Wedyan and Abufakher investigate design patterns and software quality and conclude: “Our study has shown that the primary studies provide an empirical evidence on the positive effect of documentation of designs pattern instances on program comprehension, and therefore, maintainability. While this result is not surprising, it has, however, two indications. First, developers should pay more effort to add such documentation, even if in the form of simple comments in the source code. Second, when comparing results of different studies, the effect of documentation has to be considered.”[1]

Categories
C Language C# .NET C++ Cloud Data Science - Big Data DevOps Django Web Framework Flask Web Framework Go Programming Language Java JavaScript Kotlin PowerShell Python Ruby Software Engineering Spring Framework Swift TypeScript

Integrated Development Environment (IDE)

“An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editorbuild automation tools and a debugger. Some IDEs, such as Visual Studio, NetBeans and Eclipse, contain the necessary compilerinterpreter, or both; others, such as SharpDevelop and Lazarus, do not.” (WP)

“The boundary between an IDE and other parts of the broader software development environment is not well-defined; sometimes a version control system or various tools to simplify the construction of a graphical user interface (GUI) are integrated. Many modern IDEs also have a class browser, an object browser, and a class hierarchy diagram for use in object-oriented software development.” (WP)

Categories
C Language History Operating Systems Software Engineering

C Programming Language Invented by Dennis Ritchie and Brian Kernighan – 1972 AD

Return to Timeline of the History of Computers

1972

C Programming Language

Dennis Ritchie (1941–2011) and Brian Kernighan 

When a program runs on a computer, the computer’s CPU executes a sequence of low-level machine instructions that invoke operations such as fetching data from memory, adding numbers together, and storing the result back into memory. Humans write in high-level languages that are translated into machine code by special-purpose programs called compilers. This translation lets programmers create programs that are vastly more complex and powerful than if they had to write directly in machine code, or in assembly language, which was trivially translated into machine code.

Created at Bell Laboratories by Dennis Ritchie, C was designed for writing operating systems. Key aspects of the language include the ability to precisely control the layout of data in the computer’s memory and to intermix high-level instructions and machine code, and the fact that C runs faster than other high-level languages.

Still widely used today, C also lets programmers write at a high level of abstraction. The language comes with a library of built-in functions that implement complex behaviors, such as reading and writing data files, and performing advanced mathematical operations. What’s more, programmers can create their own functions and use them as if they were built-in functions, making it easy for even beginning programmers to extend the language. As C gained popularity, programmers started to share their libraries, naturally creating an open-source culture.

The original UNIX operating system was written in assembly language for an old Digital Equipment Corporation PDP-7 computer and then rewritten into the assembly language for the PDP-11. In 1973, Version 2 of UNIX was rewritten into C, making it the third operating system ever to be written in a high-level language. Rewriting it in C made UNIX much easier to maintain and extend.

Today C is one of the most popular computer languages in the world. It’s also inspired many other languages, including C++, C#, Java, PHP, Perl, and others.

SEE ALSO UNIX (1969)

This fragment of source code, containing a comment and a complex instruction, appeared in the UNIX operating system kernel. The instruction suspends one program and starts another.

Fair Use Source: B07C2NQSPV