This excellent video explains many of the concepts of programming, compilers, partial evaluation, and much much more!
- Programs as data objects! (programs can be data)
- A compiler is a data object!(it's a text file)
- A compiler can compile itself! (bootstrapping)
- Programs are not just data, they need an interpretation which is a way to execute the program (programs are given some input and produce an output!)
To understand a program have a look at what makes up a program, the concept of a function:
By Wvbailey [Public domain], via Wikimedia Commons
As you can see above, a program takes input. Typically this is a structured input (structured information), which is to say the input must be in a certain format, and must be processed so that it can be useful to the program which manipulates that information to produce a relevant output.
By Bin im Garten (Own work) [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
Recursive functions take it even further:
By User:Maxtremus [CC0], via Wikimedia Commons
And the example program above provides the computer with the ability to count.
By Function_machine5.png: Wvbailey (talk). The original uploader was Wvbailey at English Wikipedia derivative work: Zerodamage (This file was derived from Function machine5.png:) [Public domain], via Wikimedia Commons
And of course much more.
By Petteri Aimonen (Own work) [CC0], via Wikimedia Commons
Futamura projection is a program transformation. Futamura projection transforms an interpreter into a compiler.
Learn all you can about the concepts so you can seize the opportunity TML will bring.
Very interesting. Despite all the drama around the delisting, the price of Agoras has held remarkably well, with indications of growing interest.
Judging by Ohad's comments in IRC, he's making exceptional progress. He truly is a different caliber of programmer than most.
Absolutely. Those of us who took the time to deeply research as much as necessary understand why Tauchain is such a big deal. I understand people like myself (perhaps you too) have the time to watch these sorts of videos, read academic journals, and track the progress made on Github. People not like us may be stuck in a 9 to 5 day job and I can totally understand why the casual person simply will look at Tau or even the Github and think it's just too time consuming to understand it.
The price of Agoras in my opinion logically should be increasing as the code base becomes more fertile and the explanations of what that code is doing becomes more clear. Sooner or later Agoras will be listed on other exchanges and since I do not plan on selling, and probably others like ourselves are buying and unlikely to sell, there is just less and less cheap AGRS to go around as the short term speculators dump, so let them dump so it can end up in strong hands.
Great job my friend, very usefull and informative video, thanks for your sharing to us, greeting friendship from me @abialfatih in aceh indonesia
good
thanks for a very useful video, in this post a lot of knowledge gained so many benefits that can be obtained, very inspiring. thank you
Programming is difficult to understand for me. So I don't do any comment about it. As a follower I always with you. Yes I want to learn about this matter. But I required primary knowledge about it. keep posting, I will try to understand slowly.
What would you like to know? Do you have a question?
Thanks really. I spent a summer between my master's in aviation viewing MIT and Stanford open courseware to get an idea of programming theory. The result was a W3 Schools guided, interactive, aviation IFR website tutorial; and a thesis that examined mobile Internet for the inter-agency NextGen Air Transportation System. Will be viewing this video tomorrow. Really excited about this. Really nice tips :) I am out of practice and am by no means a programmer. Maybe a coder.
@dana-edwards if I tell you I understand the above please flag me.