This article is a humorous but serious look at the mentally retarded freepascal nationalist community, where all your efforts are cut off with a phrase like 'shut up and contribute more source code to the FPC nation, but don't send us any of it because your idea is useless crap and its architecture is all wrong and it doesn't copy exactly what borland did word for word, and don't support patents because they are terrible for FPC.. oh but go ahead and support commercial projects that use patents that involve FPC like because most of our talk is just nationalist propaganda anyway.. we don't practice what we preach'.
Hey dude throw all your shit in our FPC mediawiki that's written in PHP! Keep it all in one place! Support the fpc nation!
As some of you know, there are problems in all programming communities.. especially Lisp Social problems.
I'm going to be a bit harsh here and criticize the Pascal community.
Although my critical analysis may tick people off.. it is also my honest opinion and I think a lot of people who are smart will listen to what I have to say instead of assuming I'm out to hurt people.
In the modern pascal community, the problems I see are:
- cute pascal advocacy websites that don't serve any purpose, or sites that are so tiny and naive that they actually cause a loss rather than a gain to the community (whoa, what a piece of shit site! Pascal is deader than before now!)
- third party projects are rarely or never mentioned on the freepascal website. For example MSEIDE took a long time to finally surface... and Powtils/PSP has been around since 2004 or earlier and has not been mentioned anywhere on the freepascal site. People who hear about third party projects through a mailing list post or a word of mouth recommendation are startled to find out such a project exists.
- The freepascal page offers no database info in the programmers manual nor even a mention of sqldb/fcl-db. It's as if database programming with freepascal is non-existant. No one knows freepascal can talk to a database. FCL-DB documentation is non-existant. One of the most important areas of programming is database programming. Documentation isn't even required initially (5 years ago...), rather someone just needs to MENTION fcl-db and mention that it exists!
Part of the reason I haven't used FCL-DB and documented it myself extensively is simply because I didn't know about it! For three years I had no idea FCL-DB existed.)
Like real men, instead of just complaining... Leonardo, Jorge, and Lars started the FCL-DB docs in the Powtils docs.
See the FPC Documenation Issues page for more.
- one single freepascal wiki is encouraged for everything and anything instead of structured places like an improved contributed units website
- people who offer things such as KOL/CompactSysutils and units that offer help for embedded programmers and server programmers who are worried about smaller footprint are flamebaited instead of encouraged, due to the biased 'we do GUI work and nothing else' crowd.
- fanboy attitude.. nothing wrong with pascal, ever! Nothin! Any time Modula, ComponentPascal, Oberon, Ada or other languages are mentioned people are or told to stay quiet or move the post to fpc-other. Then as soon as the message is moved to fpc-other it dies because not many are subscribed.. and hence other languages are censored in the media (nationalism gone too far). We still have to learn from modula, oberon, componentpascal and Ada and other languages.
- entire fpc website and pascal community basically uses PHP/TCL, languages that have absolutely nothing in common with the pascal language
- pascal people don't practice what they preach (PHP Sucks! Never use it! even if we use it for all our site...!). Or there are the XML lovers who claim XML is perfect for nearly every programming task in the world, since it is standards compliant.. yet ironically the freepascal language itself and delphi is not standards compliant... we must note the irony. When anyone suggests a new standard for pascal they are immediately told 'standards aren't good because the language can't be improved and you have annoying committees behind them' but then these same people claim that 'standards are great' for XML.
- disorganized and cute freepsacal contributed units section with a total of 5 sections. Whoa.. 5 sections.. that's not enough! There is no 'applications built with FPC' section, nor a link to mseide components, lazarus components etc. The contrib section seems to be written in a PHP3 script that is always breaking down. I hope to solve this problem by opening up my pascal repository.. but of course when I suggested this, it was fought/discouraged instead of encouraged! bizarre. Since it's not part of the existing freepascal 'nation' way of doing things maybe, or that 'everything should be in the wiki and we don't need that' (see further below for nationalism problems).
- a little too much OOP purism and 'borland copycatism' going on.. for example lazarus is called 'a delphi emulator' which is really sad. Everything borland does must be what we do! Copy them exactly. This is not what we have to do.. for example many of the things that borland has offered is essentially 'hard to use crap'.. such as Open Tools API and websnap/webbroker.
- conversations kept secret in the core mailing list. Don't know why but some conversations on the devel/users list get moved or hidden to the core list that no one can see.. because the devel team must be afraid of what the public will think. For example some conversations magically and abruptly end and get taken to core without anyone knowing they were taken to core.. except the core team.. (in fact no one really knows what this core thing is.. nor does anyone know how to sign up since it is so secretive)
- new inventions are many times discouraged, fought, and argued.. instead of encouraged and discussed. Instead of responses such as 'it is a really good idea, we don't have time to implement it just yet' there are responses such as 'ABC is not useful, waste of time, XYZ is already good enough as it is'. Then 2 years down the road you see the feature ABC being implemented quietly because now that 2 years has passed, it magically is useful and no longer fought.
- freepascal 'IDE' included with freepascal installation is called a 'integrated development environment' and people get confused and think this is the IDE for freepascal. Instead it should say 'Retro Dos style IDE' in the installation program. Although a genius can make use of FP-IDE, most people that try FPC are typical folk who are not genius enough to utilize FP-IDE in a productive way. Therefore other IDE's such as Lazarus/MSEIDE must be noted in readme files and installation of FPC.
- freepascal 'is just a hobby' attitude.. not enough consultants and real world developers offering professional services
- one big EXE does it all attitude. People need to study component pascal and modula and read my plugin/modular programming articles. A component is not just something we slap in at compile time..
- no API knowledge.. just delphi-ish knowledge. For example lots of classes in FCL using exceptions and abstraction and inheritance.. but not many API's that can be wrapped where the programmer can choose whether or not to use exceptions or full classes. (The system unit and sockets unit are special exceptions to this rule though; thank goodness there are still some low level code available to abstract from...)
For example the sysutils unit has become an unmaintainable gigantic piece of junk since it is all 'welded together with exceptions that break as soon as you move one function out'. Part of the problem is Borland's engineering here. Of course, I came up with a way to reorganize the sysutils unit.. and it is as far as I can tell finally accepted, after about 3 years of my constant bitching (if I had stopped after 1 year of bitching it wouldn't have had any effect since the modern pascal community is so stubborn).
- stubbornness. See above.
- often developers are rude.. for example one liner dumb idiot read the RTFM and roll your own responses. Part of this problem may be because not all programmers are from countries with manners.. for example some foreign people have no manners. Although this is a problem in all software communities.
The modern pascal community is a small cute bunch of humble fanboys. Mainly delphi dropouts.. some macintosh users. None of them have big mouths like Linus does or like Lars does. No one has a website bigger than mine advertising FPC (and I advertise it in a non fanboyish critical manner). This is sad.. if I have this little website and no one else has one bigger then me.. then the world must be ending. Because I'm dumb, and others can do much better than a dumb folk like myself.
The fpc related websites that exist out there are usually typical PHP blogs with all sorts of 'pascal is great' comments on them and 'php is bad' comments even though ironically the site is powered by PHP that they are using.
Then you've got the sites who think they are making a big difference for Pascal in the world by offering 10 pages with directions on how to make 'Pascal take over the world'.
For example check out this ridiculous website:
This 'pascal central' website is far from 'the central place' for pascal. It's a tiny little fanboy website with about 40 pages on it. A true 'pascal central' needs to have about 50,000 pages and 8000 downloads. Instead pascal central has about 40 cute pages and 5 zip downloads to try. Great..
Torry.net mentions 'pascal advocacy' no where, and it is done far more for the modern pascal community. That's because instead of Torry.net focusing on fanboyism, it focuses on real world submission system where developers can submit components. Not some 'send all your submissions to my email address and I'll put them up here' type of website.
It needs to be extremely easy for people to update their components/units for download in a self serve way. Places like torry.net and delphi3000 are great for this.. freepascal needs to have its own place like that (which I myself am working on). Torry.net of course uses PHP.. and mine will use freepascal ;-) A little bit of advocacy and egotism is okay.
Nationalist Wiki - Support ONE Wiki. Traitors!
The freepascal community and wiki is a bit nationalist.. everyone is encouraged to put all their units and project pages on the single freepascal wiki nation (the mediawiki). Traitors are those who disobey the nation and go off on their own websites. All of it should be in the PHP mediawiki, which, well happens to be written the shittiest language of all time: PHP!
Projects, yes, all projects should be thrown into some random wiki page. Instead of having say a structured contributed units section written in FPC, and instead of say supporting your external communities like Powtils who are traitors to the NATION.
Because of the way mediawiki's work, this leads to a bunch of disorganized unstructured pascal downloads that no one knows about (you've got a few pages here, a few pages there.. no structure). No real organization.. just one big scattered shit smelling wiki containing every single project known to man. For example there is a single MSEIDE/MSEGUI page and people are supposed to go there for all their MSEIDE information. One page for an IDE? That's where you're supposed to get your shit together for a project of that size? On one page? Yeah right. Sure, someone can make an external website - but the fact that one page is even recommended or considered and encouraged is ludicrous.
One single "mediawiki" written in PsHitP cannot handle all the pascal projects in the world, I'm afraid.
No FPC Content Out There
The other nationalist problem is freepascal websites. There are none. There are a total of 1 freepascal websites in the entire world. That's right I said one. One site. Maybe two if you include my site, maybe three if you include a couple other tiny websites and tiny blogs that no one knows about. Of course, I myself put my code where my mouth is and work on building websites for fpc... but my point is that if I'm the only guy making an effort here to have multiple domain names pumping out tons of FPC content, then we are going to remain a tiny little drop in the ocean.
Thank goodness there are sites out there like Delphi3000, Torry.net, etc otherwise modern pascal really would be dead. Thank goodness we have Z505 although it is only a tiny drop in the ocean right now and I don't think very high of it at this stage. But imagine if there were 3 other FPC websites out there.. or even 5 more, or 100 more. Count how many PHP websites are out there.. maybe 50,000 or more. Freepascal has one.
See also Always Flame People Who Are Out To Help