10 must know tools to become pro in C/C++ on UNIX/Linux platform. Good internet resources are also mentioned.

1. Basic commands
http://mally.stanford.edu/~sr/computing/basic-unix.html
http://pangea.stanford.edu/computing/unix/shell/commands.php
http://infohost.nmt.edu/tcc/help/unix/unix_cmd.html

2. Editor – vi, Emacs
http://www.atmos.albany.edu/deas/atmclasses/atm350/vi_cheat_sheet.pdf
http://cmgm.stanford.edu/classes/unix/emacs.html

3. Build utilities – make/Cmake
http://frank.mtsu.edu/~csdept/FacilitiesAndResources/make.htm
http://www.cmake.org/cmake/help/cmake_tutorial.html

4. Debugger – gdb
http://www.cs.cmu.edu/~gilpin/tutorial/

5. Version control – cvs, svn, git
http://mrsrl.stanford.edu/~brian/cvstutorial/
http://www.cs.ubc.ca/~vailen/svn_howto.htm
http://maverick.inria.fr/~Xavier.Decoret/resources/svn/index.html
http://www.vogella.com/articles/Git/article.html

6. Code viewing tools – ctags, cscope
http://www.linux-tutorial.info/modules.php?name=Howto&pagename=C-editing-with-VIM-HOWTO/random.html
http://www.cs.washington.edu/education/courses/cse451/12sp/tutorials/tutorial_cscope.html
http://cscope.sourceforge.net/cscope_vim_tutorial.html

7. IPC mechanisms
http://tldp.org/LDP/tlk/ipc/ipc.html

8. Multi-threading – Pthreads, BOOST library
https://computing.llnl.gov/tutorials/pthreads/
http://ashishgrover.com/boost-multi-threadingfor-c/

9. Tools for memory issues – Purify, Valgrind
http://www.cprogramming.com/debugging/valgrind.html
http://pages.cs.wisc.edu/~hasti/cs368/resources/purify.html

10. GUI – Qt
http://zetcode.com/gui/qt4/introduction/
http://www.digitalfanatics.org/projects/qt_tutorial/
http://doc.trolltech.com/4.3/tutorial.html

I have ensured that above links are working at the time of publishing this post.

Tagged with →  
Share →

11 Responses to 10 tools C C++ Linux Programmer must know

  1. jcfds says:

    You should really reconsider the CVS resources in your list

    New things have emerged sinced the end of XXth century (subversion, git, mercurial,…)

    http://en.wikipedia.org/wiki/Comparison_of_revision_control_software

    Well, having said that, I confess I still use vi 😀

  2. Reedo says:

    You forgot to list emacs.

  3. Penny Imes says:

    I absolutely love your blog and find a lot of your post’s to be precisely what I’m looking for. Would you offer guest writers to write content for yourself? I wouldn’t mind composing a post or elaborating on a lot of the subjects you write regarding here. Again, awesome blog!

    • I have not got too many requests for guest-post so I do not have this feature yet. But I am open to try. For your first one, we can agree on the content through e-mail first.

  4. Cullen says:

    Thanks for writing this up. Most of your list is highly beneficial…a question about editors though?

    Why limit the list of editors to vi and emacs? I’m a kernel developer, who happens to enjoy GUI editors and I’ve had no problems whatsoever. Did you mention those two for distros with no GUI? In fact the editors I use are fantastic and provide many features like indexing of code to easily jump to a referenced function definition. Just a curiosity

    • Based on what I have seen, there are more vi and emacs lovers than any other editor. Also, these non-GUI editors vi and emacs work on any distro, the one you use might need specific package. So, it is handy to have a mastery of these.

  5. […] 10 things C C++ Linux Programmer must know […]

  6. […] going to learn vim as ‘serious coders’ use it and it isn’t emacs … read this and this for tips about coding […]

Leave a Reply

Your email address will not be published. Required fields are marked *