1. Check out our companion app, Forums for Android! Download from Google Play

Computer Programming

Discussion in 'Computers & IT' started by SuperRon, Jan 28, 2009.

  1. SuperRon

    SuperRon Member
    Thread Starter
    15

    Jan 15, 2009
    14
    0
    15
    Quantity Surveyor
    Manchester, UK
    Hi Everyone,

    I am interested in learning computer programming such as C++, Java, HTML etc. and just wondered if anyone could tell me which is best to learn first.

    Also if you know of any good websites that can teach you the stuff.

    Cheers

    SuperRon
     

    Advertisement

  2. Phases

    Phases Community Manager
    Administrator
    1,503

    Sep 9, 2008
    8,933
    20,170
    1,503
    Male
    IT, Vbulletin and Xenforo Administrator
    Nashville, TN
    There's a ton out there on the googles. Just search for "[whatever] tutorials".

    I've used this site a little for introductory stuff. (web stuff) I liked it.

    http://www.tizag.com/

    I couldn't help ya with what order to learn stuff in, I only mess with html/php/sql.
     
  3. Ageless Stranger

    Ageless Stranger Well-Known Member
    88

    Dec 2, 2008
    699
    49
    88
    Male
    Senior software developer
    Northamptonshire
    First of all there is no "best" language to learn first, the best thing to learn first are the concepts of software design. I would even go as far as saying it is important to understand hardware architecture, number base systems, logic and bit manipulation before delving in to languages and syntax (although you can skip these but you might end up wishing you hadnt)

    Now C is my favourite language, once you get your head around pointers the rest of the language is childs play. If you know C you can easilly adapt to C++ and Java as the syntax is very similar.

    Now what language is best to learn? First ask yourself how to get from A to B, more specifically what A and B are? In other words, why do you want to learn to program? What are your objectives? Do you want to write web applications, games, desktop applications, embedded applications? What you want to do with your program is dependant on what language you will write it in.

    For the Web, you might as well learn the concepts and structure of HTML, XML, Java, Javascrip and PHP for starters.

    For games, well you are best learning C and C++

    For applications, you are best learning C and C++ (unless you want to write for mobile devices then Java will help too)

    For embedded systems you will need to know C,C++ and assembler and any language dependencies on the system you are writing for.

    Assembler I hear you gasp? I love it, it is essential if you want to debug at a low level.

    So much information, so many choices. Sorry its the best I can do with the limited information I have about what you want to do.
     
  4. SuperRon

    SuperRon Member
    Thread Starter
    15

    Jan 15, 2009
    14
    0
    15
    Quantity Surveyor
    Manchester, UK
    Thanks for the reply's.

    I was originally wanting to learn so that i could try and create my own small applications for Android as i had a few ideas for nice apps.

    But i would also like to create my own webpage.

    SuperRon
     
  5. Cryptic79

    Cryptic79 Well-Known Member
    88

    Sep 10, 2008
    576
    25
    88
    SharePoint Architect
    St. Louis, MO
    For Android, it's Java.

    For web, I prefer ASP.NET with either VB.NET or C#.NET for the "real" code.
     
  6. mmaitlen

    mmaitlen Member
    36

    Nov 20, 2008
    13
    2
    36
    Software Developer
    Washington
    A decent place to start online is at Sun's Java Tutorial site. But if you truly want to go through the whole process of learning a language by yourself, you gotta be patient. It's tough to start off from zero and dive right in...I did it, but it was way (wayyyy) back on the Apple IIe with Applesoft Basic, much (MUCH!) easier to learn.

    Anyway, give it a go, start off with the easy stuff, and don't give up! Good luck!

    Another course may be to find an Java/Android programmer near by and see if they want to collaborate with you to help get your ideas going. An hour with someone who knows what they are doing is priceless!
     
  7. mmaitlen

    mmaitlen Member
    36

    Nov 20, 2008
    13
    2
    36
    Software Developer
    Washington
    As far as the web stuff, you may also check out Ruby on Rails...seriously easy to get something simple going. And as long as you aren't building out a huge back end infrastructure architecture, it's more then adequate (imho).
     
  8. MotoDroidHelpandInfo

    MotoDroidHelpandInfo Well-Known Member
    35

    Java is good to learn. It's getting very very popular. It also helps for developing android apps. Also try a book store. Some are extremely boring others are a great way to pass the time.
     
  9. big_z

    big_z Well-Known Member
    53

    Nov 4, 2009
    253
    57
    53
    Software Developer
    Kansas
    I would try to learn the concepts of object oriented programming (OOP) before I picked up a language (assuming you've got the core programming concepts understood: variables, conditionals, loops, and functions). I don't have a good reference for learning "pure" OOP (and in fact almost any reference is going to use sample code in some real world language).

    Trying to learn a modern language before you understand OOP will leave you not fully understanding why the languages are the way that they are. For example, when you get to collections of objects in Java, you'll probably be very confused when they keep talking about Lists but you find that the compiler won't let you create just a List. Then you'll find the ArrayList and start using that, but then you'll ask yourself "why would anybody mess around with List when you can just use ArrayList and have it work?". At that point you'd be missing the entire point of OOP.

    Once you grok OOP, I'd go for one of Java, or C#. After that I'd learn about how the browser cycle works (HTTP requests, responses, that kind of thing) and then pick up PHP or ASP.

    I would never bother with C unless you were looking to write a compiler, an operating system, or very low level embedded code. There are things which are perfectly moral (and necessary) in C that are the equivalent of inhuman crimes in more modern languages. For example, in C it is not unheard of to take a pointer, figure out some arbitrary number of bytes away from that pointer, start grabbing bytes from that location, and cramming those bytes into some array somewhere. In Java, C#, PHP, Ruby and other modern languages doing that would crime against humanity because it's asking (more like begging) for your code to crash.

    And of course, bottom line, Android apps are written in Java (though you won't necessarily have access to all the same stuff that you do when, say, you go through Sun's Java tutorials).
     
  10. geekygrl

    geekygrl Member
    35

    Nov 3, 2009
    11
    0
    35
    Tinker with expensive French helicopters
    Townsville Australia
    Having just finished my first year of an IT degree this is what we studied as our 'first' programming languages - C++ and Java. (Actually found them rather similar to one another as well)

    Neither of them at my beginner level are what I considered hard, and once you start picking up the basics you will find its a matter of learning the rest of the language in 'steps' so to speak, as in once we had the basics, I found that writing basic code was able to be expanded upon, and do more things once you got deeper into the language.

    Remember, its all about algorithms (and pseudocode and flowcharts)! :D
     
  11. twospirits

    twospirits AF's janitor
    923

    Oct 4, 2009
    6,184
    5,045
    923
    Male
    Database Programmer, Sprint Advocate
    Queens, NY
    outstanding thread.
     
  12. stoyv

    stoyv New Member
    5

    Jan 15, 2010
    1
    0
    5
  13. neemo6

    neemo6 Well-Known Member
    16

    Nov 19, 2009
    58
    1
    16
    Great thread, I went back to school to a community college to learn programming. Im wanting to learn C/C++ and Java, and learn some basics of networking.
     
  14. SoulTerror

    SoulTerror Well-Known Member
    88

    Feb 18, 2010
    724
    48
    88
    Male
    Help Desk Manager
    North Carolina
    W2schools.com JavaScript Tutorial is a good site. I'll actually be taking my first Java class next semester online, so I'm pretty excited about that. I'm hoping one day to be writing some apps, but probably not for a long time.
     
  15. GIR

    GIR Well-Known Member
    18

    Feb 14, 2010
    96
    10
    18
    Classified.
    UK
    I'd recommend python for quick results, but its not always so great for any heavy lifting such as image processing, but it gets results. There are a LOT of python tutorials, and there is almost no limit to what can be done with it.

    If your really determined to learn more about programming then I suggest you visit microchip.com, and have a look into PIC chips.
    Learning assembler and about real-time programming, even with something a trivial as blinking a LED, or making tunes with speaker will really open your eyes as to what is possible.
    There are many easy to follow schematics for PIC flashers to get your code into the chip, as well as many sites with projects for pics - one of my favorites is hackaday.com. If your wise enough to be running Ubuntu there is the piklab (piklab.sourceforge.net) for putting the PIC code together.

    Hope this of use,
    GIR
     

Share This Page

Loading...