How Little Things Change: a Pascal-to-Javascript Converter
iottmco.wordpress.com
iottmco.wordpress.com
One usually doesn't go around designing features around what an idiot would use. And to ignore a feature on that exact point, I think, completely misses how much modern compilers can do for you. I'd very much like to see converting something that uses yield[0] to generate collections in C#, or handling variable capture and anonymous functions to, say, C, by just twiddling around with the syntax.
[0] : I have working lazy evaluated collections in C++, complete with state machine generating code. It is not, by any stretch of the imagination, pretty to implement. However, being able to say - naturals()->Map([](int x) { return 2 * x; })->Take(N); - can be pretty satisfying.
His conclusion that things stay the same is totally wrong. Pascal is a very primitive language, and it is usually straight forward to translate from a primitive language to a richer one. And C was richer. Programming in C was like breathing fresh air. My productivity doubled. There are more doublings with modern languages like Python and JavaScript.
* I posted a comment yesterday mentioning some work I had done on Project Apollo. That WAS rocket science. ;-)
It's easy to say "But there are thousands of companies who want to convert there legacy code", but is converted code actually good enough compared to a rewrite? Is it feasible?
... in Algol-derived languages that don't have special features to take advantage of hardware-specific functionality, such as vector processing or pervasive multicore.