DEV Community

Cover image for Must have software for programmers
Programming with Shahan
Programming with Shahan

Posted on • Updated on

Must have software for programmers

If you're a programmer or thinking about becoming one, having the right software tools can make your job a whole lot easier. These tools help you write, test, and manage your code efficiently. In this article, we'll break down the essential software and tools every programmer should have.

Code Editor:

A code editor is like a digital notepad where you write your code. Two popular options are Visual Studio Code and Sublime Text. They make writing code easier with features like auto-completion and error highlighting.

Integrated Development Environment (IDE):

An IDE is a fancy code editor with extra tools. If you're into web development, consider using Visual Studio for web development. For Python, PyCharm is an excellent choice. IDEs help you manage your code projects, debug issues, and test your programs more efficiently.

Version Control System:

Git is the go-to tool for keeping track of changes in your code. It helps you collaborate with others, roll back to previous versions if something goes wrong, and manage your code history. GitHub is a popular platform to host your Git repositories.

Terminal (Command Line Interface):

If you're working on a Mac or Linux, you'll need to use the terminal. It's a text-based interface for running commands and managing your computer. Learning some basic terminal commands is essential for a programmer.

Database Management Tool:

If you work with databases, you'll need a tool like MySQL Workbench, SQL Server Management Studio, or DBeaver. These tools help you create, modify, and query databases.

Text Editor:

Sometimes you need to work with text files that aren't code. Notepad (for Windows), TextEdit (for Mac), or Notepad++ (for Windows) can be handy for editing configuration files and taking notes.

Virtualization Software:

Software like VirtualBox or VMware allows you to create virtual machines. This is useful for testing software on different operating systems without needing multiple physical computers.

Package Manager:

Depending on your programming language, you might need a package manager like npm (for Node.js), pip (for Python), or gem (for Ruby). These tools help you install and manage libraries and frameworks for your projects.

Communication Tools:

You'll likely need to communicate with your team or clients. Tools like Slack, Microsoft Teams, or even simple email can be essential for sharing progress, discussing ideas, and getting feedback.

Code Hosting and Collaboration:

Platforms like GitLab, Bitbucket, and GitHub are great for hosting your code online and collaborating with others. They also offer features for issue tracking and project management.

Bright Data for Web Scraping:

If you are a business owner or part of a company looking for a competitive edge, web scraping is your secret weapon! You can effortlessly collect data on product prices, features, reviews, and even contact information like names, job titles, email addresses, and cellphone numbers.

To demonstrate it, web scraping, also known as web harvesting or web data extraction, is the process of extracting data from websites. And here's the exciting news: Bright Data's Web Scraping service is the #1 web data platform worldwide, designed to help you easily focus on your multi-step data collection from browsers while taking care of the full proxy and unblocking infrastructure for you, including CAPTCHA solving. This means you can focus on what matters most: collecting the data you need to succeed. Don't miss out on the opportunity to transform your business with web scraping.

Conclusion:

Overall, the best software for you might depend on the type of programming you do. But having these tools in your arsenal will set you up for success and make your programming journey smoother.

If you like this article, make sure to give it a thumbs up and let me know in the comment section what other important tools or software we might consider. Thank you for your time, and happy coding!

You can follow me on: Twitter | Instagram

Top comments (27)

Collapse
 
vlasales profile image
Vlastimil Pospichal

Where Is Vim, Emacs and Unix Utils?

Collapse
 
araaranomi profile image
Ara Ara no Mi

How many people actually use Vim? It has an unnecessary learning curve for a code editor.

Collapse
 
vlasales profile image
Vlastimil Pospichal • Edited

Vim is the editor for all languages and all texts. No other editor or IDE is need. The learning curve is irrelevant.

Vim use 10 % of developers. Is it enought?

Thread Thread
 
araaranomi profile image
Ara Ara no Mi

The learning curve is relevant, I don't want to spend days trying to understand a code editor when I could just use VSCode or IntelliJ IDEA and start coding pretty much instantly.

Thread Thread
 
codewithshahan profile image
Programming with Shahan

Exactly! That's what I think.

Thread Thread
 
vlasales profile image
Vlastimil Pospichal

I don't want to spend days trying to understand VSCode or IntelliJ IDEA.

Thread Thread
 
araaranomi profile image
Ara Ara no Mi

That's quite the dumb take, you install these code editors and start coding instantly because you barely need to install any plugin or configuration

Thread Thread
 
vlasales profile image
Vlastimil Pospichal

Vim works immediately after installation even without plugins and configuration.

Collapse
 
wraith profile image
Jake Lundberg

✋ I do 😊

There is definitely a learning curve, but like much in our world, the investment does have significant benefits.

Thread Thread
 
araaranomi profile image
Ara Ara no Mi

Which benefit?

Thread Thread
 
wraith profile image
Jake Lundberg

There are many benefits that come with using Vim. Some of the most notable are:

  • It's available on (almost) all Linux distributions, and can be easily installed on Mac as well. And since many servers are running Linux, you can now have an editor available to you, even if you SSH into a server (you can't do this with VSCode)
  • It's community and plugin ecosystem are both massive. For virtually anything you could want it to do, there is most likely a plugin for it. And if you have questions, you are almost guaranteed to be able to get help.
  • You can completely control it without having to take your hands off the keyboard. Once you get the hang of this, you can become exceptionally fast at most things...AND no more wear and tear on your joints with repetitive movements of switching between mouse and keyboard.
  • It's exceptionally fast, even with massive files.
Thread Thread
 
araaranomi profile image
Ara Ara no Mi

I don't think wear and tear because of switching between keyboard and mouse actually happens. I don't think these benefits can counteract the learning curve and time to learn Vim.

Thread Thread
 
wraith profile image
Jake Lundberg

That’s completely fine. Choosing an editor is primarily a personal choice…but as someone who has made that time investment, I believe it was well worth it. But let me just leave you with a couple additional things to consider:

  • many editors like VSCode build in Vim controls. so even though they are their own editor, Vim is considered to be valuable enough to many that it’s controls are worth building into other editors.
  • Vim was released in the early 90’s, so it has withstood the test of time. Very few technologies can claim the same. Perhaps there is indeed a reason?
  • performance matters a lot to many people, and Vim is proven to be exceptionally performant. so while this may not be as important to you, don’t forget to consider what is important to other people.
  • virtually everyone uses shortcuts in many programs and applications. Perhaps a perspective shift could be valuable here by considering Vim as just being controlled via a bunch of keyboard shortcuts.
Collapse
 
jules_irenge profile image
Jules

I use vim and it is the best editor so far, I wish to learn Emacs as well though

Thread Thread
 
araaranomi profile image
Ara Ara no Mi

Why do you consider it to be "the best editor"?

Thread Thread
 
vlasales profile image
Vlastimil Pospichal

Vim has virtually unlimited capabilities, as a developer can customize it to their own needs using macros and keyboard shortcuts. No other editor has "buffers" that allow you to work with a practically unlimited number of files at the same time. Tabs are usually an unnecessary addition, used by beginners, because they are not practical for hundreds of open files. Programs can be compiled, tested, stepped, etc. directly in Vim. Is there a required feature missing?

Collapse
 
codewithshahan profile image
Programming with Shahan

I found the majority of programmers use Windows or macOS. But of course, these are also popular, as you suggest.

Collapse
 
vlasales profile image
Vlastimil Pospichal • Edited

Unix Utils are for Windows. Who use MacOS? Nobody. MacOS-X is the Unix with the utils, Linux OS too.
Vim and Emacs can be use on all OS.

Thread Thread
 
codewithshahan profile image
Programming with Shahan

Wow. I didn't know it before. Thanks for sharing this.

Collapse
 
jules_irenge profile image
Jules

Where did you find ?

Collapse
 
hardyweb profile image
hardyweb

I develop system using neovim in linux terminal instead, no need VSCode

Collapse
 
codewithshahan profile image
Programming with Shahan

That's amazing. I found that VSCode for web development is much better than other code editors.

Collapse
 
benborla29 profile image
Ben Borla • Edited

This statement depends on who you’re talking to. Yes, for some, VSCode is much better for development. But, note that, others would disagree.

Collapse
 
maximprogramerxx profile image
Maximprogramerxx

I agree in 100%

Collapse
 
alexhackney profile image
alexhackney

I'm actually giving up my personal windows laptop for a Mac m2. Pretty much no reason not to now. Work provided a mbp and I'm starting to be more comfortable with it than Windows. Weird transition though.

Collapse
 
agent1c profile image
Agent1c

I love Emacs, however it is very complicated for me to real understand it,
Or be comfortableusing it, then I looked over VIM, it is one pleasing especially in Ubuntu.

Yes now am using VS Code, it's just makes life more easier and quick to write your code 😀

Collapse
 
2kabhishek profile image
Abhishek Keshri

I can get all my dev work done with a terminal and a web browser, everyone has their own way of working.

Most of the over generalized points mentioned here aren't really a "must have"

Some comments may only be visible to logged-in visitors. Sign in to view all comments.