D
dbeavon
Guest
As I was saying earlier, there may be a deliberate reason why ABL isn't evolving. I see that the point is being made for me. It is fairly easy to come up with reasons why a language should be simple. Nobody wants complexity for its own sake. But neither do people want to tackle a huge project with the wrong programming tools. For example, I wouldn't want to excavate a swimming pool with a tablespoon. Sometimes that's what it feels like to be using ABL. Ideally a programming language will meet the needs of both entry-level developers and more mature ones. It should solve simple problems as well as very complex ones. A good programming language will also create abstractions. The abstractions allow the code to remain just as maintainable as ever, but with increasing power and functionality. I think of C# with abstractions for OO, threading, ORM, lambda's, async/await, etc. All of these features of the language are very simple to use, since C# provides a language syntax that is very approachable. One of the biggest failings of the ABL language might be its inability to use the available CPU resources. As you may know, computers nowadays have many, many cores. Modern languages have syntax and patterns that allow software to be executed on more than one core at a time, and then they allow subsequent synchronization after the CPU work is finished. ABL is unwilling to acknowledge the existence of more than one core. But then again, I suppose someone may give us a reason why 15 of my 16 cores should remain idle even though there is a lot of work that is waiting to execute (and there is tons of available capacity in terms of disk/network/whatever).
Continue reading...
Continue reading...