The tech landscape is vast with interconnected technologies that comprise backend, frontend and database functionalities. These technologies vary, ranging from languages, frameworks, IDEs, databases and platforms.
A programming language is essentially a set of instructions given to a computer to produce various kinds of output. They are used to implement algorithms. Different languages have different syntax. In Web development, the frontend has 3 essential languages.
Frameworks and libraries are reusable code that has been written by someone else and packaged. They help save you time when coding as the main aim for them is to solve common problems that other developers have faced and solved. Most frameworks are open source, which means anyone can import them into their code and use them.
Read more on The difference between Frameworks and Libraries
A tool is a program that developers use to create, debug, maintain or support other programs and applications. These are usually simple programms that can be combined to accomplish a task. Some basic tools include source code editors, and compilers or interpreters. Tools are often excuted from the command line.
A tool that is widely used in development is Git read more, which is a version-control tool. It is used to track changes in the source code during the development process.
A database is basically a structure that enables the storage, retrieval, manipulation and updating of data.
Integrated Development Environment(IDE) is a software suite that consolidates basic tools that a developer needs to write and test code. An IDE can consist of a Text Editor (for writing the actual code), a debugger (to detect and fix errors) and code libraries (to make coding faster and easier).
A platform is any hardware or software that is used to execute or host software, application or service. The most popular ones include Heroku, Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform.
A widely used platform in Tech is Github watch for more info. It is a code hosting platform for version-control and collaboration. It is an online service to which developers who use Git can connect, upload and download resources. There are also alternatives to Github like GitLab, Bitbucket,Beanstalk and a whole lot others.
New to Git and Github? Here’s a tutorial to help you get started.
The practise of using a network of remote servers hosted on the Internet to store, manage, and process data, rather than a local server or a personal computer.
There are three types of Cloud Computing:
It uses the internet to deliver applications. The applications are managed by 3rd party vendors to their users. Most SaaS applications run through a web browser, hence they don’t require downloading or installation. Examples: Google Apps & Dropbox
Also known as Cloud Platform Services. They provide cloud components to certain software while being used mainly for applications. PaaS delivers a framework for developers that they can build upon and use to create customized applications. All servers, storage, and networking can be managed by the enterprise or a third-party provider while the developers can maintain management of the applications. Examples: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine
Cloud infrastructure services, known as Infrastructure as a Service (IaaS), are made of highly scalable and automated compute resources. IaaS is fully self-service for accessing and monitoring computers, networking, storage, and other services. IaaS allows businesses to purchase resources on-demand and as-needed instead of having to buy the hardware outright. Examples: DigitalOcean, Linode, Rackspace, Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure, Google Compute Engine (GCE)
These are software computers that provide the same functionality as a physical computer. They run on a physical computer, they behave like a separate computer system. VMs can run applications and operating software like a physical computer would. They are used to perform specific tasks that are risky to run on a host environment like accessing virus-infected data or testing an operating system. There different virtual machines for different operating systems namely: Mac, iOS, Android, Linux, VMware and Ubuntu. There are also virtual machines for Python and Java.
A container is a method for packaging applications and other dependencies so that it can be run in isolation from other processes. There are different types of container software. They include Docker, Apache Mesos, rkt (rocket) and Kubernetes.
Web development is the work involved in building websites, web apps and social media services, for the internet or private network (intranet). It can be broken down into specific specializations, namely: Frontend (Client facing side, Backend (server-side) or Fullstack (specializes in both). Web development is like a machine and the specializations are like different parts of the machine.
These parts have different technologies that comprise languages, frameworks, libraries and Databases and IDEs which make development possible.
More on how Frontend and Backend work together
Systems Development is the process of defining, designing, testing and implementing new software.
Data Science is the study of data, it combines domain expertise, programming skills, mathematics and statistics to extract meaningful information from data. Data engineering is an aspect of data science. It focuses on the practical application of data collection and analysis.