Page 1 of 2
1
2
LastLast
  1. #1
    High Overlord Roblivion's Avatar
    Join Date
    Dec 2011
    Location
    Virginia Beach, VA
    Posts
    165

    Programming question

    Hello all, I know this topic has come up before but I can't seem to find it/get answers I would like. I barely skimmed Programming in College and would like to return to school to learn it. I have forgotten most of everything and am wondering if anyone has specific books they suggest and programs. I downloaded Visual Basic Express 2010, C++ Express 2010, and C# Express 2010. I believe you get free licenses for these since 2012 is out. I was wondering if anyone could suggest any other free compiler software to use/languages to learn/books to purchase. Thanks guys
    4670k @ 4.4GHz - MSI Z87 G45 - Silverstone AR03 - Gigabyte Windforce GTX 770 OC - Antec 620W High Current Gamer

    8GB Crucial Ballistix 1600MHz - Samsung 840 250GB - 1TB WD Blue - ASUS VG248QE @ 144Hz - Fractal Design Define R4 - Windows 8.1 64-Bit - Razer Death Adder 2013
    Cooler Master QuickFire Rapid MX Cherry Red Switches - Steelseries QCK+ - Logitech G930

  2. #2
    If you want to try Java you can get Eclipse or Netbeans.

  3. #3
    Eclipse is a free and pretty decent compiler for a whole slew of languages (it's modular so you only install the ones you want.

  4. #4
    Python is good for learning.

    Also the value of interesting project can be worth more than thousand books. If you have an idea for WoW addon, picking up Lua could be an option too.
    Never going to log into this garbage forum again as long as calling obvious troll obvious troll is the easiest way to get banned.
    Trolling should be.

  5. #5
    Well, first I'd suggest not to start with C++. It can get frustrating when your programs don't compile for an obscure reason. It's best to start with something simple enough to grasp most of the basics but not too complicated so you don't get overwhelmed. I'd suggest Java (with the eclipse IDE; forget netbeans, everytime I tried it it just seemed like a badly designed and programmed environment) then move up to c++ for more in depth lower level knowledge and to ruby/python for high level programming.

  6. #6
    Fluffy Kitten Badpaladin's Avatar
    Join Date
    May 2010
    Location
    ccaarrrrllllll
    Posts
    11,090
    http://ocw.mit.edu/courses/electrica...g-spring-2011/

    Go through these free lectures. Probably the best resource online if you're looking to take up programming. Stuff is done in Python.
    My Short Required Reading List: One. Two. || Last.fm

  7. #7
    I am Murloc! Cyanotical's Avatar
    Join Date
    Feb 2011
    Location
    Aurora, Co
    Posts
    5,104

    i7-4790K | Z97 Class. | 8GB DDR3-2133 | GTX-690 Quad SLI | RAIDR | 512GB Samsung 830 | AX1200 | FT02
    Dell U2711 | Ducky Shine3 YoS | Steelseries Sensei Wireless | Xonar Essence One | KRK RP8G2s

  8. #8
    Grunt LanceV's Avatar
    Join Date
    Dec 2012
    Location
    New York, New York
    Posts
    11
    It really depends on what it is that you want to do, if you are looking for application programming, or web programming. If you are looking to do web stuff its worth checking out "Codecademy" great for learning javascript etc

  9. #9
    Worst thing for you to make a bad decision at the beginning and waste your time so I will just write general info about languages so you can chose
    C++: Hard to learn, very hard to master. It's used in every area but mobile applications as far as I know. You can easily find job with good payment if you are good at it.
    Java: Easier to learn. Mostly used for mobile applications. Other than that you can see java in Embedded Systems, web, desktop applications.
    C: Easy to learn, hard to master, hard to develop programs. It's suitable for programming operating systems or system-level programs, very low-level boring stuff if you ask me. Also used for low-level graphics programming(game engines).
    C#: Same as java but it's hardly seen on mobile environment other than windows phone.
    Scripting Languages: Well, there are some good scripting languages like phyton and you can do everything with it as long as abstraction(the program that makes scripting language work) is programmed. Be it an graphical user interface to game or some sort of system-level thing. A good programmer should know one scripting language

    Well if you really consider programming as your career go with C++ unless you want to work in a very specific are that it has no use for C++(eg. Mobile Applications). I suggest Object-oriented programming in C++ of Robert Lafore. Good for starters.

    this website has good undergraduate courses for free. You should definitely check it. Also check this. Finally, if you are really into this, I strongly recommend taking courses IRL. You can learn by yourself but that would be a good hassle for you because asking questions and getting right answer while learning is very effective.
    Last edited by Kuntantee; 2012-12-28 at 12:40 AM.

  10. #10
    Grunt Diabalus's Avatar
    Join Date
    Dec 2012
    Location
    Adelaide, Australia
    Posts
    15
    I think that C++ is the best way to go.
    Although it may be harder to master than the likes of Java, Python and other such languages, it which teach you about other things fundamental to coding.
    Yes, your program may not compile do to a stray bracket or the lack of a semicolon at the end of a line, but this teaches you to be consistant with your programming method and to care about syntax which is important.
    As this is an OOP (Object-Orientated programming) language, the concepts you grasp in learning this will make transitioning to the other OOP languages (like Java) much easier then learning them from scratch.
    You could go from a less strict language and then transition up but starting from C++ will put you in the mindset of good coding practice.

    In terms of the actual coding/compiling side of things, I recommend you run a partition or virtual machine of linux to makes things easier as these normally come with GNU compilers installed including a C++ and C one. Also, although it pains me to say, if you have a mac this will have these features aswell.

  11. #11
    Fluffy Kitten Badpaladin's Avatar
    Join Date
    May 2010
    Location
    ccaarrrrllllll
    Posts
    11,090
    I'm not sure I'd suggest starting out with C++. It's important to learn C/C++ for a large variety of reasons, but it's a form of cruelty to use C++ as a means to introduce people to the way of thinking needed to program well, let alone some of the rather abstract constructs involved. C is a far better choice as an "intro" language if enforcing good practices is one of the orders of business.
    My Short Required Reading List: One. Two. || Last.fm

  12. #12
    Titan Synthaxx's Avatar
    Join Date
    Feb 2008
    Location
    Rotherham, England/UK
    Posts
    13,034
    Quote Originally Posted by Kuntantee View Post
    Worst thing for you to make a bad decision at the beginning and waste your time so I will just write general info about languages so you can chose
    C++: Hard to learn, very hard to master. It's used in every area but mobile applications as far as I know. You can easily find job with good payment if you are good at it.
    Java: Easier to learn. Mostly used for mobile applications. Other than that you can see java in Embedded Systems, web, desktop applications.
    C: Easy to learn, hard to master, hard to develop programs. It's suitable for programming operating systems or system-level programs, very low-level boring stuff if you ask me. Also used for low-level graphics programming(game engines).
    C#: Same as java but it's hardly seen on mobile environment other than windows phone.
    Scripting Languages: Well, there are some good scripting languages like phyton and you can do everything with it as long as abstraction(the program that makes scripting language work) is programmed. Be it an graphical user interface to game or some sort of system-level thing. A good programmer should know one scripting language

    Well if you really consider programming as your career go with C++ unless you want to work in a very specific are that it has no use for C++(eg. Mobile Applications). I suggest Object-oriented programming in C++ of Robert Lafore. Good for starters.

    this website has good undergraduate courses for free. You should definitely check it. Also check this. Finally, if you are really into this, I strongly recommend taking courses IRL. You can learn by yourself but that would be a good hassle for you because asking questions and getting right answer while learning is very effective.
    Actually, C++ is also used in mobile. C++11 is the latest version, it's just starting to come to market, and replaces the 2003 version of C++ (aka C++03). I know that Embarcadero allows C++ iOS development, and Android support is due to follow early next year (along with ARM compilation). I'm not sure how Microsoft's offerings are faring right now for mobile, but it's evident they're making tracks to support it with their tablets (and Metro in general).

    I disagree on a developer needing to know a scripting language. The only scripting languages i know are web ones (PHP in this instance), and even that's only been picked up very recently (within the past month), originally due to wanting to provide an easier way of distributing updates for my apps, but has evolved into a work in progress API for my projects. I could quite happily carry on coding apps without ever having bothered to pick up PHP. It's advantageous for bringing my applications into a more social space (i've got big plans for the future), but it's not a requirement. I don't know any "desktop scripting" languages and i'd say i'm doing pretty well. Of course, there's times when it'd be advantageous, such as if i wanted a seamless updater, but it's not overly difficult to work around if you take a modular approach to development (and it becomes even easier if you happen to have access to a web server).

    C# is great for the desktop, admittedly one of the best, but as you say, it's rarely seen on mobile outside of Windows Phone.

    I'd personally recommend C# (or Delphi, but hey, not free and it's still viewed as a lesser solution since many libraries have never been translated... really relies on you building what you need from the ground up if a prebuilt library isn't available). Perhaps move on to C++ later on (as that's one of the most supported languages out there, and typically, it's where support for many hardware libraries originate from).

    I'd also only choose Embarcadero's C++ offering over Microsoft's for the simple fact i prefer their IDE, the offering of Firemonkey (native crossplatform framework available as standard), C++11 64-bit support (not sure if MS has 64-bit support for the standard yet, i do know they support the new standard as 32-bit with the latest version of VS), but not for price (that's something it's impossible to beat Microsoft on). At the very least, i'd download the latest express version of VS (http://www.microsoft.com/visualstudio/eng/downloads). Completely free. 30 days usage initially, but just register for a free key to keep using it after that.
    Coder, Gamer - IOCube | #Error418MasterRace #ScottBrokeIt
    Knows: Node.js, JS + JQuery, HTML + CSS, Object Pascal, PHP, WQL/SQL

    PC: 750D / 16GB / 256GB + 750GB / GTX780 / 4670K / Z87X-UD4H | Laptop: 8GB / 120GB + 480GB / GTX765M / 4700MQ

  13. #13
    Field Marshal Bags-'s Avatar
    Join Date
    Dec 2012
    Location
    USA
    Posts
    86
    If you start with Java like people are suggesting, I'll throw another recommendation for Eclipse. It's what we use at my college.

  14. #14
    High Overlord Roblivion's Avatar
    Join Date
    Dec 2011
    Location
    Virginia Beach, VA
    Posts
    165
    Thank you everyone for your helpful information. Going to do some research on everything said and decide.

    Synthaxx, So you are suggesting C# and downloading Visual Studio, correct?
    4670k @ 4.4GHz - MSI Z87 G45 - Silverstone AR03 - Gigabyte Windforce GTX 770 OC - Antec 620W High Current Gamer

    8GB Crucial Ballistix 1600MHz - Samsung 840 250GB - 1TB WD Blue - ASUS VG248QE @ 144Hz - Fractal Design Define R4 - Windows 8.1 64-Bit - Razer Death Adder 2013
    Cooler Master QuickFire Rapid MX Cherry Red Switches - Steelseries QCK+ - Logitech G930

  15. #15
    The Patient
    Join Date
    Jul 2009
    Location
    Swansea, United Kingdom
    Posts
    253
    For a bit of background, I'm an academic teaching people to program at bachelors/masters level, and have participated in a little pedagogical research in this area. I've long held the belief that C is the best place to start because it's analogous to so many other languages. From there it's fairly easy to make the jump to C++ (at a trivial level, object oriented C), C#, Java and a slew of others. By contrast, C# and Java abstract memory management from the programmer to such an extent that you don't need to even remotely understand the concepts to be a successful user of the language. And don't get me wrong, that's not necessarily a criticism (though I can pen many pages of rant on the subject of garbage collection), but it does mean that going from C/++ to C# or Java is very easy, yet going the other way is undoubtedly considerably more difficult.

    That said, obviously I'm talking from the perspective of supported lectures and tutorials (i.e. when my students hit an obscure error, I can likely fix it before their brain starts leaking from their ears) - I understand that you likely won't have that level of support immediately available, that learning C through tutorials alone can be a gruelling business, especially when an abstract error bogs you down (link errors in C++ are notoriously unpleasant for beginner programmers). There's nothing wrong with starting from C# or Java (I'd recommend Java over C# - see below*), but be aware that making the change to C will be considerably more difficult than making the jump the other way.

    * Java and C# are EXTREMELY similar languages, however Java is platform agnostic and useful for android development, while C# doesn't have any significant advantages from a beginner perspective to my mind.

  16. #16
    Quote Originally Posted by Roblivion View Post
    Thank you everyone for your helpful information. Going to do some research on everything said and decide.

    Synthaxx, So you are suggesting C# and downloading Visual Studio, correct?
    If you are a student, you can download Visual Studio 2012 professional for Free from Microsoft DreamSpark.
    System Specs -
    CPU - i5 2500k @ 5ghz | CPU Cooler - RASA RX240 | Motherboard - Asus Maximus IV Gene-Z/Gen3| GPU - Nvidia GTX 590|
    SSD - Crucial M4 128GB | RAM - 8GB Corsair Vengeance | PSU - Corsair TX850M | Case - CoolerMaster HAF 922
    | Monitor - Crossover 27Q (2560x1440) | Sidewinder X4 Keyboard |


  17. #17
    Fluffy Kitten Badpaladin's Avatar
    Join Date
    May 2010
    Location
    ccaarrrrllllll
    Posts
    11,090
    Quote Originally Posted by Nab View Post
    If you are a student, you can download Visual Studio 2012 professional for Free from Microsoft DreamSpark.
    Truth. Just need a .edu that's valid on their servers, which should be most schools. Such a nice program.
    My Short Required Reading List: One. Two. || Last.fm

  18. #18
    High Overlord Roblivion's Avatar
    Join Date
    Dec 2011
    Location
    Virginia Beach, VA
    Posts
    165
    .mil address here, unfortunately :\
    4670k @ 4.4GHz - MSI Z87 G45 - Silverstone AR03 - Gigabyte Windforce GTX 770 OC - Antec 620W High Current Gamer

    8GB Crucial Ballistix 1600MHz - Samsung 840 250GB - 1TB WD Blue - ASUS VG248QE @ 144Hz - Fractal Design Define R4 - Windows 8.1 64-Bit - Razer Death Adder 2013
    Cooler Master QuickFire Rapid MX Cherry Red Switches - Steelseries QCK+ - Logitech G930

  19. #19
    Quote Originally Posted by Roblivion View Post
    .mil address here, unfortunately :\
    You could still download Visual Studio 2012 Express for Windows Desktop, then register for a free product key.
    System Specs -
    CPU - i5 2500k @ 5ghz | CPU Cooler - RASA RX240 | Motherboard - Asus Maximus IV Gene-Z/Gen3| GPU - Nvidia GTX 590|
    SSD - Crucial M4 128GB | RAM - 8GB Corsair Vengeance | PSU - Corsair TX850M | Case - CoolerMaster HAF 922
    | Monitor - Crossover 27Q (2560x1440) | Sidewinder X4 Keyboard |


  20. #20
    Quote Originally Posted by Roblivion View Post
    Thank you everyone for your helpful information. Going to do some research on everything said and decide.

    Synthaxx, So you are suggesting C# and downloading Visual Studio, correct?
    I am just going to say, do not waste your time with C#. Either start Java or C++(if you consider long term commitment).

Posting Permissions

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