3 ms·
Sure you have full permalink support, but why do you have to rely on closure to do pagination ? My guess: because by relying on in-memory data-structures you c
by byroot 13y ago
Sure you have full permalink support, but why do you have to rely on closure to do pagination ?
My guess: because by relying on in-memory data-structures you can't do what any half assed php forum do, ad hoc queries.
- nostrademons 13y agoI suspect he doesn't have to rely on closures to do pagination: they're a programming convenience that means you don't have to do things like think about what state persists between pages. Anything you can do with SQL you can do with in-memory data structures. If you're interested, I'll be happy to take any SQL query and convert it to some Python list comprehensions on arrays of dicts.
- swah 13y agoSome statements like self-joins become relatively compact in SQL though... BTW, do you miss Java's more advanced structures (say MultiSet) when programming in Python/Go?
- nostrademons 13y agoPretty rarely, at least in Python. I don't miss MultiSet, because Python has that (collections.Counter). Ditto LinkedHashMap (collections.OrderedDict). Those are the two "extended" collections that I most often use. I do miss the absence of balanced binary trees occasionally, since sometimes it's useful to have an associative container with a defined iteration order, but sorted(dict) is usually good enough where performance is critical. And Python's heapq module is a bit harder to use than Java's PriorityQueues, but all the functionality is there. I think I'd miss these a bit more in Go because the built-in datatypes are privileges in some of the language statements, but I haven't written enough Go code to really feel their absence.
- byroot 13y ago> Anything you can do with SQL you can do with in-memory data structures. Sure, but unless you also do some indexing manually, you can't really query your whole dataset when it start to become too big.
- pg 13y agoBecause it's much cleaner and more powerful if the thing that generates the next page is a closure rather than just an index. Among other things it lets you show each user a different set of items (depending on whether they have showdead turned on for example).