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

My thoughts on beginner programming

Discussion in 'Software/Coding' started by MrTokay, Sep 2, 2016.

  1. MrTokay

    MrTokay Member

    Joined:
    Jul 4, 2016
    Messages:
    589
    Likes Received:
    421
    Trophy Points:
    63
    Gender:
    Male
    Occupation:
    Really tired
    Location:
    Jon's house
    Home Page:
    Ok, so, in a recent upsurge of things that I've seen (mostly on google) about programming, I decided I simply HAVE to make this thread.
    Why? You'll see.

    For starters:
    There are two reasons why programming is so recommended:
    #1: "It will teach you how to solve real-life problems";
    #2:"You need to know a programming language in the 21st century".
    I have many things to say on the first topic and just two things on the second:
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------
    Many people start to learn programming with a common misconception: *insert cheesy voice here* "Learning programming is a good idea because it teaches me about real life problems".
    So let me get some things straight:

    Programming is not AT ALL like real life.
    Its similar to learning a musical instrument.
    Many people start learning to play a musical instrument because they think they're going to be some master musician.\ in an instant.
    But will they?
    No.
    Most people like that end up fizzling out and wasting their parents' money over a year of useless piano lessons.
    Did that help them?
    No.
    Now, lets say they learn how to play "Mary had a little lamb".
    Will that do them any good?
    No.
    Will that teach them about hard work, like learning a musical instrument (usually the "life lesson" aspect in musical instruments)?
    No.

    So, what does this have to do with anything?
    Lets see:

    Lets translate into programming:
    Some people think they're going to become some Master Hacker (read: Master Musician) / amazing Developer for Minecraft or websites (read: Master Musician) in an instant.
    But will they?
    No.
    Most people like that end up wasting tons of time learning how to do useless things and sitting on a computer for hours on end doing nothing useful.
    Did that help them?
    No.
    Now, lets say they learn how to write, "Hello, world", and do if / else. (read: Mary had a little lamb).
    Will that teach them about real life problems (read: hard work life skills like musical instruments?)
    No.
    So you see what I mean.

    Don't go into programming expecting great things or being able to solve "real life problems".
    Expect a lot of hard work and always having people being better than you.
    You will ALWAYS feel small.
    It doesn't matter if you just wrote "Hello, world!", or if you made an entire website, you will never be good enough.

    Programming also isn't like real life in the way that its precise.
    This takes a lot of time to get used to.
    In real life, if you don't write a comma in your text to your friend, so what?
    In programming, you'll get constantly frustrated with your work when the ENTIRE program you just wrote doesn't run because you forgot a semi-colon.

    Programming is about small steps, not learning how to solve "real life problems", by doing a few hours of programming.

    (I know you're all going to say, "I started programming and I learned how to solve real life problems!". So heres what I have to say: either you put in a lot of hard work, you didn't do it in a few hours, or more likely, your definition of "solving real life problems" is waaaay off.
    So please, PLEASE don't say this to me. I will completely disregard it.)

    #2: Wow, thought this was over?
    *insert cheesy voice here*"I want to learn programming because you need to know some kind of programming in the 21st century".
    So two things:
    The first thing I said in that huge paragraph up there still applies.
    You WILL NOT learn things that will help you in the 21st century in two hours.

    Number two:
    Programming languages have been an essential for a loooooong time.
    Lets look at the facts:
    I would say that if a language came out in 1997 or later it is considered a modern language and an essential for modern times. (this is generous. 19 years is a long time for something like this)
    So lets see:
    SQL : 1970
    C : 1969-1973
    C++ : 1979
    Java : 1991
    (These are, in my opinion, the biggest languages)


    (Besides Java, which is 6 YEARS DIFFERENCE, like, 25-31 years old), Its not even CLOSE.
    If you think you just NEED to know Java in the 21st century, heres what id say to you: "What about in 1992, was it essential then?".
    So basically, C++ has been around for 37 years, but its essential now.
    Java has been around for 25 years, but its essential now.


    I went 4 years online, and not knowing how to program didn't bother me ONCE.
    This idea is not applicable at all.

    So my guide to learning how to program?

    That'll be another thread, but for now:
    Read books, watch videos, do tutorials, GO TO COLLEGE for programming if you can, and the absolute best one: get a real live person to help you.
    Nothing beat having my Dad know the answer to every single problem I asked him about.
    If this resource isn't available to you, I'll be available for contact on the forums, as well as the other Developers on the server, (not all of them are staff) @Hangar , @MagnificentSpam are two examples.
    NOTE: Always ask Jr Dev's, reals Devs will never respond.

    Expect a lot of hard work, programming takes years.

    And last but not least: Finish what you start. If you don't stop a programming course at the beginning, chances are, the course will do something for you. The beginning is always the hardest.

    Hope this helped!
     
    Last edited: Sep 13, 2016
    mateu9999 likes this.
  2. A Christmas Hangar

    A Christmas Hangar Member

    Joined:
    Sep 15, 2015
    Messages:
    2,550
    Likes Received:
    1,499
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Kepler452B
    Home Page:
    Ohai, you tagged me ;)

    You forgot maths, a lot of maths, and even more maths. Oh, did I say maths?


    The guide is pretty well done, also, if you let me add it, do not start with Bukkit (if Java), or coding in game engines with C++. (well, those are two example, simply, do not start with things that require a good base of knowledge).

    If you have any doubt, you can also contact @MrTokay , @DanOF or @MagnificentSpam , they're pretty active and can help you.




    MATHS
     
  3. OMG_ItzSanta

    OMG_ItzSanta Member

    Joined:
    Sep 2, 2016
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    Gender:
    Male
    It helps with logical thought processes...?
     
  4. A Christmas Hangar

    A Christmas Hangar Member

    Joined:
    Sep 15, 2015
    Messages:
    2,550
    Likes Received:
    1,499
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Kepler452B
    Home Page:
    No, you must follow his guide to be succes (apart of other stuff) on coding. Coding is not only about typing but also thinking.
     
    Last edited: Sep 2, 2016
  5. MrTokay

    MrTokay Member

    Joined:
    Jul 4, 2016
    Messages:
    589
    Likes Received:
    421
    Trophy Points:
    63
    Gender:
    Male
    Occupation:
    Really tired
    Location:
    Jon's house
    Home Page:
    I literally have no idea what you're talking about.
    Coding is about making sure all your lines are in the right places, making sure your syntax is correct, etc.

    Logical thought processes do not dictate looking over everything you do 30+ times or more.
    It sounds really professional, but its literally a complete lie.

    I would say that a good knowledge of math is useful, but not necessary.
    Usually somewhere you would need math can be done almost as well as w/o it.

    If you could give me an individual example, I could probably figure out a way to do it w/o math.

    It will take longer, though, which is usually exactly why you should know math.
     
  6. A Christmas Hangar

    A Christmas Hangar Member

    Joined:
    Sep 15, 2015
    Messages:
    2,550
    Likes Received:
    1,499
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Kepler452B
    Home Page:
    But maths are cool :eek:
     
  7. MrTokay

    MrTokay Member

    Joined:
    Jul 4, 2016
    Messages:
    589
    Likes Received:
    421
    Trophy Points:
    63
    Gender:
    Male
    Occupation:
    Really tired
    Location:
    Jon's house
    Home Page:
    Lololol
    Yes, maths are cool:D
     
  8. FalseHonesty

    FalseHonesty Mod Staff Member Moderator

    Joined:
    Mar 5, 2016
    Messages:
    873
    Likes Received:
    553
    Trophy Points:
    93
    Gender:
    Male
    Occupation:
    My Computer
    Location:
    My House
    Home Page:
    I would have to disagree with you on this, to be a high level (or even somewhat mediocre-basic) programmer, math knowledge is kkeeeeeey. Now, I'm not saying you have to be a legendary math person, nor am I saying you can't solve some problems by avoiding math, but what I'm saying is that to achieve good run times on programs and efficient coding, algebra skills are key. You may not realize it, but even using a variable is utilizing math (allggreebbraaaa ;) ).
     
    mateu9999 likes this.
  9. A Christmas Hangar

    A Christmas Hangar Member

    Joined:
    Sep 15, 2015
    Messages:
    2,550
    Likes Received:
    1,499
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Kepler452B
    Home Page:
    Remembers me of something I must do,
     
  10. MrTokay

    MrTokay Member

    Joined:
    Jul 4, 2016
    Messages:
    589
    Likes Received:
    421
    Trophy Points:
    63
    Gender:
    Male
    Occupation:
    Really tired
    Location:
    Jon's house
    Home Page:
    Can you give me an example?
    The last time I needed - really needed- math, was a long time ago.
    Also, ive asked my Dad and my cousin ( both professional programmers), about how much they use math, and they said they dont really use it.

    This spans: Java (cousin), JavaScript (cousin), C++ (Dad), and Python (Dad)

    Run times in programs have nothing to do with algebra. If you could clarify what you meant, I would appreciate it.

    Also, variables, assuming theyre predefined, are not algebra, bacause:

    var x=12;
    2+x=14;
    Thats not algebra
     
  11. MrTokay

    MrTokay Member

    Joined:
    Jul 4, 2016
    Messages:
    589
    Likes Received:
    421
    Trophy Points:
    63
    Gender:
    Male
    Occupation:
    Really tired
    Location:
    Jon's house
    Home Page:
     
  12. MagnificentSpam

    MagnificentSpam Member

    Joined:
    Mar 16, 2016
    Messages:
    731
    Likes Received:
    300
    Trophy Points:
    63
    Gender:
    Male
    If you want to get shit done fast, I can recomment python3 because of its huge standard library.
    Want to send emails? import smtplib
    Want to use some web api? import urllib
    Want to run some other program? import subprocess

    I think how much maths you have use depends on what you are programming, afaik all graphics programming (espacially 3d games) is mostly vectors and other maths stuff. Web devs probably don't have to use a lot of maths generally.
     
  13. A Christmas Hangar

    A Christmas Hangar Member

    Joined:
    Sep 15, 2015
    Messages:
    2,550
    Likes Received:
    1,499
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Kepler452B
    Home Page:
    byte[][] result = new byte[world.getMaxHeight()/16][]; MATHS! just a division without results.
     
  14. mateu9999

    mateu9999 Member

    Joined:
    Dec 6, 2015
    Messages:
    4,176
    Likes Received:
    2,589
    Trophy Points:
    113
    Gender:
    Male
    Occupation:
    Anime or Minecraft......
    Location:
    Inside you....
    Programming is a very fun and nice thing to do... It's not really hard to get used to but my problem with Programming is that I dont like to watch tutorials or read books to see how things work most of the time I go my own way to test stuff... And most of the time my Projects crash ;) (Playing Baseball with a sword is a real achievement) That's one of the reasons for never finishing a project ;)
    I think math is an important skill to have while Programming... Also the knowledge of using a PC and some Java knowledge... Otherwise your pc crashes ;) anyway Nice post :p
     
  15. Dkamps18

    Dkamps18 Member

    Joined:
    Jul 3, 2015
    Messages:
    155
    Likes Received:
    37
    Trophy Points:
    28
    Gender:
    Male
    Location:
    The Netherlands
    Rip my mention :(
     
  16. OMG_ItzSanta

    OMG_ItzSanta Member

    Joined:
    Sep 2, 2016
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    Gender:
    Male
    You learn math ... xD
    More
     
  17. A Christmas Hangar

    A Christmas Hangar Member

    Joined:
    Sep 15, 2015
    Messages:
    2,550
    Likes Received:
    1,499
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Kepler452B
    Home Page:
    @Dkamps18
     
  18. MrTokay

    MrTokay Member

    Joined:
    Jul 4, 2016
    Messages:
    589
    Likes Received:
    421
    Trophy Points:
    63
    Gender:
    Male
    Occupation:
    Really tired
    Location:
    Jon's house
    Home Page:
    Well, yeah, Python is the quickest language and also the easiest to learn.
     
  19. Dkamps18

    Dkamps18 Member

    Joined:
    Jul 3, 2015
    Messages:
    155
    Likes Received:
    37
    Trophy Points:
    28
    Gender:
    Male
    Location:
    The Netherlands
    tnx i think
     
  20. MrTokay

    MrTokay Member

    Joined:
    Jul 4, 2016
    Messages:
    589
    Likes Received:
    421
    Trophy Points:
    63
    Gender:
    Male
    Occupation:
    Really tired
    Location:
    Jon's house
    Home Page:
    Ok, so as it turns out, we were kind of both wrong and right:

    You need to use math when you do algorithms, as an example: runtimes on your code, ;)

    This is where you were right and I was wrong.

    However, the topic at hand here is about computer languages, not algorithms. This is where I was right and you were wrong.

    I suggest you read this:
    https://www.quora.com/What-should-you-learn-in-maths-before-learning-algorithms

    A few short points:
    To do algorithms effectively enough for it to be worth your time, you do need to be a legendary math person.

    Efficient coding has nothing to do with math, but your programs can end up doing more with the right algorithms. Before you ask, this is not efficiency, this is doing more with algorithms. Efficiency is doing more with less. This is just doing more.

    Algebra has very little to do with algorithms, for the example you gave, about runtimes, you mostly use rates, and in most other examples, you use geometry.

    And finally:
    @FalseHonesty