Re: I am really confused about choosing a prog language help
As an electronics student your knowledge of C will be very valuable so don't let anyone, including yourself, try to make you feel inferior just because C is the only language you know. I don't think there is any programming language that spans the range of programming tasks that an electronics engineer might encounter better than C, whether those tasks involve PCs, DSPs or microcontrollers. Of course, C is not sexy, C has no real support for the object oriented paradigm or any of the other less noteworthy "it will change how you think about programming" sensations and it is definitely not the new kid on the block. Don't get the idea though that C is restricted to a text only interface; you can build GUIs in C on many platforms and some C development environments come with GUI builders. I would say that if your knowledge of C is shaky you should improve it before even thinking about moving on.
Even if you decide, for whatever reason, that you need a new programming language you'll find that your knowledge of C is still useful; the foundations of C++, Java and C# are firmly based on C or a C-like syntax. These languages are all wonderful in their own way and come with a huge body of reusable code that can make your life much easier (or, more complicated depending on your viewpoint). Fundamentally though, these languages are just better, more sexy, versions of C. Their broad application area is much the same as C.
If you want to learn a new language which doesn't necessarily compete directly with C, can I steer you towards some of the established or new interactive scripting languages. I am thinking of things like Python and Ruby. I find that for simple throwaway code Python is great. I haven't used it for anything other than programs of a few hundred lines or so, but those few hundred lines came to me much more quickly than they would have done had I decided to use Java, say, instead. The interactive nature of the Python environment helps you throughout the program development stages and also makes it very easy to learn the language in the first place. Python also comes with perfectly acceptable GUI building support which will work across multiple platforms. Don't be fooled into thinking "interactive" means BASIC! You can try it out for yourself within a few minutes of reading this message by visiting
https://www.python.org/; it's free.
David