Ik raad je eigenlijk inderdaad aan om met C te beginnen. Begin met C, maak daarna de overstap naar Java. C geeft je meer inzicht in de werking van een programma omdat je daar nog met pointers en dergelijke moet werken.
Ik heb het in de volgende volgorde geleerd:
C => Java => .NET
Als je C kan, ken je ook al de syntax voor Java, dus dat is lekker meegenomen. Je hebt ook net iets meer inzicht omdat je met pointers kan werken. Onder Java heb je natuurlijk geen last meer met pointers dus wordt Java al makkelijker. Het is echter belangrijk dat je onder Java Object-Oriëntatie goed doorhebt, en daar is BlueJ trouwens een fantastisch programma voor.
Als je de werking van Java door hebt (de Virtual Machine van Java, de Java-Runtime-Environment, ...), dan begrijp je ook ineens de Microsoft tegenhanger daarvan die .NET noemt.
Dit is natuurlijk gewoon mijn mening.