Libraries and frameworks provide you with all kinds of pre-written code to make your job as a programmer easier and more efficient. This developer and programming foundations tutorial will help you to understand the role of libraries and frameworks and how you need to use them to improve your skill and effectiveness in programming applications.
If you've watched some of the language introduction videos you would have seen a common thread. With most of them I taught less about the language and more about the benefits of the libraries that were available. And these are sometimes called libraries. Sometimes they are wrapped up into the term framework instead. But it really means the same thing. Huge amounts of code already written, already tested, ready for you to link to and use. Say with C# in VB.NET you have the .NET framework. With Java, you have the Java Class Library.
With Objective-C, you have Cocoa or Cocoa Touch, depending on if you're focused on the desktop or on the iPhone and iPod. With Python, you have the standard library and so on. This is another thing that programmers know that non-programmers don't. It's not really about the language. It's about the libraries. So when you are learning C#, you might wonder if there's anything that can help you connect with database. And yes, there is, but it's not part of the language itself, but it's in the .NET framework.
If you're experimenting with Objective-C, you might wonder if there's a built-in video player class for the iPhone, and of course there is. It's already been written by Apple and it's in the Cocoa Touch framework. You can link to it and use it. If you're using Python and your program needs to be able to save to a file and unzip that file up, well, you will find that in the Python Standard Library. And those are the skills to develop. Knowing not just the language, but what you can do with it without having to write it all yourself.
Now when you are just beginning, it can be somewhat intimidating to figure out yeah, there might be hundreds or even thousands of prewritten classes available to the language that you're looking at and you wonder, am I meant to learn them all? Well, of course, you are not. It's like being in a real library. The point is not that you're going to read every book. The point is to be able to find your way around, to be able to navigate through the stacks and find if what you're looking for exists, and if so, how do you get to it. What you'll find is there are reference guides whether it on paper or more usually on websites.
So Microsoft has the .NET Framework Class Library where we can actually start scrolling through all these different areas. They break their classes down into different places like classes that deal with printing. Going back up we have whole sections that deal with classes of globalization. So these range from the very generic to the very specialized. If you are working with Java, it's the same idea. These are grouped together into what are called packages. We have packages for dealing with math.
We have packages for dealing with security. We have packages for dealing with the sound and midi, which themselves break down into classes that deal with say instruments or tracks. And this is all already there. You have the Python Standard Library. With its own set of classes you can use and of course, the iOS Developer Library. And that's why as you learn any language, when you've gotten past the basics of the syntax you're going to find it just as important to know your way around the reference guides to find out what libraries are available to you and what's in them.
And that will accelerate your learning way more than focusing on syntax.
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