There is no magic utility to give you memory or CPU requirements, only techniques; however, there are tools to assist you.
To create those requirements you have to evaluate that yourself based on the software's functional and non-functional requirements. This mean you should have a list of typical usage scenarios, execute them on a given hardware configuration (or, ideally, more than one) and monitor CPU/memory usage. With the usage measures you took you can then interpolate/extrapolate the usage trends on various other systems you didn't explicitly test. Finally, using minimum performance requirements you can deduce the minimal setup that would be required for "respectable" performance.
To monitor usage under Windows, you can use the basic task manager, but if you want extra details, I suggest you use the Performance Monitor (perfmon).
For programming languages, the only distinction I really make is compiled vs interpreted languages. For example, C/C++ are compiled to native machine languages, but things like Perl and PHP are interpreted "on-the-go". There is also languages "in-between" like Java and C# (whole .NET I think) that are "partially compiled" into a generic "bytecode" which is not quite an interpreted language, but not quite native machine code either; they run in virtual machines (not like VMWare) like the JVM. The closer the code is compiled to native machine code, the less "overhead" there is, but you can also loose portability, that is why you see many applications available in x86 vs x64 / XP vx Vista / ... Note that no languages will prevent you from creating bloated or crappy software
Your questions are a bit vague so if you need more information, just ask additional questions.
thanks for taking time answering my query. i just have a follow-up question regarding on the RAM and processor requirement, is there an equation on calculating the requirements just like in computing execution time.... thanks...