For computer software: software to make your life better

What is Software? Definition, Types and Examples

App Architecture


  • Linda Rosencrance

Software is a set of instructions, data or programs used to operate computers and execute specific tasks. It is the opposite of hardware, which describes the physical aspects of a computer. Software is a generic term used to refer to applications, scripts and programs that run on a device. It can be thought of as the variable part of a computer, while hardware is the invariable part.

The two main categories of software are application software and system software. An application is software that fulfills a specific need or performs tasks. System software is designed to run a computer’s hardware and provides a platform for applications to run on top of.

Other types of software include programming software, which provides the programming tools software developers need; middleware, which sits between system software and applications; and driver software, which operates computer devices and peripherals.

Early software was written for specific computers and sold with the hardware it ran on. In the 1980s, software began to be sold on floppy disks, and later on CDs and DVDs. Today, most software is purchased and directly downloaded over the internet. Software can be found on vendor websites or application service provider websites.

Examples and types of software

Among the various categories of software, the most common types include the following:

  • Application software. The most common type of software, application software is a computer software package that performs a specific function for a user, or in some cases, for another application. An application can be self-contained, or it can be a group of programs that run the application for the user. Examples of modern applications include office suites, graphics software, databases and database management programs, web browsers, word processors, software development tools, image editors and communication platforms.
  • System software. These software programs are designed to run a computer’s application programs and hardware. System software coordinates the activities and functions of the hardware and software. In addition, it controls the operations of the computer hardware and provides an environment or platform for all the other types of software to work in. The OS is the best example of system software; it manages all the other computer programs. Other examples of system software include the firmware, computer language translators and system utilities.
  • Driver software. Also known as device drivers, this software is often considered a type of system software. Device drivers control the devices and peripherals connected to a computer, enabling them to perform their specific tasks. Every device that is connected to a computer needs at least one device driver to function. Examples include software that comes with any nonstandard hardware, including special game controllers, as well as the software that enables standard hardware, such as USB storage devices, keyboards, headphones and printers.
  • Middleware. The term middleware describes software that mediates between application and system software or between two different kinds of application software. For example, middleware enables Microsoft Windows to talk to Excel and Word. It is also used to send a remote work request from an application in a computer that has one kind of OS, to an application in a computer with a different OS. It also enables newer applications to work with legacy ones.
  • Programming software. Computer programmers use programming software to write code. Programming software and programming tools enable developers to develop, write, test and debug other software programs. Examples of programming software include assemblers, compilers, debuggers and interpreters.

Here is a complete picture of the full software stack.

How does software work?

All software provides the directions and data computers need to work and meet users’ needs. However, the two different types — application software and system software — work in distinctly different ways.

Application software

Application software consists of many programs that perform specific functions for end users, such as writing reports and navigating websites. Applications can also perform tasks for other applications. Applications on a computer cannot run on their own; they require a computer’s OS, along with other supporting system software programs, to work.

These desktop applications are installed on a user’s computer and use the computer memory to carry out tasks. They take up space on the computer’s hard drive and do not need an internet connection to work. However, desktop applications must adhere to the requirements of the hardware devices they run on.

Web applications, on the other hand, only require internet access to work; they do not rely on the hardware and system software to run. Consequently, users can launch web applications from devices that have a web browser. Since the components responsible for the application functionality are on the server, users can launch the app from Windows, Mac, Linux or any other OS.

System software

System software sits between the computer hardware and the application software. Users do not interact directly with system software as it runs in the background, handling the basic functions of the computer. This software coordinates a system’s hardware and software so users can run high-level application software to perform specific actions. System software executes when a computer system boots up and continues running as long as the system is on.

Here are the key differences between system and application software.

Design and implementation

The software development lifecycle is a framework that project managers use to describe the stages and tasks associated with designing software. The first steps in the design lifecycle are planning the effort and then analyzing the needs of the individuals who will use the software and creating detailed requirements. After the initial requirements analysis, the design phase aims to specify how to fulfill those user requirements.

The next is step is implementation, where development work is completed, and then software testing happens. The maintenance phase involves any tasks required to keep the system running.

The software design includes a description of the structure of the software that will be implemented, data models, interfaces between system components and potentially the algorithms the software engineer will use.

The software design process transforms user requirements into a form that computer programmers can use to do the software coding and implementation. The software engineers develop the software design iteratively, adding detail and correcting the design as they develop it.

The different types of software design include the following:

  • Architectural design. This is the foundational design, which identifies the overall structure of the system, its main components and their relationships with one another using architectural design tools.
  • High-level design. This is the second layer of design that focuses on how the system, along with all its components, can be implemented in forms of modules supported by a software stack. A high-level design describes the relationships between data flow and the various modules and functions of the system.
  • Detailed design. This third layer of design focuses on all the implementation details necessary for the specified architecture.

Find out the six main steps involved in developing software.

How to maintain software quality

Software quality measures if the software meets both its functional and nonfunctional requirements.

Functional requirements identify what the software should do. They include technical details, data manipulation and processing, calculations or any other specific function that specifies what an application aims to accomplish.

Nonfunctional requirements — also known as quality attributes — determine how the system should work. Nonfunctional requirements include portability, disaster recovery, security, privacy and usability.

Software testing detects and solves technical issues in the software source code and assesses the overall usability, performance, security and compatibility of the product to ensure it meets its requirements.

The dimensions of software quality include the following characteristics:

  • Accessibility. The degree to which a diverse group of people, including individuals who require adaptive technologies such as voice recognition and screen magnifiers, can comfortably use the software.
  • Compatibility. The suitability of the software for use in a variety of environments, such as with different OSes, devices and browsers.
  • Efficiency. The ability of the software to perform well without wasting energy, resources, effort, time or money.
  • Functionality. Software’s ability to carry out its specified functions.
  • Installability. The ability of the software to be installed in a specified environment.
  • Localization. The various languages, time zones and other such features a software can function in.
  • Maintainability. How easily the software can be modified to add and improve features, fix bugs, etc.
  • Performance. How fast the software performs under a specific load.
  • Portability. The ability of the software to be easily transferred from one location to another.
  • Reliability. The software’s ability to perform a required function under specific conditions for a defined period of time without any errors.
  • Scalability. The measure of the software’s ability to increase or decrease performance in response to changes in its processing demands.
  • Security. The software’s ability to protect against unauthorized access, invasion of privacy, theft, data loss, malicious software, etc.
  • Testability. How easy it is to test the software.
  • Usability. How easy it is to use the software.

To maintain software quality once it is deployed, developers must constantly adapt it to meet new customer requirements and handle problems customers identify. This includes improving functionality, fixing bugs and adjusting software code to prevent issues. How long a product lasts on the market depends on developers’ ability to keep up with these maintenance requirements.

When it comes to performing maintenance, there are four types of changes developers can make, including:

  1. Corrective. Users often identify and report bugs that developers must fix, including coding errors and other problems that keep the software from meeting its requirements.
  2. Adaptive. Developers must regularly make changes to their software to ensure it is compatible with changing hardware and software environments, such as when a new version of the OS comes out.
  3. Perfective. These are changes that improve system functionality, such as improving the user interface or adjusting software code to enhance performance.
  4. Preventive. These changes are done to keep software from failing and include tasks such as restructuring and optimizing code.

Software licensing and patents

A software license is a legally binding document that restricts the use and distribution of software.

Typically, software licenses provide users with the right to one or more copies of the software without violating copyright. The license outlines the responsibilities of the parties that enter into the agreement and may place restrictions on how the software can be used.

Software licensing terms and conditions generally include fair use of the software, the limitations of liability, warranties, disclaimers and protections if the software or its use infringes on the intellectual property rights of others.

Licenses typically are for proprietary software, which remains the property of the organization, group or individual that created it; or for free software, where users can run, study, change and distribute the software. Open source is a type of software where the software is developed collaboratively, and the source code is freely available. With open source software licenses, users can run, copy, share and change the software similar to free software.

Over the last two decades, software vendors have moved away from selling software licenses on a one-time basis to a software-as-a-service subscription model. Software vendors host the software in the cloud and make it available to customers, who pay a subscription fee and access the software over the internet.

Although copyright can prevent others from copying a developer’s code, a copyright cannot stop them from developing the same software independently without copying. A patent, on the other hand, enables a developer to prevent another person from using the functional aspects of the software a developer claims in a patent, even if that other person developed the software independently.

In general, the more technical software is, the more likely it can be patented. For example, a software product could be granted a patent if it creates a new kind of database structure or enhances the overall performance and function of a computer.

History of software

The term software was not used until the late 1950s. During this time, although different types of programming software were being created, they were typically not commercially available. Consequently, users — mostly scientists and large enterprises — often had to write their own software.

The following is a brief timeline of the history of software:

  • June 21, 1948. Tom Kilburn, a computer scientist, writes the world’s first piece of software for the Manchester Baby computer at the University of Manchester in England.
  • Early 1950s. General Motors creates the first OS, for the IBM 701 Electronic Data Processing Machine. It is called General Motors Operating System, or GM OS.
  • 1958. Statistician John Tukey coins the word software in an article about computer programming.
  • Late 1960s. Floppy disks are introduced and are used in the 1980s and 1990s to distribute software.
  • Nov. 3, 1971. AT&T releases the first edition of the Unix OS.
  • 1977. Apple releases the Apple II and consumer software takes off.
  • 1979. VisiCorp releases VisiCalc for the Apple II, the first spreadsheet software for personal computers.
  • 1981. Microsoft releases MS-DOS, the OS on which many of the early IBM computers ran. IBM begins selling software, and commercial software becomes available to the average consumer.
  • 1980s. Hard drives become standard on PCs, and manufacturers start bundling software in computers.
  • 1983. The free software movement is launched with Richard Stallman’s GNU (GNU is not Unix) Linux project to create a Unix-like OS with source code that can be freely copied, modified and distributed.
  • 1984. Mac OS is released to run Apple’s Macintosh line.
  • Mid-1980s. Key software applications, including AutoDesk AutoCAD, Microsoft Word and Microsoft Excel, are released.
  • 1985. Microsoft Windows 1.0 is released.
  • 1989. CD-ROMs become standard and hold much more data than floppy disks. Large software programs can be distributed quickly, easily and relatively inexpensively.
  • 1991. The Linux kernel, the basis for the open source Linux OS, is released.
  • 1997. DVDs are introduced and able to hold more data than CDs, making it possible to put bundles of programs, such as the Microsoft Office Suite, onto one disk.
  • 1999. uses cloud computing to pioneer software delivery over the internet.
  • 2000. The term software as a service (SaaS) comes into vogue.
  • 2007. IPhone is launched and mobile applications begin to take hold.
  • 2010 to the present. DVDs are becoming obsolete as users buy and download software from the internet and the cloud. Vendors move to subscription-based models and SaaS has become common.

This was last updated in March 2021

Continue Reading About software

  • Product vs. project mindset: Differences in software development
  • What’s the difference between open source software and free software?
  • How do software developers and architects work together?
  • 5 key software testability characteristics
  • How to negotiate a good software subscription agreement

Dig Deeper on Application management tools and practices

  • file extension (file format)

    By: Robert Sheldon

  • operating system (OS)

    By: Stephen Bigelow

  • software portability

    By: Alexander Gillis

  • embedded systems programming

    By: Kinza Yasar

Software Quality

  • Postman API platform will use Akita to tame rogue endpoints

    Akita’s discovery and observability will feed undocumented APIs into Postman’s design and testing framework to bring them into . ..

  • How to make use of specification-based test techniques

    Specification-based techniques can play a role in efficient test coverage. Choosing the right techniques can ensure thorough …

  • GitHub Copilot Chat aims to replace Googling for devs

    GitHub’s public beta of Copilot Chat rolls out GPT-4 integration that embeds a chat assistant into Visual Studio, but concerns …

Cloud Computing

  • Navigate multi-cloud billing challenges

    Keeping track of cloud bills from multiple clouds or accounts can be complex. Learn how to identify multi-cloud billing …

  • 5 Google Cloud cost optimization best practices

    Cost is always a top priority for enterprises. For those considering Google Cloud, or current users, discover these optimization …

  • How to create and manage Amazon EBS snapshots via AWS CLI

    EBS snapshots are an essential part of any data backup and recovery strategy in EC2-based deployments. Become familiar with how …

  • The dangers of Python import and how enterprises can be safe

    The Python import statement carries a security risk that developers and enterprises need to watch out for. Here’s how it works …

  • Scrum vs. SAFe: How to choose between top Agile frameworks

    Which Agile framework is the best fit for your organization: Scrum vs. SAFe? Follow these guidelines and advice to determine . ..

  • Understanding the TypeScript method decorator

    This tutorial explores TypeScript method decorators, reusable code similar to Java annotations that lets developers apply logic …

The best free software for a new PC

The best free PC software programs aren’t about the cost (or lack thereof), they’re about a fresh opportunity—collections of code that put the dumb hardware in your computer to smart use, tools that can accomplish anything from balancing your household budget to helping cure cancer.

Stocking your PC is an intensely personal task. But some programs are so helpful that we heartily recommend them to everybody. These free PC programs—a mix of must-haves and delightful auxiliary apps—deserve a place on almost any computer (unlike, say, this more niche roundup of 5 free Windows power user tools we can’t live without).  There are times when a paid alternative makes sense, however. We’ve pointed out the circumstances where an upgrade over the free offering is warranted, along with our recommendation for the category.

And if you’re selecting these programs as part of breaking in an all-new PC, be sure to check out our guide to how to set up new computer up the right way. Let’s dig in!

A better browser


Before you roll up your sleeves and start slinging software around, make sure to snag your web browser of choice. Using Windows 10 and 11’s default Edge browser when you’re accustomed to something else feels like wearing somebody else’s shoes. (Blech.)

That said, our money’s actually on Edge, which earned top honors in PCWorld’s extensive best browser showdown, barely nudging out Google’s just-as-superb Chrome browser. But hey, they’re all free! Try before you “buy”—we’ve published some extensive looks at compelling features you’ll only find on Edge, Firefox, and Vivaldi (a. k.a. the enthusiast’s browser). 

Is it worth it to upgrade to a paid version?

Maybe. Browsers are largely free, and mostly fantastic already. For Windows users there is Ghost Browser, which lets you sandbox separate online identities while viewing them all in a single window. At $120 per year, however, you’ve got to really need what Ghost Browser’s offering.


Ninite makes loading up a new computer a breeze. Simply head to the Ninite website, select which free software you’d like to install on your PC—it offers dozens of options, including many of the programs named here—and click Get Installer to receive a single, custom .exe file containing the installers for those programs. Run the executable, and Ninite installs all of them in turn, and it automatically declines the offers for bundled bloatware so many free apps try to sneak in. No muss, no fuss, no hassle. 

Is it worth it to upgrade to a paid version?

No. For most users there really isn’t a worthy alternative, and even if there was it wouldn’t justify the cost. That said, there is a paid complementary utility called Ninite Updater that costs $10 per year that makes it easy to keep all your desktop programs up-to-date.


Accidentally installing unwanted bloatware is one of the greatest dangers of free software, the sanctity of Ninite aside. For everything else, use Unchecky. Unchecky automatically unchecks all of the checkboxes when you’re trying to install a program, and warns you if shady software is trying to sneak something ugly onto your machine. 

Is it worth it to upgrade to a paid version?

No. Again Unchecky is in a league unto itself, and while you might find similar capabilities bundled in an antivirus program, there’s little reason to look elsewhere.

Microsoft PowerToys

Jared Newman / Foundry

If you want to fine-tune your Windows experience, be sure to check out Microsoft’s killer PowerToys suite. Ostensibly for enthusiasts, PowerToys is absolutely loaded with tools designed to streamline all sorts of PC hassles. It offers utilities to batch resize images, quickly find your mouse cursor, always keep a chosen window on top of your others, remap your keyboard keys, show file previews in File Explorer, and a whole lot more. And you should definitely be using FancyZones, Microsoft’s killer multitasking app.

Is it worth it to upgrade to a paid version?

Nope—no premium alternative exists for Microsoft’s awesome collection of tools.

Malwarebytes Anti-Malware Free

The Windows Security software enabled by default in Windows 10 provides solid protection for most users, but no single antivirus utility offers bulletproof protection, especially against the latest and most clever threats. MalwareBytes Anti-Malware Free was designed specifically to find and eliminate those cutting-edge “zero-day” vulnerabilities. You can’t schedule scans or even use it as a regular antivirus program, but it’s invaluable when you think that something nasty has slipped by your primary antivirus utility.

Is it worth it to upgrade to a paid version?

Norton 360 Deluxe

Yes. As the saying goes, “a few megabytes of prevention is worth a terabyte of cure,” or something like that. Malwarebytes is great at saving infected computers, but Malwarebytes Premium at $40 per year is on guard to stop the malware from getting in its hooks in the first place.

Beyond that, premium antivirus options offer a combination of excellent protection, a worthwhile selection of features, and minimal impact on your PC’s performance. PCWorld’s guide to the best antivirus for Windows PCs can walk you through your options.


On the surface, Launchy is a simple app launcher, and that’s swell all on its own! App launchers let you activate software far faster than navigating Windows, even if you use the Windows key and search for an app by name. But Launchy can do much, much more: Open any file or folder in mere seconds, shut down your PC, or even kill processes and perform math calculations with the right plug-ins. Read Lifehacker’s superb tutorial and forget about your Start menu.

Is it worth it to upgrade to a paid version?

No. Launchy is another Windows utility that is unto itself; however, the developers do accept donations, and we highly recommend tossing the developers a few dollars for this excellent program.


Windows can create and extract ZIP files natively, but if you find yourself staring at another compressed archive you’ll need a dedicated program to handle it. A lot of them cost money. 7-Zip is open-source and completely free, ready to perform all your archiving needs from Windows’ right-click context menu. You can even encrypt 7-Zip archives with a password to send them securely.

Is it worth it to upgrade to a paid version?

No. 7-Zip is great, and paid parallels such as WinZip really don’t offer enough to justify the fee. If you spend all day unzipping massive archive files then maybe a faster utility like WinZip is worth it. For most of us, however, 7-zip is just great.


Windows 10 and 11 have a prickly problem: Unlike Windows 7, they’re incapable of playing DVDs out of the box. Your PC might have a DVD-playing program installed if you bought a boxed system, but if not, the simply wonderful VLC media player can play your flicks (and music, and podcasts, and…) for free. It can even play (some) Blu-ray discs with a little fiddling.

Is it worth it to upgrade to a paid version?

No. VLC is just fantastic, and you won’t find a paid option that justifies its worth compared to this free workhorse. You can, however, send the VideoLAN organization a donation as a thank you for its hard work.

Don’t let’s freebie status fool you: This image editor may not have all the bells and whistles of Photoshop, but it packs everything that most people need (even layer-based editing) and costs hundreds of dollars less. We’ve got tips to help you get started with this killer no-cost software.

If you’re a graphics professional, and you can’t afford Photoshop but require more than offers, check out GIMP. It has a challenging learning curve, but its capabilities are damned impressive once you wrap your head around it. Those aren’t your only options though. Check out our roundup of the best free Photoshop alternatives for more no-cost programs for everything from quick and dirty tweaks to nitty-gritty image edits.

Is it worth it to upgrade to a paid version?

Yes. Free image editors are generally great and GIMP is looking better than ever. But Adobe’s hobbyist level Photoshop Elements at $100 has advanced features that you won’t find in the free programs.


If you need to record or mix audio without spending big bucks on pro software, Audacity is hands-down the best option around. This powerful open-source audio editor offers excellent production capabilities—and a dizzying array of buttons and options. Snag it, then read PCWorld’s Audacity primer to wrap your head around the basics.

Is it worth it to upgrade to a paid version?

Maybe. For most users Audacity is a powerful tool, but if you’re rising to the level of semi-pro and need a deeper level of audio editing then Adobe’s Audition CC for $21 per month might be worth it. Keep in mind, however, that Adobe Audition is a pro tool and not a starter option.

Revo Uninstaller

When you delete software using Windows’ default uninstallation utility, it can leave a lot of remnants behind in weird places, sucking up precious storage space. Revo Uninstaller wipes out everything. It’s great. 

(Pro tip: If you encounter a program that says it can’t be deleted because it’s currently in use by your system, IOBit’s free Unlocker can loosen its grasp.)

Is it worth it to upgrade to a paid version?

Yes. Revo uninstaller only takes care of the basics. If you need features like getting rid of remnants from previously uninstalled programs or mass uninstalls then spending $20 on Revo Uninstaller Pro or a $20 yearly subscription to Iobit Uninstaller Pro is worth it.


Michael Crider/IDG

Managing your computer’s storage space is kind of an all-or-nothing experience. Windows will tell you how much space is left on your drive, and that’s it; it’s up to you to dive into a million different directories and clear out the gunk when you’re running low on space. SpaceSniffer (try not to giggle) from Uderzo Software solves this by scanning an entire drive and presenting your files and folders in a visual grid, which makes it easy to find “lost” programs eating up huge chunks of your hard drive space. It’s one of the five Windows power tools we can’t live without.

WinDirStat is another free program that behaves similarly to SpaceSniffer. If you’re looking to free up some space for the latest massive game install, you’ll want one of these installed on your PC.

Is it worth it to upgrade to a paid version?

Nope. Enough said.


But what if you want to bring a deleted file back to the realm of the living? Recuva is a clean, simple undelete program from Piriform, the makers of CCleaner.

Be warned: Recuva won’t be able to recover all deleted files, and the odds are even lower if you erased a program with a secure delete tool like Eraser (another top-notch free program). Still, Recuva has saved my bacon on more than one occasion. 

Is it worth it to upgrade to a paid version?

Maybe. Recuva helps you recover files, but if you want power user features like virtual hard drive support and automatic updates then the $20 for Recuva Pro might be worth it.

Sumatra PDF

Adobe Reader may be the go-to PDF reader for many people, but it’s clunky, constantly updating, and frequently targeted by malware peddlers. If you need only basic functionality, go with Sumatra PDF instead. Sumatra lacks the fancy extras found in many full-featured PDF readers, but when it comes to straight-up reading Portable Document Format files, Sumatra PDF is blazing-fast and completely accurate. Oh, and since it’s less ubiquitous than Adobe’s offering, hackers tend to stay away from Sumatra PDF.

Is it worth it to upgrade to a paid version?

No. There are paid PDF readers such as Adobe’s Acrobat or Wondershare’s PDFelement. But they offer features that few people need such as the ability to edit PDFs, watermark, and annotate them.

If you must have these advanced features check out PCWorld’s guide to the best PDF editors.

Spotify or iTunes

Sometimes, blasting tunes is the only thing that makes slogging through a spreadsheet or a stuffed inbox even remotely tolerable. The exact music client you’ll want will depend on whether you’ve already bought into a service, naturally. For musical neophytes I recommend two programs: iTunes and Spotify.

The iTunes Windows client notoriously sucks, but it gets the job done—and that job includes giving you access to a vast universe of premium music downloads and keeping your iPhone’s music library synced with your PC. Spotify, meanwhile, is an all-you-can-eat streaming service with millions of top-tier tunes available, all for free if you don’t mind listening to a few ads.

Is it worth it to upgrade to a paid version?

Yes. In fact, if my editors let me use “Hell Yes” as an option, I’d say, “Hell Yes!” You don’t need to be an audiophile to recognize the sound difference in the higher-quality versions Spotify and Apple Music premium subscribers get, plus no ads and the freedom to listen to your music anywhere? Sold.

A password manager

The high-profile hack attacks of the past few years have driven home the point: You need strong passwords, and you need a different password for each site you visit. Rather than juggling dozens of alphanumeric codes in your noggin, download a password manager. 

There are several options available, but our favorite freebie is Bitwarden, a no-cost password manager with few restrictions (unlike the free offerings from premium favorites like LastPass and Dashlane). PCWorld’s guide to the best password managers and the best free password managers can help walk you through all the available options.

Is it worth it to upgrade to a paid version?

Yes. Password managers are important tools, but you need them on all your devices to be effective and that means paying for the service. LastPass Premium is the cheapest subscription at $24 per year, but there’s also 1Password and Dashlane Premium.

A productivity suite

PCs excel at helping you Get Things Done—but few of them ship with a productivity suite installed. Fix that, stat! Even if you don’t plan to use a productivity suite regularly, it’s smart to have basic editing capabilities available on your computer.

Legions of people swear by Microsoft’s legendary Office; I do, too. But you don’t have to drop big dollars on Office if you don’t need its myriad bells and whistles. Free—and good—alternatives abound, with LibreOffice (pictured) being the flagship free-and-open-source option. The online-only Google Docs also rocks. PCWorld’s guide to the best free Microsoft Office alternatives explains your various options.  

Is it worth it to upgrade to a paid version?

Maybe. You can get a lot done with LibreOffice or Open Office, or even Google Docs. But there’s a lot to be said for Microsoft’s subscription service, Office 365, with its added 1TB of OneDrive storage and monthly Skype minutes. 


Macros sure are great in Microsoft Word and Excel, aren’t they? AutoHotKey lets you create customized keyboard shortcuts for any program or action on your PC. It’s not exactly beginner-friendly, as configuring AutoHotKey requires some very basic scripting, which most people will be able to pick up quickly enough. It’s downright magic once you wrap your brain around it though.

Is it worth it to upgrade to a paid version?

No. Even if you could pay for a pro version, why would you? But if you like keyboard shortcuts, Vimium is another great free option for adding keyboard controls to your browser.

TunnelBear VPN

Browsing websites and sending private data over open Wi-Fi hotspots is just begging for hackers to capture the details. Virtual private networks secure your connection. If you need to log in to your work website or email at Starbucks, use TunnelBear to keep your data safe. It’s fast, easy to use, and has a straightforward privacy policy, unlike many VPNs.

The free version is limited to just 500MB of data per month, though. 

Is it worth it to upgrade to a paid version?

Yes. This is another one where “Hell Yes!” would be appropriate. TunnelBear is great, and we think it’s a trustworthy product, but the 500MB monthly limit is so tiny. There are numerous VPNs to choose from. Check out our roundup of the Best VPNs to find the one that suits you. Our current top pick is ExpressVPN.

Free games!

All work and no play makes Homer something something! Valve’s outstanding PC game marketplace, Steam, makes it easy to shrug off the stress of the workday and blow off some … well, you know. You’ll find tons of free games available on Steam, and games are frequently given away free for a limited time. If you want a steady stream of freebies, the rival Epic Games Store gives way a free game or two every single week.

Is it worth it to upgrade to a paid version?

Probably. Free games can only take you so far before you’re left wanting more. Steam, GOG, EA’s Origin, the Epic Games Store, and Blizzard can all satisfy your gaming needs once the free games aren’t enough. 

Bonus: Back up your PC!

This isn’t an official recommendation because the best way to back up your PC for free is to use a hodgepodge of native Windows utilities and no-cost third-party solutions. But backing up your data is so vital—especially in this rising age of ransomware—that it needs to be highlighted here.

If the idea of using a mish-mash of tools makes you wince, check out PCWorld’s guide to the best Windows backup software  for more options. You’re going to need some portable storage to stash your bits on, too. PCWorld’s best external drives roundup can help there.

Is it worth it to upgrade to a paid version?

Yes. The best strategy for backing up your PC isn’t just throwing your files on a hard drive over USB. You also need to have an online backup, and there are many services to choose from such as Backblaze, and Carbonite. Check out our guide to the best online backup services for more details.

Master your Windows PC

Now that you’ve loaded up your PC with the best free software around, it’s time to put Windows itself to work. Head on over to PCWorld’s guide to 10 little-known Windows features that will blow your mind to seize even more control over your PC for the low, low price of nothing.

62 Computer software development, related consulting services and other related services \ ConsultantPlus

  • Home
  • Documents
  • 62 Computer software development, related consulting services and other related services this document 57/2023, approved by the Order of Rosstandart of 07. 07.2023 N 491-st, will be placed in the information bank after its publication in the Information Index “National Standards” (IUS).

    “OK 029-2014 (NACE Rev. 2). All-Russian classifier of economic activities”
    (approved by the Order of Rosstandart dated January 31, 2014 N 14-st)
    (as amended on 05/11/2023)

    6 2

    Computer software development, related consulting and related services

    This grouping includes:

    – conducting expertise in the field of information technology: development, modification, testing and support of software, planning and design of computer systems that combine computer hardware, software and communication technologies;

    – interactive control and operation by the customer of a computer system and/or data processing facilities;

    – other professional and technical activities using computers

    62. 0

    Computer software development, related consulting and related services


    Computer software development

    This grouping includes:

    – development, modernization, testing and support of software

    This grouping includes:

    – development of the structure and content and / or writing of a computer program necessary for the creation and implementation of the task, including: system software (including updates and fixes), software applications (including updates and fixes), databases, web pages;

    – software setting, i.e. making changes and customizing an existing application so that it functions within the customer’s information system

    This grouping does not include:

    – publishing of software packages, see 58.29;

    – translation or adaptation of public software for a specific market at own expense, see 58.29;

    – planning and design of computer systems that integrate computer hardware, software and communication technologies, even if the software is provided as an integral part, see 62. 02


    Advisory activities and work in the field of computer technology

    This grouping includes:

    – planning and design of computer systems that integrate computer hardware, software and data communication technologies

    Services may include appropriate user training

    This grouping does not include:

    – sale of computer hardware or software, see 46.51, 47.41;

    – installation of mainframes and analogue computers, see 33.20;

    – installation (adjustment) of personal computers, see 62.09

    – installation of computer crash recovery software, see 62.09


    Activities for planning, designing computer systems


    Computer systems examination and examination activities


    User training activities

    62. 02.4

    Activities for the preparation of computer systems for operation


    Other consulting activities in the field of computer technology


    Computer equipment management activities

    This grouping includes:

    – provision of services for on-site management and operation of the client’s computer systems and / or data processing facilities, as well as related support services


    Computer systems management activities


    Computer systems management activities directly


    Remote computer systems management activities


    Computer systems maintenance activities


    Other computer equipment management activities n. e.c.


    Activities related to the use of computers and information technology, other

    This grouping includes:

    – other information technologies related to working on a computer, not included in other groups, including: providing services for restoring a computer after a failure, installing (configuring) personal computers, installing software

    This grouping does not include:

    – installation of specialized digital and analogue computers, see 33.20;

    – development of computer software, see 62.01;

    – consulting in the field of computer systems, see 62.02;

    – management of computer hardware, see 62.03

    – data processing and hosting, see 63.11

    61 Telecommunication activities
    63 Information technology activities

    Computer software classification

    Unix-IT is your reliable partner in the world of high technologies.

    Software (SW) is a set of procedures used by computer technology that are necessary to solve problems of processing various kinds of information. The software serves to create a certain virtual environment in the computer memory, with the help of which the user is able to manipulate data flows by entering his commands through external devices.

    Depending on the purpose, as well as the scope, it is customary to distinguish three main classes of software:

    • system;
    • applied;
    • programming toolkit.

    System software

    This type of software is considered the most important, since the launch and execution of any other procedures depend on it. The main system software in the device is its operating system, which determines the global environment with its own rules, on the basis of which all subsequent work of the computer takes place.

    An operating system (OS) is a complex software package that controls the hardware component of a computer, thanks to which the device interacts with the user and the outside world, as well as the execution of application programs. In addition, a rather important part of the OS is its file system, which regularly controls the device’s memory, which manifests itself in the creation, copying, moving and deleting the necessary files with information.

    The most famous operating systems are:

    • Windows;
    • MS-DOS;
    • Unix;
    • macOS;
    • OS/2.

    Application software

    This type of software exists to perform certain user tasks that are managed from under the installed OS. Quite often, such a class of programs is called applications. Usually, with their help, some virtual objects and models are created, edited and processed, which are necessary to solve home, office, corporate or scientific needs. Modern programs have an advanced graphical interface that allows you to make the user’s work in the application as convenient and efficient as possible.

    There are many different types of application software in active use today:

    • text editors;
    • graphics packages;
    • database systems;
    • table processors;
    • computer games;
    • web browsers;
    • training programs;
    • media players.

    Programming tool

      The last class of software is used to design, write, and test new programs. Modern development toolkits provide the application creator with a huge amount of coding functionality. In most cases, these software solutions require a person to know a special language that is used to write software. However, modern integrated development environments have a lot of additional customizable options that make it much easier to write programs by automatically generating separate parts of code.

      Among the most popular programming languages ​​are the following:

      • C++;
      • Java;
      • PHP;
      • C#;
      • JavaScript;
      • Python;
      • Delphi;
      • Pascal.


      As you can see, computer software forms a kind of multi-level bridge through which the user interacts with the computing device. Each level of such a bridge has its own scope and purpose.