View previous topic :: View next topic |
Author |
Message |
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Sat May 22, 2004 1:58 am Post subject: Mango sucks ... |
|
|
Here's the place to voice gripes, misgivings, bogus functionality, design issues and everything else that bugs you about Mango ... |
|
Back to top |
|
|
brad Site Admin
Joined: 22 Feb 2004 Posts: 490 Location: Atlanta, GA USA
|
Posted: Sat May 22, 2004 9:49 am Post subject: |
|
|
What the hell was I thinking last night. Lots of drunk posts. Oh well, they're gone. _________________ I really like the vest! |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Sat May 22, 2004 9:52 am Post subject: |
|
|
You're a maniac Brad <g>
Just to get things rolling, here's a list of my current gripes:
1) I don't like having to explicitly import so many modules
2) Uri.d and Utils.d should be in the mango.io package rather than mango.server.util
3) conversion routines in mango.io.Token should be moved elsewhere
4) sprintf usage should be replaced with something more specific in mango.io.DisplayWriter
5) mango.io.ColumnWriter supports only left-alignment
6) HttpClient has limited support for cookies
7) SerializableRegistry requires a full class instance. Should perhaps take an ISerializableFactory instead?
8) Support for wide-chars is very limited
9) keep-alive is not supported in the HTTP server, although there are serious questions about the usefulness of such notions vis-a-vis servlets
10) currently no HTTPS support for the server
11) Cache elements often require casting. Templates would fix this, but I don't know if that's really appropriate either
12) I'm not wild about the C++ IO style (<< & >>), but perhaps it's better to cater to a wider audience?
- Kris |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Sun May 23, 2004 1:28 pm Post subject: |
|
|
Another gripe:
unittest.d is not a unit-test at all. Rather, it's primarily a bunch of semi-interactive examples. Mango really needs a decent self-checking unit-test. |
|
Back to top |
|
|
csauls
Joined: 27 Mar 2004 Posts: 278
|
Posted: Mon May 24, 2004 6:30 am Post subject: |
|
|
kris wrote: | 1) I don't like having to explicitly import so many modules |
You could try moving certain logical imports to public... like FileStyle in FileConduit, since anyone using FileConduit is almost definitely going to want FileStyle.
On another note, I'd also personally like to see better HTTP support since I'm thinking of using Mango for NeoMOO, with plans to integrate HTTP facilities into it. (Which would save some MOO-coders a lot of time writing web interface boilerplate.) _________________ Chris Nicholson-Sauls |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Mon May 24, 2004 10:53 am Post subject: |
|
|
csauls wrote: | You could try moving certain logical imports to public... like FileStyle in FileConduit, since anyone using FileConduit is almost definitely going to want FileStyle. |
That's a fine idea. I'll get on it, pronto.
csauls wrote: | On another note, I'd also personally like to see better HTTP support since I'm thinking of using Mango for NeoMOO, with plans to integrate HTTP facilities into it. (Which would save some MOO-coders a lot of time writing web interface boilerplate.) |
That sounds interesting. What did you have in mind vis-a-vis "better HTTP support"? IOW, what's currently missing that you'd need?
- Kris |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Mon May 24, 2004 3:57 pm Post subject: |
|
|
csauls wrote: | kris wrote: | 1) I don't like having to explicitly import so many modules |
You could try moving certain logical imports to public... like FileStyle in FileConduit, since anyone using FileConduit is almost definitely going to want FileStyle. |
Done. I exposed various imports as public; mostly the ones that are used as constructor arguments.
- Kris |
|
Back to top |
|
|
stonecobra
Joined: 25 May 2004 Posts: 48 Location: Rough and Ready, CA
|
Posted: Tue May 25, 2004 11:27 am Post subject: those damn comments |
|
|
All of those comments are getting in the way of my ability to read the code. It's like looking through a vertical shade
********************************* |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Tue May 25, 2004 2:18 pm Post subject: Re: those damn comments |
|
|
stonecobra wrote: | All of those comments are getting in the way of my ability to read the code. It's like looking through a vertical shade
********************************* |
LOL ... you mean all those lines of 79 '*' characters? It's a habit I got into long ago, and I'm now so old it's tough to change
Wanna' write a script to change them all to Java style? Oh, go on ... <g> |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Wed May 26, 2004 9:58 am Post subject: |
|
|
kris wrote: | 2) Uri.d and Utils.d should be in the mango.io package rather than mango.server.util |
Beta 7 fixes this, and FilePath takes advantage via a toUri() method
- Kris |
|
Back to top |
|
|
sean
Joined: 24 Jun 2004 Posts: 609 Location: Bay Area, CA
|
Posted: Thu Jun 24, 2004 3:46 pm Post subject: |
|
|
kris wrote: |
12) I'm not wild about the C++ IO style (<< & >>), but perhaps it's better to cater to a wider audience?
|
I'm not either, but it allows for one thing that would be otherwise lacking: invisible support for user-defined types, particularly when templates are involved. For example, say I have a function like this:
Code: |
template Print( Type ) {
void Print( OStream out, Type val ) {
// what if val is a UDT?
out.put( val );
// this will always work so long as the user has defined opShl for his class
out << val;
}
|
So unless someone can come up with a different solution, I think the C++ method may be necessary. I've been trying to think of one, but no luck so far. |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Thu Jun 24, 2004 6:39 pm Post subject: |
|
|
sean wrote: | kris wrote: |
12) I'm not wild about the C++ IO style (<< & >>), but perhaps it's better to cater to a wider audience?
|
I'm not either, but it allows for one thing that would be otherwise lacking: invisible support for user-defined types, particularly when templates are involved. For example, say I have a function like this:
Code: |
template Print( Type ) {
void Print( OStream out, Type val ) {
// what if val is a UDT?
out.put( val );
// this will always work so long as the user has defined opShl for his class
out << val;
}
|
So unless someone can come up with a different solution, I think the C++ method may be necessary. I've been trying to think of one, but no luck so far. |
Mango.io uses an Interface to bind any user-defined class directly to the IO system. In fact, it's the basis of the CompositeReader/Writer functions along with class serialization. I *think* that should work in all situations. I tried the rValue >>/<< initially (back in March, before it worked properly) and didn't like it at all. Really wish you'd take a much deeper look at mango.io Sean; perhaps you'd be converted too!
And if I see you copying that Interface resolution into std.streams I'll be pissed |
|
Back to top |
|
|
csauls
Joined: 27 Mar 2004 Posts: 278
|
Posted: Thu Jun 24, 2004 11:48 pm Post subject: |
|
|
kris wrote: | What did you have in mind vis-a-vis "better HTTP support"? IOW, what's currently missing that you'd need? |
Nothing hugely spectacular. Try to get up to HTTP/1.1, and get some kind of HTTPS support (since I'd prefer Neo's http_* functions bind secure ports). _________________ Chris Nicholson-Sauls |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Fri Jun 25, 2004 12:01 am Post subject: |
|
|
csauls wrote: | kris wrote: | What did you have in mind vis-a-vis "better HTTP support"? IOW, what's currently missing that you'd need? |
Nothing hugely spectacular. Try to get up to HTTP/1.1, and get some kind of HTTPS support (since I'd prefer Neo's http_* functions bind secure ports). |
You're right. I've looked at OpenSSL long enough to form an opinion and nothing more. I'd really prefer someone who has the relevant experience to take that one on, rather than screwing it up myself. I just don't have the experience with that side of things to do a good job in a reasonable amount of time. I had hoped, and still hope, that someone would be interested enough in that to adopt it.
Can you perhaps expound on exactly what you want from the http/1.1 spec please Chris? That would be really helpful
- Kris |
|
Back to top |
|
|
sean
Joined: 24 Jun 2004 Posts: 609 Location: Bay Area, CA
|
Posted: Fri Jun 25, 2004 12:46 pm Post subject: |
|
|
kris wrote: |
Mango.io uses an Interface to bind any user-defined class directly to the IO system. In fact, it's the basis of the CompositeReader/Writer functions along with class serialization. I *think* that should work in all situations. I tried the rValue >>/<< initially (back in March, before it worked properly) and didn't like it at all. Really wish you'd take a much deeper look at mango.io Sean; perhaps you'd be converted too! |
Once I finish with my std.stream changes I'm going to dive into Mango... but based on newsgroup talk I'm already being won over |
|
Back to top |
|
|
|