Introduction to Forth Language Programming Tutorial using Bitcoin

  Рет қаралды 8,909

Chris Hay

Chris Hay

Күн бұрын

Пікірлер: 48
@PeteC62
@PeteC62 Жыл бұрын
One of my favorite books from my younger days is Threaded Interpretive Languages published by Byte Books. It’s basically a treatise on writing a Forth-like language in Z-80 assembler, and was an outgrowth of Byte magazine’s special issue on Forth. A great start to the 1980s for me!
@chrishayuk
@chrishayuk Жыл бұрын
Oh my goodness I must check it out, I love reading these things
@astroid-ws4py
@astroid-ws4py Жыл бұрын
Nice video, Forth inventor, Chuck Moore is still alive and with us ❤
@KotoOo
@KotoOo 11 ай бұрын
as we know that he is standing afar from ANS Forth standard, are there any videos which is covering differences between his views and views of the standardizers? curious! =)
@TimHayward
@TimHayward 5 ай бұрын
He built a 144 processor computer a few years ago that is interesting.
@markmanning2921
@markmanning2921 4 ай бұрын
and developing 144+ core processors that are microcoded in forth using a VLSI editor he wrote in forth.
@herksen
@herksen Жыл бұрын
Hi Chris. By coincidence I found your YT video, because of the magic word FORTH in the title. Absolutely amazing video! Thanks so much!!! I love your style of explaining. I know that Forth was originally written by Charles Moore in order to control and point huge telescopes (TURNLEFT 10). But later it was also used in HP calculators (those calculators already are stack based and use Reverse Polish Notation), and I have NEVER used other calculators than the ones from HP. Also Forth is found in Embedded systems, and even the bootloaders in Apple Macs are written in Forth. Also used in IBM and SUN computers. Even Atari used Forth. Forth also is used in washing-machines, and PLC’s (Programmable Logic Controllers). And: Adobe’s PostScript wouldn't be what it is without Forth Forth is still incredible!!
@chrishayuk
@chrishayuk Жыл бұрын
Amazing I didn’t know a bunch of that, awesome language and had such a big impact as you’ve said
@davidgari3240
@davidgari3240 Жыл бұрын
I was first exposed to FORTH in 1980 on an 8080 (or was it Z80). CP/M was probably the OS, if there was one at all. The ability to define your own keywords - thus create your own language - BLEW MY MIND. Still does.
@markmanning2921
@markmanning2921 4 ай бұрын
Forth is a meta-language, it gives you the ability to define *any* language. You dont write Forth programs, you extend Forth to include the language you want to program in. For example, I wrote an 8051 assembler in Forth and that makes my Forth an 8051 assembler. I can also add to that same Forth a z80 assembler, a 6502 assembler, an AVR assembler, a RISC-V assembler or any other assembler I want. You want to be able to compile C programs with a Forth compiler? Write the extension. Forth gives you the ability to define your appliction domain, it is a domain NON SPECIFIC language. It is not itslf an application domain, it simply has the ability to redefine ITSELF to fit your domain no matter what that is. They say assembler is low level and ADA (for example) is high level. Forth covers the ENTIRE SPECTRUM. It can go as low level as you need or as high level as you need. You want to build "object obfuscation" or "object disorentation" into your application? There is no reason why you could not do so with Forth. There are however many reasons why you should never want to, it would make a galaxy size solution out of a mustard seed problem.
@TheWallReports
@TheWallReports Жыл бұрын
Just wanted to say how you display code is what won me over to subscribing. Love your method of using full-screen transparency to display code. I can play your videos in a window rather than full-screen & still have everything easily legible for coding along👍🏾💪🏾
@StarsManny
@StarsManny Жыл бұрын
Fully agreed 👍👍👍👍
@chrishayuk
@chrishayuk Жыл бұрын
Thank you
@ernstvanoeveren4361
@ernstvanoeveren4361 Жыл бұрын
Thanks Chris. Excellent. My Z80 story is spending 3 years (1986-88) developing a fault tolerant packet switching network in Z80 assembler as part of my Phd project work. Years of work, no debugger, great memories!
@chrishayuk
@chrishayuk Жыл бұрын
Thanks for sharing, i really should do a z80 assembly vid at some point
@zambodyberattar7412
@zambodyberattar7412 Жыл бұрын
Happy to see that that old beast, Forth, is still around! Wrote a basic text book on fig forth in the early 80-s, on a type writer! No office applications around and PC:s was running MSDOS 3.x. 😀
@chrishayuk
@chrishayuk Жыл бұрын
Amazing!!!! Would love to see a copy, any links?
@zambodyberattar7412
@zambodyberattar7412 Жыл бұрын
@@chrishayuk Hi, well there are 2 problems, the book is in Swedish, I'm living in northern Sweden and there has never been a digital copy. I'm plannig to use OCR to get a digital copy for my self an if you are intrested I'l try to remember to send you a copy.
@chrishayuk
@chrishayuk Жыл бұрын
@@zambodyberattar7412 super interested, if it’s not too much trouble. I love historical computing books and papers. Sounds amazing
@Stabby666
@Stabby666 9 ай бұрын
I remember back at school we had mainly ZX Spectrums, plus a Research Machines 380Z, and at some point a Jupiter Ace appeared. These used Forth instead of BASIC, and nobody ever used it as none of us knew how to program it, including the teacher. It was completely useless in the classroom :) After this video, I'm pretty sure I still wouldn't have used it. I switched to ASM pretty quickly in school, which I feel is a lot more flexible than Forth.
@JH-pe3ro
@JH-pe3ro 9 ай бұрын
The secret goal of Forth systems(which didn't appear in this video) is to achieve metaprogramming ability as efficiently as possible. It does this by just letting you toggle between compiling and executing words at will, in the middle of a word definition. Once you have that, there are no constraints to your syntax. You still have to manage your memory, but you can build any piece of compiler technology over it without leaving the interpreter, which made it useful as a kind of macroassembler back in the day. At the same time, if you were going to use it today(and I have been, for a retro coding project), it's great as a VM target with a built in debugger. It is the defacto answer to a lot of questions about simplicity in computing. Many people today try to implement a toy Forth as a hobby but don't review the actual wordlists from a standard, so they just end up with an RPN calculator and not an extensible system, and this is really the category that the BTC stack machine falls into.
@guilherme5094
@guilherme5094 2 жыл бұрын
I had never heard of this language. Great video👍
@chrishayuk
@chrishayuk Жыл бұрын
Thanks! 😃
@TheWallReports
@TheWallReports Жыл бұрын
Forth was one of 5 languages I learned back in 80s - BASIC, 6502 & x86 Assembly Language, COBOL, FORTH & FORTRAN. It was not until the 90s I fully grasped segmentation memory in x86 Assembly; Paging was far easier to understand. The microcomputer revolution was a very interesting time.
@Nothing-cx4jt
@Nothing-cx4jt Жыл бұрын
This is amazing. Hoping to see a nice series covering a great part of bitcoin codes. I was trying to understand Bitcoin code along with Solana. A comparison would be nice. Thank you so much. : )
@chrishayuk
@chrishayuk Жыл бұрын
Really good shout, I’ll add to the list
@etnapierala
@etnapierala 10 ай бұрын
'd say Forth is one of the obvious choices for this kind of purpose - it's simple, so relatively easy to verify for correctness. Also, Forth itself might no longer be popular, but Java bytecode is a stack machine too.
@chrishayuk
@chrishayuk 10 ай бұрын
Agreed
@टिरंजननकले
@टिरंजननकले 9 ай бұрын
Excellent introduction.. I was always looking for this. Any books do you recommend for practice?
@VforVanish
@VforVanish Жыл бұрын
Thank you for this video :)
@chrishayuk
@chrishayuk Жыл бұрын
Glad you enjoyed
@ElementResources-rp8ox
@ElementResources-rp8ox Жыл бұрын
Very nice video. Thank you!
@andrewdunbar828
@andrewdunbar828 Жыл бұрын
When I did assembly on the Z80 and the 680x0 I used registers for everything and the stack only for things that required it. When I started disassembling C code later I found it very difficult to keep track of all the variables on the stack because as an assembly programmer I wasn't used to it. And of course when programming C you don't have to think about it.
@magnusjohansson1393
@magnusjohansson1393 2 жыл бұрын
Looking forward to your APL tutorial 😂
@chrishayuk
@chrishayuk 2 жыл бұрын
Lol, don’t give me ideas
@remyclarke4020
@remyclarke4020 Жыл бұрын
@@chrishayuk APL is awesome, though I prefer the semantics of J, still need to try more BQN.
@strobotics
@strobotics Жыл бұрын
C is also 50 years old
@jasonmarch1983
@jasonmarch1983 Жыл бұрын
Lot more bitcoiners these days. Wow to think I would find another person on earth interested in Bitcoin and forth haha
@chrishayuk
@chrishayuk Жыл бұрын
rare venn diagram
@irlshrek
@irlshrek 2 жыл бұрын
omg please let this crypto scourge end already....
@chrishayuk
@chrishayuk 2 жыл бұрын
this video isn't about crypto. it's about the forth language, stacks and the influence it's had on smart contracts and bitcoin
@lordmelbury7174
@lordmelbury7174 2 жыл бұрын
Bitcoin != 'Crypto'
@benjaminscherrey2479
@benjaminscherrey2479 Жыл бұрын
All the VMs in crypto are (relatively poor) implementations of stack machines which are fundamental to the Forth programming model. Bitcoin & Ethereum would have both benefitted greatly had their original designers been experienced Forth-wrights.
@learning_rust
@learning_rust Жыл бұрын
Yes, Cryptos are scams,and so are unregulated exchanges (FTX, Luna, Celsius etc) - Bitcoin is a commodity, the "Cryptos"are all "Securities", big difference going forward. The only time Bitcoin is involved with these scams is when the exchanges have been leveraged and the exchange goes bust. The lesson is : don't store Bitcoin exchanges, self custody and then you have even more control over your wealth than any of your Fiat money stored in a bank that you can also be denied access to. Even if you don't want to learn the financial theory there is a wealth of Comp Science that you can learn by studying Bitcoin Script, ECDSA Digital Signatures, Linked lists, Merkle trees, etc. etc.
FORTH - Better than BASIC?
14:30
NCOT Technology
Рет қаралды 40 М.
Хасанның өзі эфирге шықты! “Қылмыстық топқа қатысым жоқ” дейді. Талғарда не болды? Халық сене ме?
09:25
Демократиялы Қазақстан / Демократический Казахстан
Рет қаралды 357 М.
Human vs Jet Engine
00:19
MrBeast
Рет қаралды 164 МЛН
SISTER EXPOSED MY MAGIC @Whoispelagheya
00:45
MasomkaMagic
Рет қаралды 19 МЛН
Yay, My Dad Is a Vending Machine! 🛍️😆 #funny #prank #comedy
00:17
GBForth: Using Forth to understand the Game Boy
29:31
FOSDEM
Рет қаралды 6 М.
Forth Programming Language: Introduction
13:32
Code and Crux
Рет қаралды 20 М.
"Programming a 144-computer chip to minimize power" - Chuck Moore (2013)
40:13
Strange Loop Conference
Рет қаралды 13 М.
Bitcoin Whitepaper  - Programmer explains
43:20
Ivan on Tech
Рет қаралды 79 М.
Why LISP Is The Language of Legends
9:05
Sammy Engineering
Рет қаралды 35 М.
Going Forth to Erlang by Manoj Govindan at #FnConf18
46:22
ConfEngine
Рет қаралды 6 М.
Why Forth? (programming language)
11:10
Abraham Moller
Рет қаралды 23 М.
Stanford Seminar - Concatenative Programming: From Ivory to Metal
1:04:45
Why Isn't Functional Programming the Norm? - Richard Feldman
46:09
Хасанның өзі эфирге шықты! “Қылмыстық топқа қатысым жоқ” дейді. Талғарда не болды? Халық сене ме?
09:25
Демократиялы Қазақстан / Демократический Казахстан
Рет қаралды 357 М.