Recent

Author Topic: Improving the "Data Structure, Containers, Collections" and Generics wiki pages  (Read 1085 times)

jouborg

  • New Member
  • *
  • Posts: 11
I'm new to fpc/Lazarus but am a seasoned software engineer.

As a newcomer, I found that the Data Structures, Containers, Collections page page and the Generics page led me down a path selecting collection classes from the FGL instead of the more modern (and recommended?) Generics.Collections from the RTL.

There are at least 3 things that I am motivated to address which I think will make the docs more effective for programmers:
- section order (i.e. put the recommended first, instead of "telling the history")
- emphasis (e.g. on the Generics page, the getting started points to the fgl unit, instead of the Generics.Collections)
- examples

Any objection if I proceed to make these modifications? Any other feedback?

egsuh

  • Hero Member
  • *****
  • Posts: 718
There should be much improvements and more documentations for Lazarus/Free Pascal.

On the Data Structures... page, I trid to see contents of TPair, TSortedArray, and TValTree, etc., but I cannot find any explanation on them.

trev

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1441
  • Former Delphi 1-7, 10.2 user
Any objection if I proceed to make these modifications? Any other feedback?

No, feel free to go ahead. The Wiki harvest could be great, but the labourers are few.
Lazarus 2.1 r65061 FPC 3.3.1 r49223 macOS 10.14.6 Xcode 11.3.1
Lazarus 2.1 r65070 FPC 3.3.1 r49223 macOS 11.2.3 aarch64 Xcode 12.4
Lazarus 2.1 r61574 FPC 3.3.1 r42318 FreeBSD 12.1 amd64 VMware VM
Lazarus 2.1 r61574 FPC 3.0.4 Ubuntu 20.04 Parallels VM
Lazarus 2.0.10 FPC 3.2.0 Win10 Parallels VM

trev

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1441
  • Former Delphi 1-7, 10.2 user
There should be much improvements and more documentations for Lazarus/Free Pascal.

It's a collaborative endeavour, so feel free to add improvements and any missing documentation.
Lazarus 2.1 r65061 FPC 3.3.1 r49223 macOS 10.14.6 Xcode 11.3.1
Lazarus 2.1 r65070 FPC 3.3.1 r49223 macOS 11.2.3 aarch64 Xcode 12.4
Lazarus 2.1 r61574 FPC 3.3.1 r42318 FreeBSD 12.1 amd64 VMware VM
Lazarus 2.1 r61574 FPC 3.0.4 Ubuntu 20.04 Parallels VM
Lazarus 2.0.10 FPC 3.2.0 Win10 Parallels VM

lucamar

  • Hero Member
  • *****
  • Posts: 3880
Both pages could be improved but I'd not change much of "Data_Structures, Containers, Collections"; it's mostly an index and I think its structure reflects rather well what it's about, though its contents seem to be a little dated. "Generics" is another kettle of fish: that one really needs a full overhaul.

So go ahead and improve: it's a wiki so if anyone doesn't like what you do (s)he can always undo it or change it to whatever (s)he feels it should be ;)

Just one thing: when adding "content" try to use the best English of which you're capable and, if anything, over-explain any feature/example. The wiki is frequently the first stop for newbies and even mid-level programmers and while it cannot (and shouldn't, IMHO) replace the formal documentation, it should nevetheless be kept/modified to a somewhat "high" standard; as if it were, say, parts of a "course book". You're a software engineer so you know what I mean, I think :)
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!) :P
Lazarus/FPC 2.0.8/3.0.4 & 2.0.12/3.2.0 - 32/64 bits on:
(K|L|X)Ubuntu 12..18, Windows XP, 7, 10 and various DOSes.

egsuh

  • Hero Member
  • *****
  • Posts: 718
If editing the wiki is allowed, I'd like to put results of my experience and experiments (of course in suitable formats and sentences to the purpose of wiki). I was keeping them in my own document, but I forget later where I had recorded them.

lucamar

  • Hero Member
  • *****
  • Posts: 3880
If editing the wiki is allowed, I'd like to put results of my experience and experiments (of course in suitable formats and sentences to the purpose of wiki). I was keeping them in my own document, but I forget later where I had recorded them.

Of course it's allowed: That's exactly what a wiki (of the kind of this one) is for! :)

Only, one should try to add value (and correct errors) rather than tear down and replace what there is already there. Writing about your experience and experiments should fit nicely. That's the point of the wiki: things which can't be adequatly added in the more formal documentation but complement it.
« Last Edit: December 25, 2020, 08:16:29 am by lucamar »
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!) :P
Lazarus/FPC 2.0.8/3.0.4 & 2.0.12/3.2.0 - 32/64 bits on:
(K|L|X)Ubuntu 12..18, Windows XP, 7, 10 and various DOSes.

jouborg

  • New Member
  • *
  • Posts: 11
Thanks all for the warm welcome and wonderful replies!



 

TinyPortal © 2005-2018