Programming Thread

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

  1. Agent One

    Agent One Seventh Year DLP Supporter

    Jun 2, 2016
    High Score:
    @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

    Mar 3, 2006
    Seattle, WA
    Interestingly, I just came across 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

    Apr 22, 2013
    The Holy Moose Empire
    High Score:
    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


    Jan 31, 2008
    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

    Aug 16, 2013
    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.

    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: 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:
    Last edited: May 22, 2018
  6. BTT

    BTT Death Eater

    Aug 31, 2011
    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

    Dec 17, 2013
    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

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

    psihary Groundskeeper

    Feb 24, 2008
    ... 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

    Nov 16, 2008
    Chicago, born in Poland
    +1 about Introduction to Algorithms - a timeless book