Re: [fltk.general] Need advice respected members

46 views
Skip to first unread message
Message has been deleted

Gonzalo Garramuño

unread,
Jun 23, 2025, 12:56:38 PMJun 23
to fltkg...@googlegroups.com

On 6/23/2025 12:52 PM, Heart Bleed wrote:
> I'm learning GUI programming and I have basic idea of its working now
> & I can do away with simple GUI programs. But I now ask you good
> peoples to give me some advice on where can I learn more about commen
> GUI patterns, FAQs, pitfalls in general? .
What language are you using as that might help?  If you are programming
in rust, I'll have to search them for.

If you want a generic resource to learn OO from, the classic book is:

"Design Patterns Elements of Reusable Object-Oriented Software"

The concepts are WAY advanced (it will probably be a book you will "get"
10-20 years after you start coding -- as I don't consider a programmer
myself I'll admit I usually tend not to apply the concepts in the book,
much to my regret).  It was written with C++ in mind, so some concepts
may or may not apply anymore.

Check out Ruby's language discussions about MVP (look up RubyOnRails) if
you are doing or plan to do web programming. Again the concepts may not
apply anymore.

Also, check out a discussion about UIs that was posted about UI
programming design by MoAlyousef, which is one of the most interesting
discussions about how FLTK might *NOT* be a good choice anymore for
modern UI programming or the advantages and disadvantages it brings (Mo,
btw, is *IMO* the smartest -- and probably youngest -- guy currently on
the FLTK list, albeit he is I believe not part of the core group of FLTK
developers, much to my regret.  Again the talk might go over your
head).  To find the discussion you might need to check the archive on
googlegroups.

If you are planning on doing 3D graphics, there are two main competing
technologies (OpenGL - look up Nehe's tutorials if you can still find
them online -- you might need to use waybackmachine).  The upcoming and
probably new resource (if it succeeds -- big if still) is Vulkan.  
Vulkan relies heavily on advanced C++ so most of examples are not good
to start learning from and it is not python friendly.  You will need to
learn Vulkan on either C++ or rust.

The best way to learn Vulkan that I found is to start small:

- Find GLFW's examples directory with the lonesome triangle_vulkan.c. 
It is plain C code.  If you know C++, it is easy.
- Then, try porting some of the FLTK examples to it.   On my FLTK
repository, you will find, in the Vulkan branch, three really ugly coded
ported examples vk_*.  If you want efficient and performant code, you
will need to go into some other of my projects or rely on asking your
favorites AI.
- My Vulkan performant code is likely "tainted" from the POV of
intellectual property thou, so until the IP lawsuits become clear, I
suggest you do NOT depend on them.

>
> Suggest me any resource that you think might help me please.
For FLTK specifically (with C++ in mind), you might want to translate
Greg Ercolano's C++ code to your language of choice to learn from:

https://www.seriss.com/people/erco/fltk/

I'd recommend learning rust if you are going to UI programming for
Holographic projections, Automated Vehicles or Robotics, which is *my*
bet on what I expect the new (and perhaps not so new) generations will
move into.  I don't bet on AR/VR simply because I use glasses and at my
age, I have ALL visual illnesses (myopia, short-sighted *AND* astigmatism).

>
> Also, FLTK comes with so many goodies and features that it feels hard
> to comprehend it. Documents are indeed good but they lack
> motivation/problems for particular features/classes being introduced
> for it.
Erco's page is really the best resource for FLTK.  Each example shows
you how to a specific class.

--
ggar...@gmail.com

Gonzalo Garramuño

unread,
Jun 23, 2025, 1:00:57 PMJun 23
to fltkg...@googlegroups.com

On 6/23/2025 1:56 PM, Gonzalo Garramuño wrote:
>
> If you are planning on doing 3D graphics, there are two main competing
> technologies (OpenGL - look up Nehe's tutorials if you can still find
> them online -- you might need to use waybackmachine).
>
Actually, let me correct myself there.  Those two are technologies
specific to programming multi-platform code.  If you want to stay just
within Windows (you can also learn to code Direct3D/X12 or whatever is
called nowadays) or Metal (macOS).

--
ggar...@gmail.com

Message has been deleted

Heart Bleed

unread,
Jun 23, 2025, 1:17:51 PMJun 23
to fltk.general
My apologies for not being specific and thanks for suggestions sir @ggar . I intend to use c++ mostly for FLTK, MAYBE wxwidgets later and I indend to code mostly GUI application and little bit of 2d gaming. 3d is out of focus for me as it has lots of prerequisite (Specially Maths). 
Sometimes when I see project you good people made, I feel so ashamed that I couldn't create any small project so far. Though I have my own reasons that I learn 10 things at same eg threading, sockets, bash, powershell, OS internals etc whatever thing leads me another.. 

Regards & Thanks a lot

Gonzalo Garramuño

unread,
Jun 23, 2025, 1:57:16 PMJun 23
to fltkg...@googlegroups.com

On 6/23/2025 2:14 PM, Heart Bleed wrote:
> My apologies for not being specific and thanks for suggestions sir
> @ggar . I intend to use c++ mostly for FLTK, MAYBE wxwidgets later and
> I indend to mostly GUI application and little bit of 2d gaming. 3d is
> out of focus for me as it has lots of prerequisite (Specially Maths).
Don't call me, Sir.   I did not get knighted and you make me feel even
older than I am :D!!!

Indeed 3D requires way too advanced math, particularly if you aim for
things like raytracing in games.  Thank you for bringing it up. However,
if you are doing 2D games, you still will need some basic math knowledge
too.  For example, you might need A* paths in order to know how to have
one character navigate across a room or chase after another (re-create
pacman again :D).  A somewhat limited version of OpenGL GLES runs fine
on most phone devices and can be used for (currently) faster 2D drawing
than using software rendering (at least for now).

If you are targeting 2D applications on phones or retro consoles, I
recommend you look at SDL instead of WxWidgets, at least until Matt
merges his SDL branch into FLTK.   Also, if I recall correctly the name,
bgfx is a good api to learn too.

> Sometimes when I see project you good people,

That definitively does NOT apply to me.

> Though I have my own reasons that I learn 10 things at same eg
> threading, sockets, bash, powershell, OS internals etc whatever thing
> leads me another..

That's good too.  I know about 10 programming languages, 3 graphic APIs,
etc. Every time you learn a new thing it gets easier to learn another.

And now with AI services, it is even easier to learn.  The only problems
are IP,  job losses and, more important, the big damage done on the
environment.  That's to me the biggest problem we are facing ahead with
AI.  After abusing AI, I'm now trying to go back in time to the basics
(in this order: use wikipedia, mailing lists/personal emails/linkedin,
web searches and finally AI).

--
ggar...@gmail.com

Heart Bleed

unread,
Jun 24, 2025, 1:33:31 AMJun 24
to fltk.general
On Monday, 23 June 2025 at 23:27:16 UTC+5:30  wrote:

>Don't call me, Sir.   I did not get knighted and you make me feel even
>older than I am :D!!! 

I'll try not to , and I call anyone sir who is far more experienced than me

>If you are targeting 2D applications on phones or retro consoles, I
>recommend you look at SDL instead of WxWidgets, at least until Matt
>merges his SDL branch into FLTK.   Also, if I recall correctly the name,
>bgfx is a good api to learn too.

Will surely to look into it as SDL has much resources to learn online I guess, specially youtube
 

That's good too.  I know about 10 programming languages, 3 graphic APIs,
etc. Every time you learn a new thing it gets easier to learn another.

That's so true, learning new things becomes hell easier once you get core ideas . 
Reply all
Reply to author
Forward
0 new messages