My dude, I have no idea why you have such deep attachment to 32bit architecture.
I also have literally no idea what you mean by "programmers use easy predefined templates to write faster" at all. Are you suggesting I write my own version of Java (although technically I did already make a customized version of Java 11 for my job)? Or my own version of SQL? Or just that I should make my own version of String, HashMap, ArrayList, etc. that will somehow be more optimized than the programmers at Sun have been doing for decades?
Also, I never said I "cannot make a program to run in a 32 bit environment". I said it runs like shit. Because its a shitty 32 bit 400MHz processor with 128MB of RAM running an application that has a VSZ of more than twice that due to customer feature requests.
And modern programs use a lot of RAM mostly because of graphics and other non-code assets dude. Even with those shitty devices I write for, a good 60-70% of the memory usage is from the java graphics. Another 10-15% is from the database it uses.
And again, why would 32bit+PAE become mainstream ever when 64 bit already exists? Especially when PAE still wasn't a significant improvement. It's a work-around, and wasn't meant for much more than that.
And even besides that still, 64 bit simply has better performance.
I have a cheap 64bit PC and if chrome uses 12 GB of RAM it's not an issue dude.
tl;dr
You gotta stop your obsession with 32bit, it's weird and your arguments aren't realistic.
If you ask: x64 has some compatibility problems, while it can run *mostly (there exist some programs that run better in native and can cause issue) 32 bit programs, it completely cannot run 16 bit programs (because AMD when making AMD64 -commonly named x86_64 or x64 thought it's not needed and not implemented it) - 1st reason and the second is some hardware doesn't have x64 drivers. 32 bit normal software can work in x64 mode, but drivers is exception here.
I also don't like the way how Windows implements it: as replacement rather than extension (I saw file path structure and registry), but two above are most annoying.
There is also this earth reason: I have well configured system and all this installation and moving require time, that I lack a bit... but first two are still main issues.
And to answer your another question: it's not really 32 bit architecture problem you are facing, but the fact it have only 400 MHz and 128 MB RAM available. As I mentioned earlier more bits does NOT increase speed, more often it's the opposite in electronics, or at best speed is same if hardware bus is enough to transfer more bits around. In AMD case they made more registers available for x64 (register is very small portion of CPU that can hold execution data exclusively, fastest memory, faster than L1 cache, but it's architecture constant to be usable by ASM), so in some cases it can perform faster, but it's not bitness itself.
Also Java is not the best language if you want to make fast executing programs with low memory footprint, because it belongs to high level programming languages - it's made to ease programming by pushing away from hardware and doing stuff beyond programmer - you don't have much control over how your program works, it have it's own memory management and garbage collector, which takes RAM and CPU cycles overhead to just work in background.
The lower level specific language has, the faster it can run, but also require more knowledge to write.
Languages from lowest to higher: first was bit code replaced by ASM - fastest of all. Second level is pure C, 2x slower than ASM, but still faster than others. Later is C++ 2x slower than C, but still efficient. Then we start high level languages C# or Java - all meant to make programming stay away from hardware, but also slower than predecensors. I remember Java being really sluggish when it hit the market and while it may became faster over those years, it still have overhead, you can even see how slower it launch when compared to native compiled programs (Java is semi interpreted language, which is slower by definition) but it's popular for what it do. SQL is just database language, so speed may vary depending on how well the main engine program runs. I will not say much about last 3 you mentioned simply because I don't know them, but since you mentioned Sun, I guess it's related and at same level as Java, which is not performant software - it's made to do the business job (preferably on decent hardware as business name suggests), not perform fast.
PAE was a significant improvement when it's made - Pentium 2 is dated at about 1998 year or earlier, because Windows 98 supported it. Of course Pentium 2 didn't allow for 128 GB yet, but technology was improved over years, the same way as current CPUs cannot utilize full 64 bits, because they miss hardware lanes!! 128 GB RAM (that the latest highest price Windows Server x86 supported - they increased limit over years and Windows generations) is still a lot even today and it probably could be improved with another PAE implementation if 64 bit was not invented.
And I don't say either 32 bit or 64 bit CPU is good or bad, because it doesn't really matter, just the x64 implementation sucks a bit, though it's probably better than Apple did when moving from 32 bit to 64 bit.
This probably exhaustes the topic. I hope it satisfied your interest