| Pointers are absolutely part of the average Haskell and Python work environment -- it's impossible to get reasonable performance without them. Of course, Python programmers like to stick the important parts in an extension module (written in C, naturally), close their eyes, and pretend they're not doing anything "unsafe". > It's not even like Haskell makes it trivial to mutate the pointers in a natively Von Neumann-esque manner. Haskell has a module specifically for manipulating pointers[1]. There's no inherent safety in using Haskell rather than C for pointer based code. > Monads don't count either. This sentence makes no sense, and makes me think you've never (or seldom) used Haskell before. > Example: how often have you seen unsafe C# code (pointers) used in a production web app? Somewhat often -- pointers are used in database adapter, template engines, graphics rendering, and any code which needs to call into foreign libraries. > Counterpart to the above: How often do you see pointers used in C? All the time That's because C is used in code where performance is absolutely critical, which demands having control over memory layout and management. Pointers aren't a symptom of using C -- using C is a result of needing pointers. [1] http://haskell.org/ghc/docs/latest/html/libraries/base-4.2.0... |
I think that making calls to functions implemented in C via the FFI would be more productive. I've never heard of anyone using pointers in Python for anything.
>This sentence makes no sense, and makes me think you've never (or seldom) used Haskell before.
Sure it does, performing an arbitrary mutation on an already known variable (location in memory) in Haskell is very intentionally non-trivial due to striving for purity as a functional language. (Copy rather than overwrite behavior as a default.)
>That's because C is used in code where performance is absolutely critical, which demands having control over memory layout and management. Pointers aren't a symptom of using C -- using C is a result of needing pointers.
Uh, the whole, "C only uses pointers for speed" thing is completely incorrect. All the experienced C programmers I know use pointers simply because they're the most direct and portable means of writing terse code that is still performant in spite of the brevity. I mentioned functors for a reason.
This is more pedantic than some of the conversations I've witnessed in ##C on Freenode, come on.
You're missing the point by a greater distance than Christopher Columbus missed the West Indies in the late 15th century.