But Visual Studio-like IDE for making x86 application software, with GUI editor seems weird.
But Visual Studio-like IDE for making x86 application software, with GUI editor seems weird.
And most of they are application programming (Fresh IDE itself and many closed source projects in my work) or even web programming (https://board.asm32.info).
That is why I needed a powerful IDE, suitable for rapid programming of relatively big projects (500Kloc or higher).
But the code is more reliable and the debugging process is much easier. After some short debugging stage, most of the projects runs for years without single bug report or other support issues.
I am not talking about the significantly higher speed, lower memory footprint and better UX (especially the response time of the UI is really much faster).
As a whole the advantages are more than disadvantages IMHO.
The code reliability of assembly programs is better because programming algorithms in low level, the programmer controls every aspect of the execution. Notice, that excessive use of code generation macros will cancel this advantage.
Another advantage is that the bugs in assembly programs usually cause immediate crash of the program and this making the fixing easy.
Defer crashes and strange/random/undefined behavior of bugs in assembly programs is rare. IMO, this is because of reduced count of abstraction layers.
Because allow the programmer to not think (and even know) about some things and leaving them to the layer/libraries.
But every layer adds also a level of obscurity. The interaction between multiply layers is even more undefined and random.
It is OK while everything goes as expected. But when there are problems, the obscurity can make the debugging a hell.
In addition, the behavior of the bugs hidden deep in the layers (or in the way the layers interacts in between and with the application) can be really weird.
That is why, IMHO, the programmer should keep the abstraction layers to the minimal count that allows solving programming tasks with minimal effort, counting not only the coding time, but debugging and supporting time as well.
In my practice, I decided that using FASM with Fresh IDE and set of assembly libraries gives me the needed quality of the code.
For example, I don't know Lisp, so for me it is much harder to read/maintain Lisp project than assembly language project.
And on the Amiga we had DevPac.