On Sunday, 1 September 2013 at 20:27:22 UTC, Nick Sabalausky
wrote:
On Sun, 1 Sep 2013 23:20:37 +1000
Manu <[email protected]> wrote:
On 1 September 2013 17:46, Nick Sabalausky <
[email protected]> wrote:
> On Sun, 01 Sep 2013 06:45:48 +0200
> "Kapps" <[email protected]> wrote:
>
> > On Sunday, 1 September 2013 at 02:05:51 UTC, Manu wrote:
> > > One more thing:
> > > I'll just pick one language complaint from the weekend.
> > > It is how quickly classes became disorganised and
> > > difficult to
> > > navigate
> > > (like Java and C#).
> > > We all wanted to ability to define class member functions
> > > outside the class
> > > definition:
> > > class MyClass
> > > {
> > > void method();
> > > }
> > >
> > > void MyClass.method()
> > > {
> > > //...
> > > }
> > >
> > > It definitely cost us time simply trying to understand
> > > the
> > > class layout
> > > visually (ie, when IDE support is barely available).
> > > You don't need to see the function bodies in the class
> > > definition, you want
> > > to quickly see what a class has and does.
> >
> > This isn't something I've found to be an issue personally,
> > but I
> > suppose it's a matter of what you're used to. Since I'm
> > used to
> > C#, I haven't had problems with this. I've always felt
> > that this
> > was the IDE's job, personally. That being said, perhaps
> > .di files
> > could help with this?
>
> I see it as the job of doc generators.
>
Why complicate the issue? What's wrong with readable code?
I spent several years using C/C++ exclusively (and was happy
with it
at the time) and I still don't understand what's "readable"
about having
a class's members separate from the class itself. It's also a
non-DRY
maintenance PITA and one of the biggest reasons I left C/C++.
I don't like complicating things, and I like readable code.
That's
why I find C++-style class definitions intolerable.
I also hate them. It is always a pain to get back to C and C++
land with double
header and implementation files, specially after being spoiled
with languages that have proper module support.