You already know that your operating system can run multiple programs at the same time. This is what's typically called multitasking, but there is also this idea of doing multiple things inside one program and this is multithreading. Now, multithreading is something you often do to keep your program responsive, and particularly in desktop or mobile applications with a graphical user interface. we've all interacted with programs where you click a button and it seems to make the application freeze and then a few seconds later come back.
Well, multithreading is designed to get you past that. By default, your program has what's referred to as a main thread of execution. All your code runs on one thread, one conveyor belt that's taking care of instruction after instruction. With multithreading, you might for example call a function, but instead of calling it normally, which means jumping into that function on the main thread, you call it and tell it to start on another thread, a custom thread, and your main thread continues processing while the secondary thread has another thing to do.
Finally, the course compares how code is written in several different languages, the libraries and frameworks that have grown around them, and the reasons to choose each one.
- Writing source code
- Understanding compiled and interpreted languages
- Requesting input
- Working with numbers, characters, strings, and operators
- Writing conditional code
- Making the code modular
- Writing loops
- Finding patterns in strings
- Working with arrays and collections
- Adopting a programming style
- Reading and writing to various locations
- Managing memory usage
- Learning about other languages