Isto para os puristas e para a malta que gosta de dar o "batimento" elitista ("Programar em notepad é que é!" e afins) custa um bocado de ouvir - mas se o vosso objetivo não passa por serem engenheiros informáticos, nem executarem tarefas muito específicas, eu não recomendaria
C para começarem.
C é adequado para entender tudo o que se passa por detrás de uma linguagem de "mais alto nível" (as aspas estão ali -
no pun intended), para programas onde a eficiência é crítica e\ou é necessário ter mais controlo sobre tudo o que se passa.
A verdade é que para a malta em que a produtividade é mais crítico do que controlar absolutamente tudo o que se passa
under the hood, começar com
Java ou
C# parece-me uma abordagem muito mais lógica. Se depois houver carolice para perceber como é que o garbage collector trabalha com a memória, então vamos embora para
C brincar com
malloc's e afins.
Maior comunidade, mais documentação, um nível de abstração maior, mais bibliotecas e baseiam-se no paradigma de orientação por objetos. A não ser que vão para uma empresa com uma atividade muito específica, onde exista uma motivação grande para se programar em
C, é mais provável que caiam numa linguagem mais dentro deste espectro. Dominem a plataforma .NET e J2EE e nos próximos anos não vão ter problemas em encontrar trabalho.
Para a malta que quer aprender mesmo
C -
GCC +
Vim\
vi.
Just my 2 cents.