The Joel on Software Discussion Group (CLOSED)

A place to discuss Joel on Software. Now closed.

This community works best when people use their real names. Please register for a free account.

Other Groups:
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
Fog Creek Copilot

The Old Forum

Your hosts:
Albert D. Kallal
Li-Fan Chen
Stephen Jones

What are tools of programming?

Hey guys. I keep hearing people talk about the "array of tools" that they use for their job. What are they talking about? I was assuming just like methods they know to get something done faster and better. What is a tool for programming and can you give examples of tools that you use often?
flody wan Send private email
Monday, May 04, 2009
they're talking about things like...

testing tools (nunit, selenium, etc)
continuous integration
source control
deployment tools
project management and collaboration tools
Jason Send private email
Monday, May 04, 2009
the essence of tools is found on unix and linux oses. the introduction of pipes by unix had a great impact on how softwares were developed. a lot of them (grep, cat, more, less...) are meant to work together.

say you want to double space a 40000-lines text file. a simple awk (or ed) command can do that on unix systems. what about windows? the other i learned that tar, the command to create an archive, can be piped. so you can pipe the output to the archive compressor of your choice. under windows, the gui kinda force things on you.

most gui applications are not meant to work together. (the concept of piping does not exit on windows.) yahoo tried to implement piping for the web. a big failure (in my opinion).

ps: gvim is an exception. it's a great tool. i use it as a personal wiki for example.
Victor the Python Artist Send private email
Monday, May 04, 2009

no an IDE is not really a tool. it's too big and too specific (eclipse is an exception, but well...).
Victor the Python Artist Send private email
Monday, May 04, 2009
" an IDE is not really a tool..."

You remind me of the people who argue that a carpenter's workshop is not a tool.  You are probably correct as far as the dictionary definition goes.  I think in the context of the original poster's question, a tool is anything that makes your programming job easier and/or more efficient.

So yes, a method that automatically generates otherwise tedious or error prone code for you, could be considered a tool.

Most of the people I work with, would consider the computer itself a tool (in the sense that some computers are better for programmers than others) all the way down to supporting software such as version control.
TheDavid Send private email
Monday, May 04, 2009
you are right TheDavid.
Victor the Python Artist Send private email
Monday, May 04, 2009

a tool is something that helps you get the job done.  You can write code in notepad and compile with the command line, but most programmers (in the Windows realm, at least) use an IDE because it's a tool that makes them much more productive

If you're in a unix based environment then pipes are undoubtedly cool and useful, but I'm not sure that I would consider them the baseline for defining a "programming tool"
Jason Send private email
Monday, May 04, 2009

pipes and redirections were the baseline for most unix programs. really.
Victor the Python Artist Send private email
Monday, May 04, 2009
keyboard, mouse , monitor, and a browser to go to google when you get stuck or you are bored.
Contractor Send private email
Tuesday, May 05, 2009

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz