Page 1 of 2 12 LastLast
Results 1 to 16 of 31

Thread: Learning to prgram

  1. #1
    Senior Member RECOiL™'s Avatar
    Join Date
    Dec 2005
    Location
    Hertfordshire
    Posts
    583
    Thanks
    5
    Thanked
    1 time in 1 post
    • RECOiL™'s system
      • Motherboard:
      • Asus P5B Deluxe WiFi AP
      • CPU:
      • E6600
      • Memory:
      • 2GB Kingston HyperX
      • Graphics card(s):
      • 7800GTX nVidia
      • PSU:
      • 700watt Modular
      • Case:
      • Akasa Eclipse 62
      • Monitor(s):
      • Dual Dell 1901FP (19")
      • Internet:
      • 20mbit NTL

    Learning to prgram

    I am interested in learning a programming language. I would like to learn it to the extent were i could perhaps use the skill in a working enviroment.

    Any ideas on which laguages are worth taking a look at?

    I hear C# is the thing now ?

  2. #2
    Agent of the System ikonia's Avatar
    Join Date
    May 2004
    Location
    South West UK (Bath)
    Posts
    3,736
    Thanks
    39
    Thanked
    75 times in 56 posts
    depends what field you want to go into and what your goals are.

    I'm sure a webdeveloper will say php and java are worth leaning where a database developer may say isql and plsql are worth learning, device driver development people will tell you to learn C, etc etc etc.

    Think about what you want to do, and research what languages are appropriate.
    It is Inevitable.....


  3. #3
    Senior Member mcmiller's Avatar
    Join Date
    Apr 2006
    Posts
    1,404
    Thanks
    49
    Thanked
    50 times in 39 posts
    someone will probadly tell me im wrong, but i think visual basic is a good start its easy to learn and alot of programs use it like micosoft progs sql etc...

  4. #4
    Senior Member RECOiL™'s Avatar
    Join Date
    Dec 2005
    Location
    Hertfordshire
    Posts
    583
    Thanks
    5
    Thanked
    1 time in 1 post
    • RECOiL™'s system
      • Motherboard:
      • Asus P5B Deluxe WiFi AP
      • CPU:
      • E6600
      • Memory:
      • 2GB Kingston HyperX
      • Graphics card(s):
      • 7800GTX nVidia
      • PSU:
      • 700watt Modular
      • Case:
      • Akasa Eclipse 62
      • Monitor(s):
      • Dual Dell 1901FP (19")
      • Internet:
      • 20mbit NTL
    They use visual basic alot at my work... i think i may have to pinch a copy, install it at home and have a good old play.

  5. #5
    Gentoo Ricer
    Join Date
    Jan 2005
    Location
    Galway
    Posts
    11,048
    Thanks
    1,016
    Thanked
    944 times in 704 posts
    • aidanjt's system
      • Motherboard:
      • Asus Strix Z370-G
      • CPU:
      • Intel i7-8700K
      • Memory:
      • 2x8GB Corsiar LPX 3000C15
      • Storage:
      • 500GB Samsung 960 EVO
      • Graphics card(s):
      • EVGA GTX 970 SC ACX 2.0
      • PSU:
      • EVGA G3 750W
      • Case:
      • Fractal Design Define C Mini
      • Operating System:
      • Windows 10 Pro
      • Monitor(s):
      • Asus MG279Q
      • Internet:
      • 240mbps Virgin Cable
    VB is a horrible descrace of a language that should never have emerged higher than Bill Gates's armpits.

    If you want to do a spot of application program programming C# is fine, just don't let the 'property' nonsense go to your head, it's supurflus. Although if you plan to do programming as a career choice you should get comfortable with C++.
    Quote Originally Posted by Agent View Post
    ...every time Creative bring out a new card range their advertising makes it sound like they have discovered a way to insert a thousand Chuck Norris super dwarfs in your ears...

  6. #6
    Senior Member RECOiL™'s Avatar
    Join Date
    Dec 2005
    Location
    Hertfordshire
    Posts
    583
    Thanks
    5
    Thanked
    1 time in 1 post
    • RECOiL™'s system
      • Motherboard:
      • Asus P5B Deluxe WiFi AP
      • CPU:
      • E6600
      • Memory:
      • 2GB Kingston HyperX
      • Graphics card(s):
      • 7800GTX nVidia
      • PSU:
      • 700watt Modular
      • Case:
      • Akasa Eclipse 62
      • Monitor(s):
      • Dual Dell 1901FP (19")
      • Internet:
      • 20mbit NTL
    I have decided to pinch a copy of Visual Studio from my work and have a play with it.

    I understand that c# c#.net visual c are all the same thing and are visual basics successor ?

  7. #7
    Banhammer in peace PeterB kalniel's Avatar
    Join Date
    Aug 2005
    Posts
    30,748
    Thanks
    1,787
    Thanked
    3,286 times in 2,647 posts
    • kalniel's system
      • Motherboard:
      • Gigabyte Z390 Aorus Ultra
      • CPU:
      • Intel i9 9900k
      • Memory:
      • 32GB DDR4 3200 CL16
      • Storage:
      • 1TB Samsung 970Evo+ NVMe
      • Graphics card(s):
      • nVidia GTX 1060 6GB
      • PSU:
      • Seasonic 600W
      • Case:
      • Cooler Master HAF 912
      • Operating System:
      • Win 10 Pro x64
      • Monitor(s):
      • Dell S2721DGF
      • Internet:
      • rubbish
    If you can only learn one language, then make it the one that's being used in the field you want to go into.

    If you want to learn programming.. which is then transferable as it's relatively easy to switch between languages, then I recommend starting with Java. As a language it's not terribly great, but the way you code it and the error reporting is so verbose it teaches you a lot about good programming practise. C is another good one, though it's much less verbose, it's quite a rigid non-object orientated language and many of the ways you handle data structures in C work in other languages (because they either copy from C or are designed to allow C-style coding).

    Once you get proficient with these, it's pretty easy to then code in more or less any other modern language.

  8. #8
    Comfortably Numb directhex's Avatar
    Join Date
    Jul 2003
    Location
    /dev/urandom
    Posts
    17,074
    Thanks
    228
    Thanked
    1,027 times in 678 posts
    • directhex's system
      • Motherboard:
      • Asus ROG Strix B550-I Gaming
      • CPU:
      • Ryzen 5900x
      • Memory:
      • 64GB G.Skill Trident Z RGB
      • Storage:
      • 2TB Seagate Firecuda 520
      • Graphics card(s):
      • EVGA GeForce RTX 3080 XC3 Ultra
      • PSU:
      • EVGA SuperNOVA 850W G3
      • Case:
      • NZXT H210i
      • Operating System:
      • Ubuntu 20.04, Windows 10
      • Monitor(s):
      • LG 34GN850
      • Internet:
      • FIOS
    Quote Originally Posted by Rec0il View Post
    I understand that c# c#.net visual c are all the same thing and are visual basics successor ?
    that's a complex question, which i'll get back to after answering the original question

    for learning a language, in my experience, the most important thing is to set yourself a goal, and learn how to achieve it - in the case of programming, that means writing an application/driver/site/whatever. getting a good textbook is a fantastic way to start, because it provides you with a structured selection of mini-projects with hints, allowing a sensible progression from the basics

    for selecting a language, you really have two types you should care about: strictly defined languages (which have very firm rules and types) and sloppily defined languages (where anything goes).

    perl and php are good examples of sloppy programming - there's very little structure, so it's very easy to turn whatever jumbled mess is in your brain into code. however, as a result, your code can easily end up as a jumbled mess. perl is often considered a write-only language, because no bugger will understand your code if they try to read it at a later date

    conversely, c# and java are strictly typed languages - everything has a logic and order to it, everything has a set type or method to it. it might be conceptually harder to imagine how to turn an idea into code, but the end result will be more firmly controlled

    within both language types, there are high-level choices (which are slower, but provide a lot of advanced functionality to the developer) and low-level choices (where a lot of time is spent fighting with the language rather than the concept. c (and to many extents c++) come into the latter category - whilst c# and java come into the former

    so. what language should you look at? my personal opinion and experience suggest a strongly-typed, high level language make for a good start - it's harder to pick up bad habits when there are fewer things to "work around" in bad ways. i'd also recommend learning a language with some cross-platform allowance built in, as if anything it teaches you better coding practices. for that, i'd look at c#, java, or unrealscript.

    now, back to your question.

    c# is one of a range of .net languages. .net is a framework which basically compiles code into a half-finished state at developer time, then compiles the halfway code into final code at execution time. there are a number of reasons to do it, and java does much the same thing using the "java virtual machine" component of the "java runtime environment". visual basic.net is another .net language and can interact fine with c# code. managed c++ is a bit less clear cut, and should be avoided (VB too really, the syntax is horrible)

    any .net language which compiles to a .net assembly (.dll or .exe, but not the same as traditional .exe or .dll files) can interact with others - so you can write a library in c# and compile it on linux, then use the .dll file produced from inside an ironpython project on 64-bit windows. i've been working on some systems management software on 64-bit linux which runs unmodified on 32-bit windows or itanium linux. which is all rather nice.

  9. #9
    Lovely chap dangel's Avatar
    Join Date
    Aug 2005
    Location
    Cambridge, UK
    Posts
    8,398
    Thanks
    412
    Thanked
    459 times in 334 posts
    • dangel's system
      • Motherboard:
      • See My Sig
      • CPU:
      • See My Sig
      • Memory:
      • See My Sig
      • Storage:
      • See My Sig
      • Graphics card(s):
      • See My Sig
      • PSU:
      • See My Sig
      • Case:
      • See My Sig
      • Operating System:
      • Windows 10
      • Monitor(s):
      • See My Sig
      • Internet:
      • 60mbit Sky LLU
    Quote Originally Posted by Rec0il View Post
    I have decided to pinch a copy of Visual Studio from my work and have a play with it.

    I understand that c# c#.net visual c are all the same thing and are visual basics successor ?
    Microsoft's .NET framework allows for all sorts of languages to be used - VB.NET, C#, J# and C++. If you want to work with .NET (and this is the way of things now - in the Windows world this is the future) then here's the lie of the land as far as each one goes:

    1. VB.NET - not a bad place to start. It's actually object-oriented like the other languages now (VB 6 wasn't) and really not that bad as a starting point. BASIC is meant for people starting out in programming or doing rapid development. Personally I hate BASIC but then i've been programming for over 20 years so i'm not you
    2. C# - effectively the language of choice for .NET simply because it's easier to work with the framework than any other language and pretty much all the example code out there is for this. It's effectively a hybrid of C++ and JAVA ideas (in general terms) but with less complexity than the former.
    3. J# - really only exists to persuade JAVA people to use .NET - ignore, everyone else does.
    4. C++ - or more properly _managed_ C++ lets you use .NET but it's (for want of a better word) NASTY syntatically (and has only got worse recently) - not a good place to start with .NET. Handy if you've a background in C, or C++ (unmanaged - i.e. not .NET) but I can't help feeling it's marginalised now. Claimed to be slightly faster than the others. I use this, but then i'm an entrenched C++ programmer.

    Hope that's some help - I meant the above in pretty general terms and was trying to keep it simple. In short, i'd either start with VB.NET, move onto C# or have a go with C# directly.
    Last edited by dangel; 10-05-2007 at 04:07 PM.
    Crosshair VIII Hero (WIFI), 3900x, 32GB DDR4, Many SSDs, EVGA FTW3 3090, Ethoo 719


  10. #10
    780 nanometres redlight's Avatar
    Join Date
    May 2005
    Location
    East Herts
    Posts
    859
    Thanks
    7
    Thanked
    26 times in 19 posts
    • redlight's system
      • Motherboard:
      • Abit QuadGT
      • CPU:
      • Core 2 Quad 6600@3.1
      • Memory:
      • 4GB Geil PC6400
      • Storage:
      • 2x250GB Samsung 400GB Seagate
      • Graphics card(s):
      • Leadtek 8800GTS 640MB
      • PSU:
      • Tagan 580w
      • Case:
      • Gigabyte Aurora
      • Monitor(s):
      • Fujitsu Siemens 22" + 42" plasma
      • Internet:
      • 2MB Tiscali
    Eiffel.

  11. #11
    Comfortably Numb directhex's Avatar
    Join Date
    Jul 2003
    Location
    /dev/urandom
    Posts
    17,074
    Thanks
    228
    Thanked
    1,027 times in 678 posts
    • directhex's system
      • Motherboard:
      • Asus ROG Strix B550-I Gaming
      • CPU:
      • Ryzen 5900x
      • Memory:
      • 64GB G.Skill Trident Z RGB
      • Storage:
      • 2TB Seagate Firecuda 520
      • Graphics card(s):
      • EVGA GeForce RTX 3080 XC3 Ultra
      • PSU:
      • EVGA SuperNOVA 850W G3
      • Case:
      • NZXT H210i
      • Operating System:
      • Ubuntu 20.04, Windows 10
      • Monitor(s):
      • LG 34GN850
      • Internet:
      • FIOS
    Quote Originally Posted by redlight View Post
    Eiffel.
    intercal!

  12. #12
    LWA
    LWA is offline
    Senior Member
    Join Date
    Jul 2003
    Location
    London
    Posts
    2,171
    Thanks
    134
    Thanked
    57 times in 41 posts
    Quote Originally Posted by directhex View Post
    perl and php are good examples of sloppy programming - there's very little structure, so it's very easy to turn whatever jumbled mess is in your brain into code. however, as a result, your code can easily end up as a jumbled mess. perl is often considered a write-only language, because no bugger will understand your code if they try to read it at a later date
    Listen to this man, he knows what he's talking about! I have had the misfortune of attempting to understand an application 'written' in Perl. It was a complete mess.

    Quote Originally Posted by directhex View Post
    conversely, c# and java are strictly typed languages - everything has a logic and order to it, everything has a set type or method to it. it might be conceptually harder to imagine how to turn an idea into code, but the end result will be more firmly controlled
    I again completely agree with this point.

    In my opinion, Java, although not a perfect language by any means, is a great starting point.

    As an object orientated language this made perfect sense to me:

    e.g. if you need a program to a car you simply create a class for it with variables for number of wheels, colour etc. In order to perform functions in the program, you simply create a new car object then, providing you have a method for it, query the amount of wheels the car has.

    As has already been stated, once you've grasped the concept of programming (using a decent language) it becomes easy to adapt your new found skills into other languages.
    Last edited by LWA; 10-05-2007 at 04:30 PM.

  13. #13
    Senior Member Kezzer's Avatar
    Join Date
    Sep 2003
    Posts
    4,863
    Thanks
    12
    Thanked
    5 times in 5 posts
    C# is becoming an industry standard for choice of language. Personally my favourite is Java still, but I do also have to work in C# at work. Depends what background you have, but C# is probably a good start. It doesn't really matter too much at the end of the day, as long as you're choosing an OO language then all the concepts will be applied throughout all the languages, the only difference is syntactical, not logical.

  14. #14
    Senior Member Kezzer's Avatar
    Join Date
    Sep 2003
    Posts
    4,863
    Thanks
    12
    Thanked
    5 times in 5 posts
    Quote Originally Posted by directhex View Post
    perl and php are good examples of sloppy programming - there's very little structure, so it's very easy to turn whatever jumbled mess is in your brain into code. however, as a result, your code can easily end up as a jumbled mess. perl is often considered a write-only language, because no bugger will understand your code if they try to read it at a later date
    PHP does have OO support, it's just not a standard coding style in PHP. Plus, variables are global by default aren't they? Which would instantly make it a bad language of course

  15. #15
    Goron goron Kumagoro's Avatar
    Join Date
    Mar 2004
    Posts
    3,107
    Thanks
    37
    Thanked
    153 times in 126 posts
    To start I would learn Javascript with HTML.

    you can make a few interesting things visually which makes learning easier at first. Once you get an understanding of the basics, up to functions , C++ etc are easier to learn.

  16. #16
    LWA
    LWA is offline
    Senior Member
    Join Date
    Jul 2003
    Location
    London
    Posts
    2,171
    Thanks
    134
    Thanked
    57 times in 41 posts
    I don't think I'd agree with you there Kumagoro - HTML is very open language with very little in the way of constraints.

    With an OO language you are constrained about how you program. In my opinion, it's easier to go from constrained to non-constrained than vice-versa.

    There's nothing stopping you starting with Java, C# etc and creating the Hello World applications that give you some visual results for your efforts.

Page 1 of 2 12 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Learning to swim, any tips?
    By Parm in forum Sports and Fitness
    Replies: 39
    Last Post: 10-02-2008, 05:21 PM
  2. Learning Guitar
    By Drobbins in forum General Discussion
    Replies: 16
    Last Post: 19-02-2007, 03:00 PM
  3. My First Car and learning to drive
    By RoGuE|SaBeR in forum Automotive
    Replies: 21
    Last Post: 25-05-2006, 09:27 AM
  4. learning a new language
    By megah0 in forum General Discussion
    Replies: 3
    Last Post: 27-04-2004, 12:35 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •