i want to get into programming. i'm kinda-sorta knowlegable with hardware but i know nothing about coding something and employing it. i want to learn. i've heard good things about python, and everyone has heard of C and C++, but what is good for a beginner? I've got win XP 32 and 64 bit boxes, and no desire to go to linux unless i have to. thanks \first time in the programming section
I self-taught myself at least the basics of C. It's not difficult, but it depends what you want to do. Screwing around with a MUD back in... uh... 2001 maybe? Managed to do some pretty unique things actually, though the utility of what I learned in more real-world apps was probably minimal. I'd almost say just try and figure out how to work in AJAX. I know really nothing about it myself, but web-based everything seems where we're headed, so you might as well. Most languages are somewhat similar in at least their most basic forms, at least those that I've worked with.
My first language was Visual Basic as SinizterGuy suggested and it's a pretty good start particually if you are only using it to advance your own knowledge rather then planning to use it in industry. Another potentially more useful langauge would be java. It has many versions allowing it to be employed in lots of different situations such as mobile phones, java cards as well as desktops and servers. All the languages have the same syntax and the online API is superb. There are also branches to visual enviroments (Java3D for example) and audio enviroments so you're likely to find something that interests you. There are also loads of IDEs for developing Java which allows varying flexiablity in user support/featuers. The Sun Microsystems tutorials on Java are also ideal for first time development. Hope this helps, Tom
any of the .NET languages is generally a good start, as they are intercangable (effectivly). Personally i prever vb.net to c# and plain vb. as for web based i would personally go with PHP.
Personally I started with Visual Basic, as although [pretty useless for big stuff, allows you to learn some of the more basic concepts of pocedures and functions, whilst also having classes etc.. It is also good for building simple/slightly more advanced Windows programs. Having learnt VB, I then went onto C which was very simple to pick up on having learnt VB. I think before learning a language it is better to read up on the theory behind the languages you are about to lear, i.e. for C learn about functions and procedures, C++ learn about objects.
Agh, this has been done to death and every thread about it will just be a repeat of the last one If you just want to learn to program for programmings sake (or maybe you just don't know what you want to end up programming - be it web based, win32, whatever), my 2p is that starting with C is the best. All of the basics that you'll learn with C will directly relate to things in nearly every other language going and so you'll be setup well when you find what you do like programming. Oh and for goodness sake, don't start with vb. Please. Do yourself a favour and don't. It will absolutely not make you a good programmer. However if you just want to start making programs in python, the obvious thing to do is to dive into python. Same goes for web (so xhtml/css/some server side variant).....
I started on C++, never looked back really, VB came easy to me, SQL is simple, PHP is similar and so on.
Hey, I started with VB and I'm a good programmer! Well at least I got 89% for my pool game project for my degree (see my website in my sig). But yeah I actually agree with RTT. I started with VB and spent probably about 5-6 years learning it. Then I went on to Java as my degree required it and I find it a whole lot better. The problem is each language is only good at certain things. VB is good for beginners, C is good for beginners with slightly more time on their hands. C++ is good for make large or small Windows programs. Java is good for learning programming theory and practices and is also good for making cross platform programs and games. .NET languages are good for making large windows programs but the IDE is expensive. Not sure about the remaining languages such as Python etc. Basically it depends on what you want to do exactly...
As RTT said, don't do VB It's a comfortable introduction to learning a new language but it's not a real reflection of what's expected of a modern day programmer. And while we're being realistic, I'd start with an OOP (object-orientated programming) language like Java or C++. For strong applicability to the Windows OS (Win32 API for applications), I'd start with C++. I started with C++ and that was the best decision I ever made.
would C and C++ be good for programming PIC's? that what i was curious about, although it would be nice to wirte a little program to fix my mp3 library, since everything has to be juuuust right for me to be happy also, this may be OT, but is there some list of commands i can enter into the "Run" command box? i just discovered "tracert ___" to trace the route your internet connection makes to a URL (which is the ___)
I'm going to do the odd thing and saying python. What little Iknow suggests that it's a nice language. Not to mention that it works on almost all Linux boxes. If you want to get into web, Perl is a good place to start and Javascript would be useful.
I would say either Java (or C# as they are very similar) For now I'd stay clear of languages like PHP as it isn't strongly typed and allows procedural code which IMO will make moving to an OO language that much harder.
I started with Java due to my degree, but wish I'd started with C. Going from C to Java makes more sense than going from Java to C, which is what I did. C is always a good place start, even if just learning the basics before moving onto something else. Java is not as bad as everyone makes out.
I agree that VB is not a good place to start, and that C/C++ are both good places to start learning. C makes me appreciate other programming languages because after C, everything else is easy. (IMO) Plus, C seems to be more portable, so you can use it on various systems with minimal changes (if written properly). .NET is awsome because you know exactly what you are working with, in that it is intended to only run on one manufacturer's operating system. If you don't care about developing for linux/OSX/etc then .NET is definitely the way to go. (Just don't ask me my opinion on developing for just one OS...) But starting with C will start you higher up on the food chain and leave you with way more options once you understand it than just about any other language that I know of. (I don't know of many languages though... )
Download yourself the gcc C compilers and get learning C. For the basic coding of flow and loops. Then learn c++. Learn about OO and good software design. Perl might be evil but is very powerful!
I'd reccomend Java, it's easy to learn, very well documented, free, and will teach you good OO practices. After that moving on to C++ is easy enough, as is moving to any other OO language, as all you need to learn is new syntax. You say you want to program for PICs, and while there are C/C++ compilers for them it's best done in assembler, which isn't too tricky to learn either. What ever you do though, stay away from VB, you'll be glad you did.