September 01, 2013
On Sunday, 1 September 2013 at 02:05:51 UTC, Manu wrote:
> 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.

Uggh! I absolutely do not agree with this. You should rely on documentation or an IDE class overview for these things *not* alter the language. In lieu of IDE support just use ddoc comments for methods and properties and compile the documentation for each build.
September 01, 2013
On Sun, 01 Sep 2013 05:53:29 +0200, Jakob Ovrum <jakobovrum@gmail.com> wrote:

>> Yes, we hit DMD bugs, like the one with opaque structs which required
>> extensive work-arounds.
>>   struct MyStruct;
>>   MyStruct*[] = new MyStruct*[n];
>
> I'm not sure this is a bug. How do you default initialize an array of structs you don't know the .init values of?

An array of struct *pointers*. Fill it with nulls, I'd say.

-- 
Simen
September 01, 2013
On Sunday, 1 September 2013 at 02:05:51 UTC, Manu wrote:
> ...
>> </endrant>

Thought number one after reading "This is why I absolutely hate programming for Windows!" :) Was pretty happy with vim, grep, gdb and makefiles on Linux. Anyway, key problem (as far as I can see) here is that few of D developers have both experience and personal interest in any IDE/Windows focus as well as related tool stack. D has some nice flavor of anarchy - both like it and consider it a problem.
September 01, 2013
On Sunday, 1 September 2013 at 10:21:18 UTC, Jakob Ovrum wrote:
> On Sunday, 1 September 2013 at 09:46:08 UTC, Jacob Carlborg wrote:
>> That doesn't mean there aren't any IDE's out there with good support for autocompletion. The one in Eclipse for Java is fantastic. The one in Xcode 4+ for C/C++ and Objective-C/C++ is really good.
>
> Java is not a good comparison because it does not have any compile-time metaprogramming features to speak of.
>
> I've never used Xcode but how does it fare when faced with C++ template metaprogramming?
>

My understanding is that it uses libclang.
September 01, 2013
On Sunday, 1 September 2013 at 10:39:15 UTC, Simen Kjaeraas wrote:
> On Sun, 01 Sep 2013 05:53:29 +0200, Jakob Ovrum <jakobovrum@gmail.com> wrote:
>
>>> Yes, we hit DMD bugs, like the one with opaque structs which required
>>> extensive work-arounds.
>>>  struct MyStruct;
>>>  MyStruct*[] = new MyStruct*[n];
>>
>> I'm not sure this is a bug. How do you default initialize an array of structs you don't know the .init values of?
>
> An array of struct *pointers*. Fill it with nulls, I'd say.

I assumed that's the "work-around" he referred to. After testing I realize not even the pointers work. Yeah, that's clearly a bug.
September 01, 2013
On 9/1/2013 7:40 PM, Dicebot wrote:
> On Sunday, 1 September 2013 at 02:05:51 UTC, Manu wrote:
>> ...
>>> </endrant>
>
> Thought number one after reading "This is why I absolutely hate
> programming for Windows!" :) Was pretty happy with vim, grep, gdb and
> makefiles on Linux. Anyway, key problem (as far as I can see) here is
> that few of D developers have both experience and personal interest in
> any IDE/Windows focus as well as related tool stack. D has some nice
> flavor of anarchy - both like it and consider it a problem.

I have a batch file tied to a command prompt shortcut that always sets the D environment when I launch it. Updating DMD is a matter of deleting the old directory and unzipping the zip file. Editing is a matter of launching Sublime Text 2. Compiling is alt-tabbing to the command prompt and typing "dub build". It's a painless process and I never have any trouble. Of course, I don't try to use the MS tools, or build DMD myself. That way lies pain.
September 01, 2013
Manu:

> 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.

Having the pieces of a class spread is not something I'd like. So before changing this a discussion is needed.

Bye,
bearophile
September 01, 2013
On 9/1/13, Michel Fortin <michel.fortin@michelf.ca> wrote:
> So I'm no longer using D, but I'm still hanging around here from time to time because there's always something interesting to read.

That's a shame. But yeah, people should use what makes them productive and what brings food on the table, I can't judge you with that decision. The newsgroup is pretty entertaining to stay around though. :p
September 01, 2013
On 9/1/13, Jakob Ovrum <jakobovrum@gmail.com> wrote:
> I'm not sure this is a bug. How do you default initialize an array of structs you don't know the .init values of?

Note that this is an array of /pointers/ to opaque structs, so it's valid code.
September 01, 2013
On 2013-09-01 12:43, deadalnix wrote:

> My understanding is that it uses libclang.

Yes, and it can see through macros, templates and everything.

-- 
/Jacob Carlborg