Pre-Programming: Everything you need to know before you code / Lecture 1.10 <The Basics>
Continue from the last contents
https://www.udemy.com/course/pre-programming-everything-you-need-to-know-before-you-code/
<Course curriculum>
1. The Basics
2. The Internet
3. Front, back & stacks
4. Core concepts of coding
5. Frameworks & APIs
6. Content management and systems
7. Advanced concepts
8. Tech trends
9. Choose your path
- 10 Desktop Software
- Desktop refers to the operating system.
Desktop Software: Software that you can open from your desktop.
Computer+hardware → operating system → desktop software → applications
Within the hardware of your computer runs an operating system. The operating system runs desktop software, which breaks down into individual applications.
= 4 layers system: bottom-hardware, middle-operating system, top-desktop software, cherry on top-applications
How the process works: Desktop software communicates in a specific high-level programming language to its operating system, which then relays this information, translates it, and interprets it down to machine code for the hardware to take action on.
Typically, the hardware will send a signal back up to the operating system, and the operating system will then translate that again back into high-level code and pass it back up, and then your application can respond.
What does the operating system do?
- It simplifies the process of using a computer by letting you visually select and manipulate the files and things you need to use.
- It translates everything you do, save, and send back down to the machine code.
Platform: a software environment where anyone else can make something that runs within your operating system and then distribute it to other users.
→ Before the 90s, people had not realized its possibilities because of a lack of an application ecosystem. (like the first debut of the iPhone)
- Nowadays, though, everything is a platform that you can install apps on. e.g., phone, watch, TV even refrigerator.
💡 Fun fact: Windows and macOS run different types of operating systems and accept different machine codes.
HOW different?
- Operating Systems:
- Windows: based on the Windows NT architecture.
- MacOS: based on a Unix-based operating system.
2. Machine Code:
- Windows: primarily ran on the x86 architecture. However, with the introduction of Windows on ARM, it can also run on ARM-based processors.
- MacOS: ran on PowerPC architecture, then transitioned to x86 with Intel processors, and more recently moved to Apple Silicon, which is ARM-based.
WHY different?
because they have different design philosophies, user interfaces, and underlying system architectures. Windows has traditionally been more focused on compatibility with a wide range of hardware and software, while Mac OS has been tightly integrated with Apple’s hardware and emphasizes a seamless user experience. Additionally, Mac OS has a different file system structure and a different approach to system security compared to Windows.
- one of a few ways for both: C++ with Qt: Write core logic in C++ and use Qt for the user interface. Qt supports both Windows and MacOS.
MORE popular?
*When it comes to coding, many programmers prefer to use macOS because of its streamlined user interface, efficient workflow, and powerful built-in tools like Xcode. These features can help developers work more efficiently and with fewer distractions, ultimately leading to a more productive and enjoyable work experience.
- Another option: Linux is a widely used and free open-source operating system popular among developers for its flexibility, security, and powerful command-line interface. It offers a vast library of development tools and software that can be easily customized to meet individual developers’ needs.