3 ms·
I boldly compare your hardship to the problems with any sufficiently different CPU architecture. The same argument can be applied to GPGPU, data flow languages
by thesz 9y ago
I boldly compare your hardship to the problems with any sufficiently different CPU architecture.
The same argument can be applied to GPGPU, data flow languages, IBM's Cell BE and, god forbid, GreenArray's GA144.
Or computation architecture - you already mentioned Haskell and I added data flow computation paradigm to that list.
They all about the same from sufficiently distant point of view. Prolog isn't all that worse.
- nickpsecurity 9y agoThose aren't declarative, search-for-answers types of languages in the style Prolog is. It's currently hard for most people to get high-performance code out of a Prolog for average problem in programming. Whereas, once you understand dataflow or SIMD tricks, you can get quite a bit of mileage out of the other stuff you mentioned that runs circles around imperative, sequential code.
- thesz 9y agoOnce you understand Prolog tricks, you can get code that runs circles around imperative code, even SIMD-optimized. And it's currently hard for people to get high-performance SIMD and/or data flow code out of imperative code.
- YeGoblynQueenne 9y ago>> It's currently hard for most people to get high-performance code out of a Prolog for average problem in programming. Hi nick. To my experience, this is not at all the case. Prolog was "slow" in the '70s, when nothing was as fast as C. Nowadays, it's not just the case anymore. Try a modern Prolog compiler like YAC, with tabling and everything. What kind of high-performance code were you trying to write, that didn't go as fast as you like? If it's something interesting I'm all for helping out.
- nickpsecurity 9y agoI mean in the sense of high-performance applications. I'm sure it's fast enough for average. Since other commenter mentioned SIMD, I'm going straight to examples to see what the speed is like. Good test cases would include a key-value store, web server of at least lighttpd complexity, game like Quake (esp interested in fps), top Prolog vs imperative engines for parsing/NLP, MP3 player, and so on. Stuff that taxes even imperative programs for speed. I'd love to see Prolog do those with similar speed (esp no pauses on real-time). Either of you have examples of such things? EDIT: And what's the story on concurrency in terms of safety and scaling?