Hola @kisagui
si en tu formación técnica solo viste teoría y pseudocódigo, no parece una buena idea que tu primer software sea algo tan complejo como "un programa de diseño" para diagramas.
Para no correr riesgo de frustrarte por hacer un software que llevaría a un grupo de programadores varios meses tener una versión reducida que funcione, te sugiero que encares un proyecto más sencillo, como podrías ser una calculadora, un conversor de pesos y medidas o algo similar, de forma tal que los problemas que tendrás para llevar los algoritmos a un lenguaje de programación que todavía no conocés no se mezclarán con problemas intrínsicos a la complejidad del software.
Respecto a lenguajes, todos son buenos, si bien están orientados a ciertos tipos de problemas. Deberías pensar en la plataforma de destino: por ejemplo para Android se pueden usar casi exclusivamente Java o C; para la web se puede usar PHP, Python, Ruby o Rail (entre otros); para PC, casi cualquier lenguaje.
Respecto a poder ver el código fuente de programas que grafican diagramas, podrías ver el de Dia, que al ser Software Libre te permite estudiar el código fuente.
http://es.wikipedia.org/wiki/Dia_%28programa%29
Sitio oficial del proyecto: https://wiki.gnome.org/Apps/Dia
Suerte con tu primer proyecto!