Solved

What are the tools must know by C++/Linux senior developer?

Posted on 2016-08-26
4
39 Views
Last Modified: 2016-09-17
Hi all,

    I used to develop application with the help of CodeLite IDE, Git, GDB, Valgrind, VIM editor.

   Do I need to know any other tools to ease my development process. Please suggest.

Ed
0
Comment
Question by:EeEd EeEd
  • 2
4 Comments
 
LVL 8

Expert Comment

by:Subrat (C++ windows/Linux)
ID: 41771460
Qt library with qml.
0
 
LVL 34

Accepted Solution

by:
Duncan Roe earned 250 total points (awarded by participants)
ID: 41772558
I think you already have the principal requirements all listed. Do you plan to use an IDE or work from the command line?
For command-line development, you need
- An editor. vi (or vim)  is fine if you are comfortable with it
-Some way of browsing source. I believe cscope is good, but I use the sfl family of commands from command_line_tools
- A revision control system. git is fine
- Familiarity with a code debugger. gdb is the almost-universal choice
- (Nice to have) familiarity with a testing framework such as you have with Valgrind

You have all the above already, providing you are happy with your level of expertise in their use. You also have experience with an IDE - once you've learned to use one IDE it's almost trivial to learn another one.
You can augment an IDE's editor by using your favourite command-line editor if you find that helpful. Just be sure to save changes in one before switching to the other.
CodeLite integrates with Subversion which may or may not suit you. In the past I have used an IDE without git integration and done the revision control in the command line.

Depending on what you are about to work on, there may be other specialised tools that you would find useful. You need to tell us more if you would like further recommendations.
0
 
LVL 28

Assisted Solution

by:pepr
pepr earned 250 total points (awarded by participants)
ID: 41775228
For the development, you need not only a compiler, editor, and the like tools, but also "more soft" things that help the development, but are not "tools". They are more like libraries that are used during the development but they are not the part of the final solution.

When developing more complex applications and systems, you need to build separate programs (side by side) that test the parts of the final solutions. The testing frameworks are written usually in the same programming language. The first level of testing is "unit testing". The classical approach to the framework is part of the Boost libraries. For Windows, there is implementation of such framework as a part of Visual Studio.

As the classical approach to implementation of a unit-testing framework actually came from another programming language, I was curious whether a better alternative exits for C++. There was some research activity of the gurus that know C++ inside out, and one of the practical results is the Catch unit-testing framework by Phil Nash (https://github.com/philsquared/Catch). It greatly simplifies introduction of Test Driven Development (that is "writing tests first") and it even extends towards Behaviour Driven Development (that is "writing human description of the solved problem first"). Give it a try ;)
0
 
LVL 34

Expert Comment

by:Duncan Roe
ID: 41802897
The author asked for suggestions and received several. He chosen not to respond to an invitation to elaborate on his needs, so we have to assume he is satisfied with the answers
0

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

FreeBSD on EC2 FreeBSD (https://www.freebsd.org) is a robust Unix-like operating system that has been around for many years. FreeBSD is available on Amazon EC2 through Amazon Machine Images (AMIs) provided by FreeBSD developer and security office…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
The viewer will learn how to synchronize PHP projects with a remote server in NetBeans IDE 8.0 for Windows.
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now