Infiniteloop said:
Uncompetative said:
The one I'm designing right now. Seriously.
Completely independent? Any plans on using an intermediary?
I'm completely self taught. Been programming since 1981. Started work on my project in 1992 thinking it would take me three years...
Oops. I kinda got that estimate wrong.
Self-funded hobby, so I suppose that means I am independent. The plan is to complete the project, use it for a few years for my own stuff and then make it open source. I don't subscribe to the "Release early, release often" ethos as I know that I couldn't keep up with any group of collaborators I might acquire and any leadership I might have would decentralize and the project would lose its strong design focus. I plan to release when there are no more important design choices to make as far as I am concerned and the source is there to be optimized and/or laughed at...
It is going to sound pretty ambitious, but what I set out to do was create middleware (that is a software environment that most people would assume was a new Operating System, but was in fact built on top of existing device drivers, filing systems, memory management, etc. hiding all of that architecture's design so that you weren't aware what it was running on). Initially, this was going to be on the PC (more of them), but my expensive laptop proved to be so faulty that I swore never to use another Windows PC and make the middleware run only on a Mac.
I wondered whether it was really necessary to carry on as I got used to the Mac OS as it was already very good. This undermined my resolve to continue for a while with the whole of the project, but I still worked on the language. As time passed I found more things about the Mac OS User Interface that I disliked, until I felt motivated enough to get back to the original grand plan of doing a complete environment:
- Suite of software tools
- Integrated Development Environment
- Graphical User Interface
- Language
- Software Abstraction Layer
- Host OS
Thankfully the design for the GUI is completely finished - that alone took 3 years of research - and I have to accept that it may need to be changed as I am a convert to UCD (User-Centred Design), which is where you test prototype systems on users and observe what they have difficulty with... and not stand over them telling them how to do it; the programmer isn't there when the product is deployed.
I'm hoping that the language will be much more productive and easier to maintain. As it is extensible there is no real difference between the core language, its libraries, services, user interface components, development tools and other software. Everything is open to reuse and I think this is such a powerful quality that this is why I think it needs to remain Open Source. (Although I have issue with the GPL.)
The reason it is taking so long is that I am finding out about other languages (both new and historical) and becoming enchanted with their cool central ideas. I then break apart the carefully assembled jigsaw of programming paradigms that I have made fit into a language at the time and then try to shoe-horn in another. The advantage of this is that the more 'styles' you support the more articulate and expressive you can be, more paradigms mean more flexibility. Although the real trick is to make the whole thing condensed, so that all of its aspects are in regular use in some small way and do not fall into some rarely visited annexe.
I can't really talk specifics about which languages I am "stealing" ideas from, but suffice to say it is nothing like C++ and isn't object-oriented.
I'm not really bothered about the scale of the enterprise. I need something to keep me busy.
The eventual long-term goal is to make the tools to make 3D videogames with very simple graphics and incredibly deep gameplay. It is my view that games have focused on the former at the neglect of the latter. However, I know that it is a lot of work to write a game and even more work to do the things I aspire to accomplish with next generation gameplay, which is why I have made such an effort over the language I will use.
I hope that answers your questions. I didn't know how much to say...