Working with computers since I was a child I experienced that the tools available never fit what you actually need in your current projects. When I did my first programming project I knew BasicLanguage, PascalLanguage, PrologLanguage, AssemblyLanguage and some of ForthLanguage and ModulaLanguage. I found all of these ProgrammingLanguages useful to some extend and wondered why is there no language covering the features of all of them.
Together with some friends in 1985 I started a project called Pf0mp to develop a ProgrammingLanguage that unites the features of all ProgrammingLanguages known by us at that time.
Pf0mp is an acronym of the first letters of Pascal, Forth, Modula, and Prolog. The 0 is for ObjectOrientedProgramming. As a little joke we put zero instead of O because it's computers. Today I am grown up - so I decided to put back the O.
Note: PfOMP is also the nucleotide sequence 'ACiTiTTT(A/G)TGTATTGGiTT(A/G)GATCC' of the L512 primer
Since 1985 I have got to know even more languages and programming concepts (see PfompHistory):
- other ObjectOrientedLanguages (CeeLanguage, CeePlusPlus, JavaLanguage)
- FunctionalProgramming languages (HaskellLanguage)
- ScriptingLanguages (JavaScript, ShellScripts)
- CategoryDatabase programming (SqlLanguage, XmlProgrammingLanguage)
- MarkupLanguages (LaTex, RichTextFormat, HyperTextMarkupLanguage)
- ExtensionProgrammingLanguages (RegularExpression)
I love all of them, but as said before, each has its domain and its limits and yield to the ProgrammingDejaVu.
As you could imagine: up to now I couldn't achieve anything from my vision.
In recent years I focussed more on conceptional work and ProjectManagement.
I learned about development concepts as
- CaseTool and UnifiedModelingLanguage
- ModelDrivenArchitecture
- DesignByContract
- ComponentBasedProgramming
- ExtremeProgramming
So the vision widened even more:
The PfompVision describes an integrated development platform providing
- support for InformationFlow and KnowledgeManagement
- integration of ProjectPlanningSoftware, ProjectControlling, and QualityControl
- project communication (integration with CollaborationTools)
- integrated QualityAssurance support (TestDrivenDesign, DesignByContract, CodeUnitTestFirst)
- DatabaseIntegration and DatabaseAccess
- VersionControl
- PlatformIndependence
- easy handling of MovingTarget
- support and restriction to CodingStandards
- DesignPatterns
- SelfDocumentingCode, UnitTestAsDocumentation
- supporting WebDevelopment
- ExtremeProgramming and RapidPrototyping
- AutomatedCodeGeneration, MetaProgramming
- WorkflowTool and ProcessDesign
- integration of some ProgrammingParadigms (ProceduralCode, ObjectOrientedProgramming, FunctionalProgramming, DeclarativeProgramming)
- DistributedComputing and ConcurrentProgramming
- FuzzyLogic and QuantumComputing
- ExtremeDeployment
and it should be ProgrammingInWiki (see also MeatBall:CommunityProgrammedWiki)!
To achieve the PfompVision I invite everyone on the web to join the discussion!
Let's start with the PfompGoals! -- MirkoBlueming
Interesting links:
TipsForWritingPatternLanguages WardCunningham AgileSoftwareDevelopment MyFavouriteProgrammingLanguage SubjectOrientedProgramming GraphicalProgrammingLanguage ScrumProcess ScrumRoadmap WikiDevelopmentEnvironment CommunityProgrammableWiki WikiWithProgrammableContent FlowBasedProgramming FutureOfProgrammingLanguages CategoryObjectFunctionalPatterns
Other discussions/projects:
- http://cpw.sourceforge.net/cgi-bin/cpw.pl?action=browse;oldid=CpwWiki;id=SpwWiki
- http://www.mbwiki.com (this page)
- http://minnow.cc.gatech.edu/swiki
- http://www.nooranch.com/synaesmedia/wiki/wiki.cgi?ProgrammingWithAndInWiki
- http://www.nooranch.com/synaesmedia/beach/wiki.cgi/HomePage
- http://www.seedwiki.com/
- http://www.codegeneration.net/
- http://www.wheatfarm.org/
- http://www.zope.org/
Pf0mp is back! Hmmm but Mirko, lets stick with the 0 ! Probably I am not as grown up as you? I will flip my 1985 notes and I am looking forward to have some conceptual fun :-) Most of the problems we were facing back in the eighties are still unsolved !
-- MarkusSchroeder
Yes, it's amazing that some things do not change.
CategoryDesignIssues CategoryCollaboration CategoryProject CategoryInformationManagement