Application Programming Interfaces (APIs)
An API can be defined as "a set of clearly defined methods of communication between two of more computers." Unlike a user interface, which allows for person to computer interactions, APIs make it possible for software running on computers to exchange data in a formal way. The best way to think of an API is as a building block that can be used to add functionality to an operating system, a desktop or mobile app or a Website. Any professionally written API that you use will have a well defined interface with some kind documentation on how to use it. APIs come in all shapes and formats and depending on the type of programming you are building you might even use an API written in a different programming language than the program you are writing in, however you won't care because all you need to know is how to interact with the API using its provided interface.
Watch the following video for an excellent animated illustration of what an API is.
There are a lot of businesses and organizations that provide APIs to enable software aplications written by other developers to access certain content that the entity wants to makes available. Airline reservations systems were represented in the video, but here are just a few other examples of companies who offer API access to their sotware systems for outside developers.
Amazon Web Services
Amazon Web Services is an API that gives subscribers access to some very powerful resources in their cloud, including virtual machines aka compute power, database storage, content delivery, or other functionality, AWS has the services to help you build sophisticated applications with increased flexibility, scalability and reliability. That advantage you get with this type of API is that other than some base fees, you will only be charged for the resources used by your account each much. So if you setup a Website and traffic is low you only have to pay for that usage, but you are still in a position to dynamically scale reaources as traffic become more robust.
NOTE: You can get started for free, but once the trial period ends you'll be forking out big time expenses. So be carefull what you setup during your trial period. It is highly recommended that you investigate what your fees will actually be for the services you add before the trail period ends to be prepared for what your monthly fees will actually be.
Facebook for Developers
Facebook for developers, now Meta for Devlopers, is an API that give developers access to resources provided by Facebook for integrating games and applications into the Facebook cloud infrastructure. This includes items like integrating the Messenger platform into your applications, allowing Facebook users to login to your app using their Facebook account credentials and having Facebook authenticate the user login process, creating tools for businesses, creators, and people to enhance the Instagram experience, and implementing their WhatsApp business platform into your apps. See https://deveopers.facebook.com for more information.
>
Google Developers
The Google Developers API exposes numerous resources that developers can integrate with including their Payment Request API and their Credential Management API.
For more information view their Website
Libraries
Libraries come in many different configurations, but generally they are a collection of functions, APIs, Classes, or pre-compiled objects that can be used to provide added functionality to an application without you having to write the code required to accomplish the same task. Libraries are also contained within Frameworks, as you can see in the Frameworks section on this page.
JavaScript Libraries
There are currently numerous JavaScript libraries available for use in enhancing your Web site or application.
jQuery is one of the more popular and well known JavaScript libraries.
React is a JavaScript library developed by Facebook for creating modular user interfaces.
⇑ Table of Contents
Frameworks
The best way to think of a software framework is as a comprehensive system for developing applications by utilizing an existing code base provided by an included coding library. Depending on the framework, it may or may not be open-source, it could have supporting tools like a compiler, or a code editor enhanced for the programming language used. The biggest drawback to using a particular framework could be that you can only code for certain platforms, or a change to the existing code library may change and break your program.
Here is a recent article written about software frameworks; the author lists seven reasons why frameworks are the new programming languages.
Javascript Frameworks
Angular is a JavaScript framework developed by Google.
TypeScript is a typed superset of JavaScript that complies to plain JavaScript.
Web Assembly is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-levl languages like C/C++/Rust, enabling deployment on the Web for client and server applications. Developer reference documentation.
The .Net Framework
The .NET (pronounced dot net) framework is a software framework developed by Microsoft that, until recently, ran primarily on computers running the Microsoft Windows operating system. However, Microsoft has made most of its coding libraries available as "open-source" allowing a larger community of developers to contribute to its content, but also with the advent of .NET Core, has now made it so that programs written using the .NET framework can now run on any device running either the Android, OS X, iOS, or Linux operating systems in addition to Windows.
The .NET framework includes a large class library named the Framework Class Library (FCL) and provides language interoperability (each language can use code written in other languages) across several programming languages. Programs written for .NET framework execute in a software environment (in contrast to a hardware environment) named Common Language Runtime (CLR), an application virtual machine that provides services such as security, memory management, and exception handling. (As such, computer code written using .NET framework is called "managed code".) FCL and CLR together constitute the .NET Framework.
⇑ Table of Contents
Finding Documentation
C# and Microsoft .NET
In order to learn about the classes that are available in the .NET library, including their properties, methods, and events, check out Microsoft Documents Website by navigating your Web browser to https://docs.microsoft.com/en-us/dotnet/, this is where we'll find the home page for the .NET Documentation.
On this page we see a menu of topics on the left and links to documentation for the three, standard, core, and framework .NET libraries on the right.
JavaScript
The Mozilla Developer's Network (MDN) is an excellent resource for documentation on the core JavaScript language. For documentation on JavaScript libraries or frameworks like jQuery or React, you need to go to the Website for the specific library or framework you need the documentation for.
C++
The Website cplusplus.com is a good resource for the C++ language.
Python
For information about the python language docs.python.org is a good resource.
⇑ Table of Contents
How To Become and What It's Like To Be A Programmer
The following is a series of videos by a gentleman of the name of John Sonmez. I am not endorsing him nor his products here, I just found these videos interesting, provocative, and entertaining and thought you might enjoy viewing them as well.
What Was Your First Programming Job Like?
⇑ Table of Contents
What Do You Need To Know For Your First Developer Job?
⇑ Table of Contents
Programming Job With No Experience
⇑ Table of Contents
How To Become A Software Developer Without A Degree
⇑ Table of Contents