Well-Actually War Trall Harehunter Posted June 15, 2012 Share Posted June 15, 2012 The appeal of FORTH was that you only had to code a handful of the most basic operations in native machine code. The bulk of the language was defined on the basis of those. That made the language highly portable, but because all operations had to be performed on the stack, it was a serious pain to write for, and nightmarish to maintain. You had to keep careful track of what values were on the stack and in what order. Not only did the stack contain variables, but also procedure call addresses and return addresses. If you weren't careful you could very quickly wind up in 'phred space'. (Phred space: noun: the area of memory that is logically addressable, but not physically present, not even virtually.) Quote Link to comment Share on other sites More sharing options...
Well-Actually War Trall Cairo Jim Posted June 26, 2012 Share Posted June 26, 2012 My apologies on ressurecting a dead thread, but one thing I wanted to learn C/C++ was to play around with BoE as a project. Maybe even go onto BoA down the track. Quote Link to comment Share on other sites More sharing options...
Ineffable Wingbolt BMA Posted June 26, 2012 Share Posted June 26, 2012 I'd smugly downloaded the Exile source, thinking it would be old and easily comprehensible. I didn't understand a thing. I need to learn a lot more about Windows programming. And that's just Exile, so wonder what BoA'll be like. Quote Link to comment Share on other sites More sharing options...
Easygoing Eyebeast keira Posted June 26, 2012 Share Posted June 26, 2012 The BoE code is horrible. Esp. the original release. the CBoE code is a bit better, but still, it's not something you can just jump into. Quote Link to comment Share on other sites More sharing options...
Well-Actually War Trall Cairo Jim Posted June 26, 2012 Share Posted June 26, 2012 I realised that it's not gonna be something I can just jump into. It's just something I want to do as a project while I'm trying to learn to program. Quote Link to comment Share on other sites More sharing options...
Easygoing Eyebeast The Mystic Posted June 27, 2012 Share Posted June 27, 2012 Originally Posted By: BMA I'd smugly downloaded the Exile source, thinking it would be old and easily comprehensible. I didn't understand a thing. I know what you mean. I too downloaded the code, and gave up trying to understand it after about five lines. Quote Link to comment Share on other sites More sharing options...
Hatchling Cockatrice Mea Tulpa Posted June 27, 2012 Share Posted June 27, 2012 I imagine it depends what kind of programming languages you are used to. I found it surprisingly easy to understand, but my coding experience was mostly with C-style syntax in the mid-90's, so that probably helped. Quote Link to comment Share on other sites More sharing options...
Easygoing Eyebeast Dintiradan Posted June 27, 2012 Share Posted June 27, 2012 Understanding individual lines of code isn't the problem. Understanding chunks of it is. I open a random source file, and it's ~4000 lines long, with ~50 externs, and really long functions. It's too tightly coupled; I can't understand what a particular function or file is for until I understand every other part of the source. Quote Link to comment Share on other sites More sharing options...
Easygoing Eyebeast The Mystic Posted June 27, 2012 Share Posted June 27, 2012 Originally Posted By: HOUSE of S I imagine it depends what kind of programming languages you are used to. I found it surprisingly easy to understand, but my coding experience was mostly with C-style syntax in the mid-90's, so that probably helped. Yeah, I forgot to mention that little detail. At the time, my experience with C-style code was precisely nil, so it was no wonder I was lost almost immediately. Since then, I've started teaching myself the basics of C++; if I were to look at the code today, I'd still be lost, but not quite as much. Originally Posted By: Homage The BoE code is horrible. Esp. the original release. the CBoE code is a bit better, but still, it's not something you can just jump into. I can imagine. Once I really learn the language, I might take a crack at helping to clean it up. Thus far, every programming class I've taken in college has had a heavy emphasis on writing clear, efficient code. EDIT: In the meantime, could someone kindly post a link to the code? I had to reinstall Firefox from scratch, and it somehow didn't make into my backup bookmarks. Thanks in advance. Quote Link to comment Share on other sites More sharing options...
Rotghroth Rhapsody Prince of Kitties Posted June 27, 2012 Share Posted June 27, 2012 Cairo Jim: you could always try messing around with Angband.[/i] The code base is very readable, and can be modified to e.g. add or remove features without knowing much about C or programming in general. The flip side, though, is that Angband makes relatively little use of "advanced" C features like arrays and pointers. It can help get your feet wet, but it won't teach you how to actually create code, let alone do so properly in C. That said, there's a saying that most Angband developers didn't know C before they started working on Angband. As for CBoE, its code base is absolutely indecipherable to me, and I'm frankly in awe of the people here who have been working on it. Part of the deal is probably that it was coded Back In The Day when every ounce of memory and CPU power was worth saving. Quote Link to comment Share on other sites More sharing options...
Easygoing Eyebeast The Mystic Posted June 27, 2012 Share Posted June 27, 2012 Originally Posted By: Miramor Part of the deal is probably that it was coded Back In The Day when every ounce of memory and CPU power was worth saving. I originally learned how to code towards the end of those days; those programs back then were miniscule. I've even heard of executables that were so tiny and lightweight, their impact on your system could be measured in bytes for cryin' out loud. Quote Link to comment Share on other sites More sharing options...
Rotghroth Rhapsody Prince of Kitties Posted June 27, 2012 Share Posted June 27, 2012 Remember WriteNow, the Classic Mac word processor? That was written in pure 68k assembly. Had most of the features of Abiword, IIRC, only it was 50 times smaller (at least). Quote Link to comment Share on other sites More sharing options...
Hatchling Cockatrice Mea Tulpa Posted June 27, 2012 Share Posted June 27, 2012 WriteNow was awesome. I miss it. Quote Link to comment Share on other sites More sharing options...
Rotghroth Rhapsody Prince of Kitties Posted June 27, 2012 Share Posted June 27, 2012 Unfortunately that compactness has a downside. Move that 68k assembly to OS 9 on PowerPC, and suddenly you have bugs that can trash other programs' memory. Leave WriteNow open for too long on a PowerPC Mac and chances are something will eventually crash. (Probably the OS, what with the lack of memory protection.) Quote Link to comment Share on other sites More sharing options...
Hatchling Cockatrice Mea Tulpa Posted June 27, 2012 Share Posted June 27, 2012 I think the issue must be with OS 9. I ran WriteNow for years on PowerPCs with virtually no problems, but that was under System 7 and 8. Quote Link to comment Share on other sites More sharing options...
Easygoing Eyebeast keira Posted June 27, 2012 Share Posted June 27, 2012 the code is available here: http://code.google.com/p/openexile/ Quote Link to comment Share on other sites More sharing options...
Easygoing Eyebeast The Mystic Posted June 28, 2012 Share Posted June 28, 2012 I thought that was it, but I wasn't sure. Thanks! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.