[Coco] Happy Birthday BASIC!

James Ross jrosslist at outlook.com
Wed May 3 02:36:16 EDT 2017


Gregory Law wrote:

> ... I consider C++ to be more along the lines of the modern-day 
> assembly language when compared to languages like C#, Visual Basic, 
> Java, etc ... 

Very true – I feel the exact same way. Especially vanilla ANSI C. But even full-out modern C++ w/ the STL and libraries like Boost, etc. are still not a pretty picture (but I am sure it helps if one is well versed). 

And like you pointed out, nothing is as easy as C#/Vb.NET WinForms for GUI’s … even though Borland C++ Builder came pretty close! If it wasn’t so damn expensive I probably would  have kept up w/ the recent editions.  Back in the 90’s I bought it for like $250 + ~ $150 for upgrades… now days it’s like in-between $3k - $5k if want all the goodies. $1.5k for the Pro version. 

> ... When JIT compiles the code to machine language, it knows 
> you have an I7-7770 with SSE 4.1/4.2, AVX 2.0 and optimizes 
> the code for this specific hardware.

True, and it should compile the code only the first time it's executed and cache the binaries for future use. JIT technology is fascinating to me. Here is a good article: http://www.telerik.com/blogs/understanding-net-just-in-time-compilation

> A JIT engine may also analyze the code as it runs to inline certain
> methods or further optimize the code based on this analysis.

I've heard Java does this w/ its "HotSpot" technology. In theory then, it can re-compile the same code more than once!  

> Having said all this, JIT and underlying frameworks still have more
> overhead and use a heap more memory than statically-compiled C++ code ...

I agree. But , even there, w/ today's CPU speeds / Memory / Hard-Drive sizes (not to mention the SSD speeds) and internet speeds … the importance of those advantages continues to diminish.

> so C++ is still king

True again -- with the exception of hand written assembly language!! :)  

Long live 6809/6309 Assembly! 

James


More information about the Coco mailing list