1. PythonIt shouldn't come as any surprise that Python is one of the best languages to program network applications to test networks and vet their continuity. The language has become as ubiquitous as it is versatile. Boasting a large, talented community of open-source and commercial supporters, there's a chance that someone has created something that will help you design your network.
Another feather in its support cap is how other applications are compatible with Python scripting as an input or output source to extend data, model it, or visualize it. Python is a jack-of-all-trades and one that can be leveraged across most IT careers.
2. PerlPerl is a mature language that has deep roots in network programming. It makes creating low-level applications that leverage client-server communications easier by way of built-in functions. If there's functionality you wish to include, chances are someone from the extensive support community has already written a module for it, easily extending the language's capabilities.
SEE: 5 programming languages database administrators should learn (TechRepublic)
Its strength lies in its network-focused approach to high-level programming married to basic networking concepts to produce feature-rich tools and custom applications to test throughput, I/O, and network protocols.
3. CThis low-level language allows for applications that will access the most resources to boost performance. This may sound like a pitch for a software developer to use C over other programming languages, and it's not intended to be that way, but does have a ring of truth to it. Part of the network architect's job is designing the network, but the other half is to create a network that will operate optimally and stably.
In order to vet the network design and verify that it's operating as expected, you have to test every part of it. From cabling to network equipment and their configurations, all of it will play a vital role. Creating applications that can be used to test functionality and report findings may become a strong bullet point for NA candidates who are strong in design and engineering skills, giving them an edge over their colleagues.
4. TCLCisco's Tool Command Language (TCL) is a fine example of a programming language that is used in the configuration of network devices and appliances. While pertaining to the Cisco brand of devices—one that your particular organization may or may not support—the chances are pretty great that at some point along your career you have been or are tasked with supporting Cisco devices, as they are being used to a huge degree in setting up and establishing the networks of countless organizations worldwide.
Knowing TCL (pronounced "tickle") is useful in the programming aspect of the network devices being used in network design. The scripting capabilities make short work of configuring devices that will essentially form the backbone of the network by routing traffic to/from devices/WAN.
5. AnsibleWhile perhaps not the most obvious, Ansible—and other automation frameworks—are showing increasing growth in usage to map out the devices and clients on networks providing and using services respectively to orchestrate the management of all of these devices to ensure maximum uptime, efficiency, and standardization.