Is it fine if I don't understand everything from the documentation at once?

29 views
Skip to first unread message

Charalampos Rempas

unread,
Apr 19, 2021, 3:55:27 AM4/19/21
to fltk.general

I'm trying to learn FLTK using the official documentation and I think I understand most of the stuff (especially the basics) but I don't think that I understand everything or at least I haven't tried them in practice to see how they work and I'm not totally sure that I understand them.

As I don't have a lot of experience with programming in general and that's probably the first time I'm trying to learn something only from it's documentation, I would like to ask about what's the opinion you guys have over this. Is learning everything at my first time reading really necessary or I can safely read it and move on for now?

imm

unread,
Apr 19, 2021, 4:02:12 AM4/19/21
to general fltk
On Mon, 19 Apr 2021, 08:55 Charalampos Rempas wrote:

I'm trying to learn FLTK using the official documentation and I think I understand most of the stuff (especially the basics) but I don't think that I understand everything or at least I haven't tried them in practice to see how they work and I'm not totally sure that I understand them.

As I don't have a lot of experience with programming in general and that's probably the first time I'm trying to learn something only from it's documentation, I would like to ask about what's the opinion you guys have over this. Is learning everything at my first time reading really necessary or I can safely read it and move on for now?


I'd say to try playing with the samples in the "test" & "examples" folders.
Maybe watch the tutorial videos online.

Once you have tried out a few things, and know what it is that you don't know... Then go back to the docs to learn what that is about...
--
Ian
From my Fairphone FP3

Albrecht Schlosser

unread,
Apr 19, 2021, 7:29:31 AM4/19/21
to fltkg...@googlegroups.com
Welcome to the FLTK community.

I agree with Ian. Try a few things and use the approach "learning by doing".

When I started learning FLTK I was in a similar situation and I can
remember that I didn't understand everything. The FLTK 1.1 docs were
terse (1.3/1.4 is much better) and I had no previous experience with OO
(object oriented) programming and didn't understand all that inheritance
and derived classes stuff at the first time.

Here are my two hints:

(1) In general I tend to "read" the full documentation of a project new
to me in a first pass so I know what it's all about. Don't try to
understand everything, but try to remember the basic contents. When you
read the docs a second time much of it will become clear.

(2) In your first programming steps with FLTK you don't need to know and
understand OO stuff entirely, there are enough classes that are ready to
use. However, it's important to know basics about inheritance: all
subclasses "inherit" all functions of their parent classes. If you look
at the docs and see the inheritance picture of a class (a tree-like
picture), for instance Fl_PNG_Image [1] you should know that the docs of
this class describe only "new" methods of this class but you can also
use all methods of its parent classes Fl_RGB_Image [2] and Fl_Image [3].
There's a tiny link at the top of each doc page that reads "List of all
members" which I recommend to get an overview of all available methods
together with information in which class the methods are defined.

Have fun with FLTK


[1] https://www.fltk.org/doc-1.4/classFl__PNG__Image.html
[2] https://www.fltk.org/doc-1.4/classFl__RGB__Image.html
[3] https://www.fltk.org/doc-1.4/classFl__Image.html

Charalampos Rempas

unread,
Apr 19, 2021, 8:27:44 AM4/19/21
to fltk.general
Thanks a lot both of you for the help! I will follow what you both said and I hope that I would be able to build my first app in a couple of days! I wish you both to have an amazing day! Btw @Albrecht Schlosser, I've seen that you posted links for the doc of fltk 1.4 which is still in development. Is this what you are using? Should I go straightly to 1.4 cause I really care about my programs being stable and reliable as I'm planning to create and make programs for clients. Tho now that I'm thinking about it, I probably won't be ready before 1.4 is out. What's your thoughts?

Albrecht Schlosser

unread,
Apr 19, 2021, 12:35:05 PM4/19/21
to fltkg...@googlegroups.com
On 4/19/21 2:23 PM Charalampos Rempas wrote:
> Btw @Albrecht Schlosser,
> I've seen that you posted links for the doc of fltk 1.4 which is still
> in development. Is this what you are using? Should I go straightly to
> 1.4 cause I really care about my programs being stable and reliable as
> I'm planning to create and make programs for clients. Tho now that I'm
> thinking about it, I probably won't be ready before 1.4 is out. What's
> your thoughts?

I'm a FLTK developer, that's why I'm referring to the 1.4 docs in the
first place.

For users, you need to decided yourself which version you want to use.
FLTK 1.4.x (Git) is pretty stable but not officially released yet. You
can still try it out and also test that your code compiles and builds on
both versions. The API is backwards compatible, but FLTK 1.4 has a few
new features, particularly the ability to scale the window dynamically
(ctrl/+/- as in browsers etc.).

If you want to test both 1.3 and 1.4 you can arrange two source and
build trees and compile and link your program with both versions. Hint:
do not "install" any version of FLTK in a /system/ location. Install
both either in separate non-system locations (for instance
/usr/local/fltk-1.3 and /usr/local/fltk-1.4) or don't install them at
all, i.e. use them directly from the build tree.

As for the docs: FLTK 1.3 docs are no longer maintained except for some
exceptions. The next release 1.3.6 is intended to be the last 1.3.x
release. FLTK 1.4 docs are updated from time to time [1] or even daily
[2] on our GitLab mirror. Since the API is (almost) the same you can use
the FLTK 1.4 docs for reference. Features available only in 1.4 are
usually marked as such, but maybe not everywhere.

[1] https://www.fltk.org/doc-1.4/index.html
[2] https://fltk.gitlab.io/fltk/

Charalampos Rempas

unread,
Apr 20, 2021, 11:56:57 AM4/20/21
to fltk.general
Thanks a lot and sorry for the late answer, I was so busy using FLTK that I forgot about this chat ;)
I will reach till a certain chapter (the one that talks about FLUID) then I will check on some examples and then I will go into FLTK 1.4 be compiling it in my own rather than using my package manager. Btw if I got it right, the doc is updated from time to time or main docs but almost daily in the mirror? Is that right? If yes, can I ask why is that?

Albrecht Schlosser

unread,
Apr 20, 2021, 12:24:18 PM4/20/21
to fltkg...@googlegroups.com
On 4/20/21 5:50 PM Charalampos Rempas wrote:
> Thanks a lot and sorry for the late answer, I was so busy using FLTK
> that I forgot about this chat ;)

No problem. It's good if you are working with FLTK.

> I will reach till a certain chapter (the one that talks about FLUID)
> then I will check on some examples and then I will go into FLTK 1.4 be
> compiling it in my own rather than using my package manager.

You don't say exactly if you mean including the chapter about fluid or
not. If you ask me I'd not recommend to spend too much time on fluid. It
can be difficult to do it right and it's (IMHO) better to understand the
code and how to program it first before you try to use fluid. OTOH fluid
can be a nice tool to layout your widgets. YMMV.

> Btw if I
> got it right, the doc is updated from time to time or main docs but
> almost daily in the mirror? Is that right? If yes, can I ask why is that?

Sure. The difference is that installling the docs on the FLTK server is
done manually and somebody needs to do it (that somebody is me). I did
not yet automate the process, and doing it daily would be overkill. And
before you ask: this server is limited (not so much in resources but in
installed software) so that automatically creating the docs /on the
server/ is currently not possible.

BTW: FLTK 1.3 docs are updated with each new release, the next update
will be with 1.3.6.


"The GitLab mirror" means the GitHub source repository mirror on GitLab
(two different hosters). On GitLab we created a CI build job that builds
software for testing the HTML docs as well (but no PDF) and installs the
docs on a tiny web page which you can see. Hence the docs are built and
published "daily" (effectively even more often than once per day).


Last but not least: please try not to top-post here in this group and
trim the citation to the part you refer to in your answer. This is the
style we're trying to use here in fltk.general and fltk.coredev for
better reading and understanding. Thanks.

https://en.wikipedia.org/wiki/Posting_style#Top-posting

Charalampos Rempas

unread,
Apr 25, 2021, 10:36:08 AM4/25/21
to fltk.general
Στις Τρίτη, 20 Απριλίου 2021 στις 7:24:18 μ.μ. UTC+3, ο χρήστης Albrecht Schlosser έγραψε:
Last but not least: please try not to top-post here in this group and
trim the citation to the part you refer to in your answer. This is the
style we're trying to use here in fltk.general and fltk.coredev for
better reading and understanding. Thanks.

https://en.wikipedia.org/wiki/Posting_style#Top-posting

Thanks a lot for everything and I will follow the rules! Have an amazing day!
Reply all
Reply to author
Forward
0 new messages