Others, especially
Winni, has already come up with some good points.
For me the main issues are:
Windows only. This is really a big problem. Virtually all other tools (apart from Apple's, but that's part of why I don't like them) are cross-platform. I am a Linux guy for years, and I regret having to power up Virtualbox to work in B4X. But ok, it works. However, let's face it, very many developers these days use either Mac or Linux and realizing that B4X is Windows only, will probably turn them off immediately.
The documentation. This forum is the main documentation, and I don't find that ideal. It makes the documentation appear fragmented. The video guides are fine for starters, but not for looking up info later on.
(In my original post I complained about having to look up info in PDF-files, but Erel has pointed out that there are in fact online HTML-versions of these guides, so this point does not apply. I take it back!)
The IDE is generally excellent, but unfortunately it lacks some features that all developers take for granted. One good example is breakpoints. You can set or remove breakpoints, that's all. You cannot
disable breakpoints which is a major PITA. So after a debugging session you have to remove all breakpoints even though you may need them shortly after. You cannot have conditional breakpoints either which is also something I miss a lot.
The language is generally ok and I don't find the name a problem or the fact that it has roots in BASIC. But it does miss some important features that most programmers would expect, such as default parameters in functions. That's why B4X has so many functions called something with 2 or 3 because it has to take into account varying numbers of parameters. Also, the way that local variables
are in fact not very local is a problem in my opinion.
So what to do? First and foremost, make a cross-platform version. B4J can make nice cross-platform apps, so I guess it should be possible to write the IDE in B4J?
The documentation could be improved. I know is is a time consuming job, but maybe we, the users, could help. What about a B4X Wiki?
The IDE is already very good and a few additions could make it nearly perfect. Also the language would benefit from "an upgrade".