I am considering the idea of learning a programming language between now and when I enter college. I have pretty much no experience programming, other than some copy-and-paste scripting in a game I used to play. I also tried to learn C++ when I was 10-12... sorta lost interest in it because it was all DOS and couldn't see anything visually going on other than text, and the closest thing I got to programming something was modifying a program to make it do what I wanted.
Anyway, I have been doing some Googling to try and find a good programming language.
Here are some things I would like to see in a language:
At least semi-easy to learn (compared with other languages)
Has a lot of different uses
Is currently in use
I am not really looking to do any web design, that may come later. I am wanting to possibly be able to make applications, program the drivers for peripherals (I read about somebody who made a thermometer that could plug into a computer, then wrote a program for it so it would display the tempurature on the computer, and am thinking that kind of thing would be neat), and just whatever else strikes my fancy. I am also thinking about installing Linux on my old computer and messing around with that, so being able to program some basic stuff would be nice for that.
Among the Googling I have done, some languages that keep coming up are: C++, Java, and Perl.
I read that C++ is losing popularity, is this true?
I also read that Java is slow... were they meaning slow-running or something?
Any suggestions are welcome, please give reasons why they are good
Im 11 I am very good at LUA and C++ and Html and Java and some python If you want to make a program c++ but i would try HTML a web design its just to get ur brain use to the programing then u will get some fun with it like this
Put any text here
<h1> makes the text big</h1>
to put a link do this
<a href="this is your link">this is what u want to say in the link</a>
this is how to make an image
<img src="the document.gif" alt="what the image is" />
have a good time in college!
Learning a programming language and learning how to be a programmer are two different things.
First of all you have to learn the basics, the very building blocks of programming like variables, objects, classes, stored functions and so on.
AFTER that you learn a language where you'll apply those concepts. Like jefe323 I started with C but nowadays we have easier languages for beginners, like python and ruby which are really good for beginners.
You can learn python here, Ruby here and you can learn basic programming here
C/C++ are still rather universal programming languages for PC applications, but since the web took such a big part of the overall software being made, things like Java and .NET really rose fast. BTW, "cross platform" and low-lever enough to program drivers are probably very opposite. Yes C/C++ is somehow "cross platform", but just in its basic elements and libraries, as soon as you want to do something related to GUI or many I/O you often end-up using platform specific extensions (unless you use abstraction libraries like ACE and wxWidget).
If you want to do low-level programming like drivers and/or programming for embedded devices, go C/C++.
If you want an easy way to play with common programming concepts like Sockets, GUI and Threads, go Java.
If you just want to explore possibilities, but will stick to CLI (Command Line Interface, like DOS), then look into Perl or even just BASH (linux shell language, MUCH MUCH more powerful than what DOS ever had).
Programming language becomes boring if you don't know how to play with it. I suggest you play and learn with visual basic and look for ways to apply what you learn, like me I make database programs for the community and lots of simple useful apps like automated campus time alarm I made for an urban school.
Well I am quite adept with C/C++ and C# but I consider these boring languages, yeah, I have lots of gadgets connecting mechanicals to my PC coz that's my job.
Then for the Web that's were I got my extra income - I have a notepad and photoshop and lots of good contacts (that was before). Now you have lots of software to automate the process.
As much as I hate VB and VBA, I must admit it can be a good way to build your first GUI-based applications since you can concentrate on the programming behind the GUI and not have to deal with the GUI-building code itself.
i started with vb6, moved on to .net and am now learning assembly and though i only have knowledge that is patchy at best, i would say vb6 is only good to learn the basics of programming and software development after that its pretty much only C variations and assembly out there ...
I have a degree in Computer Science and I've been a commercial software developer for almost 4 years.
I couldn't recommend Java more highly as a starting language. The libraries are full of functionality and it will be helpful with learning Object Oriented programming. There are lots of forums on Java and if you encounter any issues it's extremely likely that someone else will have had the same problem and someone gave them the solution. Most importantly the Java compiler will give you extremely strong hints as to whats wrong with your code. C on the other hand can be cryptic at times.
Do not, whatever you do, start with C. C++ / C# maybe but definitely not C. It's far too low level for beginners to learn good programming practices. You'll spend all your time ripping your hair out and hacking the bejesus out of your code "just to make it work" rather than understanding what is good and bad code.
Java gets a bad rep for being slow simply because of the way it does cross system compatibility. It uses a virtual machine to execute java code rather than executing on the system directly. In no way does it mean that programming on it is slow.
Unfortunately it's the nature of the beast of programming to be text. You might get some languages where you can visually design user interfaces but these often aren't very powerful and you'll quickly want to do something it can't.
Your experience with the development environment (IDE) can make or break your experience with a language. There are programs like Eclipse or Net Beans that will let you code and run your creation in a more friendly way. So there is no need to program in DOS or a terminal window if you don't want to.
Java is rather broad brush. You'll be able to write drivers, create applications and develop web applications all using the same language. Argubly there are better languages to do some of those tasks but the important part is that you'll be capable of doing them all.