By using this site, you agree to our Privacy Policy and our Terms of Use. Close

Forums - General - I want to start learning programming. What should I start with?

Start with Assembler. Helps you understand.

Also, Java is quite nice. I once programmed a game for cell phones (using Bluetooth, quite fun)

I think I started with Turbo Pascal, which isnt really advisable anymore.



Any message from Faxanadu is written in good faith but shall neither be binding nor construed as constituting a commitment by Faxanadu except where provided for in a written agreement signed by an authorized representative of Faxanadu. This message is intended for the use of the forum members only.

The views expressed here may be personal and/or offensive and are not necessarily the views of Faxanadu.

Around the Network

I'd recommend Java for beginning, especially if you're not going to take a class. IMO it's just so much simpler and easier to learn than C/C++, and you get a ton of really good APIs with it so you don't have to reinvent the wheel. Just go with it, learn the basic principles of OOP, and then you're ready to see what other languages have to offer to the table. I'd recommend also downloading some IDE, like Netbeans or Eclipse, as they will make coding much easier to learn because of the code completion. Of course, then you don't get to learn compiling and running your programs from the command line, but that can be done later.

As for VB, I'd recommend staying out of it. Yeah, it's easy to learn, at least somewhat, but it will teach you horrible, HORRIBLE coding habits.

Edit: I agree wholeheartedly with Kytiara's post above. Take heed and you'll do fine. 



Not anything with BASIC in it. Try Java or SDL.



Ubuntu. Linux for human beings.

If you are interested in trying Ubuntu or Linux in general, PM me and I will answer your questions and help you install it if you wish.

C++, just download this

http://www.bloodshed.net/devcpp.html

and go here

http://www.cplusplus.com/



EMULATION is the past.....NOW.......B_E_L_I_E_V_E

 

 


Just my two cents:

Figure out what you want to do with the programming language first. Each language has its own strengths and weaknesses.

For just playing around in, definitely try Java. Java is about as easy as it gets to set up (no need to learn about compilers, etc. yet). Python may be even easier, but as some have mentioned it can lead to bad practices if its your first language. I love Python and use it regularly but I would never try to teach someone programming with it.

Do all the exercises Sqrl mentioned first. When you complete those, buy yourself a Data Structures book. DS are all the various ways that programmers represent information: lists, arrays, trees, graphs, etc.. 90% of the design work I do is choosing the right data structure for a particular problem.

A final bit of advice: start small and move up slowly. It's not sexy to be programming little Hello World type programs, but I promise you it is important.



Around the Network

Starting with C++ today is lunacy: There's too many complicated subsystems to learn at once.

Start with a scripting language, like Python or Perl. You can learn procedural programming basics without worrying about the details. It also doesn't tie you down to one platform, like visual basic does. My Perl code runs the same way in Linux, Windows and OSX. Go do that with VB.

Make sure you try to do something other than your typical 50 line exercises though: There's many things that are perfectly fine in small little programs, but would cause immense trouble on 50,000 lines, and make 500,000 lines impossible. You don't want to learn bad habits.



For little programs doing basic to medium things I'd recommend
Visual Basic ( easy to use yet quite powerful ) or C#

For games Java or Flash ( for web games something like my signature )



routsounmanman said:
For little programs doing basic to medium things I'd recommend
Visual Basic ( easy to use yet quite powerful ) or C# For games Java or Flash ( for web games something like my signature )


 No no no no no no no no no no no no no no no no no no no no no no no no no no no no no no no.

All of those languages have proprietary implementations, so either you slave yourself to Microsoft Windows (C# and VB) or a virtual machine (Java*, Flash*) that you can't see the workings of. It might not be so bad now, but when you're locked in in the future and that's all you know you will have a problem.

*You could use IcedTea and/or GNU Classpath.

*That includes Silverlight or Shockwave. 

Use Java just to learn how to program and make pretty colours, and then use C++ and an OpenGL abstraction like SDL as a precursor to full OpenGL programming.

Don't ever use WinAPI or DirectX.



Ubuntu. Linux for human beings.

If you are interested in trying Ubuntu or Linux in general, PM me and I will answer your questions and help you install it if you wish.

Java, C++ or Flash if you're going to make games.

C++ gives you the power, and will make you efficient, but there's a LOT of subsystems to learn.

Java teaches you Object Oriented Programming, is easy to set up, and hides all the background stuff. But it's sloooow.

Flash...works, pretty much anywhere.

And follow Sqrl's post in terms of what you should try to program. Each step will teach you a little more about syntax, code design, and software engineering.

And for the love of criminy, COMMENT YOUR CODE!!!!!111!!!one



There is no such thing as a console war. This is the first step to game design.

Game_boy said:

routsounmanman said:
For little programs doing basic to medium things I'd recommend
Visual Basic ( easy to use yet quite powerful ) or C# For games Java or Flash ( for web games something like my signature )


No no no no no no no no no no no no no no no no no no no no no no no no no no no no no no no.

All of those languages have proprietary implementations, so either you slave yourself to Microsoft Windows (C# and VB) or a virtual machine (Java*, Flash*) that you can't see the workings of. It might not be so bad now, but when you're locked in in the future and that's all you know you will have a problem.

*You could use IcedTea and/or GNU Classpath.

*That includes Silverlight or Shockwave.

Use Java just to learn how to program and make pretty colours, and then use C++ and an OpenGL abstraction like SDL as a precursor to full OpenGL programming.

Don't ever use WinAPI or DirectX.


 As of last year, most of Sun's Java implementation was released under the GPL. The only parts which weren't had their copyrights held by 3rd parties.