ความคิดเห็น •

  • @seancharles1595
    @seancharles1595 ปีที่แล้ว +8

    Of all the FORTH videos on YT, this is the absolute best, hands down. I learned more from this one video than I care to mention. Thank you so much.

  • @garthgoldwater5256
    @garthgoldwater5256 5 ปีที่แล้ว +14

    I would watch an infinite number of these over-the-shoulder videos. you're an admirably clear speaker

  • @frankg.4972
    @frankg.4972 9 ปีที่แล้ว +27

    That was terrific!
    Love to see more of these tutorials specific to Forth.

  • @billzimmerly
    @billzimmerly 8 ปีที่แล้ว +18

    That was the best video on Forth that I've ever seen. Well done, Sir!

  • @sfdghjk1017
    @sfdghjk1017 2 ปีที่แล้ว +1

    One of the best Forth videos I've seen. Thank you.

  • @nickbernstein
    @nickbernstein 5 หลายเดือนก่อน

    That was absolutely fascinating to watch. Definitely pushed me towards spending some time learning forth

  • @jhlagado1
    @jhlagado1 3 ปีที่แล้ว +3

    This is a very good approach to teaching Forth. Great video. Thanks

  • @PeterForth
    @PeterForth 6 ปีที่แล้ว +5

    Excellent work ! Thank you Andreas Wagner, and thank you Samuel Falvo !

  • @glentrudgett5877
    @glentrudgett5877 7 ปีที่แล้ว +5

    That was a great use of Forth in a practical setting. Like the others here, I am starting out in Forth and would like to see more over the shoulder videos like this. Cheers and thank you!

  • @benjaminscherrey1124
    @benjaminscherrey1124 5 ปีที่แล้ว +6

    Every time I run across this video it costs me an hour cause I can't not watch it! :-) Sam you should do some more of these!

  • @N2FQ
    @N2FQ 3 ปีที่แล้ว +4

    Learning Forth and was trolling the web for an actual program and landed here. An awesome example that I can sort of follow and practice with. Also spied your ham call. Fernando N2FQ/6

  • @hank-uh1zq
    @hank-uh1zq 5 ปีที่แล้ว +4

    Forth masterclass! Mind blowing! I really enjoyed your comparisons to Lisp, just brilliant!

  • @osmanfb1
    @osmanfb1 4 ปีที่แล้ว +3

    Thanks for the very detailed video. I had used both forth and lit prog back in the 90's. Now getting back to them.

  • @DarkStar666
    @DarkStar666 7 หลายเดือนก่อน +1

    Ok 10y old BUT anyone here to learn might also look into create/does> for creating patterns of words. And please don’t use meta-return using rdrop tricks. If you want to do such trickery think of a way to build structure words around it instead of hardcoding in assumptions about how deep you are. Also look into vectored execution (index into a list of code addresses and jump to them).
    But no shade here either, it’s also good to know how things work. No two people code the same way. Doing this live is impressive in and of itself :)

  • @Ashystar067
    @Ashystar067 ปีที่แล้ว

    More, please 🙂 I'm loving this.. thank you & happy summer! ☀️🏖️
    0133h, 10th July '23

  • @adumont
    @adumont 2 ปีที่แล้ว +1

    Please do more videos like this of live coding in FORTH. I love your FORTH coding style. I'd really like to get more examples like this one. Very clean code.

  • @pkplexing
    @pkplexing 4 ปีที่แล้ว +2

    Very handy reference for someone just starting to learn forth, thanks

  • @TroyFletcherKeyboards
    @TroyFletcherKeyboards 3 ปีที่แล้ว

    Fantastic video. From beginning to end with a few bouts of troubleshooting. Thanks!

  • @BitPuffin
    @BitPuffin 9 ปีที่แล้ว +7

    Thanks for the video, it was very nice to watch as I'm currently getting in to Forth in my spare time.
    A little feedback:
    1. I think you should save the copyright / cc talk until the end of the video, since you don't want people to get bored before the video has a chance to actually start.
    2. You mentioned how emacs has SLIME for lisp. And well actually gforth actually ships with a gforth mode for emacs (in gforth.el) which at least let's you have a forth REPL in emacs. I've tested that part so far, but I believe it also let's you send code to the repl for reloading etc on the fly but I'm not entirely certain. Anyway thought you might wanna know about it and check it out! I do admire your solution though :D
    Other than that thanks for the great video, looking forward to the next one!

    • @BitPuffin
      @BitPuffin 9 ปีที่แล้ว +1

      +BitPuffin Update: I played a little bit further with gforth.el and can confirm that indeed it gives you some of the SLIME-like functionality, like sending a selected region of text to your forth environment or sending the entire file etc. I think it also offers some autocompletion (but I haven't tested it) and possibly also provides some debugging things too but I didn't get that far with it. Just wanted to see if it had the part I think is the most important which is the interactive sending code part!
      I guess I'll keep you posted about further discoveries, but I recommend you check it out, and maybe you can demo it in your next video :D

    • @saf271828
      @saf271828 7 ปีที่แล้ว +2

      Apologies for the late response. Yes, the copyright stuff was over the top and unnecessary. Especially looking back on this video almost a decade later.

  • @christopherlawley1842
    @christopherlawley1842 4 ปีที่แล้ว +1

    Excellent tutorial. Thank you

  • @supersonictumbleweed
    @supersonictumbleweed 9 ปีที่แล้ว +5

    Really helpful!

  • @sergeykish
    @sergeykish 4 ปีที่แล้ว +2

    Interesting quirk with marker, no need with VIM though. Just run
    :!gforth %
    % is current filename. You can also map it for example F2 with
    :map :!gforth % ^M
    ^M is Enter, typed as Ctrl+V M

    • @perplexedmoth
      @perplexedmoth 3 ปีที่แล้ว +1

      His point is "not having to exit the program/interpreter". The same applies to Emacs Slime (or forth-mode), which has certain benefits as one can imagine.

    • @angelluna2884
      @angelluna2884 ปีที่แล้ว

      @@perplexedmoth what is more recommended it? im very beginner for programming in general and im using terminator so I have two terminal windows open in the same path one for the editor in vim and other for the gforth compiler. wil be a better approach development like in the video with go.fs file ?

  • @adrianblake5850
    @adrianblake5850 3 ปีที่แล้ว

    Brilliant presentation

  • @mheermance
    @mheermance 5 ปีที่แล้ว +1

    "Memory management is more explicit in Forth" is an understatement. I like Forth, but it doesn't even come with a heap like C. You need to build one from scratch like everything else in Forth.

    • @perplexedmoth
      @perplexedmoth 3 ปีที่แล้ว +1

      There's are the words ALLOCATE/FREE which are equivalent to malloc and free, isn't it so?

    • @mheermance
      @mheermance 3 ปีที่แล้ว

      @@perplexedmoth Forth uses stack based allocation, so they advance the stack pointer and return the address of it. These variables are like C's automatic allocation, not heap. To build a heap you would allocate a large block and manage it like a linked list.

  • @abpccpba
    @abpccpba 29 วันที่ผ่านมา

    What Forth are you using??????

  • @TheKisandrey
    @TheKisandrey 3 ปีที่แล้ว

    You have defined two words open; the first opens the source file for reading, and the second opens the output file for writing. Is this intentional? And yes, thanks for the tutorial!

  • @michaelbarry8005
    @michaelbarry8005 7 ปีที่แล้ว

    35:25
    Hi, kc5tja. I'm still getting my feet wet in Forth, and am quite grateful for the opportunity to learn from a master. I had a question about your ===> definition. Could the tail of it be simplified from
    ... entity rdrop exit then rdrop ;
    to
    ... entity then rdrop ;
    ? Or am I confused about how Forth works (e.g. a possible return stack effect of then )?

    • @saf271828
      @saf271828 7 ปีที่แล้ว +1

      I was programming from a stream-of-consciousness while recording this screencast. In this particular case, I think you're right; you can simplify the code as you suggest. Apologies for late response. I don't check comments often. :)

  • @markmanning2921
    @markmanning2921 ปีที่แล้ว

    why didnt I know this video existed? and now that I do know i cant watch it because Im at work and there is no audio on my machine! lol
    how does one contact kcttja these days?

  • @ChrisPowa-
    @ChrisPowa- 3 ปีที่แล้ว

    "But that's ok" *presses enter*

  • @deadmarshal
    @deadmarshal 28 วันที่ผ่านมา

    MORE FORTH VIDEOS!

  • @sthetatos
    @sthetatos 3 ปีที่แล้ว

    What books should I read to understand this tutorial? Thanks.

    • @deadmarshal
      @deadmarshal ปีที่แล้ว

      Starting FORTH by Leo Brodie is a good start

  • @MsDuketown
    @MsDuketown 8 หลายเดือนก่อน

    Bitbucket gone, but gulp, the express way, should have been grunt, the bower way. And this video is way before debconf2014, 14 augustus.

  • @gavinothegreat5765
    @gavinothegreat5765 10 ปีที่แล้ว +2

    nice

  • @UpcycleElectronics
    @UpcycleElectronics 4 ปีที่แล้ว

    Need to C. Moore :-)

  • @caballerosalas
    @caballerosalas 2 ปีที่แล้ว

    Sounds it's too low.

  • @markmanning2921
    @markmanning2921 3 หลายเดือนก่อน

    : ===> over = if drop r> call entity then rdrop ;

  • @Ephrones
    @Ephrones 7 ปีที่แล้ว

    I don’t think this is very good code.
    What about text encoding? Just going over bytes won’t help you very much once Unicode is involved.
    Why the need to manually invent reading in files from scratch again?
    Why the meta-environment tricks instead of just having two windows open? Just to show what you can do with the completely arbitrary environment?

    • @muskrat7312
      @muskrat7312 7 ปีที่แล้ว +9

      Why the need to manually invent reading in files from scratch? First it is a Forth tutorial so showing us how. Second the fact he can do this in such a short time with Forth speaks to its strength and flexability. In addition, so many programmers rely on premade libraries few can even do simple things from scratch. It is nice to be able to watch someone roll their own for a change...

    • @saf271828
      @saf271828 7 ปีที่แล้ว +5

      Agree with Muskrat7; if you're looking to support the full complexity required by Unicode, you're better off using pre-made libraries. As I stated (perhaps not in these words) in the video, it boils down to an economic decision -- when dealing with plain ASCII, *I* (based on my experiences at that time in my life) could roll my own faster (thus, more cheaply) than I could learn how to deploy/use a pre-made solution. But, if I were in your situation and if I knew I had to support Unicode, this would obviously influence my decision, and I'd weigh the benefits of a pre-made library more heavily.
      (And, honestly, I don't think the code as-written would be significantly impacted if dealing with UTF-8 encoded Unicode files, if any impact is required at all. It clearly wouldn't work with UTF-16 or any UCS-encoded files though.)
      Regarding the meta-environment, bluntly, yes. Historically, Forth has always been used interactively on bare hardware (e.g., Forth itself *IS* the operating system), including terminals incapable of showing windows (either because of low resolution or insufficient number of columns, etc.). By defining the ecr word, I give you a glimpse on how to overcome this limitation; you can see how you can more or less build your own "speed of thought" approach to working with software in Forth. If we define an IDE as any tool which enables one to workasymptotically at speed-of-thought, then this is Forth's interpretation of an IDE. In the hands of an expert, I've seen ColorForth work go faster still. Alas, I'm not an expert at ColorForth.
      Finally, and more pragmatically, it helped to reduce video file size. The resolution of the video capture window wasn't terribly large (only about 1/4 of my desktop's size back then), and if I had two windows, the visual artifacts of switching between them or moving them around would be positively annoying. I know this, because I originally tried it and didn't like it. Remember this was recorded in 2008 on an X-Window System desktop, not on a Macintosh or Windows PC.

    • @spearPYN
      @spearPYN 6 ปีที่แล้ว +2

      Samuel Falvo II Great explanation. I'm coming from C, but lately have been studying Forth a lot since it captures perfectly the ideas that are so close to my heart: minimalism and simplicity. As I'm still using mostly full screen text modes on crt monitors I will definitely use your 'ecr' method -- it's great.
      Do you have a channel with more of those great tutorials by yourself? I find it hard to find quality video presentations on Forth on youtube.
      Thank you!

    • @homelessrobot
      @homelessrobot 4 ปีที่แล้ว +1

      > What about text encoding?
      ASCII is a text encoding.
      not every single program needs to be perfectly DRY and be generalized to the broadest possible application. In fact, doing this sort of shit for everything is a great way to waste 99.9% of your time doing mostly nothing.

  • @SunilAruldas
    @SunilAruldas 2 ปีที่แล้ว

    Great listening, wish you had more tutorial videos.
    Sunil VU3ZAN