1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Development I Want To Learn How To Program?

Discussion in 'Software' started by TheEclipse, 21 Dec 2007.

  1. TheEclipse

    TheEclipse What's a Dremel?

    Joined:
    2 Apr 2007
    Posts:
    73
    Likes Received:
    0
    Hello,

    I want to learn how to program my own applications that could maybe lead to a posssible career in the future.

    Is BASIC a good first language to learn? If not what do you suggest.

    What online tutorials or books do you reccomend?
     
  2. warlord2000ad

    warlord2000ad The 20 Year Old Guy

    Joined:
    18 Dec 2007
    Posts:
    119
    Likes Received:
    1
    I'm doing software engineering at university and for Java this is great - http://java.sun.com/docs/books/tutorial/

    There are so many languages i don't know what to suggest. They force us to do C at university as they feel it shows the basic concepts well.

    Visual basic is nice and easy as its done in visual studio, a lot is done via drag and drop. But building applications that print to command line (MS-DOS) are a good starting poitn before trying GUI's.
     
  3. 123mccann

    123mccann What's a Dremel?

    Joined:
    16 Dec 2007
    Posts:
    166
    Likes Received:
    0
  4. Gravemind123

    Gravemind123 avatar not found

    Joined:
    26 Aug 2006
    Posts:
    1,780
    Likes Received:
    0
    C++ is a good first language, although some say C is a better thing to learn first. Things like Java and C# would be good second languages, and maybe play around in Python a bit too.
     
  5. dfhaii

    dfhaii internets

    Joined:
    24 Mar 2002
    Posts:
    520
    Likes Received:
    0
    I agree with the above, while most people would recommend Java, C# or other language which hides essential concepts, I'd say learning c or c++ is a good bet. Once you've learned to program properly then language doesn't really matter.
     
  6. warlord2000ad

    warlord2000ad The 20 Year Old Guy

    Joined:
    18 Dec 2007
    Posts:
    119
    Likes Received:
    1
    The most important bit of programming is understanding the logic. Once you've got it picking up languages is quite simple.

    I would start with java as although not brilliant on performance as even small apps take lots of memory its simple and safe. I learned Java, then C, then VB. Then learned the objected orientated side of programming in java. Really structured, object oriented, event driven programming all seem the same. One is following in a sequence, the 2nd is using objects which is like splitting everything up, and running through it almost sequentially anyway. And finally event driven is doing stuff when something happens from user interaction, which is basically any GUI anyway. :p

    If your more into web then PHP and HTML are a must.

    What you should learn first is sequential programming, which is going in order.

    write this to the screen, do this calculation, write the answer to screen etc.

    Using selection (do this or that), iteration(do this so many times) and sequence (do this in order).

    Then move onto learning about objects and classes.

    Then learn about making Gui's.
     
  7. RTT

    RTT #parp

    Joined:
    12 Mar 2001
    Posts:
    14,120
    Likes Received:
    74
    ^ truth
     
  8. koola

    koola Minimodder

    Joined:
    11 Jul 2004
    Posts:
    2,462
    Likes Received:
    10
    Easy route is: Java -> C++ -> C

    Employers love C/C++ for desktop applications and Java for mobile apps (increasing job prospects here!).
     
  9. ryanjleng

    ryanjleng ...

    Joined:
    15 Nov 2007
    Posts:
    323
    Likes Received:
    0
    imho

    C++ ---> JAVA

    maybe C as a hobby and background study.

    for quick dirty apps, i really like the pickup-and-go nature of VB. I love being able to get a nice app or prototype running in 30min.
     
  10. DougEdey

    DougEdey I pwn all your storage

    Joined:
    5 Jul 2005
    Posts:
    13,933
    Likes Received:
    33
    IMHO

    C -> C++ -> JAVA

    But I went

    C++ -> B/Mozart-Oz/FL(O)/UML/SQL/68l -> PHP/HTML/Javascript/CSS -> TCL/TK, OpenGL and now Java :p

    Intermixed with all that was a lot of information on programming concepts and theories
     
  11. Buzzons

    Buzzons Minimodder

    Joined:
    21 Jul 2005
    Posts:
    3,069
    Likes Received:
    41
    If you take a look into the actual world of development, the sharp rise in "OMGJAVA" is now gone, and it is (finally) losing what respect it has (As it is honestly shite), c# is on the way up (hooza!) as if F# and Erlang. Ruby would also be advisable to learn over such thiings as perl or python for a non static language.

    hence,

    C#, Ruby, and C just to get your hands dirty in memloc()
     
  12. dfhaii

    dfhaii internets

    Joined:
    24 Mar 2002
    Posts:
    520
    Likes Received:
    0
    Out of interest, what is it exactly which makes Java shite other than being easy to develop in and doing exactly what it claims to do?
     
  13. capnPedro

    capnPedro Hacker. Maker. Engineer.

    Joined:
    11 Apr 2007
    Posts:
    4,381
    Likes Received:
    241
    Some people feel that it's too bloated, and among other things, the garbage collection is a pile of arse biscuits.
     
  14. dfhaii

    dfhaii internets

    Joined:
    24 Mar 2002
    Posts:
    520
    Likes Received:
    0
    They're wrong. I've never had an issue with its garbage collection either to be honest.
     
  15. Glider

    Glider /dev/null

    Joined:
    2 Aug 2005
    Posts:
    4,173
    Likes Received:
    21
    It's slow as hell for starters... And the VM crap makes me want to puke every time there's an upgrade (on Linux)...
     
  16. DougEdey

    DougEdey I pwn all your storage

    Joined:
    5 Jul 2005
    Posts:
    13,933
    Likes Received:
    33
    Java and C# are both interpreted languages, Microsoft are pushing C# because it's effectively their implementation. Hence why MGSE (Microsoft Game Studio Express) and their XNA framework both use it, but for real world games it will never EVER be used because it's interpreted.

    If you really want to do hardcore dev, compile a small program from C++, view it in Assembly and see the optimization. A good demonstration is while/for loops and comparing different C++ compiler version outputs in assembly. BIG difference
     
  17. Buzzons

    Buzzons Minimodder

    Joined:
    21 Jul 2005
    Posts:
    3,069
    Likes Received:
    41
    the fact that if you compare java to its only other real competitor (C#) it falls down in nearly EVERY area. Take XML parsing as just one example, about 5 lines in C# , quite a few more in Java

    The documentation is not really worth mentioning if you compare it to MSDN
    The library setup is so convoluted with random things needed to get simple stuff to work (compared to C# where it is easy)
    The IDE for it, be it NetBeans, Eclipse, or BlueJ all pale into insignificance when you get into VS.NET(2005/2007)

    just to mention a few, yet important points.

    oh and with Mono, c# is cross platform, hooza!

    PS check here :: http://www.tiobe.com/tpci.htm <--
     
  18. warlord2000ad

    warlord2000ad The 20 Year Old Guy

    Joined:
    18 Dec 2007
    Posts:
    119
    Likes Received:
    1
    Lets try not to bicker over the languages as it will never end. :p
     
  19. Fophillips

    Fophillips What's a Dremel?

    Joined:
    9 Oct 2006
    Posts:
    948
    Likes Received:
    1
    Haskell!
     
  20. Techno-Dann

    Techno-Dann Disgruntled kumquat

    Joined:
    22 Jan 2005
    Posts:
    1,672
    Likes Received:
    27
    When was the last time you tried to use VS.net on an older system? It's not pretty - it's simply gigantic, and bloated to all get-out. Doing anything in C or C++ in vs.net and then getting the source into any other environment is simply impossible - it's easiest to copy-paste the code into Notepad, save as .cpp, and let the other guy sort through it all. VS.n takes several minutes to load and most of your memory, is stuffed so full of useless features and languages (J# ? WTF?) that you can't find anything without spending several minutes digging through the enormous and stupidly complicated help files, is stupidly easy to delete or irreparably damage your project with, and is generally brain-dead. Eclipse is, by far, a superior dev environment. Simple, lightweight, it does everything you want it to without tons of extra bloat.

    Oh, and you don't need to spend tons of money to get Eclipse, either.

    But I digress.

    For languages, C++ = C + classes. I still don't understand why people insist that the two are different languages, as the syntax, keywords, and general structure are exactly the same. If you know C++, you know C.
     

Share This Page