There's more to creating a software product than just the base level code. Think of all the different under-the-hood technical requirements a modern piece of software needs to account for - compatibility with different operating system (OS) environments; interfacing with other pieces of software, all of which might have been created in different languages; interfacing with any number of databases.
The list goes on, encompassing a whole panoply of functionalities. These are all tasks someone with a background in programming and/or IT training could conceivably do manually, but that quickly becomes un-manageable when dealing with a project of any appreciable amount of scale. Managing all of these back-end functions would be all but impossible to account for if it wasn't for the types sophisticated developer tools in use today.
Types of development tools
Some of the most common types of development tools are libraries and software frameworks.
- Library: As the name might suggest, a comprehensive directory of reference materials and documentation on various parts of a program, as well as reusable snippets of preexisting code or datasets that might need to be slotted in and out of different
- Software framework: The environment in which programmers can access all of the standards items in the development toolbox like compilers, libraries and APIs.
The two might sound more or less the same on the surface, but there are a few key points of difference. Most notably, in contrast to a library, a software framework will be a closed system, meaning developers can't (or shouldn't, at least) get at its code to modify.
In addition to these two elements, there are also project management systems, classes and more.
Development tools in the workplace
With the ever-increasing complexity of modern software solutions, development tools are more or less an essential for a project with any appreciable amount of complexity to it. Some are legacy systems, still in use because they occupy a load-bearing place for
Here are a few examples of the types of development tools and operating systems in use in the enterprise world today:
Software frameworks and other tools
- .NET Framework - Microsoft's Windows-based software framework. .NET is a platform for developing applications across Microsoft's various OS', including Windows, Windows Server, Windows Phone and Azure, Microsoft's cloud computing platform.
- Agile - Less a software product (though solutions based on it exist) than a philosophy of project management designed for software development. Agile emphasizes rapid delivery, close collaboration between different teams and flexibility to modify features late into the development process.
- ASP.NET - Like .NET, ASP.NET is a Microsoft-designed software framework. Where it differs from .NET, however, is open source and designed for developing web sites and web apps using Common Language Runtime, which is compatible with various .NET languages.
- ColdFusion - Adobe's foray into the development platform/software framework market.ColdFusion uses its own scripting language ColdFusion Markup Language (CFML) and is designed for web development.
- Corel - Not a development platform as much as a creative suite. Since the late 1980s Corel has been a credible alternative to Adobe Creative Suite with tools for digital illustration, word processing, video editing and more.
- Visual Basic - Another Microsoft product, Visual Basic is both a programming language and an integrated development environment. Even though the last stable release was back in 1998, Visual Basic continues to be used by a considerable amount of developers in their projects.
- AIX - IBM's proprietary Unix OS, AIX is a legacy series is designed for IBM's own servers and workstations. IBM developed "Advanced Interactive Executive" as a version of UNIX to power its customers' workstations and office servers in the 1980s. Many large companies still rely on AIX systems developed during that era, making certification on this operating system necessary for some corporate IT teams.
- AS/400 -- IBM's popular server platform, now part of the "i Series," introduced object-oriented programming to many office networks. Familiarity with this OS also requires an understanding of the other platforms it supports, including AIX and UNIX.
- Linux - One of the most popular open source evolutions of UNIX. Linux often shows up in workplaces as a free or cheap replacement for other server, desktop and embedded operating systems.
- Mac OS X - Though typically associated with consumer-level use, Mac platforms have been seeing increasing proliferation in the enterprise space, especially in the design and graphics world.The Apple Certified Support Professional (ACSP) certification enables IT professionals to handle the most common troubleshooting and maintenance issues on the Mac OS.
- Microsoft Windows -- Most Americans think of Windows when they think about operating systems, so it's no surprise that many corporate IT jobs require at least a basic understanding of Microsoft's flagship OS.
- Microsoft Windows Server -- Running an office network under Windows Server requires even more targeted knowledge and experience. Therefore, many medium and large businesses require new IT hires to get certified on Windows Server before administering workgroups and SharePoint installations.
- Red Hat Linux -- By demystifying the open-source operating systems in the 1990s, Red Hat carved out a niche for its enterprise OS among corporate IT departments. The company's emphasis on support and certification assures company directors who might otherwise be nervous about using a "free" operating system.
- UNIX -This old-school operating system, in enterprise use since the early 1970s, is the underlying foundation of many advanced platforms from vendors like Oracle and Apple. Popular for its integrity and security, UNIX attracts support professionals who like their hands on the core of any OS.
"Framework," TechTerms.com, March 7, 2013, http://techterms.com/definition/framework
".NET Framework Versions and Dependencies," Microsoft, 2015, https://msdn.microsoft.com/en-us/library/bb822049(v=vs.110).aspx