I am no means an expert with either PureBasic or B4J for desktop. For a one or two form or console utility I like PureBasic. If I was going to write a multi form app then I would lean towards B4J since it is more like VB6 and I feel it encapsulates the form logic and keeps it restricted to only that form compared to the PureBasic way of doing things.
My impression of the way PureBasic “puts” the source files together for compilation under the covers is that it is like the monster long Basic programs back on my TI-994A.Only that you don’t control exactly where everything gets placed in that long list of source code.