1. DLP Flash Christmas Competition + Writing Marathon 2024!

    Competition topic: Magical New Year!

    Marathon goal? Crank out words!

    Check the marathon thread or competition thread for details.

    Dismiss Notice
  2. Hi there, Guest

    Only registered users can really experience what DLP has to offer. Many forums are only accessible if you have an account. Why don't you register?
    Dismiss Notice
  3. Introducing for your Perusing Pleasure

    New Thread Thursday
    +
    Shit Post Sunday

    READ ME
    Dismiss Notice

Beginning in Programming

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

  1. Agent

    Agent High Inquisitor DLP Supporter

    Joined:
    Jun 2, 2016
    Messages:
    515
    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. Heleor

    Heleor EsperJones DLP Supporter

    Joined:
    Mar 3, 2006
    Messages:
    1,431
    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 –§ Prestigious §– DLP Supporter

    Joined:
    Apr 22, 2013
    Messages:
    37
    Gender:
    Male
    Location:
    The Holy Moose Empire
    High Score:
    6900
    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 For Zombie. Moderator DLP Supporter

    Joined:
    Jan 31, 2008
    Messages:
    9,028
    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 Headmaster

    Joined:
    Aug 16, 2013
    Messages:
    1,190
    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 Viol̀e͜n̛t͝ D̶e͡li͡g҉h̛t҉s̀ ~ Prestige ~

    Joined:
    Aug 31, 2011
    Messages:
    437
    Location:
    Cyber City Oedo
    High Score:
    1204
    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:
    36
    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:
    134
    Location:
    Chicago, born in Poland
    +1 about Introduction to Algorithms - a timeless book
     
  11. Dubious Destiny

    Dubious Destiny Seventh Year

    Joined:
    May 3, 2018
    Messages:
    247
    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 Viol̀e͜n̛t͝ D̶e͡li͡g҉h̛t҉s̀ ~ Prestige ~

    Joined:
    Aug 31, 2011
    Messages:
    437
    Location:
    Cyber City Oedo
    High Score:
    1204
    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 –§ Prestigious §– DLP Supporter

    Joined:
    Apr 18, 2011
    Messages:
    1,079
    Gender:
    Male
    Location:
    Under your bed.
    High Score:
    4,507
    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.
     
  14. Fudoutoku

    Fudoutoku Fourth Year DLP Supporter

    Joined:
    Mar 6, 2011
    Messages:
    110
    Alright the books aren't helping, my brain is too small and I need hands on shit for anything to make sense.

    Do you guys know of any sites who's goal is to teach programming skills but by forcing you to actually write programs?

    As in it's baked into the lessons, not just examples or by giving exercises at the end of the chapter.

    I've found a few coding challenge sites but they all seem to be front-end web shit that I don't care for.
     
  15. Heleor

    Heleor EsperJones DLP Supporter

    Joined:
    Mar 3, 2006
    Messages:
    1,431
    Location:
    Seattle, WA
    So this isn't strictly speaking to teach you programming, but if you do Project Euler you'll learn some programming. :)

    https://projecteuler.net/
     
  16. Fudoutoku

    Fudoutoku Fourth Year DLP Supporter

    Joined:
    Mar 6, 2011
    Messages:
    110
    Thank you, I'll check that out, looks to be what I'm looking for but maybe too much on the big brain end of the spectrum, I'll see how it goes.
     
  17. Nazgoose

    Nazgoose The Honky-tonk ~ Prestige ~ DLP Supporter DLP Gold Supporter

    Joined:
    Mar 16, 2011
    Messages:
    188
    High Score:
    2020
    Late in replying, but how's that going? If still no luck, I'd like to ask for a bit more info about what you've tried and why it doesn't work. Would be able to potentially offer better advice then.
     
  18. Fudoutoku

    Fudoutoku Fourth Year DLP Supporter

    Joined:
    Mar 6, 2011
    Messages:
    110
    Oh yeah that shit super mega didn't work, in fact it confirmed what I always suspected.
    I'm retarded.

    Having said that, I decided to follow another lad's advice earlier in the thread that mentioned something along the lines of "just pick yourself a project and break it down to manageable pieces and code each piece."

    So I'm currently working on making a game using Unity.
    I am however cheating in that I'm following tutorials on youtube in the vain hope that if I make enough games, eventually I'll understand what's happening.

    So to get to your question, I'm honestly not sure what my retard brain is having issues with.
    I read the C++ book for about 5-6 chapters, and it all made sense, I understand how a function works, I understand how to declare and manipulate variables using loops, arrays are pretty straightforward, all the (basic, basic)tools of the trade I understand.

    I cannot, simply cannot, put it all together into a program more complicated than a calculator or those "character x repeats y times" test programs that books walk you through.

    The only thing that's helped at all, is following this helpful lad's little tower defense tutorial:

    Because he somewhat breaks down his thoughts when he's deciding to create a new function to do whatever. Problem is that he does it conversationally and not all the time, so like I said earlier, I'm just going through it all and hoping that via osmosis it'll all eventually click in my retard brain and I'll be able to program.

    Your help would be appreciated, but it's probably just an intelligence bottleneck at this point.
     
  19. kinetique

    kinetique Headmaster

    Joined:
    Aug 16, 2013
    Messages:
    1,190
    A good c++ intro book will take you further than basic functions etc, and should come with projects to do on the side. Just keep in mind c++ has accumulated 30 years of new and exciting ways to shoot yourself in the foot.
     
  20. Nazgoose

    Nazgoose The Honky-tonk ~ Prestige ~ DLP Supporter DLP Gold Supporter

    Joined:
    Mar 16, 2011
    Messages:
    188
    High Score:
    2020
    @Fudoutoku: Yeah I'm with kinetique here, most programming books will have increasingly complicated projects for you to work on. Do you mean that you have trouble doing those more complicated projects? Or that you're not sure what to even try for a more complicated project?

    If the first I'd be happy to give some pointers if you describe it, if the second then you definitely tried a crappy text.

    Not a big fan of blind copying in the hopes of understanding coming later, but you do you if it works I guess.
     
Loading...