4 ms·
I'd be curious to know why you switched back to languages with native code generation? Is it mostly due to the control you have over code performance? Is so, ar
by akg 14y ago
I'd be curious to know why you switched back to languages with native code generation? Is it mostly due to the control you have over code performance? Is so, are such applications fairly specific in scope, e.g., fluid-simulation on the GPU?
- pjmlp 14y agoMore control over performance and easiness of distribution. Desktop applications, where a good integration with the operating system is required. System programming and distributed systems as well. I lost a bit faith on VM based systems for deployment, due to too many deployments gone wrong. Now I advocate systems where you can get the best of both worlds. A VM based environment for development, and compile to native code when releasing the product. Something like Eiffel, ML and Lisp language families already offer. Java and .NET also have such options available, but they are not widespread.
- soup10 14y agoRaw pointers, manual memory management, and "what you see is roughly what's executed in assembly" is very helpful for a wide variety of performance sensitive tasks, there is a whole world out there beyond CRUD apps. There are many trivial optimizations you can't do without writing native code. Writing any performance sensitive code in a high level language is like playing the telephone game. What's funny is that high-level languages develop a culture of not caring about performance, which makes what could be a mild problem, much much worse. Java is actually a pretty fast language(for most purposes), you wouldn't know it from 9 out of 10 desktop java applications I've used.