Processing (
www.processing.org) is sort of like the arduino's computer-side counterpart. The languages are virtually the same, and there's a wealth of information online about building interfaces with it, and communicating with the arduino either by serial, or (with an ethernet shield on the arduino) TCP/IP (standard networking protocol). Processing itself is java based, and cross platform, just like the arduino IDE.