Thread overview | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
February 10, 2004 Why I don't like D | ||||
---|---|---|---|---|
| ||||
"It's a practical language for practical programmers who need to get the job done quickly, reliably, and leave behind maintainable, easy to understand code." This is a good example for why I don't like D. I like coding. I do it a lot in my freetime. I don't want to get the job done quickly. I want coding to be fun. "D is the culmination of decades of experience implementing compilers for many diverse languages, and attempting to construct large projects using those languages. D draws inspiration from those other languages (most especially C++) and tempers it with experience and real world practicality" Rigth. There is nothing new in D. Somebody said somethin like "if a language doesn't change the way you think it's not worth learning it", and D doesn't change anything. It just took some fatures of C++, some of C# and some of Eiffel. That's all, at least that's what it feels like. "C++ implements things like resizable arrays and string concatenation as part of the standard library, not as part of the core language. Not being part of the core language has several suboptimal consequences." If you want to know which suboptimal consequences it has you have to read the articel about D-"strings" (which are actualy simple array, which feels wrong in a oo-world. It feels much too technical, rather than natural.) Anyway, in this text you can read that D has a ~-operator to concatenate arrays (which feels unnatural, as you are used to only use it as a not in C-like languages). I don't get what this has to do with whether arrays are part of the language or the library. D can overload operators, so this isn't a plus. The next point is slicing. Why can't I implement slicing in a self written class? D-arrays can implicitly converted to a pointer of the same type. This isn't something special. You could write your own string class that allows implicit casts to char *. But implicit casts are considered as being bad. So this isn't a plus, too. Than "String Switch Statements". Can I do it with any arrays or only with arrays of chars. I hate inconsitency. If I can do it with any array, why can't I do it with a self written class, if I want it to be similar to an array (e.g. a list). As said I hate inconsitency, so this is another point why I don't like D and not a feature. But let's leave this string/array-topic. "Support multi-paradigm programming, i.e. at a minimum support imperative, structured, object oriented, and generic programming paradigms". But "C++ programmers tend to program in particular islands of the language, i.e. getting very proficient using certain features while avoiding other feature sets. While the code is usually portable from compiler to compiler, it can be hard to port it from programmer to programmer. A great strength of C++ is that it can support many radically different styles of programming - but in long term use, the overlapping and contradictory styles are a hindrance." D's philosophy is too complex for me in this case. I don't understand it. But how to like a thing, that you don't even understand? "The general look of D is like C and C++." As C is very ugly, this is plain stupid. Most people I talked to (not all) don't like C's general look. So I consider this as being bad. "This makes it easier to learn and port code to D." hmm, in C++ '=' means copy, in D it means sometimes reference assignment. Such very small differences will make it very hard to port code. "Transitioning from C/C++ to D should feel natural, the programmer will not have to learn an entirely new way of doing things." I like learning new stuff. I started with a simple Basic a long time ago. Than I learned C++, it was like "WOW". It was amazing. Everything was different. That was what I liked. Than I learned a bit Haskell and I had the same feeling. You can write three lines of code and they do the same thing that would need 50 lines of code in C++, without the feeling of a scripting language with over sepcialized features, that help in some cases but aren't usable in not that common cases. Than I learnd Objective-C and again it changed the way I thought was changed. Lisp was different again, ... . Than I leaned D and it was boring. "Who D is For [...] Those who decide the promise of C++ object oriented programming is not fulfilled due to the complexity of it." So it's for stupid people? Well these were some specific points mentioned in D's specification. But it's a more general feeling, that I can't describe. Sorry. |
February 10, 2004 Re: Why I don't like D | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthias Becker | Nobody says that you are wrong. But if D is just a little bit better than C or C++ it means progress and it should have its chance. Basic to D will be as fun as Basic to C. Even if not the perfect language I think is a step ahead. Coding should be fun, right; 1. coding with C is fun, but also in D. and 2. sometimes life is not a matter of fun but one of "to get the job done quickly, reliably, and leave behind maintenable..." as Walter states it. I agree with you, but searching only "the Morgana girl" (??? is it ok in English???) or the Arcadia (Nirvana) is sometimes just an endless quest. In article <c0afm3$nfg$1@digitaldaemon.com>, Matthias Becker says... > >"It's a practical language for practical programmers who need to get the job done quickly, reliably, and leave behind maintainable, easy to understand code." > >This is a good example for why I don't like D. I like coding. I do it a lot in my freetime. I don't want to get the job done quickly. I want coding to be fun. > > >"D is the culmination of decades of experience implementing compilers for many diverse languages, and attempting to construct large projects using those languages. D draws inspiration from those other languages (most especially C++) and tempers it with experience and real world practicality" > >Rigth. There is nothing new in D. Somebody said somethin like "if a language doesn't change the way you think it's not worth learning it", and D doesn't change anything. It just took some fatures of C++, some of C# and some of Eiffel. That's all, at least that's what it feels like. > > > >"C++ implements things like resizable arrays and string concatenation as part of the standard library, not as part of the core language. Not being part of the core language has several suboptimal consequences." > >If you want to know which suboptimal consequences it has you have to read the >articel about D-"strings" (which are actualy simple array, which feels wrong in >a oo-world. It feels much too technical, rather than natural.) >Anyway, in this text you can read that D has a ~-operator to concatenate arrays >(which feels unnatural, as you are used to only use it as a not in C-like >languages). I don't get what this has to do with whether arrays are part of the >language or the library. D can overload operators, so this isn't a plus. The >next point is slicing. Why can't I implement slicing in a self written class? >D-arrays can implicitly converted to a pointer of the same type. This isn't >something special. You could write your own string class that allows implicit >casts to char *. But implicit casts are considered as being bad. So this isn't a >plus, too. >Than "String Switch Statements". Can I do it with any arrays or only with arrays >of chars. I hate inconsitency. If I can do it with any array, why can't I do it >with a self written class, if I want it to be similar to an array (e.g. a list). >As said I hate inconsitency, so this is another point why I don't like D and not >a feature. > > > >But let's leave this string/array-topic. >"Support multi-paradigm programming, i.e. at a minimum support imperative, >structured, object oriented, and generic programming paradigms". But "C++ >programmers tend to program in particular islands of the language, i.e. getting >very proficient using certain features while avoiding other feature sets. While >the code is usually portable from compiler to compiler, it can be hard to port >it from programmer to programmer. A great strength of C++ is that it can support >many radically different styles of programming - but in long term use, the >overlapping and contradictory styles are a hindrance." >D's philosophy is too complex for me in this case. I don't understand it. But >how to like a thing, that you don't even understand? > > >"The general look of D is like C and C++." >As C is very ugly, this is plain stupid. Most people I talked to (not all) don't >like C's general look. So I consider this as being bad. >"This makes it easier to learn and port code to D." >hmm, in C++ '=' means copy, in D it means sometimes reference assignment. Such >very small differences will make it very hard to port code. > > >"Transitioning from C/C++ to D should feel natural, the programmer will not have to learn an entirely new way of doing things." > >I like learning new stuff. I started with a simple Basic a long time ago. Than I learned C++, it was like "WOW". It was amazing. Everything was different. That was what I liked. Than I learned a bit Haskell and I had the same feeling. You can write three lines of code and they do the same thing that would need 50 lines of code in C++, without the feeling of a scripting language with over sepcialized features, that help in some cases but aren't usable in not that common cases. Than I learnd Objective-C and again it changed the way I thought was changed. Lisp was different again, ... . Than I leaned D and it was boring. > > > >"Who D is For [...] Those who decide the promise of C++ object oriented >programming is not fulfilled due to the complexity of it." >So it's for stupid people? > > > > > >Well these were some specific points mentioned in D's specification. But it's a more general feeling, that I can't describe. Sorry. > > |
February 10, 2004 Re: Why I don't like D | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthias Becker | ok, I'll bite. | "It's a practical language for practical programmers who need to get the job | done quickly, reliably, and leave behind maintainable, easy to understand code." [snip] | I like learning new stuff. I started with a simple Basic a long time ago. Than I | learned C++, it was like "WOW". It was amazing. Everything was different. That | was what I liked. Than I learned a bit Haskell and I had the same feeling. You | can write three lines of code and they do the same thing that would need 50 | lines of code in C++, without the feeling of a scripting language with over | sepcialized features, that help in some cases but aren't usable in not that | common cases. Than I learnd Objective-C and again it changed the way I thought | was changed. Lisp was different again, ... . Than I leaned D and it was boring. [snip] You'll notice that the first quote didn't include being "not boring" (though I don't find it boring anyway). The goal isn't to be "amazing" - it's to be practical. I don't know what you are looking for in a language - I guess you look for new ideas - but for me this is exactly what I'm looking for. Without getting into a detailed argument about the other points you make, my general impression is that you seem to expect D to be much more like C++ than it is. -Ben |
February 10, 2004 Re: Why I don't like D | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthias Becker | Comments embedded. Matthias Becker wrote: > "It's a practical language for practical programmers who need to get the job > done quickly, reliably, and leave behind maintainable, easy to understand code." > > This is a good example for why I don't like D. I like coding. I do it a lot in > my freetime. I don't want to get the job done quickly. I want coding to be fun. > So do I. I like D because it lets me write code instead of bending over backwards to make the C++ compiler happy. > > "D is the culmination of decades of experience implementing compilers for many > diverse languages, and attempting to construct large projects using those > languages. D draws inspiration from those other languages (most especially C++) > and tempers it with experience and real world practicality" > > Rigth. There is nothing new in D. Somebody said somethin like "if a language > doesn't change the way you think it's not worth learning it", and D doesn't > change anything. It just took some fatures of C++, some of C# and some of > Eiffel. That's all, at least that's what it feels like. Some languages are simply incremental improvements on what has come before. C++, Java, and C# all fall into this category. So does D. It's merely a matter of how much you like the designers decision of how to comingle all those concepts. > > But let's leave this string/array-topic. > "Support multi-paradigm programming, i.e. at a minimum support imperative, > structured, object oriented, and generic programming paradigms". But "C++ > programmers tend to program in particular islands of the language, i.e. getting > very proficient using certain features while avoiding other feature sets. While > the code is usually portable from compiler to compiler, it can be hard to port > it from programmer to programmer. A great strength of C++ is that it can support > many radically different styles of programming - but in long term use, the > overlapping and contradictory styles are a hindrance." > D's philosophy is too complex for me in this case. I don't understand it. But > how to like a thing, that you don't even understand? > It means that a programmer should be able to know D in its entirety. The C++ spec is about 700 pages, as I understand it. People tend to learn pieces of C++ well, and use those pieces exclusively. The result is programmers who have difficulty reading code written by others. > > "The general look of D is like C and C++." > As C is very ugly, this is plain stupid. Most people I talked to (not all) don't > like C's general look. So I consider this as being bad. > "This makes it easier to learn and port code to D." > hmm, in C++ '=' means copy, in D it means sometimes reference assignment. Such > very small differences will make it very hard to port code. > No matter what the syntax looks like, someone will call it ugly. You just can't please everyone. :) I don't think the reference semantics are a big deal. Java coders get along just fine. > > "Transitioning from C/C++ to D should feel natural, the programmer will not have > to learn an entirely new way of doing things." > > I like learning new stuff. I started with a simple Basic a long time ago. Than I > learned C++, it was like "WOW". It was amazing. Everything was different. That > was what I liked. Than I learned a bit Haskell and I had the same feeling. You > can write three lines of code and they do the same thing that would need 50 > lines of code in C++, without the feeling of a scripting language with over > sepcialized features, that help in some cases but aren't usable in not that > common cases. Than I learnd Objective-C and again it changed the way I thought > was changed. Lisp was different again, ... . Than I leaned D and it was boring. > I felt quite the opposite. I thought (and still think) that writing D is like writing C++, except without having to do all the memory babysitting or compiler appeasing. (or like writing Java without being crammed into Sun's idea of what prototypical OO code should be) > > > "Who D is For [...] Those who decide the promise of C++ object oriented > programming is not fulfilled due to the complexity of it." > So it's for stupid people? > Quite the contrary: lazy programmers are usually smart programmers. ;) > > Well these were some specific points mentioned in D's specification. But it's a > more general feeling, that I can't describe. Sorry. > A lot of the people coming to D are frustrated with C++'s complexity. Different perspectives are good. :) -- andy |
February 10, 2004 Re: Why I don't like D | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andy Friesen | I totally agree with andy. the only the thing i dont like about D is its name. In article <c0aqqs$18sv$1@digitaldaemon.com>, Andy Friesen says... > >Comments embedded. > >Matthias Becker wrote: > >> "It's a practical language for practical programmers who need to get the job done quickly, reliably, and leave behind maintainable, easy to understand code." >> >> This is a good example for why I don't like D. I like coding. I do it a lot in my freetime. I don't want to get the job done quickly. I want coding to be fun. >> > >So do I. I like D because it lets me write code instead of bending over backwards to make the C++ compiler happy. > >> >> "D is the culmination of decades of experience implementing compilers for many diverse languages, and attempting to construct large projects using those languages. D draws inspiration from those other languages (most especially C++) and tempers it with experience and real world practicality" >> >> Rigth. There is nothing new in D. Somebody said somethin like "if a language doesn't change the way you think it's not worth learning it", and D doesn't change anything. It just took some fatures of C++, some of C# and some of Eiffel. That's all, at least that's what it feels like. > >Some languages are simply incremental improvements on what has come before. C++, Java, and C# all fall into this category. So does D. It's merely a matter of how much you like the designers decision of how to comingle all those concepts. > >> >> But let's leave this string/array-topic. >> "Support multi-paradigm programming, i.e. at a minimum support imperative, >> structured, object oriented, and generic programming paradigms". But "C++ >> programmers tend to program in particular islands of the language, i.e. getting >> very proficient using certain features while avoiding other feature sets. While >> the code is usually portable from compiler to compiler, it can be hard to port >> it from programmer to programmer. A great strength of C++ is that it can support >> many radically different styles of programming - but in long term use, the >> overlapping and contradictory styles are a hindrance." >> D's philosophy is too complex for me in this case. I don't understand it. But >> how to like a thing, that you don't even understand? >> > >It means that a programmer should be able to know D in its entirety. The C++ spec is about 700 pages, as I understand it. People tend to learn pieces of C++ well, and use those pieces exclusively. The result is programmers who have difficulty reading code written by others. > >> >> "The general look of D is like C and C++." >> As C is very ugly, this is plain stupid. Most people I talked to (not all) don't >> like C's general look. So I consider this as being bad. >> "This makes it easier to learn and port code to D." >> hmm, in C++ '=' means copy, in D it means sometimes reference assignment. Such >> very small differences will make it very hard to port code. >> > >No matter what the syntax looks like, someone will call it ugly. You just can't please everyone. :) > >I don't think the reference semantics are a big deal. Java coders get along just fine. > >> >> "Transitioning from C/C++ to D should feel natural, the programmer will not have to learn an entirely new way of doing things." >> >> I like learning new stuff. I started with a simple Basic a long time ago. Than I learned C++, it was like "WOW". It was amazing. Everything was different. That was what I liked. Than I learned a bit Haskell and I had the same feeling. You can write three lines of code and they do the same thing that would need 50 lines of code in C++, without the feeling of a scripting language with over sepcialized features, that help in some cases but aren't usable in not that common cases. Than I learnd Objective-C and again it changed the way I thought was changed. Lisp was different again, ... . Than I leaned D and it was boring. >> > >I felt quite the opposite. I thought (and still think) that writing D is like writing C++, except without having to do all the memory babysitting or compiler appeasing. (or like writing Java without being crammed into Sun's idea of what prototypical OO code should be) > >> >> >> "Who D is For [...] Those who decide the promise of C++ object oriented >> programming is not fulfilled due to the complexity of it." >> So it's for stupid people? >> > >Quite the contrary: lazy programmers are usually smart programmers. ;) > >> >> Well these were some specific points mentioned in D's specification. But it's a more general feeling, that I can't describe. Sorry. >> > >A lot of the people coming to D are frustrated with C++'s complexity. Different perspectives are good. :) > > -- andy |
February 10, 2004 Re: Why I don't like D | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthias Becker | In article <c0afm3$nfg$1@digitaldaemon.com>, Matthias Becker says... Thank you for letting us know. Many would just leave never enriching our experience with their point of view. (ok sounds corny you try to say that in your second language) [sniped] > >I like learning new stuff. I started with a simple Basic a long time ago. Than I learned C++, it was like "WOW". It was amazing. Everything was different. That was what I liked. Than I learned a bit Haskell and I had the same feeling. You can write three lines of code and they do the same thing that would need 50 lines of code in C++, without the feeling of a scripting language with over sepcialized features, that help in some cases but aren't usable in not that common cases. Than I learnd Objective-C and again it changed the way I thought was changed. Lisp was different again, ... . Than I leaned D and it was boring. > > you say: "like learning", "different", "changed the way I thought", "different again"... that's the problem. If you actully wanted to create something (not saying you don't, just remember a progaming language is suppose to let you solve your problem not being a game) you would see why D has it's place amoung all the other languages. I share your concerns (for lack of a better word) on the OO support but I believe a full OO library will have to the build somehow (maybe we will loose the swich on string - small detail). Of course D is not perfect. This last few months with D, making suggestions and seeing how D evolved made me sure that to have a perfect language you have to write your own. BTW I don't know if you forgot but on all the languages you listed you are missing assembler, try it, you'll like it (I don't know about the intel 386 though... try to check which is the best one but choose one that you actually have the hardware support) Ant |
February 10, 2004 Re: Why I don't like D | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthias Becker | > This is a good example for why I don't like D. I like coding. I do it a lot in > my freetime. I don't want to get the job done quickly. I want coding to be fun. You're latent masochist. ;) Practical programmer has fun not writing the code, but implementing ideas, and has ultimate fun when it finally works. > > Rigth. There is nothing new in D. Somebody said somethin like "if a language > doesn't change the way you think it's not worth learning it", and D doesn't > change anything. It just took some fatures of C++, some of C# and some of Eiffel. That's all, at least that's what it feels like. > I can hardly remember any language in last decade which does really change something. If you want to change a way you think you need to learn logic and functional programming. And believe me any modern functional language isn't really something new. D was designed to be native code Java/C# and in this area it doesn't have much competition. > > If you want to know which suboptimal consequences it has you have to read the > articel about D-"strings" (which are actualy simple array, which feels wrong in > a oo-world. It feels much too technical, rather than natural.) You are wrong. Representing string as Object is technical too, its not natural at all. What's so natural is in representing text as a bunch of string Objects, which are by nature not connected with text's meaning, etc. Representing string as array gives you understanding of what it really is - simple array of characters. > Than "String Switch Statements". Can I do it with any arrays or only with arrays > of chars. I hate inconsitency. If I can do it with any array, why can't I do it > with a self written class, if I want it to be similar to an array (e.g. a list). > As said I hate inconsitency, so this is another point why I don't like D and not > a feature. Well that's the only point I do agree. > D's philosophy is too complex for me in this case. I don't understand it. But > how to like a thing, that you don't even understand? That's your problem. Why should anyone learn that you don't understand nor like it? This info is redundant. > As C is very ugly, this is plain stupid. Most people I talked to (not all) don't > like C's general look. So I consider this as being bad. So why are you still ranting here? Do you reallly suppose D will go 180 degrees back or what!? C is not ugly, but ugly are the people who do not understand the natural flow of life. > I like learning new stuff. I started with a simple Basic a long time ago. Than I > learned C++, it was like "WOW". It was amazing. Everything was different. That > was what I liked. Than I learned a bit Haskell and I had the same feeling. You > was changed. Lisp was different again, ... . Than I leaned D and it was boring. Then skip it. Or go back and learn a little more. You're looking like a novice student. D wasn't made for amazement. Furthermore if you'll learn some more functional/logic programming I think you'll completely stick to it, unless you need some practical programming to be done. Personally I like to learn new stuff too. Well I have learned a bit more than you (and probably there are people who learned a lot more here), but finally I was bored by neverending quest for programming knowledge. It all ended up with a ton of compilers all over my disk, numerous small programs in more than 20 languages written by me and OVERALL FRUSTRATION. I can write a hundred-page text with rant like "what's so bad in it!" about any language you can possibly name. That doesn't change anything. You should stop sometime learning new stuff and start doing something really significant. By accident you will find out that all the stuff you learned before is plain pathetic. |
February 10, 2004 Re: Why I don't like D | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthias Becker | Matthias Becker wrote: > This is a good example for why I don't like D. I like coding. I do it a lot in > my freetime. I don't want to get the job done quickly. I want coding to be fun. No risk, no fun? Missing lengthy debugging orgies? :> > "D is the culmination of decades of experience implementing compilers for many > diverse languages, and attempting to construct large projects using those > languages. D draws inspiration from those other languages (most especially C++) > and tempers it with experience and real world practicality" > > Rigth. There is nothing new in D. Somebody said somethin like "if a language > doesn't change the way you think it's not worth learning it", and D doesn't > change anything. It just took some fatures of C++, some of C# and some of > Eiffel. That's all, at least that's what it feels like. The combination makes it new. Eiffel was innovative but increasingly unusable. C# ripped off from us, among others. C++ lacks of features but the user may substitute cludges for many cases. D drastically reduces the code size requiered to accomplish a task, which also makes code easier to work with. > "C++ implements things like resizable arrays and string concatenation as part of > the standard library, not as part of the core language. Not being part of the > core language has several suboptimal consequences." > > If you want to know which suboptimal consequences it has you have to read the > articel about D-"strings" (which are actualy simple array, which feels wrong in > a oo-world. It feels much too technical, rather than natural.) > Anyway, in this text you can read that D has a ~-operator to concatenate arrays > (which feels unnatural, as you are used to only use it as a not in C-like > languages). I don't get what this has to do with whether arrays are part of the > language or the library. D can overload operators, so this isn't a plus. The > next point is slicing. Why can't I implement slicing in a self written class? D-arrays can implicitly converted to a pointer of the same type. This isn't > something special. You could write your own string class that allows implicit > casts to char *. But implicit casts are considered as being bad. So this isn't a > plus, too. D strings don't quite cut the string semantics. This is something to be healed from a standard library. However, real arrays profit to any other use, including string processing. The ~ operator is important, since it allows to keep + free to later mean memberwise addition. In general, this memberwise operations on the whole array would allow to later trivially write an optimizing compiler which uses up SIMD instruction sets, thus boosting D to a different performance level than most C++ compilers. And i thought there was opSlice overload in the spec? If it doesn't work, report it as a bug. C++ is very technical, D is almost as technical as C++, but allows for higher absraction levels. This reminds me, i wanted to write an article explaining where C++ object system is broken, where D has gotten it better and why, and point out one point which has to be heeled in D. > Than "String Switch Statements". Can I do it with any arrays or only with arrays > of chars. I hate inconsitency. If I can do it with any array, why can't I do it > with a self written class, if I want it to be similar to an array (e.g. a list). > As said I hate inconsitency, so this is another point why I don't like D and not > a feature. Switch statement should work on everything which has toHash defined. > But let's leave this string/array-topic. > "Support multi-paradigm programming, i.e. at a minimum support imperative, > structured, object oriented, and generic programming paradigms". But "C++ > programmers tend to program in particular islands of the language, i.e. getting > very proficient using certain features while avoiding other feature sets. While > the code is usually portable from compiler to compiler, it can be hard to port > it from programmer to programmer. A great strength of C++ is that it can support > many radically different styles of programming - but in long term use, the > overlapping and contradictory styles are a hindrance." > D's philosophy is too complex for me in this case. I don't understand it. But > how to like a thing, that you don't even understand? What exactly is too complex? There should be a well-defined way to accomplish every task. When language constructs match semantics, every new programmer feels like at home with the code. This has already been one of the major advantages of e.g. Delphi. > "The general look of D is like C and C++." > As C is very ugly, this is plain stupid. Most people I talked to (not all) don't > like C's general look. So I consider this as being bad. > "This makes it easier to learn and port code to D." > hmm, in C++ '=' means copy, in D it means sometimes reference assignment. Such > very small differences will make it very hard to port code. It is not feasible to port C++ code, but C code can be copied over with changes which are easy to search for. There are tons of tiny snippets which people like to reuse, so while systems cannot be easily moved into D (they should be not ported, but connected), the snippets retain their validity. I agree that C syntax is flawed. But unfortunately, most people are too narrow-minded to get past learning a new syntax (probably because C was such a pain that they are afraid :> ), and since we intend D to become generally popular, in the industry, and everywhere, this would (sadly) stay the major selling point. There is nothing that can be done with it. I am also a fan of langages of another breed, but seeing that they have no perspective i keep to D. > "Transitioning from C/C++ to D should feel natural, the programmer will not have > to learn an entirely new way of doing things." > > I like learning new stuff. I started with a simple Basic a long time ago. Than I > learned C++, it was like "WOW". It was amazing. Everything was different. That > was what I liked. Than I learned a bit Haskell and I had the same feeling. You > can write three lines of code and they do the same thing that would need 50 > lines of code in C++, without the feeling of a scripting language with over > sepcialized features, that help in some cases but aren't usable in not that > common cases. Than I learnd Objective-C and again it changed the way I thought > was changed. Lisp was different again, ... . Than I leaned D and it was boring. We don't force you. If you don't like it go away or give us an idea of how to improve it. The advantages of D lie in detail. But they would allow to massively reduce the strain on a programmer who makes himself aquainted with the features, and make systems more provably robust, easier to integrate and change. > "Who D is For [...] Those who decide the promise of C++ object oriented > programming is not fulfilled due to the complexity of it." > So it's for stupid people? Wait! You just said D was too complex for you! C++ complexity is not so structural - D contains many more constructs and could thus be considered more complex. C++ complexity is from often unnatural interaction of features. Just go and read any serious article on, e.g. exception safety. Maybe on unsafe upcasting and by-value vs. by-reference vs. by-pointer. Maybe on threads. Maybe on extending STL and where you may run over trouble. Maybe of incompatibe proxy objects. Too many topics too list up. Though this is all written, this is from experience of 100s of people, and no single person would be able to foresee any possible consequence from this or another code snippet in a system large enough. So rules need to be set, limiting the language, which tend to be broken... D offers an in-language solution to many problems, and we target more. Which means setting a syntax apart for this or another solution. For me, D offers me a possibility to say what i mean instaed of thinking of remote consequnces. So it *does* change the way of programming, as compared to C++ at least. Not to say that i actually adore C++ for some purposes, but i find D better for most use. > Well these were some specific points mentioned in D's specification. But it's a > more general feeling, that I can't describe. Sorry. You are tired of learning programming languages which you don't use. :> -eye |
February 10, 2004 Re: Why I don't like D | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthias Becker | Hey, It seems the people that like d have the same things in mind. :) I personally really enjoy programming but like you I also don't want to be done quick, I want to program. Now here is my solution to that problem when working with d. I just take on bigger tasks :). The simpler the language the bigger the project that I want to work on. I end up spending the same about of time but I have more to say about my accomplishment: asm -> hello world c++ -> scene manager d -> the whole damn video game. :) Later, Ben "Matthias Becker" <Matthias_member@pathlink.com> wrote in message news:c0afm3$nfg$1@digitaldaemon.com... > "It's a practical language for practical programmers who need to get the job > done quickly, reliably, and leave behind maintainable, easy to understand code." > > This is a good example for why I don't like D. I like coding. I do it a lot in > my freetime. I don't want to get the job done quickly. I want coding to be fun. > > > "D is the culmination of decades of experience implementing compilers for many > diverse languages, and attempting to construct large projects using those languages. D draws inspiration from those other languages (most especially C++) > and tempers it with experience and real world practicality" > > Rigth. There is nothing new in D. Somebody said somethin like "if a language > doesn't change the way you think it's not worth learning it", and D doesn't > change anything. It just took some fatures of C++, some of C# and some of Eiffel. That's all, at least that's what it feels like. > > > > "C++ implements things like resizable arrays and string concatenation as part of > the standard library, not as part of the core language. Not being part of the > core language has several suboptimal consequences." > > If you want to know which suboptimal consequences it has you have to read the > articel about D-"strings" (which are actualy simple array, which feels wrong in > a oo-world. It feels much too technical, rather than natural.) > Anyway, in this text you can read that D has a ~-operator to concatenate arrays > (which feels unnatural, as you are used to only use it as a not in C-like languages). I don't get what this has to do with whether arrays are part of the > language or the library. D can overload operators, so this isn't a plus. The > next point is slicing. Why can't I implement slicing in a self written class? > D-arrays can implicitly converted to a pointer of the same type. This isn't > something special. You could write your own string class that allows implicit > casts to char *. But implicit casts are considered as being bad. So this isn't a > plus, too. > Than "String Switch Statements". Can I do it with any arrays or only with arrays > of chars. I hate inconsitency. If I can do it with any array, why can't I do it > with a self written class, if I want it to be similar to an array (e.g. a list). > As said I hate inconsitency, so this is another point why I don't like D and not > a feature. > > > > But let's leave this string/array-topic. > "Support multi-paradigm programming, i.e. at a minimum support imperative, > structured, object oriented, and generic programming paradigms". But "C++ > programmers tend to program in particular islands of the language, i.e. getting > very proficient using certain features while avoiding other feature sets. While > the code is usually portable from compiler to compiler, it can be hard to port > it from programmer to programmer. A great strength of C++ is that it can support > many radically different styles of programming - but in long term use, the > overlapping and contradictory styles are a hindrance." > D's philosophy is too complex for me in this case. I don't understand it. But > how to like a thing, that you don't even understand? > > > "The general look of D is like C and C++." > As C is very ugly, this is plain stupid. Most people I talked to (not all) don't > like C's general look. So I consider this as being bad. > "This makes it easier to learn and port code to D." > hmm, in C++ '=' means copy, in D it means sometimes reference assignment. Such > very small differences will make it very hard to port code. > > > "Transitioning from C/C++ to D should feel natural, the programmer will not have > to learn an entirely new way of doing things." > > I like learning new stuff. I started with a simple Basic a long time ago. Than I > learned C++, it was like "WOW". It was amazing. Everything was different. That > was what I liked. Than I learned a bit Haskell and I had the same feeling. You > can write three lines of code and they do the same thing that would need 50 > lines of code in C++, without the feeling of a scripting language with over > sepcialized features, that help in some cases but aren't usable in not that > common cases. Than I learnd Objective-C and again it changed the way I thought > was changed. Lisp was different again, ... . Than I leaned D and it was boring. > > > > "Who D is For [...] Those who decide the promise of C++ object oriented > programming is not fulfilled due to the complexity of it." > So it's for stupid people? > > > > > > Well these were some specific points mentioned in D's specification. But it's a > more general feeling, that I can't describe. Sorry. > > |
February 10, 2004 Re: Why I don't like D | ||||
---|---|---|---|---|
| ||||
Posted in reply to Alex A. B. | Well said , I agree with all of your points ( Alex ). >Than I >learned C++, it was like "WOW". It was amazing. Everything was different. That >was what I liked. Than I learned a bit Haskell and I had the same feeling. You >can write three lines of code and they do the same thing that would need 50 lines of code in C++, without the feeling of a scripting language with over sepcialized features, that help in some cases but aren't usable in not that common cases. Than I learnd Objective-C and again it changed the way I thought And after all this learning , when are you going to put it to use ?? C "Alex A. B." <freshmind@fromru.com> wrote in message news:c0b14b$1iqj$1@digitaldaemon.com... > > > This is a good example for why I don't like D. I like coding. I do it a > lot in > > my freetime. I don't want to get the job done quickly. I want coding to be > fun. > > You're latent masochist. ;) > > Practical programmer has fun not writing the code, but implementing ideas, and has ultimate fun when it finally works. > > > > > Rigth. There is nothing new in D. Somebody said somethin like "if a > language > > doesn't change the way you think it's not worth learning it", and D > doesn't > > change anything. It just took some fatures of C++, some of C# and some of > > Eiffel. That's all, at least that's what it feels like. > > > > I can hardly remember any language in last decade which does really change > something. > If you want to change a way you think you need to learn logic and functional > programming. > And believe me any modern functional language isn't really something new. > D was designed to be native code Java/C# and in this area it doesn't have > much competition. > > > > > If you want to know which suboptimal consequences it has you have to read > the > > articel about D-"strings" (which are actualy simple array, which feels > wrong in > > a oo-world. It feels much too technical, rather than natural.) > > You are wrong. Representing string as Object is technical too, its not > natural at all. > What's so natural is in representing text as a bunch of string Objects, > which are by > nature not connected with text's meaning, etc. Representing string as array > gives > you understanding of what it really is - simple array of characters. > > > Than "String Switch Statements". Can I do it with any arrays or only with > arrays > > of chars. I hate inconsitency. If I can do it with any array, why can't I > do it > > with a self written class, if I want it to be similar to an array (e.g. a > list). > > As said I hate inconsitency, so this is another point why I don't like D > and not > > a feature. > > Well that's the only point I do agree. > > > > D's philosophy is too complex for me in this case. I don't understand it. > But > > how to like a thing, that you don't even understand? > > That's your problem. Why should anyone learn that you don't understand nor like it? This info is redundant. > > > As C is very ugly, this is plain stupid. Most people I talked to (not all) > don't > > like C's general look. So I consider this as being bad. > > So why are you still ranting here? Do you reallly suppose D will go 180 > degrees > back or what!? C is not ugly, but ugly are the people who do not understand > the natural flow of life. > > > I like learning new stuff. I started with a simple Basic a long time ago. > Than I > > learned C++, it was like "WOW". It was amazing. Everything was different. > That > > was what I liked. Than I learned a bit Haskell and I had the same feeling. > You > > was changed. Lisp was different again, ... . Than I leaned D and it was > boring. > > Then skip it. Or go back and learn a little more. You're looking like a > novice student. > D wasn't made for amazement. Furthermore if you'll learn some more > functional/logic > programming I think you'll completely stick to it, unless you need some > practical > programming to be done. > > Personally I like to learn new stuff too. Well I have learned a bit more > than you > (and probably there are people who learned a lot more here), but finally I > was > bored by neverending quest for programming knowledge. It all ended up with > a ton of compilers all over my disk, numerous small programs in more than 20 > languages written > by me and OVERALL FRUSTRATION. I can write a hundred-page text with rant > like "what's so bad in it!" about any language you can possibly name. That > doesn't > change anything. You should stop sometime learning new stuff and start doing > something really significant. By accident you will find out that all the > stuff you learned > before is plain pathetic. > > |
Copyright © 1999-2021 by the D Language Foundation