What was Coding like 40 years ago?

Поделиться
HTML-код
  • Опубликовано: 27 ноя 2024

Комментарии • 3,2 тыс.

  • @crism8868
    @crism8868 2 года назад +2673

    This guy is like the Bob Ross of coding. His enthusiasm it's contagious!

    • @jayak3768
      @jayak3768 2 года назад +79

      There are only happy accidents and programming bugs.

    • @JoshuaPritt
      @JoshuaPritt 2 года назад +18

      Agreed. Immediately reminded me of a high energy bob ross.

    • @nicktender
      @nicktender 2 года назад +6

      THATS WHAT IM SAYIN!

    • @cheeko8080
      @cheeko8080 2 года назад +4

      reminds me almost of a Bill Nye haha

    • @zackattack7103
      @zackattack7103 2 года назад +2

      That describes him perfectly

  • @Alex_C_5605
    @Alex_C_5605 Год назад +549

    This is how I started learning programming. In the Soviet Union in 80s we didn't have personal computers at homes and we didn't have a computer class at school. So we we had lessons, where we studied syntaxes of basic and we wrote programs on paper. Then, once in to weeks, we went to a computer class, where we had 45 minutes to type in a program and debug it. That was a challenge.

    • @mikesummer670
      @mikesummer670 Год назад +31

      Мы так и в 2006-2007 году код писали на бумажках и даже экзамен так сдавали, большая часть занятий по программированию не за компами была

    • @mnzcrsh
      @mnzcrsh Год назад +19

      @@mikesummer670в 2019 году, когда я учился в школе, все было точно также, код на листочках. Преподаватели видимо сидят там со времён перфокарт и особо не хотят ничего менять.

    • @ishikilucas8148
      @ishikilucas8148 Год назад +24

      Woah I remember doing that in 2011 in India. 😅

    • @Bruh-jh7vj
      @Bruh-jh7vj Год назад +1

      I can't Imagine doing It

    • @seanyao7491
      @seanyao7491 Год назад +10

      This is what I experienced exactly in 90s in China by using Apple //e, which amazed me shockingly. So that I am still an Apple fan

  • @robertmarmaduke186
    @robertmarmaduke186 2 года назад +1355

    Back in the 1960s, you sat down at a card punch machine with your code scribbled on notes and CAREFULLY typed out the commands and syntax and punctuation, then took the card deck brick to the mainframe window, logged it in, and left. Next day you found that there was a typo _somewhere in the deck,_ and the program didn't run. Yet somehow, humans went to the moon on DOS 6.0, and designed the Golden Gate Bridge _without computers._

    • @TheCodingTrain
      @TheCodingTrain  2 года назад +202

      I would love to try this! Any recommendation on a vintage machine I could purchase and restore?

    • @laincobayne
      @laincobayne 2 года назад +81

      I would have loved an alternate universe where Apollo ran DOS 6.0
      It was an RTOS though, hard coded to core memory.

    • @gabrielpaiz5954
      @gabrielpaiz5954 Год назад +55

      Plenty of people designed bridges that failed without computers too.

    • @mikkirefur
      @mikkirefur Год назад +16

      haha. the moon.

    • @pseudocoder78
      @pseudocoder78 Год назад +56

      DOS 6.0 was way more advanced than any computer software on Apollo. It didn't even come out until the 1990's. Also punch cards were used well into the 1970's. But, I get your point.

  • @nagualdesign
    @nagualdesign 2 года назад +533

    Less than 2 minutes in and you've already put a smile on my face. 😊

    • @JohnDoe-sp3dc
      @JohnDoe-sp3dc 2 года назад +5

      Came to the comments to say exactly this! The intro seemed like a labor of love.

    • @stoliczek6362
      @stoliczek6362 2 года назад +3

      Especially the first minute is opening so less than 1 minute

    • @tiksman17
      @tiksman17 2 года назад +3

      Absolutely true, this guy does everything with love

    • @sbrunner69
      @sbrunner69 2 года назад

      Same

    • @GerardHennemann
      @GerardHennemann 2 года назад +1

      Same here! It seems so natural for him to be like this ☺️

  • @hidoryy
    @hidoryy 2 года назад +266

    what I love about your channel is that most of the other coding youtubers only talk about efficiency, jobs, why this or that language sucks because it's 0.0000003ms slower running a very specific thing and so on. Your videos really remind me how coding can be fun

    • @matttondr9282
      @matttondr9282 2 года назад +30

      To me, limited technology is almost more fun. Trying to figure out how to do something with a constraint is more fulfilling than being overwhelmed by the oceans of libraries.

    • @archvaldor
      @archvaldor 2 года назад +15

      @@matttondr9282 That's a good point. People often state video games were better in those days because the constraints meant you couldn't rely on processing power to overwhelm you with graphics and suchlike, so you actually had to make an enjoyable game.

    • @nathanjohnson9715
      @nathanjohnson9715 2 года назад +3

      @@archvaldor totally! Look up how much space the original mario bros took up. You'll be astonished.

    • @archvaldor
      @archvaldor 2 года назад +3

      @@nathanjohnson9715 LOL I'm actually old enough to remember the 1k memory limit of a ZX81 one of the the first home computers sold commercially. The Mario Bros stuff looked like really advanced technology to me when it came along:)

    • @Semeyaza
      @Semeyaza 2 года назад +5

      @@matttondr9282 scarcity of resources is always a terrific catalyst for new and good ideas on how to use those resources very efficiently for exciting things. 😉

  • @chipotlewhitegirlstarbucks1015
    @chipotlewhitegirlstarbucks1015 Год назад +272

    Whenever I'm putting off doing my coding work, I put on this video. When most people try to explain computer science to me, I get intimated. This guy is different. He has a cozy, comforting sort of enthusiasm that is super motivating.

    • @leroyjenkinsss1767
      @leroyjenkinsss1767 Год назад +6

      nice user name haha

    • @yousuck6222
      @yousuck6222 Год назад +1

      Coders will code themselves out of a job in the end.

    • @Fafr
      @Fafr Год назад +9

      I could actually say the same. I'm the kind of person to just be always demotivated seeing others make things that are far out of my reach, but in this case, even though I am by far not even a decent programmer (yet?), this guy just made me think of making Snake in C++. Sure, for obvious reasons C++ is not Apple Basic, but in general that's still programming. I don't think I've ever been motivated to do something after seeing someone else do something before.
      EDIT: After watching the video more, I think I've noticed _why_ that's the case. Most (if not all) other content creators just show the finished product and what's in it. This person, on the other hand, shows the failings and the thought process as well, and that unlike other creators, he shows that even professional developers can make silly mistakes, and that it's normal.

    • @MrJuliankilla
      @MrJuliankilla Год назад +2

      woah haven't seen a marshall pfp in years

  • @SebastianLague
    @SebastianLague 2 года назад +1356

    Really enjoyed the video (and that intro was just incredible)! I had a lot of fun trying to code my own version afterwards, although the line number thing really made me appreciate how good we have it these days. Will submit my attempt to the passenger showcase :)

    • @TheCodingTrain
      @TheCodingTrain  2 года назад +94

      Thanks for the kind feedback! So glad you tried it out!

    • @aeuludag
      @aeuludag 2 года назад +6

      I would love to see the result aswell!

    • @andtechie5210
      @andtechie5210 2 года назад +2

      Hey hey! You are very much an inspiration. God bless you for the work you put out.

    • @pedrohpf1990
      @pedrohpf1990 2 года назад +21

      Don't get any ideas Sebastian! I wanna see that part 2 of neural networks, not how you rendered a whole open world in AppleSoft BASIC 😂

    • @himanshudas9042
      @himanshudas9042 2 года назад +6

      Sebastian when I saw your coding adventure I realized that you and Daniel has a lot in common. And Glad to know that you are also fan of Daniel.
      You both are blessing to coding community.

  • @PracticalEngineeringChannel
    @PracticalEngineeringChannel 2 года назад +535

    So good!

    • @TheCodingTrain
      @TheCodingTrain  2 года назад +25

      Thank you Grady!

    • @palamz7027
      @palamz7027 2 года назад +11

      Hey Pratical Enginnering, I watch your videos every day and love all of them :D

    • @oskrm
      @oskrm 2 года назад +7

      Hey, an "Engineering like it's 1981" video would be cool too!

    • @JohnPaulBuce
      @JohnPaulBuce 2 года назад

      hi

    • @jonathandyer6385
      @jonathandyer6385 8 месяцев назад

      bro ive never seen a hearted comment that was replied to and the reply got a heart.. Nice 👌✌

  • @CrowMacnas
    @CrowMacnas Год назад +69

    This might be the best video that I have seen on the internet. It's like a kid's television program but for adults who were kids in the 80's. Makes me feel so good.

    • @bitwize
      @bitwize Год назад

      It's got a little bit of Bits & Bytes energy.

  • @notjux
    @notjux 2 года назад +67

    I haven't coded anything in 15 years, but watching someone nerd out over something they love is seriously infectious. Easy sub!

  • @grawl69
    @grawl69 2 года назад +239

    That video brought so many memories. High school, 1987, we had one lesson of informatics a week. It was the first time I touched a computer. Archaic Polish Meritum, 32KB memory, 64x128 monitor pixels, programs loaded via even more archaic cassette recorders. As lessons were facultative, nobody cared much and most pals just played the snake. I was rather curious though and bought a Z80 processor programming textbook, just published. I learned the demands in machine code and started coding. It was easy! The first program I wrote was an improved version of the snake - ca. 800 commands + a short initial program in Basic. I remember how long it took me to type those 800 numbers without errors. But the result was fantastic. Pure satisfaction. You could accelerate the snake's movement from one side to the other by keeping the button pressed and slow down immediately by releasing it. Eating different signs gave different results. I even added some sound and visual effects. And the speed! Had to put a 1000x loop just to make it run slow enough to be playable.
    I was thinking about studying informatics but came to the conclusion that it would be boring as a life-long work. Missed opportunity, from today's perspective. I went humanistic and the next time I touched a computer was years later when I had to type up my MA thesis. On a borrowed comp. DOS, Windows, floppy disks, Microsoft Word! At first I had no idea how to get to a new line in Word and had to call my friend, who said "this big button, Enter". :D
    Have never coded again. Maybe I'll come back to it some day. But writing in machine code on a 8-bit processor was so much fun. I felt like a magician.

    • @pedroteran5885
      @pedroteran5885 2 года назад +14

      Great story. I never got access to learning machine code as a kid, which was a great frustration to me.

    • @devindepina7660
      @devindepina7660 Год назад +2

      this story made me laugh hahah

    • @chromosundrift
      @chromosundrift Год назад +4

      Yeah you’re gonna code again. Very soon. For fun!

    • @CPSPD
      @CPSPD Год назад +1

      Omg, you really should jump in again! C was introduced in 1978 and it’s still overwhelmingly popular today. There’s a crazy depth to it now but it’s still fun, and the manual “The C Programming Language” by Kernighan and Ritchie who made the language is incredibly well written and gets you up to speed quickly. Im younger and never really looked up what the state of computer science and technology was in Poland over the years but I’ve always wondered, so thank you for sharing and shining a light on it. Trzymam kciuki :D

  • @pjf7044
    @pjf7044 Год назад +47

    I think learning to code on something like this is great. Gives you a solid base and forces you to think about details we don’t even realize these days due to abstractions and frameworks.

    • @lastraven3017
      @lastraven3017 Год назад +5

      I taught myself how to program using the TI-83+ and had no idea I was even doing BASIC until years later. I had no one to teach me, only the manual. Managed to make Tic Tac Toe eventually. Had an AI player as well. I eventually became a desktop tech, took on learning Powershell to automate tasks. Then I became a web developer... I miss the days where I could make something without running into a ton of configuration headaches.

  • @david203
    @david203 2 года назад +308

    In the late 1970s I was a software engineer at Digital Equipment Corporation, working in their old mill spider-laden building in Maynard, MA, mostly on PDP-8 and VT-78 systems software. One lonely night during a weekend or holiday I decided to program a snake on the screen of my favorite small computer, the PDP-12. I did it in assembly language, as was most systems programming on the LINC and PDP-8 computers, which had merged to make the PDP-12. The result was a wonderful, keyboard-driven little game that worked perfectly. I wish there had been a way to release it to the world, but all we had was a mostly clunky user group, DECUS, and I didn't feel up to filling out forms and waiting. I guess I'm the only person who ever played that game I wrote on the PDP-12.

    • @TheCodingTrain
      @TheCodingTrain  2 года назад +50

      Thank you for sharing this story!

    • @markussteinbacher8807
      @markussteinbacher8807 2 года назад +8

      What an expensive console to run Snake !! ;-)

    • @axelschweiss7066
      @axelschweiss7066 2 года назад +4

      I wrote Assembly on a PDP-11... what beautiful code that was... with it's indirect addressing...

    • @david203
      @david203 2 года назад +3

      @@axelschweiss7066 I also wrote in assembly language for early PDP-11s, when the programs were on punched cards--I designed a way to pack pages using groups of cards to maximize the use of same-page addressing. So after I'd written a program I would then manually pack the cards into pages. The programs thus made efficient use of memory. This was for an early hospital information system that tracked patients as they went through Kaiser Permanente clinics.

    • @jordanphilipperris
      @jordanphilipperris 2 года назад +1

      @@TheCodingTrain I could so picture you in a past collab with Bob Ross (I know of him because of an artist friend of mine) :)
      Anyways, I remember back in elementary school computer class, whenever we had any downtime, we would always be allowed to choose 1 of the following 3 games which are absolute classics: The Oregon Trail, Odell Lake & Number Munchers :)
      And don't even get me started about the Atari 2600 (I still have one, and it actually works!!) with games like; Crossbow, Frogger 1 & 2, Midnight magic, Pitfall 1 & 2, Time warp, Dig dug, Plaque attack, Pole position, Radar lock, Challenge, Mario bros, Donkey kong, Asteroids, Space adventure, Spider fighter, Moon patrol, Millipede, Mouse trap, Solaris, Pacman Jr, Mrs Packman, Galaxian, River raid 1 & 2, Desert falcon, Centipede, Ghostbusters, Crystal castles & Q-bert

  • @wrkey
    @wrkey 2 года назад +77

    In the mid 70's we got our first computer as my dad was programmer. I was immediately enthralled with it and soon learned to program. This game was the first program I wrote. It was on a Radio Shack TRS-80. I graduated HS in 1980, college in 1983 and in 1982 I started my 35+ year career in IT. Thanks for this video. I've been looking for an old PC just so I could do what you are doing!

    • @joefish6091
      @joefish6091 2 года назад +2

      Amstrad CPC464 or preferably CPC6128 (disk) which can run CP/M. Amstrad seems to be the pinnacle of 8bit, they learnt the lessons from all the rest.

    • @stickfigure31
      @stickfigure31 2 года назад +1

      I don't know about Radio Shack TRS-80, but there is an Atari 800 emulator out there (you have to find the bios file separately, the dev indents you to rip if from your own atari but it's online found via google) it boots straight to a basic prompt and has a save/load function for your basic programs. I still rough draft ideas in basic before moving on to C when the emulator get's to slow to execute my code.

    • @Exposingscammers
      @Exposingscammers 2 года назад +1

      Ah. The good old TRS80 (nick named it trash 80 as a kid :D )
      A fellow student had one of those and I had my Commodore 16 or maybe Commodore 64 a bit later.
      I've never owned a TRS 80 but have owned atari 2600, commodore 16, commodore vic20, a few Commodore 64's, commodore 128, about 9 Commodore Amiga 500's, a few Commodore Amiga 600's, Amiga 1200, 2 Amiga 2000's, 1 apple IIe, 1 intellivision , a few PC's and even 3 Playstation 2's. Of course I've also had 3 laptops as well (still have 2 of them) plus my gaming PC

  • @supermalavox
    @supermalavox Год назад +174

    You reminded me of my first computer, which I got in 1992. It ran MS-Dos, and had QBASIC as a programming language. It came equipped with a Braille display since I am born blind, and since Snake is a text-based game, I used to let the snake go one character at a time, pressed "p" to pause the game and continue its course when I could feel the distance between it and the number it had to eat. And that was challenging because my PC's Braille display only showed 40 characters and one line at a time. That was before audio games came around and I could hear my position on the board and my goals' position. I had fun! Thanks for the video!

    • @mihaelandnate1
      @mihaelandnate1 Год назад +16

      This is a fascinating look into older disability nerd culture, ty. How would you say games are nowadays considering blindness?

    • @supermalavox
      @supermalavox Год назад +18

      @@mihaelandnate1, screen readers have evolved a lot, allowing us to play some text-based games like the old - but still fun - Colossal Cave Adventure and hear a good narration, virtual assistants also help us play voice-based games and even the video game industry provides some degree of accessibility, like spoken menu options, stereo positioning, normally silent items that can make noises to indicate how far we are from them, etc.
      Lots of work still needs to be done, but it is certainly much better than when I had to rhythmically play NES' Punch Out! and memorize moves!
      Thanks for asking!

    • @mihaelandnate1
      @mihaelandnate1 Год назад +7

      @@supermalavox this is good to know! sorry I did not reply sooner, as I suffered from acute sinus infection that sent me to the hospital.
      The reason I asked is because a friend of mine is going blind, and his comfort game is skyrim, with mods enabled for easier godmode. He sits less than a foot in front of his 60 inch TV, and despite having difficulty seeing, I am impressed that his ability to locate enemies is spot on.
      If you wouldn't mind, do you know of any PS4 games that are exciting, let you kill things, and feature stereo positioning, or maybe even allow for interaction not based on vision?

    • @supermalavox
      @supermalavox Год назад +6

      @@mihaelandnate1, I hope your health is getting better now. I have not played games for a while, especially the newer ones. However, if I am not mistaken, "The Last of Us 2" had some accessibility features for blind people.
      But surely stereo positioning is found in a lot of games. Even Metal Gear Solid for PS1 had that feature and the player could use it to locate Liquid Snake's helicopter by hearing its sound!

    • @denizsincar29
      @denizsincar29 Год назад +6

      ooh great. I am also blind and didn't know that msdos supported braille.

  • @matanzohar6783
    @matanzohar6783 2 года назад +83

    Please do more coding challenges on vintage hardware, maybe even make it it's own series! Everything about this is perfect, from the way it's edited to your wardrobe. Your best format so far

    • @flflflflflfl
      @flflflflflfl 2 года назад +3

      Yes!!! Would love to see some C64 or ZX Spectrum stuff!

    • @_crys_
      @_crys_ 2 года назад

      Mat Zo? 😮

    • @johnwilliams3075
      @johnwilliams3075 2 года назад

      A TurboPascal challenge!

  • @thephoenixsystem6765
    @thephoenixsystem6765 2 года назад +79

    You captured the excitement of learning your first coding language 👌
    Love the debug montage btw

  • @leftfishjet4029
    @leftfishjet4029 2 года назад +89

    The year is 1984 and I'm in my grade four classroom. The school had provided our class with a Commodore 64 and I watched a friend writing lines of code in Commodore Basic during recess (yes, we were those kids). I instantly fell in love with the notion of solving the worlds problems with code and the best parts of my day are still doing essentially the exact same thing that we did in that classroom so (SO) long ago. LOVE this video and would happily binge watch a series on Apple Basic.

    • @yousuck6222
      @yousuck6222 Год назад

      The problem i had as a kid was no-one said you can make money with code. They were just trying to sell games. No-one said i could basically hack any bank with a phone line because that would have peaked my interest.

    • @miblish5168
      @miblish5168 Год назад

      1984 was the year of the Macintosh (well, 1983).

  • @heyyou4686
    @heyyou4686 2 года назад +45

    Man the camera angles reminds me of those old creative TV shows really love 'em. Please keep on coming

  • @WilliamLeeSims
    @WilliamLeeSims 2 года назад +39

    I was a very young coder in this era. You totally caught all of the nuances of coding during this time. I loved watching every minute of it!

  • @mediocrefunkybeat
    @mediocrefunkybeat Год назад +11

    About ten years ago, my brother was studying for his PhD and a company in the UK offered to pay for a significant chunk of it if he spent the summers working for them as a coder.
    The company in question was a supercomputing firm and had a large legacy FORTRAN codebase. My brother's job was to convert from the legacy version of FORTRAN into a newer version and to optimise the code - 77 to 2008 (I believe).
    It just so happens that our Grandfather used FORTRAN in his job back in the 70s and my brother would call him for tips and tricks at least once a week. It made me laugh...

  • @AleksanderFimreite
    @AleksanderFimreite 2 года назад +60

    This makes me appriciate modern IDE and text editors so much more than I previously was.

    • @john849ww
      @john849ww 2 года назад +6

      True! But i remember on the C64 i could do a List and then arrow up to a line and make changes, then hit Enter.

    • @damianbutterworth2434
      @damianbutterworth2434 2 года назад +4

      I found arduino`s easy after learning BASIC in the 80`s. It`s like being a big kid again.

    • @joe--cool
      @joe--cool 2 года назад +1

      @@john849ww You can also do that on the Apple 2. Originally ESC A was right ESC B left ESC C down and ESC D up. You were pressing ESC a lot.
      The Apple ][+ ROM made it better where ESC once enabled the cursor mode and I J K M moves it. Saves a lot of typing.

    • @lovemadeinjapan
      @lovemadeinjapan 5 месяцев назад

      @@john849ww That was f*ing annoying. C64 Basic was horror. List was ok with 10 lines of code, but I could do EDIT 2000 and then hit a key to edit the next line. It was also worth an applause if you could get the cursor where you wanted with those nasty 2 arrow keys.
      Also C64 did not have insert, so if you needed to put something in between, it was a nightmare. Last unbearable thing of C64 BASIC is the way it deals with upper/lower case and does not recognize commands if in wrong case.

  • @niclash
    @niclash 2 года назад +118

    Tip 1; Don't print the whole snake on each loop. New position gets the "S" and first position get a space.
    Tip 2; Use the screen memory for collision detection, rather than looping though the X and Y arrays. Same for border. Print a border all around, and a single check to see collision (if same character for snake and border).
    Tip 3; As someone pointed out, Read and Write pointers on a fixed array is far more efficient as the snake grows larger, and won't slow down the game speed as it grows.
    Tip 4; Forget "snake" and do multiplayer "tron" instead.
    Tip 5; Multi player; Keyboard not liking multikey presses then leads to some other input device, or use a separate computer connected with cables.

    • @TheCodingTrain
      @TheCodingTrain  2 года назад +25

      Ahhhhhh such good tips!!

    • @niclash
      @niclash 2 года назад +42

      @@TheCodingTrain Well, wrote (with a friend) ~80 games in a year or so, on PET2001. Most of them in Basic, and figured out every trick to go a little bit faster, use the 7168 bytes (+1024 bytes of screen RAM of which 24 bytes weren't visible) as efficiently as possible.
      Those were the days...

    • @bavidlynx3409
      @bavidlynx3409 2 года назад +3

      @@niclash i envy you so much. Wish i was a teenager at that time when the tech was budding

    • @niclash
      @niclash 2 года назад +20

      @@bavidlynx3409 There is always "budding tech", but few people has the mind set to dig into such.
      3D printing, federated social media, nano technology, IoT, the maker community, open source architecture, and so on.
      We were a total of 5 on the school who were interested, out of 1100. Most of the others hanged out with friends, played cards or sports... I.e. the easy path, the equivalent of "computer games" and "Facebook" in the last decade or so.

    • @-Jakob-
      @-Jakob- 2 года назад +2

      Here we go, was looking for those hints 1 to 3 - which instantly came to my mind as I grew up in the 80s with PET, 4032, C64.

  • @juliusbecker8451
    @juliusbecker8451 2 года назад +38

    I would love to see this as a series. I just love code writen with technical constrains

  • @masterstroggo
    @masterstroggo 2 года назад +70

    If you ask me, Daniel Shiffman is the most important person on youtube. I basically own my current career within IT thanks to Shiffmans inspirational videos. I started following and recreating his projects many years ago in Processing 3 and have sticked around ever since.
    Thank you Daniel!

    • @TheCodingTrain
      @TheCodingTrain  2 года назад +12

      Thank you for your kind comment!

    • @byronrobbins8834
      @byronrobbins8834 2 года назад

      @@TheCodingTrain now we have a video upload of what coding had looked like in the analogue days, comparison to what is in the digital era.

    • @eekee6034
      @eekee6034 Год назад +1

      @@byronrobbins8834 What? That was very much the digital era. Analog computers were something else entirely; totally alien even compared to this. :)

  • @real2nick
    @real2nick 2 года назад +16

    Nice...this was the programming language where I started my journey as a programmer back in the 90' in elementary school...I remembered everything

  • @loupax
    @loupax 2 года назад +158

    I love how I was always been taught that BASIC is an easy programming language for beginners, and here I am, realizing that it's basically syntactic sugar for Assembly.

    • @dudenoway1267
      @dudenoway1267 2 года назад +9

      Easy to get started, but it can take years to really perfect an approach to it. You can go with something similar to what he uses in the video or with a little more modern basic that can make some pretty powerful programs depending on your style of programing. That's part of what makes BASIC so fun is you can do what ever you want with it, just depends on how much effort you want to put forth.

    • @QuizmasterLaw
      @QuizmasterLaw 2 года назад +3

      yeah, basic is a great way to start learning assembly.

    • @Vexxel256
      @Vexxel256 2 года назад +11

      I mean a lot of languages are just syntactic sugar like kotlin, Go, Assembly itself is a syntactic sugar for binary.

    • @C.K.MillerPoet_Extraordinaire
      @C.K.MillerPoet_Extraordinaire 2 года назад +4

      @Stephen Porter Chris Sawyer is his name. you do well to show him the respect he deserves

    • @moxxy3565
      @moxxy3565 2 года назад +2

      @Stephen Porter that was a huge part of the games commercial success as well. Being written in assembly made it very small and fast. Could run on basically any computer of the era.

  • @rdear
    @rdear 2 года назад +24

    My favorite character, hands down, is this.dot! Can’t wait to see their story arc this season!
    You’re awesome, Dan!!!

  • @JacquesZahar
    @JacquesZahar 8 месяцев назад +2

    When you showed the PEEK and POKE keywords, I lost my mind. Man, back then I actually USED these keywords on the Apple IIe! had completely forgotten about these. What a trip to memory lane (Just realized I'm getting old). Thank you for that!

  • @BountifulOne2024
    @BountifulOne2024 2 года назад +7

    OMG!!! This is the most fun I've had in years! Takes me right back to 1981 and having to learn to operate the Apple IIe for the company I worked for. Gosub was always my favorite too. Thank you sooooo much for this!

  • @MiloDC
    @MiloDC Год назад +9

    This is awesome! Took me STRAIGHT back to my TRS-80 Model I programming days from grade school to junior high school in the 1980s! ❤ (Today, I'm a senior software engineer specializing in C++/C, F#, and C# at a major corporation, coding SDKs and services for other programmers worldwide.) Such an immensely exciting period of discovery and growth. What a time to be alive!
    When he started talking about switching program flow to another function, I said out loud, "Here comes GOSUB," LOL! And I *KNEW* that he would use line number 1000, classic!

    • @NeilBeresford
      @NeilBeresford Год назад +3

      I was exactly the same, shouting GOSUB 1000! I started coding at school in 1979, so at 14, I worked on a RM 380Z programing CESIL and BASIC. I always remember the power I felt, when I coded my first program and it appeared on the old black and white valve televison! Fantastic. Now, I am a senior embedded software engineer, but started my coding career as a games programmer. in the 80s. Thoses were amazing times and I worked with some amazing people. I feel very lucky being very old! :-)

  • @daw162
    @daw162 2 года назад +1

    I haven't been to your channel before, and am not a programmer. But the look was so legit from the 80s - shirt, glasses, etc, that I had to think for a few seconds about whether or not the video was taken now or 35-40 years ago.

  • @Amr-Ibrahim-AI
    @Amr-Ibrahim-AI 2 года назад +13

    This is so nostalgic!
    Reminds me of my very first coding attempts in GW BASIC on MS DOS in 1988!
    Thanks for sharing the warmth, Daniel!

    • @Amr-Ibrahim-AI
      @Amr-Ibrahim-AI 2 года назад

      @ghost mall Yes! Same here :) I had been trying to simulate buttons on text mode, too :)

  • @johnman8673
    @johnman8673 2 года назад +19

    This brings back memories! BTW, you don't need to switch off and then back on the Apple to stop your running program - just hit control-C (which I see you use later on in the video!).

  • @dvircafri9811
    @dvircafri9811 Год назад +1

    Wow, seeing that Beagle Bros poster ejected my brain right back to the 80s when I was using it to code my Apple IIe. I think I even have it somewhere in my storage.
    Long forgotten memories...

  • @rinka4560
    @rinka4560 2 года назад +22

    Wow. I'm taking C++ classes at my college, and I've become pretty familiar with how to code basic things, but in the style of a modern programmer. Seeing just how coding works on something just a bit more primitive is actually so amazing to see. Something as simple as a computer dedicated to making programs and drawing things is really neat and I want to see you do more things like it. I actually really interested in reading up on the manual to see all the sorts of cool stuff these computers can do. Thank you for sharing both your computer and your programming expertise :)

    • @marksmith2738
      @marksmith2738 2 года назад +3

      It may look like a computer dedicated to programming and drawing stuff but actually, some of the most popular uses of this computer were playing games (there were thousands of them), connecting to bulletin boards (which were sort of like sites on the internet, without the internet part) and there was even productivity apps like VisiCalc and WordPerfect. You could also expand the computer with other cpu's and memory cards and run programs like dBase. dBase, as its name implies, had a pretty sophisticated database system built into it, but it was also an incredibly powerful general purpose programming language. I wrote a program in dBase (released in '83) that emulated what google does today, but there was no internet to speak of back then so it just indexed your local machine, but it did allow you to host the resulting index online for dialup access and searching using the TBBS bulletin board system.

  • @IcelandCastleford
    @IcelandCastleford 2 года назад +3

    Watching this brought back many happy childhood memories of typing out game programs that used to be printed in magazines back in those days on my Sinclair ZX Spectrum 48K. Myself and dad used to take it in turns of one typing while the other read out the code.
    I still remember some of the terms we used to use for speaking some of the special characters. A colon was read out as two dots whereas a semi-colon was a dot and a comma.
    I used to rip the programming sections from those magazines and but them in folders to type out at a later date. Wish I’d kept them.

  • @shawn4990
    @shawn4990 Год назад +1

    Oh the joys of Apple line code... 'goto' takes me back to writing my own programs in high school - the simplicity , the ease, the joy. I aced that class.

  • @TheCodingTrain
    @TheCodingTrain  2 года назад +126

    🧠 Pricing Update! Sign up for Nebula direct - nebula.tv/what-is-code - $4 per month or $40 per year!

    • @kathymcguiness3461
      @kathymcguiness3461 2 года назад +2

      Excellent class-very well done! Highly recommend!!!

    • @TheCodingTrain
      @TheCodingTrain  2 года назад +2

      @@kathymcguiness3461 Thank you Kathy, I so appreciate this!

    • @frazierwingstudios4302
      @frazierwingstudios4302 2 года назад

      I feel like you, Mr. Rogers, Bob Ross and Monty Don would all be best friends.

    • @glowytheglowbug
      @glowytheglowbug 2 года назад

      that keyboard sounds loll

    • @klaxoncow
      @klaxoncow 2 года назад +1

      Nice try, but that shirt is definitely late '80s to early '90s.

  • @upir_upir
    @upir_upir 2 года назад +116

    Character 13 is carriage return - or, simply said, the "Enter" key you have pressed when executing the program. Anyway, this is a great video. I´m enjoying it a lot!

    • @error.418
      @error.418 2 года назад +2

      The "RETURN" key on an Apple IIe ;)

  • @zzzsleeper-_-3653
    @zzzsleeper-_-3653 8 месяцев назад +1

    You just brought back a lot of memories. I was always curious what that screen meant

  • @DylanMatthewTurner
    @DylanMatthewTurner 2 года назад +28

    I love old hardware. I have this old graphic LCD, a raspberry pi, and a mechanical keyboard that I was gonna turn into a digital typewriter to take to coffee shops, but maybe I should make it so it can also run some kind of basic so I can make little games for it.

    • @TheCodingTrain
      @TheCodingTrain  2 года назад +7

      If you do please share!!

    • @david203
      @david203 2 года назад

      Implementing a programming language is called systems programming, and I did it for 40 years. It can be done and it's lots of fun.

    • @voidseeker4394
      @voidseeker4394 2 года назад

      For some reason i feel so wrong about using powerful modern hardware to simulate old weak hardware... Raspberry Pi is a real modern computer, it can run modern linux, it can do tasks like speech and image recognition, it can run high-resolution graphics... definitely an overkill for digital typewriter. If i were you I'd rather buy real old system on ebay, restore and use it for fun, or recreated one with microcontrollers or something of comparable resource capacity.

    • @DylanMatthewTurner
      @DylanMatthewTurner 2 года назад

      @@voidseeker4394 Why would I buy something else when I already have like 10 raspberry PIs lol?

  • @deckarep
    @deckarep 2 года назад +6

    Oh my goodness, the nostalgia hurts so good. Cheesy intro check! Retro computing check! Synthwave music and graphics check! And one heck of a shirt check! Love it!
    Daniel, since you are going down this path would love to see some content on coding for a fantasy console such as Pico-8 or Tic-80!!

  • @Luis0n7i
    @Luis0n7i Год назад +8

    This is so cool!! I'd absolutely LOVE to see more of this old-time coding content!!

  • @alexmcd378
    @alexmcd378 Год назад +9

    I think the slowdown is from shuffling the snake segments through the arrays as you move. You could speed it up dramatically by using something like head and tail pointers into the array. Then instead of N operations for an N segment snake, you only have 2 for any length >=2. Draw the new head and delete the old tail.

  • @Noycey64
    @Noycey64 2 года назад +12

    I bought a Sinclair ZX81 with 16k RAM expansion in 1981 when I was in high school. I wrote my own Snake game on it and loved playing it, I got the idea from a snake game I saw on a TRS-80 that the school owned.

    • @JSYoutuber2
      @JSYoutuber2 2 года назад +2

      I wrote a snake game for the TRS-80 that I sold through the Radio Shack Software Catalog. Maybe that one :-) I wrote it in a hybrid of basic and machine code. The Machine code was to overcome the obvious performance limitations. My parents wouldn't buy assembler so I wrote it in machine code completely manually. Wish I still had the code to look at but my dad said that computers where a fad and sold the whole thing out from under me and wanted me to not learn any more computer stuff. He said it was a waste of time so I did and took 20 years before I returned to the profession after missing some of the best years.

    • @mikkirefur
      @mikkirefur Год назад +1

      @@JSRUclipsr2 wow. i wrote the game snake in 1982 or 1983. maybe i was inspired by you. i cant remember what inspired me though.
      I continued with programming, but went from vic 20, 4k memory, to a Kaypro II CP/M system, business computer. so i learned databases and spreadsheets, it did not have built-in graphics.
      I sometimes also wonder what would have happened if I got a Commodore 64 or Amiga, and really got into graphics.
      If we would have only known then, what we know now.

    • @lifeinbitsmedia7681
      @lifeinbitsmedia7681 Год назад +1

      @@mikkirefur I created a dBase database for managing a local baseball league as a internship in college on a system with CP/M in the 80's. Don't remember if it was a Kaypro II or something else.

    • @mikkirefur
      @mikkirefur Год назад

      @Life in Bits Media I created a dice (random6) game for a fantasy baseball game my friend created. He loved stats and would roll through whole games and seasons.
      I used his logic (walk, xo, 1b,2b,3b,hr,etc) and kicked out games in seconds.
      I look back at all these early programs (print invoices for dads friend company, moving company software) and realize I had million dollar business starting so early.
      Well, here's to crypto, ai, web3, and promoting integrity

    • @lifeinbitsmedia7681
      @lifeinbitsmedia7681 Год назад

      @@mikkirefur I did similar things like create a program to track golf scores for my Dad's golf group, printing out baseball game score cards for my brother who liked to score baseball games while watching them, though those efforts were a little later in the IBM PC days. And they said home PCs what never sell because people would have no use for them. The one thing I did in that time period that I was most proud of was create a solitaire game. That took a while.

  • @mcresearch
    @mcresearch Год назад

    I used to code on an Apple II and this was a brush with nostalgia. The machine was ahead of its time and had me captivated.

  • @AbelShields
    @AbelShields 2 года назад +21

    This is really cool, I made a snake game almost exactly like this on a graphing calculator in a basic-like language. It's so fun to deal with the constraints of the hardware - initially it was O(n) and visually slowed down as the snake grew before I switched to a ring buffer structure. Very fun!

    • @Ludix147
      @Ludix147 2 года назад +1

      Yeah, i also made snake for my graphing calculator! Good times. Though I only ever added on on the front and didn't move the end of the snake. my snake was infinitely long, and the goal was to make it through predrawn mazes without hitting the wall

  • @JanWestin
    @JanWestin 2 года назад +6

    The thought process and iterration is the star of the show. Great content!

  • @YugoZex
    @YugoZex Год назад +34

    I used to write programs in basic in 80's when I was a kid. So similar to this but different. You brought me back 40 years when I was doing this. Thanks so much fun and remembering old tricks.

    • @DielsonSales
      @DielsonSales Год назад

      How was it different?

    • @YugoZex
      @YugoZex Год назад +4

      @@DielsonSales It's different in some details. With small adjustments it can be used on different computer with basic. First difference is number of characters on screen (lines and columns), second is number of pixels, third basic vary from basic to basic. This basic is 90% similar to Sinclair ZX spectrum but there are differences how you write the line.

    • @damianbutterworth2434
      @damianbutterworth2434 Год назад

      @@YugoZex Was a lot fast typing in the code on the Spectrum when you got used to all the keywords. Still got my ZXSpectrum.

  • @tecnoworldsgamingchannel5341
    @tecnoworldsgamingchannel5341 Год назад +7

    That was incredible, you made me feel like a little kid in front of my Commodore 64 (the BASIC was very similar to the one you used here). I still remember the Baloon coding example in the C=64 manual... those were the days

  • @thefroable
    @thefroable 2 года назад +4

    I wish I could have watched this in the late 80s when I was a little kid reading the BASIC books in the library and programming on my parents Apple IIe. Brought back a lot of good memories.

  • @Mutual_Information
    @Mutual_Information 2 года назад +39

    I’m bringing an Apple 2 to my next coding interview - for flex purposes exclusively.

    • @david203
      @david203 2 года назад

      I don't think an Apple 2 will flex very much before it breaks.

  • @rena10009
    @rena10009 Год назад +2

    0:53 expected to see him dragging the apple 2 on the leash before i noticed it in his hand lol

  • @OlafDoschke
    @OlafDoschke 2 года назад +13

    I actually once did this in the late 80s while I was chronologically on an Atari ST already, when we had Apple IIe in school in computer science lessons (yes, back then already it was a school subject). I did reuse my 6502 knowledge from C64 programming and the snake mainly was implementing a stack (well, or a queue. I used two indexes on a memory array. You could literally do this in your array implementation, too, which removes the need to shift array elements). I added levels with barriers as I knew from one snake clone game on the ST and the computer science teacher told me his son actually enjoyed playing this.

    • @TheCodingTrain
      @TheCodingTrain  2 года назад +2

      Thank you for sharing this story! (And great tip too!)

    • @OlafDoschke
      @OlafDoschke 2 года назад

      @@TheCodingTrain Also thank you for reminding me of these times back in school.
      I don't know by how much the two index queue accelerates the snake, it I guess it gives a bit headroom for turning up the difficulty level.

  • @KennTollens
    @KennTollens 2 года назад +5

    Qbasic was my first language and I did goto also. I remember a computer coming into the class in the 80s and everyone was so excited. We were allowed to play the snake game on it. Then we let it count for the day to see how high it could get.

  • @PeanutNore
    @PeanutNore 2 года назад +2

    This was a really enlightening video. I ended up understanding the code well enough that I was able to port it to Commodore BASIC for the C64. This meant replacing the HTAB and VTAB statements with POKE. So placing the food becomes:
    2020 poke 1024+fx+40*fy,6

  • @ImDissonance
    @ImDissonance 2 года назад +19

    I'm 1 year into my career as a software developer and I always wonder what it was like coding back in the day. Thank you! By the way I love your enthusiasm!

    • @TheCodingTrain
      @TheCodingTrain  2 года назад +2

      This is why I made this video, yay!

    • @mikewalker1081
      @mikewalker1081 Год назад

      I had to punch cards and do the same thing this guy is doing, except had to wait on the program to be compiled, put into a que , then wait for it to run,, the horrors! I hated CS classes, had to learn all the dead languages, FORTRAN, SAS, and COBOL.

  • @firstnamelastname2552
    @firstnamelastname2552 2 года назад +5

    When I was kid in the mid 80s my dad got a big book with the code for a couple of different games. It was a project we would work on together sometimes. We'd take turns one would read it out loud and the other would type it. We ended up with a semi-functioning game that we were always tinkering with and trying to modify with our own ideas and trying weird stuff with the code. I learned a lot from it and we had good bonding time.

  • @VideoNOLA
    @VideoNOLA Год назад +3

    Brings back fond memories.

  • @Klawifiantix
    @Klawifiantix 2 года назад +13

    You are a legend, so well done - beautiful! Thank you!

  • @erlking9910
    @erlking9910 Год назад +3

    5 years ago you got me interested in coding and now I’m a teachers assistant and a computer science major 👌

  • @hockeyguy9974
    @hockeyguy9974 Год назад +2

    This guy is an amazing human being. I feel like a kid again in the 80s-90s when I was incredibly obsessed with my first computers.

  • @wristocrat
    @wristocrat Год назад +7

    So nice to see how quickly it boots up

  • @xnick_uy
    @xnick_uy 2 года назад +9

    This brings back memories. I didn't own an Apple, but when I was a kid our family got a Coleco Vision system, and a few years later I was very lucky to come in contact with a full-fledged PC with DOS. I tried my hand at several Basic programs, and had lots of fun (but I never got to a full-fledged understanding of all I needed). I recall that I attempted to create a chess board in Basic, which was kind of cool for the time, but very difficult to program and maintain (the graphic resources for Basic are quite limited).

    • @1robhook
      @1robhook 2 года назад

      I started out on a Coleco ADAM as well. They had their flaws but were actually cool systems. I still have a couple of them.

  • @bunmonk1903
    @bunmonk1903 7 месяцев назад

    This just took me back to elementary school in the 80s. I had a vague memory of doing all of this and now it has all come flooding back. Thank you!

  • @chrizzzly_hh
    @chrizzzly_hh 2 года назад +6

    One of the greatest creators. Brining wisedom, fun, and smiles while coding. Love all your videos! :) and you did a great nostalgic feeling for the one of us from the c64 generation :D

  • @inkmime
    @inkmime 2 года назад +6

    Oh my god that intro get up really does make him look like some bedroom programmer who just got out of the late 1970s with his wire glasses and beard, absolutely brilliant

  • @joshuagolembiewski5383
    @joshuagolembiewski5383 26 дней назад

    Simple times but seeing that set up really helps to showcase how individuals that started with these early machines really have a good in-depth understanding of programming in general, more so than say a student gets in their introductory classes today. Foundational truly.

  • @lobsangbarriga5324
    @lobsangbarriga5324 2 года назад +13

    Super insightful video, the last key pressed at 8:08 was ASCII 13 = CR (Carriage return) which is the return/enter key on apple.
    Fun fact the Carriage return is named like that because of mechanical typewriters (the steel lever to return the carriage is named the same way) 😆

    • @TheGuyThatEveryoneIgnores
      @TheGuyThatEveryoneIgnores 2 года назад +2

      I have always thought that Apple got it right by using the carriage return as the new line character. After all, the carriage return lever on manual typewriters not only moved the carriage so that the next key typed would be at the left edge of the paper, but it also advanced the paper up by one line. Unix used the line feed character as the new line character and Microsoft could not decide, so it used both.

    • @danbailey9591
      @danbailey9591 2 года назад

      @@TheGuyThatEveryoneIgnores And we've been dealing with that decision ever since :) Computer Science in the early 80s, we pretty much memorized the ASCII chart. My machine then was the 16K Tandy Color Computer.

  • @slendi9623
    @slendi9623 2 года назад +23

    Very cool episode. Would be cool to see some assembly too!

    • @christianh2581
      @christianh2581 2 года назад +3

      Some years ago I also programmed snake for fun on the original gameboy in assembly (however while using a modern computer to do so)

  • @robertholtz
    @robertholtz Год назад +1

    You could stop (“break” was the term) any program by simply pressing Ctrl-C. You didn’t need to turn the whole computer off. That was still a nice walk down memory lane.

  • @b4ux1t3-tech
    @b4ux1t3-tech 2 года назад +8

    Started programming as a kid in the 90s on my grandparents' Commodore 64. Good ol' Commodore BASIC! This brings back so many memories.
    Programming as a whole is better today. It really is. But there's something about numbering your own lines and poking around the computer's memory that gets my nerd juices flowing.
    Great video! Not one I ever expected to see from you, but a fun watch in any case!

  • @CedLePingouin
    @CedLePingouin 2 года назад +4

    Well, I wasn't expecting that. What a pleasant and nostalgia-filled surprise. Very good video. I got into computers and programming in the 80s on a PC XT with GW-BASIC (like Amr Ibrahim), not really knowing what I was doing. It spawned a passion that I still have today... and a career as a programmer.

  • @mr.deenamiq
    @mr.deenamiq 2 года назад +2

    Your enthusiasm about coding in BASIC on a system 40 years old is infectious. It makes me remember the time I - as a 10 year old - wrote a BASIC program on an MSX-1 system that would function as a catalog program for my dad's vinyl collection. Took me days to complete, but it was worth it. I never had any experience with Apple computers though. My first system was a MSX-1 and I learned BASIC on it. Some years later I moved on to a regular IBM 386 system and worked with QuickBASIC. Eventually I started coding in PHP & JavaScript and build my own web-applications.

    • @pyhead9916
      @pyhead9916 Год назад

      Those were the days, I remember them well!

  • @MattReidy
    @MattReidy 2 года назад +5

    What a blast from the past - I started coding on an Apple II myself around 1983. I had that same Beagle Bros poster too! :)

    • @stvj
      @stvj 10 месяцев назад +1

      Yep. I took a course in school around 1982 where we learned Basic on a Apple II Europlus (6 Apples, 1 floppy drive for all of them). At the end I've coded a tennis game for 2 players using the graphics mode. That mixed graphics / text mode really made debugging easy. Keyboard input from 2 players didn't really work well, but I still have fond memories of the Apple II.

  • @pocoapoco2
    @pocoapoco2 2 года назад +4

    13 is the [return] key.
    If you want to speed up your program use "%" after all of your variables that don't need to have a decimal. By default applesoft treated all unspecified variable types as floating point variables. Using the % after a variable makes it an integer (16 bit) variable.

    • @TheGuyThatEveryoneIgnores
      @TheGuyThatEveryoneIgnores 2 года назад +1

      Numbers in Apple's FP BASIC (Floating Point BASIC) were stored as character strings. Converting the character string numbers to binary numbers, as the BASIC program ran, was very, very slow. I wrote a simple BASIC compiler that only understood the hi-res instructions (HGR, HGR2, HCOLOR=, HPLOT, and TO) and hard-coded coordinates. My compiler did the work of converting the character string coordinates to binary numbers and then generated machine code to call the same ROM routines used by the hi-res instructions. A program written in BASIC literally ran a hundred times as fast once it was compiled. Most of the BASIC program's execution time was the number conversions, not the line drawing.

  • @RolandRegus974
    @RolandRegus974 2 года назад +2

    Bro, I just want to let you know you are my favorite coding channel and I LOVE your personality and the work you put into your video's. I appreciate it.

  • @diymicha2
    @diymicha2 2 года назад +28

    26:22 you don't need an error check for the food, just use
    LET W = 39 : LET H = 23
    LET FX = INT ( RND (1) * W) + 1
    LET FY = INT ( RND (1) * H) + 1
    so you'll always get 1 to 40 and 1 to 24 as result.
    Oh, and for the snake I would first print the new position, and in the next lines delete the old one, this way it doesn't flicker that much. The eye won't recognize that for a few commands there is one piece of snake to much on the screen.

  • @thebeardedgnome766
    @thebeardedgnome766 2 года назад +9

    I learned coding with a "game" called Basic on a toy laptop when I was seven or eight years old. Didn't even know what "programming" was but I thought it was a fun game! Nostalgia hardcore here.

  • @PoorProgrammer-f5d
    @PoorProgrammer-f5d Год назад

    this is probably the best video about coding. i didnt know coding could be so much fun. i love this . thanks so much

  • @musilicks
    @musilicks 2 года назад +4

    Wow... I hadn't watched a video of yours since back when I was learning JS a few years ago, but this truly reminded why I loved watching you so much back then. You're so entertaining Mr. Shiffy.

  • @madcommodore
    @madcommodore 2 года назад +14

    Well in 1982 coding on the Commodore VIC-20 was pretty simple, even in machine code, thanks to excellent books and magazine articles and a user interface superior to the $4000 IBM PC :)

    • @Breakfast_of_Champions
      @Breakfast_of_Champions Год назад +2

      The Commodore fullscreen interface/editor was the definition of elegance, but hunting down the handful of relevant books and tips in magazines was very pedestrian!

    • @madcommodore
      @madcommodore Год назад +1

      @@Breakfast_of_Champions I had the VIC-20 programmer's ref guide plus Commodore User UK magazine had lots of programming tutorials. Finding this info again now is tricky without the magazines, took me months to find out how to do a full screen reverse scroll in BASIC again so I could write a car game with the sprite on the bottom of the screen. Sad but loads of information for little hacks like that are very difficult to find in the age of the internet.

  • @marcogeracao4682
    @marcogeracao4682 Год назад +1

    Loved every second of the video. Oh ! The memories :)

  • @henrikkniberg
    @henrikkniberg 2 года назад +7

    Loved this, gave me lots of childhood memories :)
    Quick silly question: How did you record the screen?

    • @TheCodingTrain
      @TheCodingTrain  2 года назад +12

      Analog video splitter to HDMI converter to capture card!

    • @mrgps4393
      @mrgps4393 2 года назад +1

      he has a modern pc somewhere...

  • @wekesirken6961
    @wekesirken6961 Год назад +3

    All I can do is appreciate how far we've come and admire early day programmers

  • @JoeDoe1
    @JoeDoe1 Год назад +1

    Thank you. Thank you for reminding me that everyone started somewhere, even forty years ago. I’m learning Swift and I what I realized is that it is lifelong journey, even at 50.

  • @ddognine
    @ddognine 2 года назад +42

    I remember when I was in 4th grade in the 80s, our class got an Apple II. We were allowed to program it, so my friend and I programmed Breakout on it. It took us about a thousand lines of code, and it worked. IIRC, we even had a second level (we didn't have time for more levels). And not to be outdone, I decided it needed some music, so I programmed the Raiders of the Lost Ark theme which was really popular at the time. Looking back, I am amazed that two 9 year olds were able to do that without any prior experience or knowledge. We just sort of figured it out on our own because our teacher was no help. And it didn't take us that long either seeing it was just sort of a project we managed to do during class. My adult mind would probably balk at the task paralyzed by the obstacles it would envision. My kid mind didn't care and just got it done, and everyone in our class wanted to play it.

    • @atlantic_love
      @atlantic_love 2 года назад +1

      @ghost mall One way might be to adjust the angle based on the speed and direction of the paddle when the ball hits it. And if IIRC in breakout you could reverse the direction of the ball (send it back from where it came).

    • @gasun1274
      @gasun1274 2 года назад +1

      i want that childlike curiosity and motivation back, it's been a while.

    • @aspol12
      @aspol12 2 года назад

      @@atlantic_love yes 4th grade stuff

    • @atlantic_love
      @atlantic_love 2 года назад

      @@aspol12 Are you making fun of OP?

    • @error.418
      @error.418 2 года назад +1

      This was me on the TI-84 calculator with TI-BASIC and using the link cable to share it with everyone since that calculator was a class requirement.

  • @smileychess
    @smileychess 2 года назад +9

    I sent this to my dad. He always tells the story of how he coded a full featured Monopoly game in BASIC, with over 10k lines of code. But unfortunately his program was too big and he ran out of memory, so he scrapped the project. He said this video brought back lots of good memories.

  • @Speed-TV
    @Speed-TV Год назад +1

    Yo this video is super high budget, it pains me that even dream's videos are still more popular than this

  • @widearchshark3981
    @widearchshark3981 2 года назад +7

    Ahhhh, I had a nostalgia rush there, although for me it was with the ZX Spectrum. But I honestly think this was almost exactly the same!
    You're a madman, but eminently watchable. We need more people like you in this world :)

    • @deang5622
      @deang5622 2 года назад +1

      Must have been awful programming on a rubber keyboard..

    • @widearchshark3981
      @widearchshark3981 2 года назад

      @@deang5622 You know, you got used to it. One thing about the Spectrum was that each key would be a shortcut for a function. So pressing "H" for instance, and the Spectrum typed "GOSUB" for you.
      The biggest problem I think was that BASIC was pretty rubbish (and I include AppleSoft BASIC as well), even back then. If you wanted proper games you really had to use Assembly. But because you only had 48K, and the expectation of graphics was MUCH MUCH lower, it was pretty incredible what you could create.
      You should never have asked... I could go on all day !
      It was a sea change over the ZX81 I had. Don't even ask about that "keyboard" !!

    • @TheGuyThatEveryoneIgnores
      @TheGuyThatEveryoneIgnores 2 года назад

      @@widearchshark3981 Yes, BASIC was pretty much useless when it came to writing video games that could run in real-time. I never had an assembler back in the day, so I thought in assembly and typed in hexadecimal (machine code). However, BASIC was useful for figuring out some things. I once wrote a 3D maze program in BASIC that animated ten frames to advance one space in the maze and eighteen frames to turn left or right. My BASIC program took about two and a half minutes to draw one frame! Once I had fully debugged it though, I manually converted the program to machine language which made it run a thousand times as fast.

  • @FloatingSunfish
    @FloatingSunfish 2 года назад +6

    Makes me appreciate how far we've come in terms of programming, especially for making games.
    Having to deal with line numbers sucks.

  • @yoniziv
    @yoniziv 2 года назад +2

    So much nostalgy. So happy I found this video. Thank you!

  • @Grzeroli1
    @Grzeroli1 2 года назад +16

    The two minutes fundamentals chapter (1:50) blew my mind. Here is why:
    I'm sure most of the people in this comment section know the Raspberry Pi. A few years ago, a computer professor in England noticed that his students started their lectures with less and less prior knowledge.
    He attributed it to the fact that today's youth either have no access to computers at all, or they can be operated without programming knowledge.
    He then designed the Raspberry Pi, a credit-card sized motherboard, for roughly £30.
    I thought the idea was great at the time and ordered one for myself to play around with.
    You "only" have to connect a keyboard, mouse, monitor, power supply and Ethernet (!) and you "already" have a fully functional computer. After that, all you need to do is download the operating system and transfer it to an SD card using a cryptic command. Of course, you need a second computer for this, whose monitor and keyboard are currently attached to the Raspberry...
    When I finally got the thing up and running after hours, I didn't feel like it any more.
    And this Apple 2!
    Switch it on and immediately there is a command line!
    Just two commands, and you've plotted a line!! No device I know of can do this today.
    This is exactly what a computer that wants to teach people to program should look like.
    Apple got it right the first time, around 40 years ago. Wow.

    • @thompsonevergreen8006
      @thompsonevergreen8006 2 года назад +6

      You're right tbh, everytime I attempt to learn code I use half my effort setting everything up and then I give up and have to wait a day to do it again

    • @lifeinbitsmedia7681
      @lifeinbitsmedia7681 Год назад +5

      @@thompsonevergreen8006 Yup, and Apple heavily marketed those computers to educational institutions back then. They knew what they were doing.

    • @gtugland
      @gtugland Год назад

      BASIC is great, but it wasn't developed by Apple. It was a variant of Microsoft BASIC.
      Read this: en.wikipedia.org/wiki/Applesoft_BASIC
      It's originally from 1964:
      no.wikipedia.org/wiki/BASIC

  • @xotmatrix
    @xotmatrix 2 года назад +16

    This could be made much more performant by treating the position arrays as ring buffers and advancing head and tail positions. Then you only need to draw and erase one character per step. It will run at constant speed no matter how long the snake is. More in-depth Apple II knowledge will help when it comes time for collision detection. It is possible to read the screen memory directly, which will save a lot of time compared to iterating over the length of the snake, allowing it to run in constant time. Because the text screen and low resolution graphics share the same memory, the graphics function SCRN() will do the trick.

    • @TheCodingTrain
      @TheCodingTrain  2 года назад +7

      ooooh, this is such amazing info! Thank you for the comments and feedback!

    • @Trashbd
      @Trashbd 2 года назад

      Really, you just need the start and the end of the snake, for each frame clear the end and move the start in correct direction. Since you just check if the head is written on a byte that contains a space or food, when hitting food you just dont delete the end until the food is consumed.

    • @TheCodingTrain
      @TheCodingTrain  2 года назад +1

      @@Trashbd this is such a good point! I'm not sure how I missed this! That said, for the expanded version where I check if you've lost the game I use the array to check all the existing positions of the body. Maybe there's a clever trick around that too?

    • @Trashbd
      @Trashbd 2 года назад

      @@TheCodingTrain When you draw your next position you just need to check if the position you draw it at already have a drawn body, if it is food or if it is empty space. This breaks down to a really simple gameloop. that possibly could be made in like ten to twenty lines of readable code.

    • @Trashbd
      @Trashbd 2 года назад

      The point is that when the head have entered a legal portion of the screen it becomes a part of the body in the next iteration and all you have to focus on is the ends of the snake.

  • @Domarius64
    @Domarius64 Год назад +2

    As a fan of retro tech and retro video games, I love that you're so aware of 4:3 ratio that you notably transition from it back to wide screen after the intro. Very refreshing after seeing so many "lets' plays" of DOS games being played stretched into WIDESCREEN!! >:(

  • @trickysoft
    @trickysoft Год назад +3

    40 years ago I was on my second and favourite computer of all time, the Acorn BBC micro. The BASIC had structured constructs and I believe only had line numbers at the BBC's request. The BASIC also had a built in assembler which I think was unique at the time. I only had the user guide which covered part of the OS and BASIC and the advanced user guide which had more OS, assembler and all the hardware. The machine also came with a copy of the circuit diagram!

    • @The_washing_board
      @The_washing_board Год назад +1

      We grew up learning how to program and then how to build a PC. No tablets or Google :)

  • @atlantic_love
    @atlantic_love 2 года назад +8

    I was going through a very rough time in my life, dealing with physical abuse at the hands of my father. Around my senior year I took a computing course and we were learning BASIC. This was 1990. I can remember drawing a bomb and creating a wire from it to a house that I made. Thank GOD I never went any further, nor did my father (my brother and I were pulled from our home and I lived with my aunt and uncle).

  • @stevenranck5478
    @stevenranck5478 Год назад +1

    I had an original Apple II back in the 70s and wrote a similar game, only the snake was a Tron light cycle and it supported 2 players on the same keyboard. Fun times.

  • @kallek5655
    @kallek5655 Год назад +5

    Nice, this reminds me of my C64 times, the BASIC there was pretty similar from what I remember. I did program Snake, but some time later, for DOS in x86 assembly, that was fun, too :)