AppleSystemProfiler | grep Applications >> ~/installedApps.txt
This launches the GUI version of Apple System Profiler, but then it pipes the results of the "Applications" tab through a grep seach and then outputs the result to a text file in your home directory. Simple and clean -- it finds all Carbon or Cocoa applications. (Leave off the '>> ~/installedApps.txt' if you want it to output directly to the shell and not to a text file.)

One caveat: the above code will just find what is in your /Applications directory.

To search your drive for Cocoa apps, do this:
sudo find / -name "*.app" >> ~/CocoaApps.txt
sudo locate '*.app' >> ~/CocoaApps.txt
(very fast, but only accurate if your locate.db has been rebuilt recently)

The final approach is slower, but will find and list all applications in /Applications, whether they are Carbon or Cocoa. (AppleScript authored by pmccann at

-- Configure this if necessary: exclude_dirs is just a list
-- of directory names (within starting_dir) that the script 
-- should not examine for applications. If you don't have any
-- directories that need excluding you can set exclude_dirs to {} 
set starting_dir to (path to the startup disk as string) & "Applications:"
set exclude_dirs to {}
on getapps(given_dir)
	global app_list, exclude_dirs
	tell application "Finder"
  if the name of folder given_dir is in exclude_dirs then
  	set inside_this to {} --just empty it out
  	set mylist to (every file of folder given_dir whose file type is "APPL")
  	repeat with filex in mylist
    set app_list to app_list & the POSIX path of (filex as alias)
  	end repeat
  	set inside_this to every folder of folder given_dir
  end if
	end tell
	repeat with another_dir in inside_this
  getapps(another_dir as alias)
	end repeat
end getapps
global applist, exclude_dirs
set app_list to {}
return app_list