digitalmars.D - D programming language popularity
- Imperatorn (27/27) Oct 11 2020 First some background
- IGotD- (12/13) Oct 11 2020 Just something strange about one or two articles.
- Imperatorn (4/18) Oct 11 2020 Yeah, C++ is harder to learn than C. Can that be a reason that D
- IGotD- (8/11) Oct 11 2020 C is more popular because of historical reasons and that it is
- Paulo Pinto (12/26) Oct 11 2020 I fail to see why.
- bachmeier (16/19) Oct 11 2020 Why would someone use D? If the best you can do is come up with a
- Imperatorn (3/11) Oct 11 2020 You're making several assumptions here. I don't really see how
- IGotD- (8/10) Oct 11 2020 To answer your original question. In order to increase the
- bachmeier (3/6) Oct 11 2020 And as much as I might like D versus other languages, before you
- bachmeier (2/10) Oct 11 2020
- IGotD- (9/11) Oct 12 2020 Of course D might not be the best choice for a particular task.
- data pulverizer (12/15) Nov 05 2020 +1
- Imperatorn (3/14) Oct 11 2020 Thanks for your answer. Yes, ecosystem is very important. I guess
- aberba (10/20) Oct 13 2020 I think this answers it. Rarely am I looking at the language
- Laeeth Isharc (34/56) Oct 25 2020 Depends on what kind of programming it is and the kind of people
- aberba (16/52) Nov 04 2020 That's assuming that the dev population is all Weka.io...which is
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (11/13) Oct 11 2020 If we are talking professional developers then you need language
- =?UTF-8?B?0JLQuNGC0LDQu9C40Lkg0KTQsNC0?= =?UTF-8?B?0LXQtdCy?= (5/8) Oct 11 2020 D - is best language.
- user1234 (9/10) Oct 11 2020 Because of jobs availability.
- bachmeier (6/10) Oct 11 2020 I'm not sure I'm on board with that. You're assuming the only
- Imperatorn (3/6) Oct 11 2020 Btw, this is interesting:
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (4/11) Oct 12 2020 I looked at the logs it was full of noise, very hard to
- Andrei Alexandrescu (5/13) Oct 12 2020 As the legend suggests I recently filtered the data to eliminate
- Imperatorn (7/20) Oct 12 2020 Cool. So it seems that it's at least *possible* that interest in
- Laeeth Isharc (7/13) Oct 25 2020 This answer may not be welcome, but the answer is : it's open
- J. V. (9/36) Nov 01 2020 Hi, i'm new in here,
- bioinfornatics (7/18) Nov 02 2020 For me the language should focus on scientific library such as do
- data pulverizer (5/8) Nov 04 2020 Yes. I think D has left many potential acolytes on the table by
- random (36/36) Nov 04 2020 This kind of thread seems to pop up once in a while in this
- CraigDillabaugh (4/14) Nov 04 2020 Can you imagine a situation where you need to use a native
- random (5/7) Nov 04 2020 Easy: Embedded, Realtime, HPC, some AAA Games
- Paulo Pinto (26/36) Nov 04 2020 Maybe you specifically don't, but the US navy seem to be quite at
- random (16/30) Nov 05 2020 Ok, there are ways to AOT JVM languages. My point was, if you can
- aberba (7/26) Nov 06 2020 D is the only system language with GC I can deal with. I love the
- IGotD- (10/12) Nov 06 2020 D should take the same route as Nim. Nim has several garbage
- Paul Backus (5/13) Nov 07 2020 D already supports changing GC algorithms. [1] Currently, there
- IGotD- (2/6) Nov 07 2020 D only supports tracing GC.
- Paulo Pinto (21/29) Nov 08 2020 So?
- jmh530 (5/36) Nov 08 2020 Would it be possible to tune the existing GC to control how much
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (10/14) Nov 08 2020 Drop destructors and then you dont have to do much explicit
- random (14/16) Nov 08 2020 +1 I learned Swift a while ago, mostly because I like the idea of
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (5/19) Nov 08 2020 Language semantics stops it. D cannot do precise GC with the
- random (8/12) Nov 08 2020 If I understand it right you also can't have a GC with heap
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (4/10) Nov 08 2020 The problem is that raw C pointers can be owning pointers. So it
- IGotD- (9/11) Nov 08 2020 We need to break this change because if we don't D will not
- Ola Fosheim =?UTF-8?B?R3LDuHN0YXg=?= (6/18) Nov 08 2020 Make all raw pointers borrowing, then add owning pointer types.
- IGotD- (16/21) Nov 08 2020 No, then you put restrictions on raw pointers which is something
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (9/21) Nov 08 2020 That is what I would do too, but then you can use a library. And
- Araq (5/15) Nov 11 2020 Nim does go this step further and allows for custom pointer
- IGotD- (5/9) Nov 11 2020 Isn't that the case as well when you change the GC algorithm?
- random (12/22) Nov 08 2020 How would you do this? Track all pointers (type system knows
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (10/27) Nov 08 2020 I wouldnt... But yes you could have many generation buckets and
- Paulo Pinto (5/25) Nov 08 2020 Yes, in systems languages like Modula-3, Active Oberon, or if you
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (5/7) Nov 08 2020 By having borrowing pointers for GC you could also potentially
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (13/18) Nov 04 2020 A GC is useful for prototyping, but the problem with D is that
- frame (41/47) Nov 03 2020 I want to add my 2 cent as newbie:
- Imperatorn (2/8) Nov 04 2020 +1 on IDE 🚨
- data pulverizer (9/16) Nov 04 2020 +1
- Manu (9/59) Nov 05 2020 It sounds like you have used VisualD incorrectly.
- Palak (10/10) Jul 17 2022 Hi this is Palak
- Dukc (5/15) Jul 18 2022 Please do not resurrect old threads without an exceptional
First some background --------------------- Languages to learn 2020: https://www.edureka.co/blog/top-10-programming-languages/0 https://morioh.com/p/f39596f1028e https://towardsdatascience.com/top-10-in-demand-programming-languages-to-learn-in-2020-4462eb7d8d3e https://www.guru99.com/best-programming-language.html https://www.simplilearn.com/best-programming-languages-start-learning-today-article https://scand.com/company/blog/top-programming-languages-to-use-in-2020/ https://www.fullstackacademy.com/blog/nine-best-programming-languages-to-learn https://hackr.io/blog/best-programming-languages-to-learn-2020-jobs-future https://www.ignite.digital/10-best-programming-languages-to-learn-in-2020/ General: http://pypl.github.io/PYPL.html https://www.tiobe.com/tiobe-index/ https://redmonk.com/sogrady/2020/07/27/language-rankings-6-20/ https://githut.info/ https://github.com/oprogramador/github-languages https://www.cleveroad.com/blog/programming-languages-ranking Summary ------- D is not present anywhere in languages to learn... Why? (I get that it can be a chicken and egg problem) When looking for languages to learn, you have to start "somewhere". How do we make D part of this "somewhere"? Thanks
Oct 11 2020
On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:https://www.simplilearn.com/best-programming-languages-start-learning-today-articleJust something strange about one or two articles. Level: C – Intermediate to Advanced C++ – Beginner to Intermediate Shouldn't it be the other way around. C - Beginner to Intermediate, C++ - Intermediate to Advanced. In my mind C++ is a more difficult language than plain C simply because C is a simpler and smaller language. You might need to write more code and less library support out of the box but that is not the same as more difficult to learn.
Oct 11 2020
On Sunday, 11 October 2020 at 11:40:46 UTC, IGotD- wrote:On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:Yeah, C++ is harder to learn than C. Can that be a reason that D isn't more popular than C? It's also a bit complex/plastic? wondering.bmp 16 colorshttps://www.simplilearn.com/best-programming-languages-start-learning-today-articleJust something strange about one or two articles. Level: C – Intermediate to Advanced C++ – Beginner to Intermediate Shouldn't it be the other way around. C - Beginner to Intermediate, C++ - Intermediate to Advanced. In my mind C++ is a more difficult language than plain C simply because C is a simpler and smaller language. You might need to write more code and less library support out of the box but that is not the same as more difficult to learn.
Oct 11 2020
On Sunday, 11 October 2020 at 12:34:45 UTC, Imperatorn wrote:Yeah, C++ is harder to learn than C. Can that be a reason that D isn't more popular than C? It's also a bit complex/plastic? wondering.bmp 16 colorsC is more popular because of historical reasons and that it is the lowest common denominator when it comes to system support and interoperability. The low traction compared to the big languages is not unique for just D. There are other good languages out there that don't have the same big marketing like Nim, Zig, Julia, Crystal just to mention a few.
Oct 11 2020
On Sunday, 11 October 2020 at 11:40:46 UTC, IGotD- wrote:On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:I fail to see why. My Portuguese university had Pascal (3 semester) and C++ (4 semester) as introduction to programming classes already back in 1993 (1 year doesn't have programming and is common to all engineering degrees). Everyone did quite alright on the few lectures that actually required C, while the teachers made a good job of teaching proper C++, with their own type safe data structures, not C with Classes. Which was great, because none of the students was tainted with C style unsafe code patterns. I also worked as TA doing those classes.https://www.simplilearn.com/best-programming-languages-start-learning-today-articleJust something strange about one or two articles. Level: C – Intermediate to Advanced C++ – Beginner to Intermediate Shouldn't it be the other way around. C - Beginner to Intermediate, C++ - Intermediate to Advanced. In my mind C++ is a more difficult language than plain C simply because C is a simpler and smaller language. You might need to write more code and less library support out of the box but that is not the same as more difficult to learn.
Oct 11 2020
On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:When looking for languages to learn, you have to start "somewhere". How do we make D part of this "somewhere"?Why would someone use D? If the best you can do is come up with a list of technical features of the language, you have your answer as to why it's not on those lists. Not many people go looking for a programming language. They're looking for a solution to a problem. If you want to increase popularity, write some libraries, turn them into a good user experience, document them well, promote them to people working in that area, and there's a small chance you'll capture some of that niche. The programming languages space is extremely competitive. There will never be a "next C++" because there are way too many alternatives these days. Something that has come up over and over again in these discussions is making D a player for web development. That space is beyond crowded. It's better IMO to focus on incremental improvements rather than popularity.
Oct 11 2020
On Sunday, 11 October 2020 at 13:32:19 UTC, bachmeier wrote:On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:You're making several assumptions here. I don't really see how any of them answers the question?[...]Why would someone use D? If the best you can do is come up with a list of technical features of the language, you have your answer as to why it's not on those lists. Not many people go looking for a programming language. They're looking for a solution to a problem. [...]
Oct 11 2020
On Sunday, 11 October 2020 at 14:21:04 UTC, Imperatorn wrote:You're making several assumptions here. I don't really see how any of them answers the question?To answer your original question. In order to increase the popularity of D, it must have a palette of good libraries. Also, we need to show people how they can get from A to B with D and why it is simpler with the D language. Most people when they choose a language is because it offers the best productivity for the task, so we need to show the programmers why D is the best language for a particular task.
Oct 11 2020
On Sunday, 11 October 2020 at 14:28:34 UTC, IGotD- wrote:Most people when they choose a language is because it offers the best productivity for the task, so we need to show the programmers why D is the best language for a particular task.And as much as I might like D versus other languages, before you ask whether D really is the best choice.
Oct 11 2020
On Monday, 12 October 2020 at 00:08:59 UTC, bachmeier wrote:On Sunday, 11 October 2020 at 14:28:34 UTC, IGotD- wrote:Should sayMost people when they choose a language is because it offers the best productivity for the task, so we need to show the programmers why D is the best language for a particular task.And as much as I might like D versus other languages, before you ask whether D really is the best choice.And as much as I might like D versus other languages, before that you should ask whether D really is the best choice.
Oct 11 2020
On Monday, 12 October 2020 at 00:08:59 UTC, bachmeier wrote:And as much as I might like D versus other languages, before you ask whether D really is the best choice.Of course D might not be the best choice for a particular task. Many times Python or Java is the obvious choice however D has a special niche with compiled language performance and memory footprint. Right now D often isn't considered at all where C++ would be a contender. Despite the popularity, the way I think is that with D I'm able to out compete people who would otherwise use C++ or similar. I can produce a solution faster which is also more stable.
Oct 12 2020
On Monday, 12 October 2020 at 10:34:17 UTC, IGotD- wrote:Despite the popularity, the way I think is that with D I'm able to out compete people who would otherwise use C++ or similar. I can produce a solution faster which is also more stable.+1 This is such an obviously transparent point and it's not made enough. I sometimes sit and think, I'm going to write library X in C++. A couple of days later I'm thinking, why am I wasting my time writing C++, when D is obviously the much better and more productive option, and much more pleasureable to write!? I park the C++ code and continue in D. I did this a few of times some time ago and now I don't bother with C++. If D didn't exist, I'd be writing Nim, and if Nim didn't exist, I'd be writing Chapel or Rust before C++. I'm not even sure it's responsible to write C++ code anymore.
Nov 05 2020
On Sunday, 11 October 2020 at 14:28:34 UTC, IGotD- wrote:On Sunday, 11 October 2020 at 14:21:04 UTC, Imperatorn wrote:Thanks for your answer. Yes, ecosystem is very important. I guess I have to make some libs then 🐣You're making several assumptions here. I don't really see how any of them answers the question?To answer your original question. In order to increase the popularity of D, it must have a palette of good libraries. Also, we need to show people how they can get from A to B with D and why it is simpler with the D language. Most people when they choose a language is because it offers the best productivity for the task, so we need to show the programmers why D is the best language for a particular task.
Oct 11 2020
On Sunday, 11 October 2020 at 13:32:19 UTC, bachmeier wrote:On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:I think this answers it. Rarely am I looking at the language itself (for the job). So I think it's flawed to focus solely on the language itself. If the ecosystem (of packages and development tools) doesn't provide me with an easy way of getting things done, then what's the point? So this is a primary reason why I'll choose one language over another. Most coders I know are not capable nor willing to build their own stuff when it's available out of the box in other languages.When looking for languages to learn, you have to start "somewhere". How do we make D part of this "somewhere"?Why would someone use D? If the best you can do is come up with a list of technical features of the language, you have your answer as to why it's not on those lists. Not many people go looking for a programming language. They're looking for a solution to a problem.
Oct 13 2020
On Tuesday, 13 October 2020 at 07:24:23 UTC, aberba wrote:On Sunday, 11 October 2020 at 13:32:19 UTC, bachmeier wrote:Depends on what kind of programming it is and the kind of people you have. If most of the code is specific to your use and wrapping another library is a small cost versus everything else involved in solving your problem then you are going to arrive at a different answer from someone who is in a different situation. The breadth of D comes in surprisingly useful. For example a little language for writing reports - you certainly aren't going to need low level features for that. Well, what if you want to allow users to configure reports with a lambda but want some restrictions on remote code execution by design. Well maybe you could just build Linux containers into the little language by dropping down to syscall level. First draft of that took a very long evening. Then longer for others to fix some weird GC problems. But now we have ephemeral containers built in to the language. Our little language written in D can call good chunks of C++ too thanks to cling. I'm not proud of it, but it can compile C++ at runtime and call it. So that opens up quite a few libraries. Then plasticity and absence of boilerplate are also quite valuable. I think it's a mistake to focus mostly on making D more accessible; a little doesn't hurt. D will gain adoption from people like Weka.io - absolutely nobody would advise building a new storage startup using an emerging language that nobody at your startup knows. But almost nobody would succeed in building the world's fastest parallel storage system (and not by a little) in a few years. So D is like a secret weapon for disruptive innovation that's only available to people who are already quite unusual sorts of people. We are hiring at least forty people to write D, and I don't think we have been the only ones hiring in the past couple of years. But there's also no shortage of people who could write D; C++ programmers seem to pick it up quite quickly.On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:I think this answers it. Rarely am I looking at the language itself (for the job). So I think it's flawed to focus solely on the language itself. If the ecosystem (of packages and development tools) doesn't provide me with an easy way of getting things done, then what's the point? So this is a primary reason why I'll choose one language over another. Most coders I know are not capable nor willing to build their own stuff when it's available out of the box in other languages.When looking for languages to learn, you have to start "somewhere". How do we make D part of this "somewhere"?Why would someone use D? If the best you can do is come up with a list of technical features of the language, you have your answer as to why it's not on those lists. Not many people go looking for a programming language. They're looking for a solution to a problem.
Oct 25 2020
On Monday, 26 October 2020 at 02:14:07 UTC, Laeeth Isharc wrote:On Tuesday, 13 October 2020 at 07:24:23 UTC, aberba wrote:That's assuming that the dev population is all Weka.io...which is quite the opposite. Only a few people are going to build the fastest file system, etc, ...and C++ is already matured enough for such (for those already with C++ workforce). Cooperates might use D if they are sure to have enough devs to hire...and that comes after it's popularly used among regular devs. And regular devs start from somewhere. Someone built vibe.d...and it's the most popular on dub Someone built arsd and it's popular etc. etc. The majority of devs are consumers (and some might build something for the ecosystem)...but it starts from somewhere. BTW...there was a lot of nitpicking of vibe.d and dub but it seems?? most of those people have gotten used to it. We need more of such stuff in the package repository.On Sunday, 11 October 2020 at 13:32:19 UTC, bachmeier wrote:Depends on what kind of programming it is and the kind of people you have. ... I think it's a mistake to focus mostly on making D more accessible; a little doesn't hurt. D will gain adoption from people like Weka.io - absolutely nobody would advise building a new storage startup using an emerging language that nobody at your startup knows. But almost nobody would succeed in building the world's fastest parallel storage system (and not by a little) in a few years. So D is like a secret weapon for disruptive innovation that's only available to people who are already quite unusual sorts of people.On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:I think this answers it. Rarely am I looking at the language itself (for the job). So I think it's flawed to focus solely on the language itself. If the ecosystem (of packages and development tools) doesn't provide me with an easy way of getting things done, then what's the point? So this is a primary reason why I'll choose one language over another. Most coders I know are not capable nor willing to build their own stuff when it's available out of the box in other languages.When looking for languages to learn, you have to start "somewhere". How do we make D part of this "somewhere"?Why would someone use D? If the best you can do is come up with a list of technical features of the language, you have your answer as to why it's not on those lists. Not many people go looking for a programming language. They're looking for a solution to a problem.
Nov 04 2020
On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:When looking for languages to learn, you have to start "somewhere".If we are talking professional developers then you need language stability, excellent debugging experience and long term maintained bindings to key libraries/frameworks for some specific use area. If we are talking hobby, then I don't know. Lots of tutorials, examples with visual output (graphics), maintained baseline startingpoints, lots of answers and snippets on stack overflow helps. People new to programming should stay with languages like Python and Swift, IMO.
Oct 11 2020
On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:First some background --------------------- How do we make D part of this "somewhere"?D - is best language. A little time will pass, and a native gui will be born. The development environment will be born. And D will be higher than C, then Java, then higher than Python.
Oct 11 2020
On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:D is not present anywhere in languages to learn... Why?Because of jobs availability. I dont think it would be reponsible to recommend to invest time if at the end there's only 10 free sits in the train. I'll gently assume that people are influenced by these kind of articles so you could easily have 1000 new users. It would be nicer to see D mentioned in an article that recommends a selection of languages but that rather targets people who start their own business, i.e "decision makers".
Oct 11 2020
On Sunday, 11 October 2020 at 15:25:33 UTC, user1234 wrote:I dont think it would be reponsible to recommend to invest time if at the end there's only 10 free sits in the train. I'll gently assume that people are influenced by these kind of articles so you could easily have 1000 new users.I'm not sure I'm on board with that. You're assuming the only reason for someone to learn a language is to get a job directly applying that language. There are large benefits to learning Ocaml or Haskell or Scala even if you never get paid to write code in those languages.
Oct 11 2020
On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:First some background --------------------- [...]Btw, this is interesting: http://erdani.com/d/downloads.daily.png
Oct 11 2020
On Monday, 12 October 2020 at 06:47:13 UTC, Imperatorn wrote:On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:I looked at the logs it was full of noise, very hard to interpret. I wonder why the robot.txt does not prevent downloads from bots. Why index archives?First some background --------------------- [...]Btw, this is interesting: http://erdani.com/d/downloads.daily.png
Oct 12 2020
On 10/12/20 2:47 AM, Imperatorn wrote:On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:As the legend suggests I recently filtered the data to eliminate duplicate IPs and failed downloads. The numbers on the Y axis are therefore smaller than before but the shape of the plot has not changed much.First some background --------------------- [...]Btw, this is interesting: http://erdani.com/d/downloads.daily.png
Oct 12 2020
On Monday, 12 October 2020 at 13:28:38 UTC, Andrei Alexandrescu wrote:On 10/12/20 2:47 AM, Imperatorn wrote:Cool. So it seems that it's at least *possible* that interest in D is growing? But all things considered, D is actually not that small. I mean checking search trends for Nim and Julia for example, D actually has more searches. But you don't always get that impression.On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:As the legend suggests I recently filtered the data to eliminate duplicate IPs and failed downloads. The numbers on the Y axis are therefore smaller than before but the shape of the plot has not changed much.First some background --------------------- [...]Btw, this is interesting: http://erdani.com/d/downloads.daily.png
Oct 12 2020
On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:D is not present anywhere in languages to learn... Why? (I get that it can be a chicken and egg problem) When looking for languages to learn, you have to start "somewhere". How do we make D part of this "somewhere"? ThanksThis answer may not be welcome, but the answer is : it's open source. Write a tutorial yourself and persuade somehow others to join you. If you are good at writing tutorials, maybe you will get a job from it if you want one. We are hiring people to write documentation and tutorials for internal projects.
Oct 25 2020
On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:First some background --------------------- Languages to learn 2020: https://www.edureka.co/blog/top-10-programming-languages/0 https://morioh.com/p/f39596f1028e https://towardsdatascience.com/top-10-in-demand-programming-languages-to-learn-in-2020-4462eb7d8d3e https://www.guru99.com/best-programming-language.html https://www.simplilearn.com/best-programming-languages-start-learning-today-article https://scand.com/company/blog/top-programming-languages-to-use-in-2020/ https://www.fullstackacademy.com/blog/nine-best-programming-languages-to-learn https://hackr.io/blog/best-programming-languages-to-learn-2020-jobs-future https://www.ignite.digital/10-best-programming-languages-to-learn-in-2020/ General: http://pypl.github.io/PYPL.html https://www.tiobe.com/tiobe-index/ https://redmonk.com/sogrady/2020/07/27/language-rankings-6-20/ https://githut.info/ https://github.com/oprogramador/github-languages https://www.cleveroad.com/blog/programming-languages-ranking Summary ------- D is not present anywhere in languages to learn... Why? (I get that it can be a chicken and egg problem) When looking for languages to learn, you have to start "somewhere". How do we make D part of this "somewhere"? ThanksHi, i'm new in here, Personally, D atrracted me because of: - Introspection - Native binary - Low memory usage - It is familiar to someone that have used C++ and Java before I think that introspection should be the main marketing focus for D. And, of course, we need more companies adopting the language.
Nov 01 2020
On Sunday, 1 November 2020 at 21:15:25 UTC, J. V. wrote:On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:For me the language should focus on scientific library such as do - python with numpy, scipy, scikit-learn and so on Indeed data to analyze becomes bigger and bigger years after years. Python can not anymore handle such big data. Moreover, lots of numerical companies depends of such solutions, economy, marketing, science. To me the market is here[...]Hi, i'm new in here, Personally, D atrracted me because of: - Introspection - Native binary - Low memory usage - It is familiar to someone that have used C++ and Java before I think that introspection should be the main marketing focus for D. And, of course, we need more companies adopting the language.
Nov 02 2020
On Monday, 2 November 2020 at 22:40:05 UTC, bioinfornatics wrote:For me the language should focus on scientific library ...Yes. I think D has left many potential acolytes on the table by not going after this user base more vigorously, but there's still plenty of opportunity for success.Moreover, lots of numerical companies depends of such solutions, economy, marketing, science. To me the market is here+1
Nov 04 2020
This kind of thread seems to pop up once in a while in this forum. I read threads in this forum a lot more than i participate in the discussion but now I'll give my 2 cents. Don't take it too seriously. Disclaimer: While I will write only negative aspects below, D is actually the language I like most from all I have tried (C, C++, also far from perfect. 1. Librarys: - There are not a lot libraries and if you find one it will most probably not compile. - If you find a working library the documentation is likely bad. You always hear the argument: "It's open source, you can help out writing documentation". This is hilarious because if I want to write documentation for your library, I have to read and understand your code first. I will need 10-100x more time than the one who wrote the library. The whole point of abstraction is that you abstract away the implementation. If i have to read your source to use your library it's just pointless. 2. It's too close to C++ to be worth the drawback: - If you plan writing a serious long living project C++ is just a much safer choice. Yes C++ looks ugly and D corrected a lot of bad design decisions, but both languages are still very similar. If you hold your nose and write C++ you will benefit from all the tooling and ecosystem. 3. Garbage Collector: - If you can live with GC there are nice alternatives. Kotlin looks promising. platform with .net 5). A language compiling to native code with system level features and a GC is just a strange niche. You can turn of the GC but then you can't use all of the language anymore. I can't imagine a situation in which i really have to use a native language but want a GC...
Nov 04 2020
On Wednesday, 4 November 2020 at 23:44:04 UTC, random wrote: clip3. Garbage Collector: - If you can live with GC there are nice alternatives. Kotlin looks promising. platform with .net 5). A language compiling to native code with system level features and a GC is just a strange niche. You can turn of the GC but then you can't use all of the language anymore. I can't imagine a situation in which i really have to use a native language but want a GC...Can you imagine a situation where you need to use a native language but don't want to use the GC?
Nov 04 2020
On Wednesday, 4 November 2020 at 23:54:13 UTC, CraigDillabaugh wrote:Can you imagine a situation where you need to use a native language but don't want to use the GC?Easy: Embedded, Realtime, HPC, some AAA Games Yeah i know you can run Java or Python on uC, but 99% of embedded is native and no GC.
Nov 04 2020
On Wednesday, 4 November 2020 at 23:44:04 UTC, random wrote:3. Garbage Collector: - If you can live with GC there are nice alternatives. Kotlin looks promising. platform with .net 5). A language compiling to native code with system level features and a GC is just a strange niche. You can turn of the GC but then you can't use all of the language anymore. I can't imagine a situation in which i really have to use a native language but want a GC...Maybe you specifically don't, but the US navy seem to be quite at home with it. https://www.ptc.com/en/blogs/plm/ptc-perc-virtual-machine-technology-at-the-of-aegis-the-shield-of-the-fleet "Given the need for predictable and reliable compliance with sub-millisecond timing constraints, Lockheed Martin evaluated a number of alternative approaches to real-time Java. Ultimately, they chose to use the PTC Perc Ultra virtual machine (formerly called Aonix Perc Ultra), both in single-core and multi-core configurations. This technology adds real-time determinism to Standard Edition Java APIs by incorporating real-time garbage collection, fixed-priority real-time scheduling, prioritized queues and priority inheritance locks within the implementation of the virtual machine." Just one example among others that I can point out for PTC and Aicas, which despite being JVMs, also support bare metal deployments for this kind of targets, thus as native as anything else that AOT compiles to native code with a language runtime. Then there are these products: Astrobe selling Oberon devkits for ARM, Cortex-M3, Cortex-M4, Cortex-M7 and now RISC-V, in business for about 20 years. https://www.astrobe.com/Oberon.htm F-Secure using their own Go port for secure firmware, among them their own computer on an USB key, USB Armory https://www.f-secure.com/en/consulting/foundry/usb-armory So there is a market, even if you personally don't care about it.
Nov 04 2020
On Thursday, 5 November 2020 at 06:58:31 UTC, Paulo Pinto wrote:Just one example among others that I can point out for PTC and Aicas, which despite being JVMs, also support bare metal deployments for this kind of targets, thus as native as anything else that AOT compiles to native code with a language runtime.Ok, there are ways to AOT JVM languages. My point was, if you can afford to use JVM you have nice alternatives to D. Also D's GC will by design never be as powerful as JVM GC. In D you can have pointers to manual memory, etc. This restricts the GC.Then there are these products: Astrobe selling Oberon devkits for ARM, Cortex-M3, Cortex-M4, Cortex-M7 and now RISC-V, in business for about 20 years.I never even heard of someone programming in Oberon.https://www.astrobe.com/Oberon.htm F-Secure using their own Go port for secure firmware, among them their own computer on an USB key, USB Armory https://www.f-secure.com/en/consulting/foundry/usb-armory So there is a market, even if you personally don't care about it.This is a imputation. I never said I don't care. All the things you mentioned are really niche. Because you somehow misunderstood my argument i will simplify it for you: - When you can live with GC you can most of the time live with JVM or CLR. Then you have a lot good languages to choose from. - If you can't live with JVM/CLR then you either have a very resource limited system or you really need every bit of performance. In this case you want a native language without GC. Most of the time native language and GC is not the right combination.
Nov 05 2020
On Thursday, 5 November 2020 at 08:36:51 UTC, random wrote:On Thursday, 5 November 2020 at 06:58:31 UTC, Paulo Pinto wrote:D is the only system language with GC I can deal with. I love the GC personally though. There's a significant difference between D with GC and Java with GC. The VM.[...]Ok, there are ways to AOT JVM languages. My point was, if you can afford to use JVM you have nice alternatives to D. Also D's GC will by design never be as powerful as JVM GC. In D you can have pointers to manual memory, etc. This restricts the GC.[...]I never even heard of someone programming in Oberon.[...]This is a imputation. I never said I don't care. All the things you mentioned are really niche. Because you somehow misunderstood my argument i will simplify it for you: - When you can live with GC you can most of the time live with JVM or CLR. Then you have a lot good languages to choose from.- If you can't live with JVM/CLR then you either have a very resource limited system or you really need every bit of performance. In this case you want a native language without GC.I don't think D is EVER going to be without a GC though. 8ts very necessary for app development... productivity and safe.Most of the time native language and GC is not the right combination.Maybe you should look into not mixing up GC and nogc code.
Nov 06 2020
On Friday, 6 November 2020 at 23:04:44 UTC, aberba wrote:I don't think D is EVER going to be without a GC though. 8ts very necessary for app development... productivity and safe.D should take the same route as Nim. Nim has several garbage collection algorithms and can swap them out as they see fit. Latest reference counting algorithm has been a success for Nim and the language just keep on improving because they have invested in good GC as well an architecture where they can continue to play with different approaches. GC is not bad but the language must support changing GC algorithms. D is in a corner here a can go nowhere.
Nov 06 2020
On Friday, 6 November 2020 at 23:16:53 UTC, IGotD- wrote:D should take the same route as Nim. Nim has several garbage collection algorithms and can swap them out as they see fit. Latest reference counting algorithm has been a success for Nim and the language just keep on improving because they have invested in good GC as well an architecture where they can continue to play with different approaches. GC is not bad but the language must support changing GC algorithms.D already supports changing GC algorithms. [1] Currently, there are only two algorithms to choose from (conservative and precise), but there's nothing stopping anyone from adding more. [1] https://dlang.org/spec/garbage.html#gc_config
Nov 07 2020
On Sunday, 8 November 2020 at 01:22:15 UTC, Paul Backus wrote:D already supports changing GC algorithms. [1] Currently, there are only two algorithms to choose from (conservative and precise), but there's nothing stopping anyone from adding more. [1] https://dlang.org/spec/garbage.html#gc_configD only supports tracing GC.
Nov 07 2020
On Sunday, 8 November 2020 at 01:36:09 UTC, IGotD- wrote:On Sunday, 8 November 2020 at 01:22:15 UTC, Paul Backus wrote:So? There are plenty tracing GC algorithms to choose from: - mark and sweep - concurrent - fully parallel - pauseless - colouring - with nursery - with several generations - thread local - real time - soft real time - how far interior pointers are supported - with or without safe points - copy on write for mutations http://gchandbook.org/contents.html provides a good overview, although it has been somehow superseded by research published in ACM SIGPLAN and IEEE papers as well. Plenty of opportunities for alternative implementations to plug into D's runtime.D already supports changing GC algorithms. [1] Currently, there are only two algorithms to choose from (conservative and precise), but there's nothing stopping anyone from adding more. [1] https://dlang.org/spec/garbage.html#gc_configD only supports tracing GC.
Nov 08 2020
On Sunday, 8 November 2020 at 09:27:08 UTC, Paulo Pinto wrote:On Sunday, 8 November 2020 at 01:36:09 UTC, IGotD- wrote:Would it be possible to tune the existing GC to control how much garbage is collected? I mean, for instance, to tell the GC to label objects as garbage as normal, but only to collect so much at a time. The others would be saved to be collected later.On Sunday, 8 November 2020 at 01:22:15 UTC, Paul Backus wrote:So? There are plenty tracing GC algorithms to choose from: - mark and sweep - concurrent - fully parallel - pauseless - colouring - with nursery - with several generations - thread local - real time - soft real time - how far interior pointers are supported - with or without safe points - copy on write for mutations http://gchandbook.org/contents.html provides a good overview, although it has been somehow superseded by research published in ACM SIGPLAN and IEEE papers as well. Plenty of opportunities for alternative implementations to plug into D's runtime.D already supports changing GC algorithms. [1] Currently, there are only two algorithms to choose from (conservative and precise), but there's nothing stopping anyone from adding more. [1] https://dlang.org/spec/garbage.html#gc_configD only supports tracing GC.
Nov 08 2020
On Sunday, 8 November 2020 at 14:21:25 UTC, jmh530 wrote:Would it be possible to tune the existing GC to control how much garbage is collected? I mean, for instance, to tell the GC to label objects as garbage as normal, but only to collect so much at a time. The others would be saved to be collected later.Drop destructors and then you dont have to do much explicit collection. But the tracing is still expensive. You can try to do separation at the type level and use ideas from generational, but it will only work sometimes and you need global analysis. Thread local collection + global refcounting is a better fit for D. Or just ARC, which I would prefer if done with global static analysis.
Nov 08 2020
On Sunday, 8 November 2020 at 15:04:33 UTC, Ola Fosheim Grøstad wrote:Or just ARC, which I would prefer if done with global static analysis.+1 I learned Swift a while ago, mostly because I like the idea of ARC. (I came to the conclusion that I don't like Swift btw^^). People often dismiss it because it's slower than tracing GC, but there is more to it. Obviously lower memory usage and deterministic destruction. The real killer feature of ARC is imho that you can use it to implement value semantics with copy on write. Swift does it for arrays. Semantically you pass by value, but it will only duplicate the array if you write to it and the refcount is greater one. You can also use this to implement classes with value semantics (with a little bit boilerplate).
Nov 08 2020
On Sunday, 8 November 2020 at 01:22:15 UTC, Paul Backus wrote:On Friday, 6 November 2020 at 23:16:53 UTC, IGotD- wrote:Language semantics stops it. D cannot do precise GC with the current semantics, you need to locate all actual pointers, including those in unions. The default is essentially a boehm collector and the other one is semi-conservative, not precise...D should take the same route as Nim. Nim has several garbage collection algorithms and can swap them out as they see fit. Latest reference counting algorithm has been a success for Nim and the language just keep on improving because they have invested in good GC as well an architecture where they can continue to play with different approaches. GC is not bad but the language must support changing GC algorithms.D already supports changing GC algorithms. [1] Currently, there are only two algorithms to choose from (conservative and precise), but there's nothing stopping anyone from adding more.
Nov 08 2020
On Sunday, 8 November 2020 at 09:28:05 UTC, Ola Fosheim Grøstad wrote:Language semantics stops it. D cannot do precise GC with the current semantics, you need to locate all actual pointers, including those in unions. The default is essentially a boehm collector and the other one is semi-conservative, not precise...If I understand it right you also can't have a GC with heap compaction in D, because this would invalidate pointers. Most high performance GCs use heap compaction... The language relies on GC (you can't use all features without it), but at the same time it is designed in a way you can't have a competitive GC (compared to JVM/CLR).
Nov 08 2020
On Sunday, 8 November 2020 at 13:28:02 UTC, random wrote:If I understand it right you also can't have a GC with heap compaction in D, because this would invalidate pointers. Most high performance GCs use heap compaction...It is possible, but expensive..The language relies on GC (you can't use all features without it), but at the same time it is designed in a way you can't have a competitive GC (compared to JVM/CLR).The problem is that raw C pointers can be owning pointers. So it would be a breaking change.
Nov 08 2020
On Sunday, 8 November 2020 at 13:39:17 UTC, Ola Fosheim Grøstad wrote:The problem is that raw C pointers can be owning pointers. So it would be a breaking change.We need to break this change because if we don't D will not progress. The alternative is some pointer container as if we would litter C++ std::shared_ptr all over the place, not too happy about that though. This will of course be a library change but I think we should have a language classifier for it. This doesn't really need to be a breaking change but an additional "fat pointer".
Nov 08 2020
On Sunday, 8 November 2020 at 14:04:31 UTC, IGotD- wrote:On Sunday, 8 November 2020 at 13:39:17 UTC, Ola Fosheim Grøstad wrote:Make all raw pointers borrowing, then add owning pointer types. Make all class pointers work like shared_ptr. Simple solution: unique_ptr for structs and embedded shared_ptr for classes and dynamic arrays. Owning slices will need a new pointer to the refcount head.The problem is that raw C pointers can be owning pointers. So it would be a breaking change.We need to break this change because if we don't D will not progress. The alternative is some pointer container as if we would litter C++ std::shared_ptr all over the place, not too happy about that though. This will of course be a library change but I think we should have a language classifier for it. This doesn't really need to be a breaking change but an additional "fat pointer".
Nov 08 2020
On Sunday, 8 November 2020 at 15:09:55 UTC, Ola Fosheim Grøstax wrote:Make all raw pointers borrowing, then add owning pointer types. Make all class pointers work like shared_ptr. Simple solution: unique_ptr for structs and embedded shared_ptr for classes and dynamic arrays. Owning slices will need a new pointer to the refcount head.No, then you put restrictions on raw pointers which is something we don't need. Forced single ownership is something that does not belong in D. Let's just keep the raw pointers as they are and add other pointer types instead. This is something not many languages has thought of which is generic pointer types, the ability to mix pointer types in a program that are not pre-determined. C++ has its unique_ptr and shared_ptr but I was think more in line with A_ptr or B_ptr and what those pointers are supposed to use is configurable. This is of course possible as library additions but I've never seen languages to offer this out of the box and it would be nice to have a language framework for this. Nim offers to replace its "ref" types with any type of GC. However, why not go a step further and allow several types of "ref" types.
Nov 08 2020
On Sunday, 8 November 2020 at 17:00:07 UTC, IGotD- wrote:No, then you put restrictions on raw pointers which is something we don't need. Forced single ownership is something that does not belong in D. Let's just keep the raw pointers as they are and add other pointer types instead.That is what I would do too, but then you can use a library. And it breaks all existing GC based libraries with no help from the type checker when porting. You cannot convert GC code this way, to do that you have to make current pointer types owning and introduce a new nonowning type.This is something not many languages has thought of which is generic pointer types, the ability to mix pointer types in a program that are not pre-determined. C++ has its unique_ptr and shared_ptr but I was think more in line with A_ptr or B_ptr and what those pointers are supposed to use is configurable. This is of course possible as library additions but I've never seen languages to offer this out of the box and it would be nice to have a language framework for this.I have suggested it before in the forums. In C++ you can template the smart pointer type, I think. Although manual borrowing is the common way...
Nov 08 2020
On Sunday, 8 November 2020 at 17:00:07 UTC, IGotD- wrote:This is something not many languages has thought of which is generic pointer types, the ability to mix pointer types in a program that are not pre-determined. C++ has its unique_ptr and shared_ptr but I was think more in line with A_ptr or B_ptr and what those pointers are supposed to use is configurable. This is of course possible as library additions but I've never seen languages to offer this out of the box and it would be nice to have a language framework for this. Nim offers to replace its "ref" types with any type of GC. However, why not go a step further and allow several types of "ref" types.Nim does go this step further and allows for custom pointer types. Not that good of an idea, interop between libraries doesn't improve when they cannot even agree on the used pointer type, but it is supported in Nim.
Nov 11 2020
On Wednesday, 11 November 2020 at 13:30:32 UTC, Araq wrote:Nim does go this step further and allows for custom pointer types. Not that good of an idea, interop between libraries doesn't improve when they cannot even agree on the used pointer type, but it is supported in Nim.Isn't that the case as well when you change the GC algorithm? Sure shared libraries that are compiled with one type GC and another with a different one will cause problems. Is there a possibility to detect this, with name mangling for example?
Nov 11 2020
On Sunday, 8 November 2020 at 13:39:17 UTC, Ola Fosheim Grøstad wrote:On Sunday, 8 November 2020 at 13:28:02 UTC, random wrote:How would you do this? Track all pointers (type system knows them) and if you move the object update all pointers to that object. What is with something evil like C++ iterator::end(), which is often a pointer one past the last valid element in the buffer? I think you would have to track for all pointers to which GC allocated object they belong...If I understand it right you also can't have a GC with heap compaction in D, because this would invalidate pointers. Most high performance GCs use heap compaction...It is possible, but expensive..This is not completely clear to me. Do you mean (like you said previously) that an other pointer type is needed so GC can differentiate between them? Is there something else I'm missing about ownership?The language relies on GC (you can't use all features without it), but at the same time it is designed in a way you can't have a competitive GC (compared to JVM/CLR).The problem is that raw C pointers can be owning pointers. So it would be a breaking change.
Nov 08 2020
On Sunday, 8 November 2020 at 17:38:01 UTC, random wrote:On Sunday, 8 November 2020 at 13:39:17 UTC, Ola Fosheim Grøstad wrote:I wouldnt... But yes you could have many generation buckets and move 2 old near empty buckets to a new one if the static analysis tells you it is safe... I wouldnt compact all buckets every collection cycle. I would probably change the semantics so that you need to hold array ownership through a slice, then you can compact arrays. Keep only elements reachable from active slices. it would be a breaking change.On Sunday, 8 November 2020 at 13:28:02 UTC, random wrote:How would you do this? Track all pointers (type system knows them) and if you move the object update all pointers to that object. What is with something evil like C++ iterator::end(), which is often a pointer one past the last valid element in the buffer? I think you would have to track for all pointers to which GC allocated object they belong...If I understand it right you also can't have a GC with heap compaction in D, because this would invalidate pointers. Most high performance GCs use heap compaction...It is possible, but expensive..This is not completely clear to me. Do you mean (like you said previously) that an other pointer type is needed so GC can differentiate between them?Yes, basically.
Nov 08 2020
On Sunday, 8 November 2020 at 17:38:01 UTC, random wrote:On Sunday, 8 November 2020 at 13:39:17 UTC, Ola Fosheim Grøstad wrote:Yes, in systems languages like Modula-3, Active Oberon, or if you prefer something more modern, .NET Native, Swift or Go, the pointers are safe by default and you have an explicit unsafe pointer for "do any kind of tricks pointer".On Sunday, 8 November 2020 at 13:28:02 UTC, random wrote:How would you do this? Track all pointers (type system knows them) and if you move the object update all pointers to that object. What is with something evil like C++ iterator::end(), which is often a pointer one past the last valid element in the buffer? I think you would have to track for all pointers to which GC allocated object they belong...[...]It is possible, but expensive..This is not completely clear to me. Do you mean (like you said previously) that an other pointer type is needed so GC can differentiate between them? Is there something else I'm missing about ownership?[...]The problem is that raw C pointers can be owning pointers. So it would be a breaking change.
Nov 08 2020
On Sunday, 8 November 2020 at 19:12:06 UTC, Paulo Pinto wrote:pointers are safe by default and you have an explicit unsafe pointer for "do any kind of tricks pointer".By having borrowing pointers for GC you could also potentially reduce the graph that has to be scanned, when following a borrowing pointer can never reach an owning pointer. Requires global analysis.
Nov 08 2020
On Wednesday, 4 November 2020 at 23:44:04 UTC, random wrote:A language compiling to native code with system level features and a GC is just a strange niche. You can turn of the GC but then you can't use all of the language anymore. I can't imagine a situation in which i really have to use a native language but want a GC...A GC is useful for prototyping, but the problem with D is that there is no adequate model for ownership in the type system. It is not difficult to fix, you just need people to understand that multiple pointer types are needed and has to be agreed upon. Until this happens the GC will continue to be problematic as you have to rely on ad hoc solutions with no real help from the type system. How do you gracefully transition code from GC managed to some other scheme? Or you could add sanitizer mechanism and catch typing issues at runtime during testing. But D needs something more than what is on the map. That is obvious.
Nov 04 2020
On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:D is not present anywhere in languages to learn... Why? (I get that it can be a chicken and egg problem) When looking for languages to learn, you have to start "somewhere". How do we make D part of this "somewhere"? ThanksI want to add my 2 cent as newbie: is less popular. It this a benefit? - It's likely that users need a library. This library may exists as D code but even the search for that library is not intuitive. You have to try multiple terms or browse manually for the library, this is bad. Also the library seems to be outdated while the C library developers just did a new release and you could assume the D-lib is just dead. This makes D look more like an experiment than a living standard. - The offical library reference is visually "unfriendly". For example, devdocs.io do a better job. On the D-site, it looks not well formatted. I am loosing focus while reading on some locations. The search engine is unsatisfying. Even that I can't format code in forums bothers me, because that are standard features and they just not there. This appears as "unfinished", we are not in year 1998. - D also needs a new modern, _just working_ IDE with syntax highlighting, formatting, autocomplete hints, quick documentation. I've tried the Dlang IDE, VisualD, WebFreak-D or other Plugins for Visual Studio and IDEA. Plugins either do not work well, get broken with never versions (eg. MonoDevelop) but also true for VS Code. You see quickly that event VisualD is just a plugin which is buggy, crashes and does not really integrate well (sepearate build options, passing arguments ignored, etc). Also realtime debugging is a pain, eg with VisualD: If you are lucky it will display the stack correctly - but it has problems with template functions and it show your structs in initial state rather actual value. I could not run the debugger in VS Code, it runs/breaks but shows nothing and it's not my job to report bugs to plugin-devs that just don't have the time to fix them. I could also only run partial debugging on IntelliJ IDEA since variables are not updated on change - there is always such an issue and the list goes on... Of course this is offtopic by the language itself but it has a heavy influence if I would try a new language which tools are only working on the command line out of the box. You may get the point, if you want to attract new users, you need a supported, working welcome packet just as an IDE with friendly features so the users can just start making experiences.
Nov 03 2020
On Tuesday, 3 November 2020 at 16:49:16 UTC, frame wrote:On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:+1 on IDE 🚨[...]I want to add my 2 cent as newbie: is less popular. It this a benefit? [...]
Nov 04 2020
On Tuesday, 3 November 2020 at 16:49:16 UTC, frame wrote:I want to add my 2 cent as newbie: - D also needs a new modern, _just working_ IDE with syntax highlighting, formatting, autocomplete hints, quick documentation. I've tried the Dlang IDE, VisualD, WebFreak-D or other Plugins for Visual Studio and IDEA. Plugins either do not work well, get broken with never versions (eg. MonoDevelop) but also true for VS Code.+1 I wonder how many new users are turned off by the IDE issues in D. I use VS Code and only ever use it as a glorified syntax highlighter - I don't use any other features. Even I had to uninstall the D plugins and write code using C++ highlighting. I have literally just finished configuring my Kate installation for highlighting D code as a temporary solution. Just one well provisioned IDE would be significant for the community.
Nov 04 2020
On Wed, 4 Nov 2020, 2:50 am frame via Digitalmars-d, < digitalmars-d puremagic.com> wrote:On Sunday, 11 October 2020 at 11:24:42 UTC, Imperatorn wrote:It sounds like you have used VisualD incorrectly. It sounds to me like you did not use the D/VC++ project template, which is msbuild native, and works extremely well. Maybe you used the old project format from 5 years ago... I think that's still in there, but you shouldn't use it today. Look for the D/VC++ project wizard, and try your evaluation again. Also realtime debugging is a pain, eg with VisualD: If you areD is not present anywhere in languages to learn... Why? (I get that it can be a chicken and egg problem) When looking for languages to learn, you have to start "somewhere". How do we make D part of this "somewhere"? ThanksI want to add my 2 cent as newbie: is less popular. It this a benefit? - It's likely that users need a library. This library may exists as D code but even the search for that library is not intuitive. You have to try multiple terms or browse manually for the library, this is bad. Also the library seems to be outdated while the C library developers just did a new release and you could assume the D-lib is just dead. This makes D look more like an experiment than a living standard. - The offical library reference is visually "unfriendly". For example, devdocs.io do a better job. On the D-site, it looks not well formatted. I am loosing focus while reading on some locations. The search engine is unsatisfying. Even that I can't format code in forums bothers me, because that are standard features and they just not there. This appears as "unfinished", we are not in year 1998. - D also needs a new modern, _just working_ IDE with syntax highlighting, formatting, autocomplete hints, quick documentation. I've tried the Dlang IDE, VisualD, WebFreak-D or other Plugins for Visual Studio and IDEA. Plugins either do not work well, get broken with never versions (eg. MonoDevelop) but also true for VS Code. You see quickly that event VisualD is just a plugin which is buggy, crashes and does not really integrate well (sepearate build options, passing arguments ignored, etc).lucky it will display the stack correctly - but it has problems with template functions and it show your structs in initial state rather actual value. I could not run the debugger in VS Code, it runs/breaks but shows nothing and it's not my job to report bugs to plugin-devs that just don't have the time to fix them. I could also only run partial debugging on IntelliJ IDEA since variables are not updated on change - there is always such an issue and the list goes on... Of course this is offtopic by the language itself but it has a heavy influence if I would try a new language which tools are only working on the command line out of the box. You may get the point, if you want to attract new users, you need a supported, working welcome packet just as an IDE with friendly features so the users can just start making experiences.
Nov 05 2020
On Friday, 6 November 2020 at 04:48:42 UTC, Manu wrote:It sounds like you have used VisualD incorrectly. It sounds to me like you did not use the D/VC++ project template, which is msbuild native, and works extremely well. Maybe you used the old project format from 5 years ago... I think that's still in there, but you shouldn't use it today. Look for the D/VC++ project wizard, and try your evaluation again.Yes, the integration is better with the D/VC++ template and passing arguments work. However, dmdserver.exe is still crashing by my code for example and default build action leads to link errors while the outside "Compile and Debug" command from the plugin menu works as expected.
Nov 06 2020
On Saturday, 7 November 2020 at 03:23:06 UTC, frame wrote:On Friday, 6 November 2020 at 04:48:42 UTC, Manu wrote:what's dmdserver.exe? is this visual studio's stuff?It sounds like you have used VisualD incorrectly. It sounds to me like you did not use the D/VC++ project template, which is msbuild native, and works extremely well. Maybe you used the old project format from 5 years ago... I think that's still in there, but you shouldn't use it today. Look for the D/VC++ project wizard, and try your evaluation again.Yes, the integration is better with the D/VC++ template and passing arguments work. However, dmdserver.exe is still crashing by my code for example and default build action leads to link errors while the outside "Compile and Debug" command from the plugin menu works as expected.
Nov 11 2020
On Wednesday, 11 November 2020 at 16:23:06 UTC, Jack wrote:what's dmdserver.exe? is this visual studio's stuff?It's part of the VisualD package, a bundeld DCD, scanner, something. And it seems also to leak memory.
Nov 11 2020
Hi this is Palak Well D has been successfully used for AAA games, language interpreters, virtual machines, an operating system kernel, GPU programming, web development, numerical analysis, GUI applications, a passenger information system, machine learning, text processing, web and application servers and research. Well there are lot of other top programming languages you must learn, you can see it by opening below link. https://www.techgeekbuzz.com/blog/top-programming-languages-to-learn/ Thanks
Jul 17 2022
On Monday, 18 July 2022 at 06:02:10 UTC, Palak wrote:Hi this is Palak Well D has been successfully used for AAA games, language interpreters, virtual machines, an operating system kernel, GPU programming, web development, numerical analysis, GUI applications, a passenger information system, machine learning, text processing, web and application servers and research. Well there are lot of other top programming languages you must learn, you can see it by opening below link. https://www.techgeekbuzz.com/blog/top-programming-languages-to-learn/ ThanksPlease do not resurrect old threads without an exceptional reason, especially not about a subject like this that [tends to result in an eternal thread](https://forum.dlang.org/post/fipbesowuzwyovdcjoio forum.dlang.org)
Jul 18 2022