Jump to page: 1 222  
Page
Thread overview
Moving back to .NET
Sep 20, 2015
Adam
Sep 20, 2015
anonymous
Sep 20, 2015
Walter Bright
Sep 20, 2015
anonymous2
Sep 21, 2015
bitwise
Sep 21, 2015
Walter Bright
Sep 21, 2015
bitwise
Sep 21, 2015
Walter Bright
Sep 20, 2015
Israel
Sep 21, 2015
Temtaime
Sep 21, 2015
Walter Bright
Sep 21, 2015
deadalnix
Sep 21, 2015
Adam D. Ruppe
Sep 22, 2015
Yazan D
Sep 21, 2015
default0
Sep 21, 2015
Sebastiaan Koppe
Sep 21, 2015
Sean Campbell
Sep 21, 2015
Rikki Cattermole
Sep 21, 2015
PovGuy
Sep 21, 2015
PovGuy
Sep 21, 2015
Maxim Fomin
Sep 22, 2015
Laeeth Isharc
Sep 22, 2015
Maxim Fomin
Sep 22, 2015
Chris
Sep 22, 2015
Maxim Fomin
Sep 22, 2015
Chris
Sep 22, 2015
Chris
Sep 22, 2015
ref2401
Sep 22, 2015
Maxim Fomin
Sep 22, 2015
Maxim Fomin
Sep 23, 2015
Kagamin
Sep 23, 2015
Chris
Sep 23, 2015
ponce
Sep 22, 2015
deadalnix
Sep 23, 2015
Chris
Sep 23, 2015
rumbu
Sep 23, 2015
Paolo Invernizzi
Sep 23, 2015
rumbu
Sep 23, 2015
Paolo Invernizzi
Sep 25, 2015
Bruno Medeiros
Sep 26, 2015
Paolo Invernizzi
Sep 23, 2015
Idan Arye
Sep 25, 2015
Jonathan M Davis
Sep 25, 2015
Sebastiaan Koppe
Sep 25, 2015
Rikki Cattermole
Sep 25, 2015
jdeath
Sep 25, 2015
Rikki Cattermole
Sep 25, 2015
Sebastiaan Koppe
Sep 25, 2015
Jonathan M Davis
Sep 25, 2015
Chris
Sep 25, 2015
rumbu
Sep 25, 2015
John Colvin
Sep 25, 2015
Jonathan M Davis
Sep 25, 2015
John Colvin
Sep 25, 2015
rumbu
Sep 25, 2015
Timon Gehr
Sep 25, 2015
rumbu
Oct 09, 2015
Dogbreath
Oct 09, 2015
Jonathan M Davis
Oct 12, 2015
Kagamin
Oct 12, 2015
Kagamin
Oct 12, 2015
Jonathan M Davis
Oct 12, 2015
Kagamin
Oct 12, 2015
Jonathan M Davis
Oct 14, 2015
Kagamin
Oct 14, 2015
Jonathan M Davis
Sep 25, 2015
Bruno Medeiros
Sep 25, 2015
rumbu
Sep 25, 2015
Rikki Cattermole
Sep 25, 2015
John Colvin
Sep 25, 2015
rumbu
Sep 25, 2015
John Colvin
Sep 25, 2015
Sönke Ludwig
Sep 25, 2015
ponce
Sep 25, 2015
Mike Parker
Sep 25, 2015
Jonathan M Davis
Sep 25, 2015
ponce
Sep 25, 2015
Kagamin
Sep 25, 2015
Jonathan M Davis
Sep 25, 2015
Kagamin
Sep 25, 2015
Jonathan M Davis
Sep 25, 2015
Idan Arye
Sep 25, 2015
Wyatt
Sep 26, 2015
Jonathan M Davis
Sep 25, 2015
Kagamin
Sep 25, 2015
jdeath
Sep 25, 2015
Chris
Sep 25, 2015
Kagamin
Sep 25, 2015
bachmeier
Sep 25, 2015
Bruno Medeiros
Sep 23, 2015
jdeath
Sep 25, 2015
Bruno Medeiros
Sep 25, 2015
Chris
Sep 25, 2015
David DeWitt
Sep 25, 2015
Chris
Sep 25, 2015
Laeeth Isharc
Sep 25, 2015
Chris
Sep 25, 2015
Laeeth Isharc
Sep 26, 2015
Laeeth Isharc
Sep 26, 2015
Laeeth Isharc
Sep 27, 2015
cym13
Sep 29, 2015
Laeeth Isharc
Sep 30, 2015
Laeeth Isharc
Sep 29, 2015
jmh530
Sep 30, 2015
Laeeth Isharc
Sep 28, 2015
Chris
Sep 29, 2015
John Colvin
Sep 29, 2015
Jonathan M Davis
Sep 29, 2015
Atila Neves
Sep 30, 2015
Walter Bright
Sep 30, 2015
H. S. Teoh
Sep 30, 2015
deadalnix
Sep 30, 2015
Jonathan M Davis
Sep 29, 2015
John Colvin
Sep 29, 2015
Chris
Sep 29, 2015
rumbu
Sep 30, 2015
Mike Parker
Sep 30, 2015
H. S. Teoh
Sep 30, 2015
ponce
Sep 30, 2015
rumbu
Sep 30, 2015
Kagamin
Sep 30, 2015
Adam D. Ruppe
Sep 30, 2015
rumbu
Sep 29, 2015
Chris
Sep 30, 2015
Laeeth Isharc
Oct 01, 2015
Chris
Oct 05, 2015
Jeremy
Oct 06, 2015
Chris
Oct 07, 2015
Kagamin
Oct 07, 2015
Kagamin
Oct 08, 2015
Kagamin
Oct 09, 2015
Kagamin
Oct 08, 2015
Chris
Oct 08, 2015
Chris
Oct 08, 2015
Chris
Oct 08, 2015
Chris
Oct 08, 2015
Chris
Oct 08, 2015
Freddy
Oct 08, 2015
Laeeth Isharc
Oct 09, 2015
Chris
Oct 09, 2015
rsw0x
Oct 09, 2015
Chris
Oct 08, 2015
Kagamin
Oct 09, 2015
Kagamin
Oct 08, 2015
Freddy
Sep 29, 2015
Chris
Sep 30, 2015
Laeeth Isharc
Sep 30, 2015
Kagamin
Sep 30, 2015
Kagamin
Sep 30, 2015
learn
Sep 30, 2015
Mengu
Sep 30, 2015
learn
Sep 30, 2015
Adam D. Ruppe
Oct 01, 2015
Kagamin
Sep 25, 2015
Chris
Sep 25, 2015
Kagamin
Sep 25, 2015
Laeeth Isharc
Sep 25, 2015
Kagamin
Sep 25, 2015
Laeeth Isharc
Sep 29, 2015
Kagamin
Sep 26, 2015
Jonathan M Davis
Sep 28, 2015
Chris
Sep 25, 2015
Bruno Medeiros
Sep 25, 2015
Laeeth Isharc
Sep 28, 2015
Bruno Medeiros
Sep 23, 2015
alienhunter3
Sep 24, 2015
rumbu
Sep 24, 2015
ZombineDev
Sep 24, 2015
rumbu
Sep 25, 2015
Bruno Medeiros
Sep 24, 2015
Mike Parker
Sep 24, 2015
Mike Parker
Sep 24, 2015
wobbles
Sep 25, 2015
Mike Parker
Sep 24, 2015
jmh530
Sep 24, 2015
Chris
Sep 30, 2015
Jan Johansson
Oct 07, 2015
Dejan Lekic
September 20, 2015
My experiences with D recently have not been fun.

The language itself has a top notch feature rich set. The implementation, excluding bugs, feels a bit boxy and old school. .NET has a unified approach and everything seems to fit together nicely and feels consistent. The abomination of dmd, though, is it's error messages. Most of them are meaningless and you have to dive down 2 or 3 levels of assumptions to figure out what they mean. It's not too bad but because of the poor tool set it makes it difficult to debug apps.

Visual D, a mighty attempt to bring some sanity to D in windows, is simply to unpolished to work well. It brings the looks of Visual Studio but not the feel of how VS works so well with .NET. I spend over an order of magnitude more time trying to fix D bugs than I do in .NET. Unfortunately this makes it infeasible to continue to use D.

For example, I build a ~10k line app in under a week in .NET, with gui and everything. In D I'm still working on getting the libraries build. Even with all the power D has, what good is it if you can't get off the starting line. Some will write this off making some assumption, So be it.

.NET is a bliss to work in, D is drudgery. If only MS would build a D compiler similar to what it has done with C#. No offense to all those who have worked hard on D, someone has to do it. For me, .NET is like heaven, D is like hell: It's almost exclusively due to the error messages and IDE. I know many here will write off such complaints, So be it.

My main concern with .NET is portability and performance. I am going to give in to the portability and just assume Mono is good enough. Performance wise, I'd prefer D, but .NET is performant enough for most apps. Maybe in a few years things will change, I can't wait that long. Sorry guys! (not that you will miss me)

Remember, no reason to have the sharpest sword if you can't wield it.

September 20, 2015
On 09/20/2015 01:32 PM, Adam wrote:
> For me, .NET is like heaven, D is like hell: It's almost exclusively due
> to the error messages and IDE.

Off the top of your head, can you list a few of the worst error messages you've encountered?

Also, what are the most important features VisualD is lacking?


Andrei

September 20, 2015
On Sunday 20 September 2015 19:39, Andrei Alexandrescu wrote:

> Off the top of your head, can you list a few of the worst error messages you've encountered?

Not Adam, but this is on the top of my head as it just happened:

http://stackoverflow.com/questions/32681660/compiler-thinks-enum-values-are-starting-at-129
September 20, 2015
On Sunday, 20 September 2015 at 17:39:46 UTC, Andrei Alexandrescu wrote:
> On 09/20/2015 01:32 PM, Adam wrote:
>> For me, .NET is like heaven, D is like hell: It's almost exclusively due
>> to the error messages and IDE.
>
> Off the top of your head, can you list a few of the worst error messages you've encountered?
>
> Also, what are the most important features VisualD is lacking?
>
>
> Andrei

my favourite:

void foo(ref int a) {}

void main() {
  foo(42);
}

DMD64 D Compiler v2.068.2-b1:
 Error: function a.foo (ref int a) is not callable using argument types (int)

Issue:
https://issues.dlang.org/show_bug.cgi?id=11529
maybe there are more related issues in the bug tracker.

Based on a quick look in the C++ frontend some time ago, this should be quite simple to fix by inserting a check for 'rvalue as ref'  before the error message is printed. At the moment I have no time to figure out how dmd works and to implement this. May there are some edge cases, too.
September 20, 2015
On 09/20/2015 01:46 PM, anonymous wrote:
> On Sunday 20 September 2015 19:39, Andrei Alexandrescu wrote:
>
>> Off the top of your head, can you list a few of the worst error messages
>> you've encountered?
>
> Not Adam, but this is on the top of my head as it just happened:
>
> http://stackoverflow.com/questions/32681660/compiler-thinks-enum-values-are-starting-at-129

Filed it here: https://issues.dlang.org/show_bug.cgi?id=15090 -- Andrei

September 20, 2015
On 9/20/2015 12:04 PM, Andrei Alexandrescu wrote:
> Filed it here: https://issues.dlang.org/show_bug.cgi?id=15090 -- Andrei

Fix: https://github.com/D-Programming-Language/dmd/pull/5106
September 20, 2015
On Sunday, 20 September 2015 at 17:32:53 UTC, Adam wrote:
> My experiences with D recently have not been fun.
>
> The language itself has a top notch feature rich set. The implementation, excluding bugs, feels a bit boxy and old school. .NET has a unified approach and everything seems to fit together nicely and feels consistent. The abomination of dmd, though, is it's error messages. Most of them are meaningless and you have to dive down 2 or 3 levels of assumptions to figure out what they mean. It's not too bad but because of the poor tool set it makes it difficult to debug apps.
>
> Visual D, a mighty attempt to bring some sanity to D in windows, is simply to unpolished to work well. It brings the looks of Visual Studio but not the feel of how VS works so well with .NET. I spend over an order of magnitude more time trying to fix D bugs than I do in .NET. Unfortunately this makes it infeasible to continue to use D.
>
> For example, I build a ~10k line app in under a week in .NET, with gui and everything. In D I'm still working on getting the libraries build. Even with all the power D has, what good is it if you can't get off the starting line.
>
> Remember, no reason to have the sharpest sword if you can't wield it.

The problem is that you seem to be accustomed to an IDE of which D is not tied to.
That would limit (as you put it) its portability. But at the same time you want a unified tool-set?

Ask any of the vim/emacs users here and they will tell you otherwise.
September 21, 2015
I also hate errors when a lambda contains some errors.

[ 1 ].countUntil!(a => a == undeclared_something);

Error: template std.algorithm.searching.countUntil cannot deduce function from argument types !((a) => a == undefined)(int[])
September 21, 2015
On Sunday, 20 September 2015 at 17:32:53 UTC, Adam wrote:
> Visual D, a mighty attempt to bring some sanity to D in windows, is simply to unpolished to work well. It brings the looks of Visual Studio but not the feel of how VS works so well with .NET. I spend over an order of magnitude more time trying to fix D bugs than I do in .NET. Unfortunately this makes it infeasible to continue to use D.
>
> For example, I build a ~10k line app in under a week in .NET, with gui and everything. In D I'm still working on getting the libraries build. Even with all the power D has, what good is it if you can't get off the starting line. Some will write this off making some assumption, So be it.
>
> .NET is a bliss to work in, D is drudgery. If only MS would build a D compiler similar to what it has done with C#. No offense to all those who have worked hard on D, someone has to do it. For me, .NET is like heaven, D is like hell: It's almost exclusively due to the error messages and IDE.

I know what he means about visual D, it can be quite difficult to work with and doesn't seem very polished. That being said xamarin studio with the mono-D plugin is just opposite, or at least in my own experience and it supports both windows and *NIX.
September 21, 2015
On Sunday, 20 September 2015 at 17:39:46 UTC, Andrei Alexandrescu wrote:
> Off the top of your head, can you list a few of the worst error messages you've encountered?

Fine in release mode, error in debug mode:

struct S { int value; }

void main(string[] args) {
    Array!S stuff = [S(3), S(1), S(2)];
    stuff[].sort!((ref S a, ref S b) => a.value < b.value);
}

std/range/package.d(7180,24): Error: 'std.range.SortedRange!(RangeT!(Array!(S)), __lambda2).SortedRange.dbgVerifySorted' is not nothrow
std/algorithm/sorting.d(982,29): Error: template instance std.range.assumeSorted!(__lambda2, RangeT!(Array!(S))) error instantiating
main.d(75,9):  instantiated from here: sort!(function (ref S a, ref S b) => a.value < b.value, cast(SwapStrategy)0, RangeT!(Array!(S)))

    Bit

« First   ‹ Prev
1 2 3 4 5 6 7 8 9 10 11