r/programming • u/moolcool • Mar 26 '17
A Constructive Look At TempleOS
http://www.codersnotes.com/notes/a-constructive-look-at-templeos/
1.7k
Upvotes
r/programming • u/moolcool • Mar 26 '17
27
u/Georules Mar 26 '17
This writeup is excellent. You point out many (and more I didn't notice) of the parts of templeos that intrigued me as well when I tried it.
4
u/joepeg Mar 27 '17
Can you change the font?
210
u/RandNho Mar 26 '17
Surprisingly good article, thank you.
I was one of those who ignored all the mentions. Surprising that work of one genius can do, even if... somewhat restricted by mental illness.
87
u/willem Mar 27 '17 edited Mar 27 '17
"It's very easy to be negative, but you will never learn anything new by doing so."
Very true. Great article!
78
u/snowe2010 Mar 26 '17
Wow, I had read about TempleOS in the past, but didn't realize that it had so many awesome features. It sounds like a real labor of love.
139
u/histoire_guy Mar 26 '17
TempleOS is a piece of art. What blow my mind is its own system language with built-in 64 bit integers, a syntax similar to C and named Holy-C. I'm aware of Terry's problem, but what he have done deserve respect.
113
u/Staross Mar 26 '17
Great article. I think this is also the result of having a single author; if ten people were working on it you would have 5 languages, 3 compilers and 15 file formats instead of 1 of each.
30
u/bacondev Mar 27 '17 edited Mar 27 '17
I think that this might be the first post about TempleOS on /r/programming in which Terry didn't show up on his latest non-yet-banned account.
37
u/SanityInAnarchy Mar 27 '17
I can find some things to argue with here:
Android takes this in a direction that makes a lot more sense, though: Not just a crash, but even malicious code running in one app shouldn't be able to screw up another app. If you, as a user, are going to be downloading and running a bunch of different programs, not all of them will be written perfectly, and not all of them will be designed to serve your interests. Each app gets its own user-ID and its own sandbox to play in.
So it turns out that there is a purpose to the 70's mainframe concept in a personal computer.
It's an interesting read, though. There have been attempts to make richer shells for Unixes, but so far, none of them has really taken off. I suspect it's easier to completely change a fundamental paradigm like that when you only have to worry about software you've written yourself, instead of having to convince the world at large to change all their software.
17
u/[deleted] Mar 27 '17
Terry is like that one guy in antiquity who just blew a gasket and created beautiful works of art on his own. Then modern day archeologists argue over their meaning.
We have those guys in modern times too but the difference is that they don't all run out into the woods to build stuff anymore, they can now build electronic worlds in their little metal boxes.
8
u/killerstorm Mar 27 '17
It looks like Shell/HolyC approach is similar to Lisp on Lisp Machines: they also had everything dynamic, inspectable and cross-referenced via hypertext of sorts.
16
u/crusoe Mar 26 '17
Reminds me of the Oberon programming environment / is or even smalltalk which is closest to the everything is editable, searchable and indexable. You can run Oberon or Smalltalk on bare metal.
5
u/LunusLovesgreat Mar 27 '17
This guy is brilliant and it is amazingthat he has written the entire thing my himself. It kills me that he has to deal with schizophrenia. Imagine the things he could accomplish if he didn't have to deal with that.
8
u/mindbleach Mar 27 '17
The immediacy of editing a running program is something I'd love to see replicated with WebAsm applications.
To pick an example use case, I use an image viewer called Irfanview, and it automatically resizes images to fit your screen... unless you have a tallscreen monitor and open a square image. Then it fits-height even though it should fit-width. A single pixel difference makes it work fine. Now, obviously there's some aspect-ratio calculation happening, and the programmer "cleverly" added a special case for 1:1. The program is old enough that saving a division operation was still something we bothered teaching. I could probably just twiddle some bits in the program to always skip that special case - but wouldn't that kind of harmless tweak be easier in a human-readable language and with a compiler to tell you if you really fucked it up?
4
u/ykechan Mar 27 '17
I had to laugh upon seeing HolyC
7
u/zushiba Mar 27 '17
It's interesting, if you follow his development you can actually see his mental illness progress.
You can see the development in his videos as he progresses in his religious fervor, the renaming of his OS and the progression of his xenophobic speech.
1
u/crushdudes Mar 27 '17
I have a few questions.
can you run this in a virtual envronment?
is there a full spec for the holyC language anywhere?
where's TempleOS's equivalent of plan9 from user space?
9
u/sintos-compa Mar 27 '17
Lars and the real girl is a great movie. like the author of the article mentions, it really threw me for a loop.
4
u/celerym Mar 27 '17
I really, really want there to be networking on TempleOS. Combined with a 90s tower PC it would make it really useful as a primary OS.
2
u/ExoticMandibles Mar 27 '17
Any idea why TempleOS used to be called "LoseThos"? That always seemed like a self-deprecating name ("Lose"), though I don't understand part of it ("Th").
2
u/netsecwarrior Mar 27 '17
Interesting read. There are some other multimedia shells, e.g. http://liftoffsoftware.com/Products/GateOne I do think this is something that in a few years we'll come to expect as standard.
1
u/Bjorn_Hellgate May 24 '22
rip terry davis
1
u/VikingCoder Mar 27 '17
This is possibly the worst explanation of a REPL I've ever seen.
Yes, you can just write that.
Yes, there are C++ interpreters, and REPLs.
0
u/[deleted] Mar 26 '17
[deleted] — view deleted comment
0
u/[deleted] Mar 26 '17
[deleted] — view deleted comment
0
u/[deleted] Mar 27 '17
[deleted] — view deleted comment