Software Development ​Tools Are An Abstraction | The Odyssey Online
Start writing a post
Lifestyle

Software Development ​Tools Are An Abstraction

Software is only an abstraction of real world topics.

17
Software Development ​Tools Are An Abstraction
Photo by Tirza van Dijk | Unsplash

The main tasks of a software developer is to create tools and platforms. From fairly basic applications such as web apps, to monolithic projects like entire operating systems, software is a very abstract classification of things we use every day, but the tools used to build this software are only a way to accomplish the task of solving some issue. With hundreds of programming languages, and thousands of libraries and frameworks that solve the same problem, there isn’t a perfect tool but there is a path to find a good tool for the job.

One of the easiest ways to begin finding good software development tools is starting with a language. Similar to spoken languages, most programming languages all have similar high-level concepts, while the actual implementation and specializations differ. A language such as JavaScript is mainly used for interacting with websites, so it would likely not be the first choice when developing low-level code, which may deal with software that interacts closely with the actual system. On the other hand, a language known as C would be good for low-level code since the core of most operating systems are written in C. When starting a project, a language that fits the field that the software will fit into would be good to pick, although choosing a language might not be the case if the project is already underway.

Other than startups, a large amount of software being developed today has been either existed for a while, or coupled into other software. A beginning software developer who is hired by a company is likely to be dropped into a project that has been in the works for months to years. With that, there is likely to already be a toolchain that the company uses, and this new hire is going to have to use it. For small projects changing tools may be simple, but on large scale software, asking a project lead to consider changing to a different tool that would require an entire rewrite of the software is costly. On the other hand, for personal projects, a good solution for creating software is as long as it works well with your specification, use languages and libraries you’ve used before. This reduces the time needed to learn the tools to zero and if you already know the tool, then you can immediately begin developing a project rather than having to learn the tool in parallel. A smart decision when making software is use tools that are constrained on you or that you have knowledge of. Adding new tools to a workflow can be effective, but one needs to be weary when doing so.

Since new software comes out very rapidly, a developer should focus on cost effective tools rather than brand new and hyped up tools. A tool which is cost-effective is one where it allows a user to be able to start adding it into their workflow quickly and easily. Software that has existed for awhile and is popular to use likely has a large community which can help fixing bugs and guiding one to documentation on specific parts of the project. The issue with newly-released software is that these conveniences are less likely to exist since the community isn’t there yet, and documentation may be lacking for technical understanding of the software. That said, this doesn’t mean all new software is bad and should only be used once. There is a big enough community around it, but rather that one should be careful when looking at new software to put into the development workflow of a piece of software.

I’ve mainly been discussing how to choose the right tools for software development, but many of these ideas go beyond just software and into other fields. In any field, there is likely to be a set of tools that one uses to solve a certain problem or get a job done, and there are good tools to solve these jobs. Software is only an abstraction of real world topics like entertainment, communication, finances, and the list goes on. With that, the tools in creating software are a means to get things done, and to get things done efficiently can be accomplished with proper tools for a job.

Report this Content
This article has not been reviewed by Odyssey HQ and solely reflects the ideas and opinions of the creator.
Entertainment

Every Girl Needs To Listen To 'She Used To Be Mine' By Sara Bareilles

These powerful lyrics remind us how much good is inside each of us and that sometimes we are too blinded by our imperfections to see the other side of the coin, to see all of that good.

875986
Every Girl Needs To Listen To 'She Used To Be Mine' By Sara Bareilles

The song was sent to me late in the middle of the night. I was still awake enough to plug in my headphones and listen to it immediately. I always did this when my best friend sent me songs, never wasting a moment. She had sent a message with this one too, telling me it reminded her so much of both of us and what we have each been through in the past couple of months.

Keep Reading...Show less
Zodiac wheel with signs and symbols surrounding a central sun against a starry sky.

What's your sign? It's one of the first questions some of us are asked when approached by someone in a bar, at a party or even when having lunch with some of our friends. Astrology, for centuries, has been one of the largest phenomenons out there. There's a reason why many magazines and newspapers have a horoscope page, and there's also a reason why almost every bookstore or library has a section dedicated completely to astrology. Many of us could just be curious about why some of us act differently than others and whom we will get along with best, and others may just want to see if their sign does, in fact, match their personality.

Keep Reading...Show less
Entertainment

20 Song Lyrics To Put A Spring Into Your Instagram Captions

"On an island in the sun, We'll be playing and having fun"

782878
Person in front of neon musical instruments; glowing red and white lights.
Photo by Spencer Imbrock on Unsplash

Whenever I post a picture to Instagram, it takes me so long to come up with a caption. I want to be funny, clever, cute and direct all at the same time. It can be frustrating! So I just look for some online. I really like to find a song lyric that goes with my picture, I just feel like it gives the picture a certain vibe.

Here's a list of song lyrics that can go with any picture you want to post!

Keep Reading...Show less
Relationships

The Importance Of Being A Good Person

An open letter to the good-hearted people.

1095635
Chalk drawing of scales weighing "good" and "bad" on a blackboard.
WP content

Being a good person does not depend on your religion or status in life, your race or skin color, political views or culture. It depends on how good you treat others.

We are all born to do something great. Whether that be to grow up and become a doctor and save the lives of thousands of people, run a marathon, win the Noble Peace Prize, or be the greatest mother or father for your own future children one day. Regardless, we are all born with a purpose. But in between birth and death lies a path that life paves for us; a path that we must fill with something that gives our lives meaning.

Keep Reading...Show less

Subscribe to Our Newsletter

Facebook Comments