Este tipo de questionamento é extremamente importante para o aprendizado e sempre que possível devemos colocar a mão na massa. Uma série de artigos acaba de ser lançada com este objetivo: te guiar na construção das suas próprias ferramentas.
O autor dos artigos trabalha com a linguagem Python, o que é uma boa ideia pois ela abstrai muitos conceitos complexos, mas ainda assim requer uma base de programação e sistemas operacionais sólida para o bom desenvolvimento.
Para aqueles que estão começando, é uma ótima oportunidade de aprender na prática como alguns conceitos e ferramentas funcionam. Para aqueles que acham que linguagens como C, por exemplo, ensinariam mais, por que não se desafiar? ?