Best approach to start learning.

Discussion in 'Software' started by Lithic87, Jul 21, 2011.

  1. Lithic87

    Lithic87 Private E-2

    Ok so i have always wanted to learn to program since i know pretty much MOST of the hardware end of computers and i know software stuff in and out. I want to dive deeper. I like to self teach not take classes etc etc as i hate waiting for OTHERS to catch up or taking baby steps and getting bored with the class.

    I found a FEW threads in my search before i asked but i have a more DIRECT question.

    I want to know a few specific things.

    Which is the best way to START learning to program. What code ?

    How should i approach it ? Is there a known website that you guys can recommend or should i start by just throwing myself at tutorials for beginners?

    I really want to become proficient at it and i think i would enjoy it immensely.

    I appreciate you guys taking time to answer this and help me get my foot in the door. Thank you so much.
     
  2. Lithic87

    Lithic87 Private E-2

    When anyone gets a chance i would greatly appreciate any info.
     
  3. Hedon James

    Hedon James Sergeant

    I'm not a programmer (at least, not yet) and certainly not an expert to be giving advice, but I'm in a similar position as you. FWIW, you're question is too open ended...

    It really depends on what kind of programs you want to write. For starters, C and C++ are probably the most popular and most common languages. I'm told Visual Basic is a great way to start programming with GUI wrappers. Python has a nice clean structure and easy to follow syntax; there are free tutorial manuals online and I have introduced my kids to this language; the daughter picked it up immediately and probably would EXCEL at programming, if only she were truly interested.

    Personally, I'd like to write/develop programs that are cross platform compatible and run on Windows, Linux, and Apple OS...write once, run everywhere...so I've chosen Java as a language to pursue. Java programs are run in a virtual machine (JVM) and Java runs on pretty much everything. I'm also very interested in Android, which is pretty much a Linux system with a Java "wrapper" to make it all work. Also, if you're looking to program web-based software, perhaps JavaScript will suit your needs?

    All that said, just to be clear, I'm not suggesting Java is for you...I'm simply using MY criteria to show why I selected what I selected. Honestly, from my research, it appears ALL languages are based on the same basic underlying logic; they only differ in structure, syntax, and methods. Once you learn your 1st language, you should be able to assimilate a 2nd language quite easily, if you choose to do so; and apparently, many programmers are fluent in more than 1 language.

    But you have to start somewhere with that 1st language! FWIW, the "Sams Teach Yourself" series has pretty good books for beginners to learn "how to program" using logical algorithms, etc... and they also have books for specific languages when you make a language decision. I've found their Java and Android books to be well written, concise, and understandable for a beginner like me. While I'm still very much a beginner with precious little time to learn the things I want to learn, I can honestly say the books were worth the $$$.

    My suggestion would be to purchase a book called "Headfirst Programming", which is aimed specifically at beginners with no programming background whatsoever. While you're reading it, and learning about the logistics of programming, be thinking about the software you want to write and which platform you want to write it for. You should be able to choose a language based on those considerations; you're 2nd book purchase will reveal itself based on the language you zero in on...and you WILL gravitate to something!

    Good luck and write something awesome!
     
  4. Lithic87

    Lithic87 Private E-2

    Well i want to learn a language that would prove to be usefull in some sort of a work environment if i ever decided that route. Im sure they use a common one such as C ?

    The idea of java sounds great but java i was always told was a very vague and not to powerfull code. I could be wrong this is just hear-say.

    But I would also like to learn a code that could transition easily into many others , as coding for games would likely be a spare-time hobby.

    I appreciate your book suggestions and think ill pick up HeadFirst, Thanks alot for the advice, keep me updated on how your learning goes, very interested.

    -Kevin
     
  5. mastermosley

    mastermosley Sergeant

    I would say to download Microsoft Visual Studio Express, and start learning C#. C# is easier to learn then C++, but reassembles that and java fairly closely that if you should decide to learn C++ or Java it will shorten the learning curve. Although VB.NET and C# pretty much offers no advantages over the other because of the CLR I would stay away from VB.NET.

    A simple google "C# tutorial" will give you tutorials you can follow along with.
     
  6. foogoo

    foogoo Major "foogoo" Geek

  7. mjnc

    mjnc MajorGeek

    You need to think about what you want to DO with the language(s) you will learn, since that, in part, will determine Which languages are suitable.

    For example, javascript is a scripting language, so you can't write applications with it,
    whereas Python can be used to write applications or as a scripting language.

    Comparison of programming languages

    For a true beginner, this may not be of much help, but you should take a look at the syntax of a few languages since they can be quite different in style.
    Comparison of programming languages (syntax)


    Comparison of relational database management systems

    Selecting a programming language

    Python (programming language)

    Icon (programming language)

    Python Programming Language – Official Website
    Getting Started with Python
    WikiBooks: Python Programming
    Documentation for the Python programming language

    Google Code University: Programming Languages
     
  8. logicPwn

    logicPwn Private E-2

    I feel I have good advice for you being 21 years old and programming for 7 years. A line or so about me. I started with AutoIt, which is a scripting language that was written in C++. After that I did VB.Net and then moved to C#.Net. Now doing PHP, C#, VB.Net, Obj-C, Java, and JavaScript.

    I would suggest to start with C#.Net. The reason it's special is because it's "managed code". They have a whole library of classes that run in Windows only. This library makes it very very easy to start coding powerful applications. Two downsides are: it's dependent on .Net to be installed. This means pre-Vista need to have installed the Windows update. It's Windows only (exception of Mono but that sucks). C++ is what you want to be coding in eventually. C++ you have to manage memory and all kinds of other good stuff that involves with how you OS organizes itself.

    How to start with C#.
    1. Download Visual Studio C# Express
    2. Install it
    3. Run it
    4. New Project
    5. ConsoleApplication (name it if you want)

    Now that your inside this IDE (integrated development environment) you need to familiarize yourself with it. You will need to know everything about it in order to successfully use it. Don't worry though because you can learn it along the way. Each section comes at it's own time. In the last step I told you to create a Console application which then sets up the base for a Console app. To do this from scratch would require you to know more then you already do so thank Microsoft for supplying us with this wonderful IDE :). Ok so inside here everything is structured.

    Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                
            }
        }
    }
    
    so below static void Main(string[] args), in the brackets we will start our first line.
    type
    Code:
    Console.WriteLine("Hello World");
    
    Console is a class provided to you in .Net. It allows you to easily talk to the Console control in your app. .WriteLine() simply outputs text and a line break. Now were gunna debug/test our app. Look for the little green play button. Its a shortcut for Debug->Start Debugging. Your app should run and display output Hello World. This is cool and all but lets make something cooler. Where gunna add some more lines of code revolved around the console so we can get there name and then say hello. The end result will look like this.

    Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Hello... what is your name?");
                string name = Console.ReadLine().Trim();
                Console.WriteLine("Hi " + name + ", it's nice to meet you.");
                Console.WriteLine("End of demonstration. Type esc to exit.");
                while (Console.ReadLine().Trim() != "esc")
                {
                    Console.WriteLine("End of demonstration. Type esc to exit.");
                }
            }
        }
    }
    
    Play around with this. If you liked my little guide then hit me up on msn or email and I can help you with a GUI app
     

MajorGeeks.Com Menu

Downloads All In One Tweaks \ Android \ Anti-Malware \ Anti-Virus \ Appearance \ Backup \ Browsers \ CD\DVD\Blu-Ray \ Covert Ops \ Drive Utilities \ Drivers \ Graphics \ Internet Tools \ Multimedia \ Networking \ Office Tools \ PC Games \ System Tools \ Mac/Apple/Ipad Downloads

Other News: Top Downloads \ News (Tech) \ Off Base (Other Websites News) \ Way Off Base (Offbeat Stories and Pics)

Social: Facebook \ YouTube \ Twitter \ Tumblr \ Pintrest \ RSS Feeds