Programming Thread

Discussion in 'Tech Support' started by Agent One, May 20, 2018.

  1. Agent One

    Agent One Seventh Year DLP Supporter

    Joined:
    Jun 2, 2016
    Messages:
    222
    High Score:
    0
    @BTT mentioned here that a Programming thread could prove to be useful for beginners and such. Judging by the comments in that thread and what I've seen around the forums, a thread like this could prove beneficial to beginners and people that encounter any problems.

    I admit that I myself am not a programmer. I can do some wicked HTML (Which is not a programming language), some subpar CSS (Again, not a programming language) and I know my way around a Linux terminal (Still not a programming language).

    My reasons for creating this thread are not entirely selfless, I am looking into foraying into the world of programming but am a bit lost as to where to start.

    The most experience I have with programming is one afternoon when I was 14 and found a C++ book in the library and tried to follow the instructions. I couldn't get past the standard "Hello World" section before my brain turned to mush.

    I've since been told that C++ is definitely not a beginners language but that if I could somehow learn it that every other language would be easier to learn.

    I've also been told that Python is a good beginner language but that it's the opposite of C++ in that it instills some bad habits.

    I've also got a C# book from 2015 lying around that I've never opened.

    Most of my old coworkers knew Java and always bragged about how much money it could make people but seeing as how they've all been laid off and I'm the only one left in my specific department I'll take that with a grain of salt.

    Also, found this online. Not sure how accurate it is?

    TL;Dr: What's a good programming language to learn for me that can aid me in learning other languages in the future?
     
  2. EsperJones

    EsperJones Death Eater

    Joined:
    Mar 3, 2006
    Messages:
    986
    Location:
    Seattle, WA
    Interestingly, I just came across http://cs50.tv/2017/fall/ today which is a great "overview" class for Computer Science, which includes programming. Note that this is an actual college course so it goes into a lot of the general concepts and teaches you how to learn for yourself, rather than focusing on any specific technology or language. You can watch/read the content for free. It got really great reviews, and there's a follow-up gamedev-specific course as well.

    tl;dr: If you're serious about it, take a real course. There's plenty available for free.
     
  3. ScottPress

    ScottPress The Horny Sovereign Prestige

    Joined:
    Apr 22, 2013
    Messages:
    2,181
    Gender:
    Male
    Location:
    The Holy Moose Empire
    High Score:
    1,826
    I'm doing the beginner's Python course in Code Academy. It's free and while sometimes instructions are a little unclear, it's pretty good for the most part. The exercises allow you to check the results as you do them, which is helpful.

    So far, I've written a few simple, let's call them "calculators". Some counting stuff and showing results based on if/then commands. Super simple stuff, but it's working, which is encouraging. @Nazgus gave me a few useful tips.

    If there are any other Python beginners around, we could copy paste our programming attempts here to share experience on what we're learning.
     
  4. Oz

    Oz UNQUESTIONABLY THE MOST HETERO MAN IN THE WORLD Moderator DLP Supporter

    Joined:
    Jan 31, 2008
    Messages:
    8,762
    Gender:
    Female
    Location:
    Baile Átha Cliath
    Uhhhh citation needed? I'm not sure of any bad habits you'd learn through python lol.

    Python is fine to learn, and is used for a lot of very serious programming work. The original YouTube was written in python, it still gets used fairly extensively at Google. A lot of stuff is powered by python.

    For learning to program I'd recommend python or ruby and not worry about what anyone says tbh.
     
  5. kinetique

    kinetique Groundskeeper

    Joined:
    Aug 16, 2013
    Messages:
    364
    I seriously recommend going through a functional language to learn, particularly going through this book if you aren't going to learn at a bootcamp/university.

    http://web.mit.edu/alexmv/6.037/sicp.pdf

    At my university we went Haskell -> Java -> C, and from there was pretty agnostic in regards to languages.

    In regards to c++ not being good to learn with, I think the changes to c++ made after the 2011 revision are enough that it can be an excellent language to learn first, and I'd recommend using this book for it if you do: https://www.amazon.com/Programming-...p/B07CMWM65F/ref=mt_kindle?_encoding=UTF8&me= The c++ primer book is truly excellent, but given that you're struggling with hello world, and it goes into pointers from memory at chapter 2 (maybe a chapter later, can't remember, but it's definitely super early), I'd steer clear of that book.

    Python is almost a necessity to learn if you plan on doing any work with machine learning/mathematics, as most implementations are written in c with a python front end. The mit edx intro to computing course is probably what I'd choose to get started with python.

    If you learn enough of the linux terminal, you'll pretty rapidly learn a good chunk of c, as much of the syntax on bash is the same, but ultimately the cs50x is, imo the very best online resource for an intro to programming like course.

    That said, more then anything, programming for the most part is pretty similar from one language to another, especially if they fall into the same category of language. The only real exceptions are declarative and imperative languages.

    If you're feeling genuinely autistic, you could also consult the /sci/ wiki for there thoughts on computer programming. Just be aware that the amount of work you'd do to get through it is obscene. For a laugh, take a read through this:
    http://4chan-science.wikia.com/wiki/Computer_Science_and_Engineering
     
    Last edited: May 22, 2018
  6. BTT

    BTT Death Eater

    Joined:
    Aug 31, 2011
    Messages:
    983
    Location:
    Cyber City Oedo
    Another friendly tip: this page has a torrent for a huge (3.5GB) library of books about basically everything tech-related (and the Anarchist's cookbook). Most of the books are rather old now (.chm format, jesus christ). There's some real gems in it, like Cormen's Introduction to Algorithms and a bunch of books my uni used/uses in my CompSci classes. Worth taking a look at, IMO.
     
  7. DoctorPotter

    DoctorPotter Muggle

    Joined:
    Dec 17, 2013
    Messages:
    4
    Got to second cs50, really gets you thinking and has a very nice learning curve in terms of satisfaction and how much you learn.
     
  8. moonpotato

    moonpotato First Year

    Joined:
    Jun 1, 2015
    Messages:
    35
    Location:
    Bestern Australia
    That's actually 35 GB, no decimal point. Jesus christ, indeed.
     
  9. psihary

    psihary Groundskeeper

    Joined:
    Feb 24, 2008
    Messages:
    365
    Location:
    ... I've got a polar bear for a neighbour...
    I was just talking with a guy today, who wanted to start doing "programming". My first question to him after listening for a about a minute how he wants to start to code because it sounds the cool job to have, was - what do you think you'd be interested in doing?

    Start off from this point first, try to come up with what would you like to do. What got you interested in coding first? Try to come up with a first time small project that does x,y,z . We or the good people on the internet would point you in the right direction and the technology stack you'd need to learn to be able to do it.

    If you can already do some front end oriented development(html + css) expand on that if that's what makes you motivated to learn. Learn html 5, sass or just read on all the cool shit you can do with css, expand on scripting languages, hit on javascript in case web development is what you're after. You don't need c, c++ or C# for that. If you want to be backend developer or name yourself with the over hyped and overused full stack dev title, then you will need to learn at least one of those (again not quite right, there are just that many languages you can learn ;))

    If you want to do machine learning, some real algorithmic programming, want to go into IoT or game programming, that's another story too.

    But first, come up with a small project that you try to implement. Give yourself a task, nothing too ambitious, a deadline and just try to figure out how to do it. Soon you'll know if that's what you want to do ;)
     
  10. Lukaskr

    Lukaskr Fourth Year

    Joined:
    Nov 16, 2008
    Messages:
    131
    Location:
    Chicago, born in Poland
    +1 about Introduction to Algorithms - a timeless book
     
  11. Dystopian Destiny

    Dystopian Destiny Third Year

    Joined:
    May 5, 2018
    Messages:
    91
    Huh, it is showing a 32 GB download for me? They must have removed some of the materials(Haskell and Python removal jumps out).
    How can I get those?
     
  12. BTT

    BTT Death Eater

    Joined:
    Aug 31, 2011
    Messages:
    983
    Location:
    Cyber City Oedo
    No, actually, I think that's right, I've got the same size (32 GB) on my HDD and that dates back to 2015. I think the site's just wrong.
     
  13. KHAAAAAAAN!!

    KHAAAAAAAN!! Troll in the Dungeon Prestige DLP Supporter

    Joined:
    Apr 18, 2011
    Messages:
    1,496
    Gender:
    Male
    Location:
    Under your bed.
    High Score:
    2,002
    Can someone point me toward a solid laymen's explanation of the differences between a zero address stack machine and a 3 address register machine with some good visual representations of the algorithms? I can't wrap my head around it from the wikipedia/stackoverflow/geeksforgeeks info alone.
     
Loading...