Okay so I am looking to learn programming in terms of Networking, and wondering which languages work well in the subject, also I am looking for a good IDE to go along with it.
I was thinking Python and Perl, but I am unsure what else.
I agree with Revolt. Java is probably your best choice to learn network programming. Java abstracts enough of the lower level details you would have to deal with using C/C++. This makes learning network programming less frustrating. But it still generally gives you more low level control than most of the scripting languages.
Java also has two different methods for doing network programming, the traditional approach of blocking while waiting to receive data. And the higher throughput version of non-blocking I/O, NIO, sometimes referred to as “New IO” because it was added to the language much later and then revised to fix a couple of issues.
Start with the traditional approach; it is much easier to grasp the concepts. And first learn TCP (Socket and ServerSocket). Then move on to UDP, then UDP multicast. Once you are comfortable with those, move on to NIO. NIO is more complex, but very useful and good to know
As far as IDEs are concerned, I personally prefer NetBeans over Eclipse. I find NetBeans more intuitive and easier to configure than Eclipse. But both are good IDEs. Both support development for multiple languages (Java, JavaScript, PHP, Python, and C/C++, as well as, support for XML and HTML). Although, I think NetBeans provides better JavaScript support than Eclipse, especially for some of the third party JavaScript libraries.