5 ms·
I hate to call you out on this but look at the collection hierarchy and tell me its not complex. http://docs.scala-lang.org/resources/images/collections.mutabl
by dk8996 13y ago
I hate to call you out on this but look at the collection hierarchy and tell me its not complex.
http://docs.scala-lang.org/resources/images/collections.mutable.png http://docs.scala-lang.org/resources/images/collections.muta...
- thescrewdriver 13y agoDoesn't look very different from the equivalent diagram for Java. Have you seen how many different collection classes and interfaces there are in the Java standard libs? AbstractCollection AbstractList AbstractMap AbstractMap.SimpleEntry AbstractMap.SimpleImmutableEntry AbstractQueue AbstractSequentialList AbstractSet ArrayDeque ArrayList Arrays BitSet Collections Dictionary EnumMap EnumSet HashMap HashSet Hashtable IdentityHashMap LinkedHashMap LinkedHashSet LinkedList PriorityQueue Stack TreeMap TreeSet Vector WeakHashMap ArrayBlockingQueue ConcurrentHashMap ConcurrentLinkedDeque ConcurrentLinkedQueue ConcurrentSkipListMap ConcurrentSkipListSet CopyOnWriteArrayList CopyOnWriteArraySet DelayQueue LinkedBlockingDeque LinkedBlockingQueue LinkedTransferQueue PriorityBlockingQueue SynchronousQueue BlockingDeque BlockingQueue ConcurrentMap ConcurrentNavigableMap TransferQueue Collection Deque Iterator List ListIterator Map Map.Entry NavigableMap NavigableSet Queue RandomAccess Set SortedMap SortedSet I've worked with both Java and Scala collections classes for years and I strongly prefer the Scala collections. If you prefer the Java collections they work just fine from Scala too.
- kasey_junk 13y agoThat is just the "published" hierarchy as well. Paul Phillips likes to pick on the ParSeqViewLike trait, and if you ever find yourself delving into it, you'll see why.
- thescrewdriver 13y agoAs someone who actually writes production code in Scala on a daily basis Paul Pillips' "concerns" have had zero practical impact on my daily use of the language. I tried to find content in his presentations that actually had any impact on me but I couldn't.
- kasey_junk 13y agoAs someone who also writes production code in Scala on a daily basis, and who took exception to the idea that the Scala collections library was a good example of type programming, Paul Phillips' concerns are spot on. If you are using the collections library as example of how to structure your own code, you are in for a bad time. The abstractions are not right, and things like the silly ParSeqViewLike trait are an expression of that.
- thescrewdriver 13y agoIn day-to-day use I haven't run into any of these issues. Your mileage may vary.
- smrtinsert 13y agoI looked at it and understood it in a few seconds. What about it do you find complex? It looks like a well organized api to be honest.
- scott_s 13y agoWhat is wrong with that? There are three core data structure types (maps, sets, sequences), and variants of those depending on need. Most of these are standard data structures you would find in an undergrad textbook.