The construction of a multitasking programming environment called MCPE is presented. MCPE contains multiple tasks so that it can speed up response and utilize idle CPU time. Tasks communicate with each other through shared data storage. The tasks (such as a structure editor and a static analyzer) were designed as lightweight processes. The shared data storage (such as the grammar tree and the symbol table) are managed by monitors to guarantee effective sharing. Access on shared data storage is broadcast, so that the related tools can terminate unnecessary jobs. MCPE has been built on Smalltalk using a library of reusable codes, such as the MVC (model, view controller) triad and classes. The experiments showed that response time has been reduced. New tools can easily be built by reusing these classes and can be added to MCPE with no further delay in system response.