Tango - shallower hierarchy (was: Phango - questions)

Marcin Kuszczak aarti_please_no at spam_interia.pl
Mon Nov 26 17:50:33 PST 2007


Marcin Kuszczak wrote:

> My propositions:
> 1. tango.util.collection --> tango.collection
> 2. tango.util.time --> tango.time
> 3. tango.util.Convert --> tango.convert.Convert
> 
> Basically I don't understand why e.g. collection is kind of util? For
> me "utility" is something more complex, and is similar in meaning to
> "tool" (something which is produced using basic components). "Utilities"
> is also used in meaning of "the rest; other things", so IMHO its also not
> best place for putting collection, time and conversion packages. All these
> packages represents very basic concepts in every programming language, so
> they probably deserve its own packages. (I am not native English speaker,
> so please forgive me if I misinterpreted something here :-])
> 
> Best Regards
> Marcin Kuszczak
> (aarti_pl - www.zapytajmnie.com)

Some more thoughts:

tango.core
- it seems to be another general aggregate type for different things like
tango.util. But I would expect modules should be very low level, commonly
used stuff (not complex as opposite to util). That said I wonder why there
is whole threading package in core? In what sense is threading 'core'? I
think that even on multicore machines it still be a lot of applications
which will be single threaded. What's more I found it counterintuitive:
when I want in my application threading support I would rather look for
tango.concurrency or tango.threading or tango.threads. In this package
should be also 'sync' package.

tango.io
- looks quite good for me. IO is coherent concept in tango, so that's why
there is so many different modules over there. But I would consider to
extract modules connected with files to another separate package.

tango.math
- looks ok.

tango.net
- putting cluster here I think is not best thing IMHO. Clustering seems to
be quite a different beast from http/ftp/smtp etc. Writing application for
http doesn't mean that I will need clusters. I understand that many
clusters just need network to work, but is it always true? I think that
there are cluster implementations which doesn't work in 'standard'
networks. I think that whole cluster package should be putted on main tango
level. BTW it will be good marketing for Tango - support for clusters in
standard library is really intriguing. What does mean tina in cluster
package? It is completely meaningless for newcomers - maybe some better
name would be more suitable?

tango.stdc
- ok

tango.sys
- ok

tango.text
- mostly ok; I would be happy to see all conversion modules in one package; 

tango.util
- comments in my previous post

-- 
Regards
Marcin Kuszczak (Aarti_pl)
-------------------------------------
Ask me why I believe in Jesus - http://zapytaj.dlajezusa.pl (en/pl)
Doost (port of few Boost libraries) - http://www.dsource.org/projects/doost/
-------------------------------------




More information about the Digitalmars-d mailing list