I’ve asked myself the question “Why bother with Frontier?” many times in the last month. I spent some time talking to people on the Frontier Kernel mailing list about getting involved with the project again. I learned many things, including the fact that I’m not qualified to help in a meaningful way right now. Sometimes knowing your limits is as important as knowing your strengths. In my case, I would need to learn 10 years of C coding to catch up to the complicated environment that is the Frontier kernel.
I think instead I’ll spend my time building the software that I want instead of trying to fix the issues with the existing project. There are many things about the Frontier coding environment that are appealing:
- Editing code in an outliner
- Scripting applications to automate tasks
- Building applications that work on more than one platform
That said, I think that I can build my own software while addressing my shortcomings. I have the books and the tools to learn C, compile programs and run them under MacOS X and Windows. I have the motivation to learn and some spare time.
So, why bother with Frontier again? Why indeed.
You’re on a role with nostalgia pieces, Steve. 🙂
I miss Frontier about as badly as I miss my early days learning programming with Pascal. It was an interesting language before we had modern software patterns, MVC, Dependency Injection, testing frameworks, data scaffolding. I can forego Windows editor and server compatibility. I am willing to jettison procedural languages. There’s no space for a wonky outliner in my toolbox.
It seems to me the train has left the station and more and more developers are embracing solutions like Rails for a good reason.
I’ve been looking for plenty of excuses to learn true C programming since I don’t have a formal CIS degree or background. The Frontier open source project made sense at one time since it was written in C, cross platform to some extent and I’m familiar with the result it produces. After reading through the source files for the last couple of weeks, it made the choice easier I guess. It was written for a different time and in a different way. To update it to a new way of doing things is folly. But, if you take some of the good ideas and find those features in other apps, you can come to a middle ground.
I’m looking back on my recollection of Frontier and I’m seriously trying to dig up some of those “good ideas”… Data and code bound up in a singular file… Hmm…
If you’re looking for a really barebones framework that offers a great language as well as all the trappings of good separation of interests, look at Rails or Django.
If you want a robust open-source CMS with a vibrant developer community, look at Plone.
If you’re trying to prove yourself as a “developer” then use Python and Ruby like all good developers do these days. I don’t have a CS degree and that’s how I make my living (C# over here, tho).