1. Hello and welcome to the brand new home for PlayDota!
    Please read through our Welcome thread to see what's new!
    Dismiss Notice

Want to learn some programming languages, help!

Discussion in 'Tech & Programming' started by TheArsonist, Oct 9, 2016.

  1. TheArsonist

    TheArsonist Member

    466
    285
    63
    Apr 26, 2015
    Hello, I'm currently interested in learning C# (for games) and Python (for animation). Perhaps LUA too in hopes of creating a DotA custom game in the future.

    I have some experience with Visual Basic, Pascal, JavaScript and HTML/CSS from the past.

    Anyone with experience to guide me on where to actually begin? There's too many choices around that I guess I can just pick one and follow through but some preliminary advice would be appreciated! :D

    :cat:
     
  2. Blarrg

    Blarrg Member

    9,749
    149
    63
    Jun 12, 2009
    It all depends on what you're interested in. You've mentioned games, but do you have any interest in coding as a career?
     
  3. TheArsonist

    TheArsonist Member

    466
    285
    63
    Apr 26, 2015
    Not as a career really. Mostly, as a hobby. My aspiring career path involves animation/video making. I believe coding is a nice fit and considering I already have a (small) coding background, it will make the learning curve less steep.
     
  4. ALooseMoose

    ALooseMoose New Member

    11
    0
    1
    Oct 8, 2016
    Coursera.com has free college-level courses that you can take, Khan Academy also has lessons with several different languages.
     
  5. dewouter

    dewouter Moderator Staff Member

    2,578
    103
    63
    Oct 27, 2009
    If you want quick results I'd say go for lua in Dota, it requires some basic programming and you'll learn quickly and you will see your results.
     
  6. iser

    iser Member

    2,654
    48
    48
    Jun 10, 2009
    if you want to actually learn programming, then i highly recommend freecodecamp.com. that's where i started from. yes, it's in javascript, but really, the language you start from doesn't really matter. many of the concepts are transferable. after gaining decent understanding of javascript in 2 months, i was easily able to learn the basics of ruby in 2 weeks.

    also, i highly recommend projecteuler.net, coderbyte.com and codewars.com for learning basic algorithms.

    lastly, if you want to learn ruby (it's an awesome language), i have some insanely amazing material for you. it's the 3-week pre-course prep work for this program i got accepted to, and it is by far the most competitive program around right now (for example, i have some classmates that are harvard and oxford graduates). if you can digest this material, then it will solidify your understanding of the basics of programming. also, last half of this material is all making games. let me know if you are interested.
     
  7. Clueless

    Clueless Member

    7,413
    3
    38
    Feb 9, 2012
    If you want to program, but you want to have fun. go to codecombat.com to practice coding, well related to game programming logic actually.
     
  8. FlaMe

    FlaMe Moderator Staff Member

    4,977
    12
    38
    Nov 25, 2009
    I would recommend learning python and javascript. Python because it is fairly easy and you can use it to do a lot of things, and Javascript because it is the language of the web!

    If you're learning this as a hobby, one of the challenges you will face is motivation, which is why I'm suggesting python and javascript. With either of those two, you can quickly start making something real, something that will keep you motivated to learn more.

    @iser What program is this?
     
  9. iser

    iser Member

    2,654
    48
    48
    Jun 10, 2009
    appacademy.io is the coding bootcamp i'm going to be attending in december. there are lots of garbage coding bootcamps around right now, but aa and hackreactor are the only ones worth going to. and it is the only program that takes the tuition after the program, so they actually have active interest in what kind of jobs you get afterwards.

    i had my own business for almost 2 years, and i started studying some coding in june. i got completely addicted to it, and realized that i want to become a coder and take it further than a hobby. yes, i can learn all this on my own, but i've spoken to some of my programmer friends and they all highly recommended aa. btw, i went to carnegie mellon, so my coder friends are some of the best of the generation. their endorsement of aa is good as gold to me.

    yea, i went to carnegie mellon and studied public policy. i went to the best cs school in the world and i didn't take a single cs class. what a dumbass.
     
  10. TheArsonist

    TheArsonist Member

    466
    285
    63
    Apr 26, 2015
    Thanks everyone for the help, will try and see how these suggestions work. I've already learned some JavaScript, but I guess it won't hurt to keep at it :D

    I've dabbled a tiny bit with Ruby through http://tryruby.org/ I thought Ruby was mostly about web design and programming, will it be useful for making games too? If you can send me the program, I'll look into it and perhaps apply in the future when ready :D
     
  11. iser

    iser Member

    2,654
    48
    48
    Jun 10, 2009
    like i said earlier, it really doesn't matter what kind of language you start off in the beginning. you learn how to drive a car. you don't learn how to drive a ford or a toyota.

    last week, i had to build a mastermind game and a battleship game. here are my whiteboards:

    [​IMG]

    [​IMG]

    those are the problems from the ruby course i'm taking, but that knowledge is transferable to many other languages. since you want to get into game programming, i would really look hard into algorithms. projecteuler. coderbyte. codewars. the ones i listed earlier. learn to think in those terms. btw, the class i'm taking right now is just a basic fundamentals course. nothing hard or advanced.

    a program is just data structure and algorithms.
     
  12. Mognakor

    Mognakor Member

    1,510
    6
    38
    Jun 22, 2013
    If you want to learn real programming there is no way around having at least a basic understanding of C.

    The most prominent languages are based on C syntax, and with C you learn what actually happens and what languages like Java, Javascript and many others take care of for you.

    And while it may be frustrating to not have mechanisms like garbage collection or classes or dynamic types, it also is more simple and leaves less space for random obscure errors.
     
  13. iser

    iser Member

    2,654
    48
    48
    Jun 10, 2009
  14. Mognakor

    Mognakor Member

    1,510
    6
    38
    Jun 22, 2013
    It's not the course that matters, it's your own willingness to solve problems. I bet there are many free online tutorials out there that will teach you just as well.

    To learn programming you need to learn the basic syntax, thats the easy part. The hard part is finding problems you want to solve, writting your own algorithm without knowing that there is a "right" solution somewhere out there and instead figuring them out by yourself. Learning from others mistakes and not only your own. etc etc.

    And of course rewriting your code a dozen times for different reasons.
     
  15. iser

    iser Member

    2,654
    48
    48
    Jun 10, 2009
  16. Mognakor

    Mognakor Member

    1,510
    6
    38
    Jun 22, 2013
    A* and even Dijkstra is too much for a beginner.

    Here a few examples i remember from my C-course.

    - "Hello World" Program
    - print out various variables: integer, float, null-terminated string
    - convert a string with a hex number to a decimal number (ofc. without using atoi() )
    - calculate factorial ( iterative and recursive )
    - check if a string is a palindrome ( iterative and recursive )
    - learn what a struct is
    - create a linked list
    - sorting algorithms ( bubblesort, selectionsort, quicksort )
     
    iser and Ninjerk like this.
  17. Animus2280

    Animus2280 Member

    1,576
    9
    38
    Sep 28, 2010
    I'm going to have to correct you here; learning C is NOT mandatory. Yes, it's helpful, but everything you mentioned can either be taught through a Java or C++ DS/Algorithms course. C is just a tool.

    C programming's primary use is for low level systems and if you're not going to find a job in that field, or if you don't need it to get a BSCS, I see no reason to learn it aside from personal development.

    RANT INCOMING (not directed to you):

    There seems to be this mentality in the software developer community that you "have to love coding." Somehow if you don't dedicate half of your waking hours outside work to sitting in front of a PC and writing Javascript, you're a heathen.

    Has it occurred to these people that some merely need a tolerable job/career so they can put a roof over their heads and still have some leftover savings for retirement? I personally find web development tedious, but it's not bad overall. You can make over 100 grand if you keep at it.

    What truly irritates me is: do you see the medical/finance career communities telling their members that they "have to love their jobs?" Do child psychiatrists have to volunteer their extra time for "children in need" who can't afford their services?

    All of this bullshit is just another ruse to make the peons learn every language under the sun while paying them peanuts. I've been looking at job boards for my own amusement and the HILARIOUS thing is that the "entry level" jobs expect you to know at a minimum 3 languages. For web development it's usually PHP, Javascript, and SQL. For desktop applications you should know Java, Python, C#, etc. Not just know them, but know them inside and out.

    The question is are these corporations going to pay you for all that time you have to spend studying? Let's say you have a CS degree already but the job you interviewed for requires something obscure like Scala or F#. A truly talented programmer can pick it up in less than a week, a newbie might need 2 months.

    BUT THAT's still unpaid fucking time and it's absurd. In the past corporations would even sponsor your Master's degrees, now you'd be lucky if they give you time off instead of working 10 hour days and then having to learn all that shit after work is over.

    //RANT DONE.
     
  18. Eli_Green

    Eli_Green Member

    7,074
    827
    113
    Oct 29, 2013
    >javascript

    Ayy lmao
     
  19. Animus2280

    Animus2280 Member

    1,576
    9
    38
    Sep 28, 2010
    Javascript is fucking terrible but it's one of the most widely used out there