PCBoard Version 16 Introduction
PCBoard is a term that conveys the importance in distinguishing the evolution of a specific Bulletin Board Software Package publically known as PCBoard (Professional Computer Board). Originally in 1983, Fred Clark formed (CDC) Clark Development Company and released a heavily modified version of RBBS-PC which was more professional (compared to normal RBBS-PC), and PCBoard was being marketed as a commercial BBS software package. PCBoard was considered one of the "high end" BBS packages during the explosion of home and business Bulletin Board Systems. Ultimately, Clark Development Company went bankrupt in 1997 due to the market transition to the Internet.
By the mid' 1990s, PCBoard had gone through 15 major design revisions. With each revision the PCBoard product defined itself as a professional software product, with professional technical support and an obvious focus on business and stability. One common topic when asked, "Why do you run PCBoard BBS?" was the stability and over time the flexibility offered by the BBS script language (PPE Professional Programming Engine). The flexibility allowed the system operator (Sysop) to customize every aspect of their own PCBoard BBS without the requirement to release PCBoard source code into the wild.
PCBoard was originally developed using Microsoft's Quick Basic programming language. However, PCBoard functionality was becoming limited in growth by the actual limitations of Microsoft's Quick Basic Language and Compiler. Thus, PCBoard was carefully rewritten to Microsoft's Quick C and pieces were developed using MASM. This new redesigned proved to the BBS and Modem community the commitment CDC was willing to put into what most considered a hobbyist market.
Before the collapse of CDC and ultimately PCBoard BBS Software, Clark Technologies, a division of Clark Development Company announced on July 29, 1996 the availability of source code and OEM licenses for the PCBoard BBS software.
Why Modern Pascal?Modern Pascal Solutions, LLC. founder focuses a lot of time and effort on Innovative designs while being a pragmatist when it comes to implementation. Modern Pascal has had two primary development paths, Web Scripting and BBS. Learning to develop in the early 80's by redesigning a BBS package his father purchased for him. A long living passion for BBSing has driven many of his business decisions. Early on as a communications specialist for companies like IBM and Hayse Technologies, and ultimately PR and UPI news parsers for Planet Connect Fidonet service.
Screenshot: Mac OS X
As a self-taught programmer in the early 80's, most of my learning was dialects of Basic for different hardware the family computers could support. In 1988, I was introduced to Turbo Pascal for CP/M at my day job, where I spent the holiday season mastering the language and truly enjoying the source design of Pascal Programming. The ability to jump from method to method, and no longer writing top-down numbered source was brilliant. By the time Borland released its Borland Pascal 5.5, I had already started migrating our commercial accounting package from CB86 and MB86 languages to native OOP (Object Oriented Pascal).
My usage of objects has always be an "As Needed" approach. When developing socket libraries, disk storage, and message engines, I would rely on the abstraction benefits of OOP. However, the rest of my applications were and still are procedural in design. I feel this allowed novice developers the ability to pick-up my code without the requirement of comments or detailed design documents - simply read the code.
Putting it together
Pascal is a general-purpose, high-level language that was developed for teaching programming as a systematic discipline and to develop reliable and efficient programs. Pascal offers several data types and programming structures. It is easy to understand and maintain Pascal programs.
I had the opportunity to develop for myself - instead of being a day time employee or a contract developer. And over the past 35 years, parts of my career had opened up a need for me to focus once again on "DOS Development" and "Web Development". I was porting code from CB86 (C Basic from Digital Research, which died around 1986) to Pascal Web Script. I had acquired the rights to DOMAPI source around 2009/2010, and started making a "Windows Looking" Web Browser-Based Accounting Application. I had just finished a large web project which used Modern Pascal's Celerity (Apache Module) engine, where I realized there were things from my BBS days I needed to improve my go-to-market timelines, so I started developing the pieces and incorporated them into Modern Pascal's RTL (Run-Time Library). I started by porting JAMmb Turbo Pascal source to Modern Pascal (I personally rewrite all source I use, allowing me to have a complete grasp of the code and its functionality). I found a couple of bugs in the design/implementation, and by Jan 2019, I had a fully functional JAM Message Base.
Of course, to test the full aspects of something this critical to my projects, I needed a way to truly push the code to its limits. Jan 2017, I had rejoined the global message network called Fidonet. I had written my own mailer (front-end) using Modern Pascal and an acquisition called Halcyon (xBase Framework) and message "tosser" to import the messages from Fidonet PKT to xBase .DBF files. Jan 2019, I successfully ported my mailtoss.p script from using xBase to using my JAM API. At which time, a conversation started between myself (a person who also acquired PCBoard source code along with another company's code (Motor City Software)) and someone running a large PCBoard system in Canada. This ultimately sparked my desire to rewrite one of my favorite BBS packages (PCBoard) using my programming language (Modern Pascal).
I had projected it would take me 6 months to develop PCBoard v16.0 from scratch using my framework, and 2 months of bug fixes. Placing me to release the product during the month of August. Even losing 6 weeks moving from Richmond Virginia to my new place in Florida, I still hit a Pre-Alpha Experience release just before August 1st. Now, I am 3 weeks into the month, I am focusing on developing the documentation for PCBoard v16.0 - an Open Source demonstration of Modern Pascal.