Depende que quieras crackear, de todas formas ya existen herramientas para realizar la labor de cracking. Por ejemplo si dispones del hash a crackear (hash de un wifi WPA obtenido del handshake, hashes de usuarios de linux conseguidos en /etc/shadow, hashes obtenidos de BD hackeadas via SQL injection, etc) podrías utilizar la herramienta john (la más clásica), sino tenes hashcat que es mas moderna y podes emplear la GPU para crackear más rápido... Como verás no se trata de elegir un lenguaje de programación, sino de elegir un diccionario apropiado para la víctima, ya que probar todas las combinaciones posibles (fuerza bruta pura) es algo que puede llevar muchos años, y a su vez contar con buen hardware. Por ejemplo, si tenes mucho dinero podrías construir algo como ésto:

Referencia:
https://www.shellntel.com/blog/2017/2/8/how-to-build-a-8-gpu-password-crackerSi quieres hacer un script propio para crackear determinado hash sin utilizar john/hashcat, podrías implementarlo en casi cualquier lenguaje supongo... Aca te dejo un ejemplo de un script para crackear un password de joomla escrito en python:
#!/usr/bin/python2
from hashlib import md5
import sys
import string
original = sys.argv[1].split(':')
_md5 = original[0]
_salt = original[1]
print 'Trying to crack ' + _md5 + ' SALTED with ' + _salt + '... '
for line in sys.stdin:
line = line.strip()
attempt = md5(line + _salt).hexdigest()
if(attempt == _md5):
print _md5 + ':' + _salt + ' --- Password Found: ' + line
print 'Hapy hacking!'
sys.exit(0)
print 'Password not found : - ('
sys.exit(1)
Referencia:
https://blog.zerial.org/seguridad/joomla-password-cracker/Sino, en caso de que quieras crackear una contraseña cuyo hash no dispongas, por ejemplo la clave de un usuario SSH, o FTP, podrías hacer un cracking a través de la red con las herramientas hydra, ncrack o medusa, en éstos casos, el hash de cada contraseña de tu wordlist es computado en el servidor remoto y no en tu PC/cluster, por lo tanto éste tipo de ataque puede resultar muuuy lento ya que la velocidad depende de la red + la CPU del servidor que ataquemos. Podes aumentar un poco la velocidad utilizando varios threads, pero de todas formas ésta técnica pocas veces resulta exitosa... Necesitarías conocer bien a la víctima y armar un diccionario especialmente preparado para intentar crackearlo, y aun asi lo más probable (por mucho) es que la contraseña no esté en tu wordlist...
Espero haber ayudado. Saludos!