Copyright

Software Development Tools: Assemblers, Profilers & Editors

Instructor: David Gloag
In this lesson, we'll take a look at Software Development tools, and define Assemblers, Profilers, and Editors. At the end, you should have a good understanding of the part each plays.

The Trials of a Developer

Writing computer software is a complex business. Just ask any developer. They have to understand the device they are targeting, design a solution that addresses their user's needs, and deliver that solution free of defects. It's a wonder they have any success at all, particularly with the aggressive timeframes often given them. So, how do they do it? How do they find success in an environment that seems to be working against them? There's no real secret. They get help and support from their colleagues and by employing the tools of the trade, software development tools.

What is a Software Development Tool?

A software development tool is any hardware device, software utility, software application, or piece of code, that assists in the creation of a software program. Here are a few examples:

  • In-Circuit Emulators - a hardware device that allows a developer to examine the internals of an embedded system. It works in conjunction with the processor to provide debugging capabilities.
  • Digital Scopes - a piece of hardware that can capture the electronic signals that a target device generates. It helps a developer see what the device is doing at the chip-level.
  • IDEs - integrated development environments, a one-stop software solution that includes most of what you need to deliver a software program. Common examples include Visual Studio, and Eclipse.
  • Compilers - a software program that takes high-level developer written program code and converts it to code the target device can understand (machine code).

In this article, however, we will focus on three particular kinds of software development tools: assemblers, profilers, and editors.

What is an Assembler?

An assembler is a software development tool. It is a compiler of sorts, a software program that converts developer written code into machine code. The difference is the level of language the developer writes the original code in. Compilers expect high-level code as input, meaning code where one line represents tens or hundreds of lines in the equivalent machine code. Assemblers, on the other hand, expect low-level code as input. This is code that exhibits a one-to-one correspondence between the input lines, and the machine output. You don't see them used that often these days. Many IDEs have the ability to use 'inline' assembly code which reduces the need for them. Still, specialized areas, like device driver or embedded systems development, make considerable use of them.

What is a Profiler?

A profiler is another tool developers use. Its purpose is to monitor a program while it is running, and report back how much time the program is taking to execute. In addition, it indicates exactly where in the code that time is being spent. This is extremely useful, particularly in today's need-for-speed world. For example, a developer can look at the output of a profiler, pinpoint processing bottlenecks, and improve the overall performance of the software using that knowledge. You don't see many stand-alone profilers these days. IDEs, like Visual Studio, often have this capability built in to their offerings.

To unlock this lesson you must be a Study.com Member.
Create your account

Register for a free trial

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use Study.com

Become a Study.com member and start learning now.
Become a Member  Back
What teachers are saying about Study.com
Free 5-day trial

Earning College Credit

Did you know… We have over 160 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Create an account to start this course today
Try it free for 5 days!
Create An Account
Support