I'd like to start learning a more complicated programming language. I used QuickBASIC long ago and in the early 2000s I wrote a lot of programs for the TI-89 using their version of BASIC. During that time I also tried Visual Basic very briefly. I managed to create a simple program to send text messages to another host. Now, I know how to write simple scripts with Perl including regular expressions. I also read about classes, methods, references. Eventually I'd like to create my own program that is capable of drawing fractals. It would also be cool to create my own screensavers. I may also try to get a programming degree down the road. I'd like to get started on a high level programming language and two possibilities are C# and Java. Which should I start on first? They both appear to be similar, yet different.