digitalmars.D - My two cents on what D needs to be more successful...
- Ecstatic Coder (55/55) May 20 2017 Since a few months, I'm using D for all my command-line tools.
- rikki cattermole (16/16) May 20 2017 This is the work I am related to or created myself.
- Ecstatic Coder (3/3) May 20 2017 Exactly what I was talking about :D
- rikki cattermole (5/8) May 20 2017 Keep in mind that they are not on code.dlang.org for a reason, they are
- Ecstatic Coder (2/12) May 21 2017 Ok no problem :)
- Basile B. (11/24) May 21 2017 It's one of the basement of Coedit. There is the runnable module
- Ecstatic Coder (46/46) May 21 2017 Coedit is actually by far my favorite IDE for D testing and
- Basile B. (18/57) May 21 2017 There's a checkbox that allows to activate prompts when a match
- Ecstatic Coder (2/2) May 21 2017 Ok :)
- Adam D. Ruppe (9/10) May 21 2017 Suppose I made a dmd distribution with my libraries pre-packaged
- Ecstatic Coder (46/56) May 21 2017 I understand your point, but standard libraries come along with
- thedeemon (14/23) May 22 2017 No need to trawl github, just go to code.dlang.org and you'll
- handG (3/9) May 22 2017 Germany - no no, the muslim (so called refugees) thugs, rapist
- Moritz Maxeiner (16/25) May 22 2017 This is totally off topic, which is why I split off the thread.
- handG (6/27) May 22 2017 1.) we have no sovereignty (until 2099) over the us bases and
- Andrei Alexandrescu (9/9) May 22 2017 I tried to send the message below via email. Couldn't reach all
- Moritz Maxeiner (3/5) May 22 2017 Sorry about the post just now, I did not see your message
- Ecstatic Coder (4/14) May 22 2017 Then, with all due respect, please remove these posts...
- Mike Parker (5/9) May 22 2017 The forum is a web frontend for a newsgroup server, which also
- Steven Schveighoffer (9/18) May 24 2017 It does support that. When I used Opera for my NNTP client, I could
- Moritz Maxeiner (26/55) May 22 2017 Those are reasonable consequences for an unconditional surrender
- Ecstatic Coder (9/14) May 22 2017 Don't worry I'm on that too.
- Jack Stouffer (60/83) May 22 2017 Glad to see you're happy with the language.
- Ecstatic Coder (10/10) May 23 2017 Ok, I agree with what you say.
- MGW (7/8) May 23 2017 I consider that D and phobos are quite ready for constant use. As
- Ecstatic Coder (5/14) May 23 2017 Thanks for proposing this C++ wrapper.
- Guillaume Piolat (18/28) May 23 2017 vibe.d
- Ecstatic Coder (27/28) May 23 2017 Again, I'm not saying that these libraries don't exist.
- Guillaume Piolat (8/10) May 23 2017 Hi,
- Adam D. Ruppe (14/17) May 23 2017 So actually, the dub thing for mine is
- rikki cattermole (3/10) May 23 2017 They can be removed, but that means projects stop being built hence not
- evilrat (6/23) May 23 2017 It is still better to move them to 'obsolete' category and hide
- rikki cattermole (3/22) May 23 2017 To hide and to remove all together are two separate things, but I agree
- Adam D. Ruppe (8/10) May 24 2017 That old one hasn't actually even compiled for over a year - I
- jmh530 (3/7) May 24 2017 Just wanted to say that I was glad you did this. It makes it that
- Adam D. Ruppe (4/6) May 24 2017 So you use the subpackages or try to use the top level thing?
- jmh530 (4/10) May 24 2017 I had only noticed it was on dub recently so haven't had a chance
- aberba (2/18) May 24 2017 Actually the dub version is much easier/convenient for me. Ha ha
Since a few months, I'm using D for all my command-line tools. For that use case, the language and its standard libraries are really perfect, making it the best scripting language I know, completely exploding JavaScript, Python, Ruby, etc. Now I would like to also use it to develop : - web servers. - connected desktop applications & games. - connected mobile applications & games. D could also explode the competition for these uses cases, but I think that first it would need to be more *equipped* and *branded* for this. developers to leave the comfort of their current ecosystem, D would need : * the following *standard* libraries : - std.database (connect/use MySQL/MongoDB/etc databases) - std.web (serve web data/files/pages) - std.audio (load/play/process/record sounds/musics) - std.image (load/show/process/record images) - std.video (load/show/process/record videos) - std.graphic (draw 2D/3D graphics) - std.input (get mouse/touchscreen/etc events) - std.ui (draw 2D user interfaces) * a dedicated IDE, allowing to effortlessly open/compile/execute/debug a single ".d" file as well as an entire project. * a soft-realtime garbage collector (like in Nim), which can progressively recycle the memory of a thread without blocking the whole application. I agree that at the moment, all these developments can be possible through several third-party libraries. For the web servers, vibe.d is already there. For desktop applications, there is gtkd and dlangui. And for mobile applications, maybe using wrappers for SDL and a fast hardware accelerated UI library like TurboBadger/Nuklear/etc would do the job. And I know that several IDE are already available. For instance, Coedit is a nice little IDE, despite its bugs and limitations. So I know that D could get the job done. But with some efforts... And it doesn't feel immediately "equipped" for that... That's sad, because I think D could be the best tool on the market to develop cross-platform connected mobile/desktop applications, including mobile 2D games. And even if it is already the case, at least that doesn't *show*, even from the dlang.org website. A more complete standard library, and a more appealing website (à la juce.com) which would clearly "sell" D's strong advantages over its competition, could be of great help. Because the day when D will make it really *easy* to do these kind of developments, just by simply installing the standard D environment and reading a few tutorials on how to do web/console/desktop/mobile app/games on dlang.org, it will be very hard for other languages to compete with it...
May 20 2017
This is the work I am related to or created myself. - std.ui.windowing[0] - std.ui.gui - std.graphics.image[1] - std.graphics.color[2] - std.events[0] - std.events.loop[0] - std.audio - std.sockets[0] Any assistance to improving my work including[3] would be appreciated as I am slow. [0] https://github.com/Devisualization/spew [1] https://github.com/rikkimax/alphaPhobos/tree/master/source/std/experimental/graphic/image [2] https://github.com/dlang/phobos/pull/2845 [3] https://github.com/rikkimax/ogl_gen
May 20 2017
Exactly what I was talking about :D Thanks for your efforts !!! I'll download and test them right away.
May 20 2017
On 21/05/2017 7:51 AM, Ecstatic Coder wrote:Exactly what I was talking about :D Thanks for your efforts !!! I'll download and test them right away.Keep in mind that they are not on code.dlang.org for a reason, they are not ready for general use. So take a developers mindset if you use them. You will find bugs and you will need to fix them if you wish to continue using it.
May 20 2017
On Sunday, 21 May 2017 at 06:55:19 UTC, rikki cattermole wrote:On 21/05/2017 7:51 AM, Ecstatic Coder wrote:Ok no problem :)Exactly what I was talking about :D Thanks for your efforts !!! I'll download and test them right away.Keep in mind that they are not on code.dlang.org for a reason, they are not ready for general use. So take a developers mindset if you use them. You will find bugs and you will need to fix them if you wish to continue using it.
May 21 2017
On Sunday, 21 May 2017 at 05:52:11 UTC, Ecstatic Coder wrote:Since a few months, I'm using D for all my command-line tools. For that use case, the language and its standard libraries are really perfect, making it the best scripting language I know, completely exploding JavaScript, Python, Ruby, etc. Now I would like to also use it to develop : [...] * a dedicated IDE, allowing to effortlessly open/compile/execute/debug a single ".d" fileIt's one of the basement of Coedit. There is the runnable module system as well as the support for DUB single file package. http://bbasile.github.io/Coedit/features_runnables.as well as an entire project.Also supported by the same product. I would be sad to learn you missed this ! http://bbasile.github.io/Coedit/features_projects[...] know that several IDE are already available. For instance, Coedit is a nice little IDE, despite its bugs and limitations.(author here) I don't get much bug reports. Usually i find the bugs myself since i'm a hardcore user of the product. Don't think too much, if you encounter a problem then report it: https://github.com/BBasile/Coedit/issues
May 21 2017
Coedit is actually by far my favorite IDE for D testing and debugging. I liked it immediately after I saw that it doesn't need to create a project if all you need it compile and test a small D script. I know I can create a project, but for tiny projects I don't use it on purpose, despite I personally prefer to have only one file per class, because projects tie the source code compilation to a particular IDE. All my tools can be compiled with "dmd xxx.d", which is really as simple as it can possibly be. I know that "dmd aaa.d bbb.d ccc.ddd ..." works too, but as long as my scripts are just a few hundreds of lines of code long, I'm ok with that. My only concerns with Coedit are a few usability problems when editing the code. By default : * When I copy a block of code, I have to select it from the end of the previous line, or else the inserted code indentation goes wrong. * When doing a find and replace, Coedit replaces the next occurrence despite I don't see it and I'm not sure I want to replace it, instead of the one highlighted under the cursor, which I'm totally sure I want to replace. * A closing brace is automatically inserted at the wrong position and with a unwanted blank line if I put enter to insert a missing closing brace. I'm not sure, but I think the case is the following : { { { }<- editor bugs if I put enter to manually add the missing brace on the next line } * The regular expressions are always enabled by default when searching text. * When I change some preferences, Coedit only keeps them until the next restart. I know that's really not much, but this bothers me enough so that I still prefer Geany for pure coding sessions. Only after I've finished programming the core code and prettified it, I switch to Coedit to try compiling, testing and debugging it. Except for these tiny annoyances when typing code, Coedit is an exceptionally good IDE, and I really like it a lot, that's why it's the only one I've mentioned. I don't mind posting my usability remarks on your Github account if you confirm me that they can indeed be considered as "bugs"...
May 21 2017
On Sunday, 21 May 2017 at 11:27:19 UTC, Ecstatic Coder wrote:Coedit is actually by far my favorite IDE for D testing and debugging. I liked it immediately after I saw that it doesn't need to create a project if all you need it compile and test a small D script. I know I can create a project, but for tiny projects I don't use it on purpose, despite I personally prefer to have only one file per class, because projects tie the source code compilation to a particular IDE. All my tools can be compiled with "dmd xxx.d", which is really as simple as it can possibly be. I know that "dmd aaa.d bbb.d ccc.ddd ..." works too, but as long as my scripts are just a few hundreds of lines of code long, I'm ok with that. My only concerns with Coedit are a few usability problems when editing the code. By default : * When I copy a block of code, I have to select it from the end of the previous line, or else the inserted code indentation goes wrong.Indeed.* When doing a find and replace, Coedit replaces the next occurrence despite I don't see it and I'm not sure I want to replace it, instead of the one highlighted under the cursor, which I'm totally sure I want to replace.There's a checkbox that allows to activate prompts when a match is found.* A closing brace is automatically inserted at the wrong position and with a unwanted blank line if I put enter to insert a missing closing brace. I'm not sure, but I think the case is the following : { { { }<- editor bugs if I put enter to manually add the missing brace on the next line }This feature is still a bit dumb when you're in the middle of existing code. When writing new code it works fine. It can be fully deactivated by the bye. I encounter this issue as well but very occasionally.* The regular expressions are always enabled by default when searching text.It doesn't mean that you have to fill the search field with a REGEX. It means that you CAN type one but it's not a requirement ! Plain text will be searched in a standard way, whatever is the state of the "Allow regex" option, which means "contains text" or "exact text" depedning on the "whole word" option.* When I change some preferences, Coedit only keeps them until the next restart.That would be surprising. Please open an issue for this or let's talk on IRC.I don't mind posting my usability remarks on your GithubYou should really. My level of satisfaction is not universal. Without feedback it'll stay specialized for my own usage.
May 21 2017
On Sunday, 21 May 2017 at 05:52:11 UTC, Ecstatic Coder wrote:* the following *standard* libraries :Suppose I made a dmd distribution with my libraries pre-packaged (I already have libraries for most the stuff you listed)... would that work for you? Or must it come from the dlang.org site and be `std.` for it to count? I have no interest whatsoever in being in the official standard library though. Of course, using my libs is pretty trivial... download one or two files and add them to your build command, done.
May 21 2017
On Sunday, 21 May 2017 at 18:29:46 UTC, Adam D. Ruppe wrote:On Sunday, 21 May 2017 at 05:52:11 UTC, Ecstatic Coder wrote:I understand your point, but standard libraries come along with the compiler during its installation. Let's suppose I want to use regular expressions and they would not have been not part of the std libraries. I would have to evaluate several libraries from github, after having searches on forums whether some regular expression libraries are better or more successful, or better maintained than other, etc. And I would be lucky to find a tutorial on this particular library. Moreover I would have to download this library manually along with its dependencies, etc. I know that's not that hard with dub-like tools, but this doesn't make things simpler, that's obvious. Standard libraries exist for one good reason : they are the reference implementation that everybody use by default, unless they want something especially tailored to their specific needs. So for newcomers like me, they make a HUGE difference, as they make my life simpler and easier. All tutorials use them, whether they are on the official website or not. Remember that I've programmed tens of years in C++, but just a few months of D. So I don't know anything about how to make GUI, web sites etc with D. That's new to me, and thus this gets me out of my "comfort" zone. For instance a standard GUI library would have made my life much easier. Just for the GUI, I've downloaded 7 libraries, and I've just evaluated gtkd at the moment. Dlangui seems fine too, etc. If D had a standard GUI library, and I didn't like its design, I could look for an alternative on github. But at least my first GUI program already runs without having to evaluate anything, by simply reading the official tutorials and documentations. For smarter people this wouldn't make a difference, but personally I need simplicity, especially when I have to decide to use a new language and learn its libraries to do what I can already do with my current language (C++ and Go in my case). So I fully respect your opinion, and in my case, I would have appreciated to have a default GUI library, even if it's not perfect, and even if some better alternative could exist on github. That's all I say :)* the following *standard* libraries :Suppose I made a dmd distribution with my libraries pre-packaged (I already have libraries for most the stuff you listed)... would that work for you? Or must it come from the dlang.org site and be `std.` for it to count? I have no interest whatsoever in being in the official standard library though. Of course, using my libs is pretty trivial... download one or two files and add them to your build command, done.
May 21 2017
On Sunday, 21 May 2017 at 19:33:35 UTC, Ecstatic Coder wrote:I would have to evaluate several libraries from github, after having searches on forums whether some regular expression libraries are better or more successful, or better maintained than other, etc.No need to trawl github, just go to code.dlang.org and you'll quickly find what libs are available and which ones are actively maintained.So for newcomers like me, they make a HUGE difference, as they make my life simpler and easier. I would have appreciated to have a default GUI library, even if it's not perfect, and even if some better alternative could exist on github.And I would have appreciated if Middle East guys stopped fighting and made their region nice and pleasant as Switzerland. Or if folks of Sudan and Uganda made their countries as prosperous and convenient to live in as Singapore and Germany. That would make life simpler and easier, for many newcomers. ;) You are exactly the 146-th person to come here and say "std lib should be richer, and more docs and tutorials should be written". Unfortunately there is no automatic tool to convert these requests and suggestions into reality without using a lot of manpower.
May 22 2017
And I would have appreciated if Middle East guys stopped fighting and made their region nice and pleasant as Switzerland. Or if folks of Sudan and Uganda made their countries as prosperous and convenient to live in as Singapore and Germany. That would make life simpler and easier, for many newcomers. ;)Germany - no no, the muslim (so called refugees) thugs, rapist and murders arrived here now. Bad example!! Thanks america.
May 22 2017
On Monday, 22 May 2017 at 11:29:33 UTC, handG wrote:This is totally off topic, which is why I split off the thread. The percentage of such people with regards to all refugees is not worrisome when compared to the percentage of such people with regards to the people with German citizenship; see IMK Bericht 2016 [1]. Also, considering the excellent solve rate of most (reported) crimes here, even if it were worrisome in the short term, there would be no need to be concerned with regards to long term effects. Additionally, blaming an entire people for the actions of their government is ludicrous, especially since our own government happily assists with the USA government's drone murders (i.e. war crimes). [1] https://www.bka.de/DE/AktuelleInformationen/StatistikenLagebilder/PolizeilicheKriminalstatistik/PKS2016/pks2016_node.htmlAnd I would have appreciated if Middle East guys stopped fighting and made their region nice and pleasant as Switzerland. Or if folks of Sudan and Uganda made their countries as prosperous and convenient to live in as Singapore and Germany. That would make life simpler and easier, for many newcomers. ;)Germany - no no, the muslim (so called refugees) thugs, rapist and murders arrived here now. Bad example!! Thanks america.
May 22 2017
On Monday, 22 May 2017 at 12:29:13 UTC, Moritz Maxeiner wrote:On Monday, 22 May 2017 at 11:29:33 UTC, handG wrote:1.) we have no sovereignty (until 2099) over the us bases and HAVE to pay for them - that makes us a still occupied (by so called friends) country 2.) http://www.refcrime.info/de/verbrechen/karte/ -- https://www.unzensuriert.at/einzelfallThis is totally off topic, which is why I split off the thread. The percentage of such people with regards to all refugees is not worrisome when compared to the percentage of such people with regards to the people with German citizenship; see IMK Bericht 2016 [1]. Also, considering the excellent solve rate of most (reported) crimes here, even if it were worrisome in the short term, there would be no need to be concerned with regards to long term effects. Additionally, blaming an entire people for the actions of their government is ludicrous, especially since our own government happily assists with the USA government's drone murders (i.e. war crimes). [1] https://www.bka.de/DE/AktuelleInformationen/StatistikenLagebilder/PolizeilicheKriminalstatistik/PKS2016/pks2016_node.html[...]Germany - no no, the muslim (so called refugees) thugs, rapist and murders arrived here now. Bad example!! Thanks america.
May 22 2017
I tried to send the message below via email. Couldn't reach all participants so I'll post it here: ==== Hi there, thanks for your participation in the D forums. As this thread has stepped outside the charter of the forum, could you kindly please take it either to private email or to a place where such discussions are carried. (We do allow the occasional "near" off-topic posts related to general computing technology under the "OT" label.) We've sent a similar message to the other participants. Thanks! -- Andrei
May 22 2017
On Monday, 22 May 2017 at 14:09:10 UTC, Andrei Alexandrescu wrote:I tried to send the message below via email. Couldn't reach all participants so I'll post it here:Sorry about the post just now, I did not see your message beforehand.
May 22 2017
On Monday, 22 May 2017 at 14:09:10 UTC, Andrei Alexandrescu wrote:I tried to send the message below via email. Couldn't reach all participants so I'll post it here: ==== Hi there, thanks for your participation in the D forums. As this thread has stepped outside the charter of the forum, could you kindly please take it either to private email or to a place where such discussions are carried. (We do allow the occasional "near" off-topic posts related to general computing technology under the "OT" label.) We've sent a similar message to the other participants. Thanks! -- AndreiThen, with all due respect, please remove these posts... IMHO, they are so incredibly off-topic that I don't see why they should remain here to pollute the pages of a D language forum.
May 22 2017
On Monday, 22 May 2017 at 20:49:22 UTC, Ecstatic Coder wrote:Then, with all due respect, please remove these posts... IMHO, they are so incredibly off-topic that I don't see why they should remain here to pollute the pages of a D language forum.The forum is a web frontend for a newsgroup server, which also has a mailing list interface. I think the NG server does support message deletion, and that may cause it to disappear from the web frontend, but it will still be in NG readers and inboxes.
May 22 2017
On 5/22/17 8:21 PM, Mike Parker wrote:On Monday, 22 May 2017 at 20:49:22 UTC, Ecstatic Coder wrote:It does support that. When I used Opera for my NNTP client, I could actually remove my own posts (I would do this if I made a huge typo, or postd by accident). I don't think Thunderbird supports that (and Opera discontinued their client). However, I think the web forum software doesn't obey those deletions. And it's so darned fast, I'm sure it picks the erroneous message up before deletion ;) -SteveThen, with all due respect, please remove these posts... IMHO, they are so incredibly off-topic that I don't see why they should remain here to pollute the pages of a D language forum.The forum is a web frontend for a newsgroup server, which also has a mailing list interface. I think the NG server does support message deletion, and that may cause it to disappear from the web frontend, but it will still be in NG readers and inboxes.
May 24 2017
On Monday, 22 May 2017 at 13:59:16 UTC, handG wrote:On Monday, 22 May 2017 at 12:29:13 UTC, Moritz Maxeiner wrote:Those are reasonable consequences for an unconditional surrender and it's not as if we couldn't afford it. Not to mention that these bases have people living in them that often go out and spend their money in the surrounding communities, which in turn generates both income for the (native) people living there, as well as taxes that are used for e.g. keeping the infrastructure in those communities maintained.On Monday, 22 May 2017 at 11:29:33 UTC, handG wrote:1.) we have no sovereignty (until 2099) over the us bases and HAVE to pay for them -This is totally off topic, which is why I split off the thread. The percentage of such people with regards to all refugees is not worrisome when compared to the percentage of such people with regards to the people with German citizenship; see IMK Bericht 2016 [1]. Also, considering the excellent solve rate of most (reported) crimes here, even if it were worrisome in the short term, there would be no need to be concerned with regards to long term effects. Additionally, blaming an entire people for the actions of their government is ludicrous, especially since our own government happily assists with the USA government's drone murders (i.e. war crimes). [1] https://www.bka.de/DE/AktuelleInformationen/StatistikenLagebilder/PolizeilicheKriminalstatistik/PKS2016/pks2016_node.html[...]Germany - no no, the muslim (so called refugees) thugs, rapist and murders arrived here now. Bad example!! Thanks america.that makes us a still occupied (by so called friends) country1.) That is not what occupation means. If you want to call it something, "observation with preemptive capabilities" would be appropriate. 2.) There are no friends in politics, only ever shifting allegiances.2.) http://www.refcrime.info/de/verbrechen/karte/ -- https://www.unzensuriert.at/einzelfall1.) Neither of those websites cite reputable sources (online media outlets are not a reputable source for crime reports, since they necessarily have to work on a "publish first, check only if harsh backlash occurs" schedule to remain competitive) for their data and are thus irrelevant as aggregators. 2.) With around 6000000 crimes (yes, that is 6 million) reported in the year 2016 alone in Germany, the around 270000 supposed crimes (and this number is not per year, but overall total) on the first of those two websites are below 0.5 percent: Statistical noise, aka not relevant. 3.) The 2nd of those two websites is specifically about single cases and is such utterly irrelevant for a statistical analysis (which is the only kind that makes any sense on this scale).
May 22 2017
You are exactly the 146-th person to come here and say "std lib should be richer, and more docs and tutorials should be written". Unfortunately there is no automatic tool to convert these requests and suggestions into reality without using a lot of manpower.Don't worry I'm on that too. Simply at the moment, I'm currently writing a D tutorial for total beginners, based on the materials I made to teach programming to my children. As the theory and exercises are currently in French, I'll have translate them, which will take some time. And now I'm also maintaining several open source tools. As for everybody my free time is limited, but I'll do my best to test the future std libs, and help debug them.
May 22 2017
On Sunday, 21 May 2017 at 05:52:11 UTC, Ecstatic Coder wrote:Since a few months, I'm using D for all my command-line tools. For that use case, the language and its standard libraries are really perfect, making it the best scripting language I know, completely exploding JavaScript, Python, Ruby, etc.Glad to see you're happy with the language. Let's break down each of these suggestions.- std.database (connect/use MySQL/MongoDB/etc databases)I while I don't agree that the connection facilities themselves should be included (shipping C libraries has been a huge pain), I agree that some form of either ORM or standardized format of DB API should be in Phobos. Like SQLAlchemy, let's leave the connection to other libraries.- std.ui (draw 2D user interfaces) - std.input (get mouse/touchscreen/etc events)I would like to point out that users of the languages you mentioned almost never use the builtin versions of these types of libraries (and hasn't maintenance of Swing been a huge time burden on the Java devs, I remember reading this somewhere). Python users use either Qt or GTK, not Tk.* a soft-realtime garbage collector (like in Nim), which can progressively recycle the memory of a thread without blocking the whole application.This is possible, just needs a champion.- std.web (serve web data/files/pages)There's a philosophical boundary here. There are many ways to make a web server, and there's no one right answer for every web problem. Standardizing one type of server seems improper. Plus the below problem applies.- std.audio (load/play/process/record sounds/musics) - std.image (load/show/process/record images) - std.video (load/show/process/record videos) - std.graphic (draw 2D/3D graphics) * a dedicated IDE, allowing to effortlessly open/compile/execute/debug a single ".d" file as well as an entire project.The problem with all of these suggestions is that the maintenance burden is so enormous that it would take a medium sized team of paid professionals. Let's take std.graphic as an example. To give a sense of the scale of the job, getting a cross platform graphics API is a task so large that it takes some of the largest corporations in the world (MS, Apple, etc.) to come together to make it happen. It's not so much a code problem as it is an organization problem. The result is OpenGL, an API that no one likes very much and literally no one understands. So we would have to support OpenGL, because this has to work on Linux and OpenBSD. Next, you probably want to support DX 11, because that's what pretty much 99% of video games use, so that's another monolithic API that you have to incorporate into your agnostic API. Now how about DX 12? Because it's supposedly way faster, and if you're going after game devs, they tend to worry about speed. How about Vulkan? How about OpenGL 3 as well as 4 because Apple abjectly refuses to upgrade for no apparent reason. Speaking of Apple, how about Metal? Oh, and we want to support mobile so don't forget about OpenGL ES, plus all its different versions that have to be supported for different phone platforms. I cannot stress enough how difficult a task a cross platform 3D graphics library is. It's the same thing for audio and video too. Just look at all of the different encodings and features ffmpeg supports. No, best to leave graphics/audio/video to C libraries that already exist. Even if it's painful, it's more painful to copy their work.But with some efforts...D is 100% community run and none of us get paid. Bringing something into Phobos doesn't mean that it gets more work (it can actually mean the opposite). It's gotten to the point where each module in Phobos ostensively has one or two owners who's responsible for its condition in order to spread the load.For the web servers, vibe.d is already there. For desktop applications, there is gtkd and dlangui.In order to make the existing libraries standard would require 1. An API freeze. Not something that anyone in the community is willing to concede, not even Vibed. 2. Constant, time consuming review of every change, as is required by any standard library for QA. This is why ndslice is no longer in Phobos. 3. Tons of hours of work fixing the bugs that are present in the existing solutions before even considering merging them into Phobos.I agree that at the moment, all these developments can be possible through several third-party libraries.And that's the way it's going to have to stay TBH.
May 22 2017
Ok, I agree with what you say. Indeed, it sounds logical to suppose that the developers of the best libraries in each domain won't probably accept that their work is adapted to be promoted to the status of standard libraries, just to keep the full control on them. That's sad, because I still consider that D's popularity could improve a lot if it was also equipped "by default" to be a rapid application development environment for cross-platform connected web/desktop/mobile applications, but now I've clearly understood why this will never happen.
May 23 2017
On Sunday, 21 May 2017 at 05:52:11 UTC, Ecstatic Coder wrote:Since a few months, I'm using D for all my command-line tools.I consider that D and phobos are quite ready for constant use. As for alternative libraries, I selected a way of integration with Qt. One Small example of my operation on Mac OSX, is mini IDE c use of Qt 5. https://www.youtube.com/watch?v=JbvUJwShN_c https://github.com/MGWL/QtE5
May 23 2017
On Tuesday, 23 May 2017 at 07:33:04 UTC, MGW wrote:On Sunday, 21 May 2017 at 05:52:11 UTC, Ecstatic Coder wrote:Thanks for proposing this C++ wrapper. Qt will get the job done, obviously, so at least now I can implement my GUI with ease. C++ back to the rescue ;)Since a few months, I'm using D for all my command-line tools.I consider that D and phobos are quite ready for constant use. As for alternative libraries, I selected a way of integration with Qt. One Small example of my operation on Mac OSX, is mini IDE c use of Qt 5. https://www.youtube.com/watch?v=JbvUJwShN_c https://github.com/MGWL/QtE5
May 23 2017
On Sunday, 21 May 2017 at 05:52:11 UTC, Ecstatic Coder wrote:- std.database (connect/use MySQL/MongoDB/etc databases)http://code.dlang.org/packages/arsd- std.web (serve web data/files/pages)vibe.d http://code.dlang.org/packages/arsd- std.audio (load/play/process/record sounds/musics)http://code.dlang.org/?sort=updated&category=library.audio- std.image (load/show/process/record images)http://code.dlang.org/packages/imageformats http://code.dlang.org/packages/ae http://code.dlang.org/packages/arsd- std.video (load/show/process/record videos)http://code.dlang.org/packages/ae I sometimes process video with command-line pipes using https://github.com/p0nce/y4m-tools- std.graphic (draw 2D/3D graphics)http://code.dlang.org/packages/ae Check out its explanation https://blog.thecybershadow.net/2014/03/21/functional-image-processing-in-d/- std.input (get mouse/touchscreen/etc events)Honestly you are better off with using SDL. http://code.dlang.org/packages/derelict-sdl2- std.ui (draw 2D user interfaces)http://code.dlang.org/packages/dlanguiI agree that at the moment, all these developments can be possible through several third-party libraries.So we just need ranking in code.dlang.org?
May 23 2017
So we just need ranking in code.dlang.org?Again, I'm not saying that these libraries don't exist. I'm saying that there are many alternatives to choose from, which is fine, but sometimes, not having to search, evaluate and test third-party libraries can be a benefit to the user of a new programming language. It seems that I'm a good example of this kind of "dumb" programmer, who prefer to have everything already prepared. Some people like to buy meat, vegetables etc, and cook all that to prepare lasagne or chinese food all by themselves. Personally, my wife prepares these delicious dishes for me, and I'm perfectly happy with that. Some people prefer that things are already prepared for them and immediately ready to use, some others don't, and prefer to do all the experiments by themselves until they have found exactly what is best for them. Not everybody is the same, that's all what I'm saying. And some of the programmers who try D might not like to take time searching for these libraries, and decide that D is not enough "operational" by their standard, whether it's true or not. The problem is that all the people on this forum are by definition those who haven't rejected the D language for that reason. I know at least two fellow programmers who tried it on my advice, and told me that "indeed D is nice but to do xxx it's still easier with yyy". I tried to explained that with this post, and what could be a solution for that problem, but obviously that was pointless.
May 23 2017
On Tuesday, 23 May 2017 at 22:14:22 UTC, Ecstatic Coder wrote:I tried to explained that with this post, and what could be a solution for that problem, but obviously that was pointless.Hi, You'll find agreement here. I wasn't framing my answer as a criticism of your post, which I think is well balanced. The leadership believes in a larger standard library too. I just wanted to increase awareness of the (sometimes outstanding) libraries there is in the dub registry, that can be used right now. Some of it are below the radar but worthwhile.
May 23 2017
On Tuesday, 23 May 2017 at 21:21:45 UTC, Guillaume Piolat wrote:http://code.dlang.org/packages/arsdSo actually, the dub thing for mine is http://code.dlang.org/packages/arsd-official/~master the other was a third party thing that is now obsolete (and imo this shows one of the weaknesses of dub right now... the list order is just most recent explicit update and old things can't be removed afaik)oh my simpledisplay does that too! and 2d/3d drawing. and combined with minigui does user interface (though minigui still isn't quite done) I am tempted to package my stuff with dmd as a one-stop download... but idk if it is really beneficial since my stuff is so easy to download and use anyway with my policy of independent files.- std.input (get mouse/touchscreen/etc events)Honestly you are better off with using SDL.
May 23 2017
On 24/05/2017 5:04 AM, Adam D. Ruppe wrote:On Tuesday, 23 May 2017 at 21:21:45 UTC, Guillaume Piolat wrote:They can be removed, but that means projects stop being built hence not wanting to remove them.http://code.dlang.org/packages/arsdSo actually, the dub thing for mine is http://code.dlang.org/packages/arsd-official/~master the other was a third party thing that is now obsolete (and imo this shows one of the weaknesses of dub right now... the list order is just most recent explicit update and old things can't be removed afaik)
May 23 2017
On Wednesday, 24 May 2017 at 04:14:39 UTC, rikki cattermole wrote:On 24/05/2017 5:04 AM, Adam D. Ruppe wrote:It is still better to move them to 'obsolete' category and hide from default list, showing only when user explicitly search including this obsolete stuff to request(tick mark, adding 'obsolete' to search request or whatever) or browsing that special 'obsolete' category.On Tuesday, 23 May 2017 at 21:21:45 UTC, Guillaume Piolat wrote:They can be removed, but that means projects stop being built hence not wanting to remove them.http://code.dlang.org/packages/arsdSo actually, the dub thing for mine is http://code.dlang.org/packages/arsd-official/~master the other was a third party thing that is now obsolete (and imo this shows one of the weaknesses of dub right now... the list order is just most recent explicit update and old things can't be removed afaik)
May 23 2017
On 24/05/2017 7:10 AM, evilrat wrote:On Wednesday, 24 May 2017 at 04:14:39 UTC, rikki cattermole wrote:To hide and to remove all together are two separate things, but I agree hiding older packages that are no longer relevant would be a good idea.On 24/05/2017 5:04 AM, Adam D. Ruppe wrote:It is still better to move them to 'obsolete' category and hide from default list, showing only when user explicitly search including this obsolete stuff to request(tick mark, adding 'obsolete' to search request or whatever) or browsing that special 'obsolete' category.On Tuesday, 23 May 2017 at 21:21:45 UTC, Guillaume Piolat wrote:They can be removed, but that means projects stop being built hence not wanting to remove them.http://code.dlang.org/packages/arsdSo actually, the dub thing for mine is http://code.dlang.org/packages/arsd-official/~master the other was a third party thing that is now obsolete (and imo this shows one of the weaknesses of dub right now... the list order is just most recent explicit update and old things can't be removed afaik)
May 23 2017
On Wednesday, 24 May 2017 at 04:14:39 UTC, rikki cattermole wrote:They can be removed, but that means projects stop being built hence not wanting to remove them.That old one hasn't actually even compiled for over a year - I still sometimes get bug reports that things don't build cuz of deprecation errors and it is because of that old package. There's nothing gained and some lost. I think all packages without a push for over two years should be removed or reassigned to a new owner (make the dub name refer to a newer fork of the original git repo)
May 24 2017
On Wednesday, 24 May 2017 at 04:04:53 UTC, Adam D. Ruppe wrote:On Tuesday, 23 May 2017 at 21:21:45 UTC, Guillaume Piolat wrote:Just wanted to say that I was glad you did this. It makes it that much easier to play around with your stuff.http://code.dlang.org/packages/arsdSo actually, the dub thing for mine is http://code.dlang.org/packages/arsd-official/~master
May 24 2017
On Wednesday, 24 May 2017 at 12:09:02 UTC, jmh530 wrote:Just wanted to say that I was glad you did this. It makes it that much easier to play around with your stuff.So you use the subpackages or try to use the top level thing? Also have you had trouble with the ~master vs tag thing? dub just doesn't agree with my dev method at all.
May 24 2017
On Wednesday, 24 May 2017 at 14:49:28 UTC, Adam D. Ruppe wrote:On Wednesday, 24 May 2017 at 12:09:02 UTC, jmh530 wrote:I had only noticed it was on dub recently so haven't had a chance to play around with it that way. I had only used it the old-fashioned way.Just wanted to say that I was glad you did this. It makes it that much easier to play around with your stuff.So you use the subpackages or try to use the top level thing? Also have you had trouble with the ~master vs tag thing? dub just doesn't agree with my dev method at all.
May 24 2017
On Wednesday, 24 May 2017 at 04:04:53 UTC, Adam D. Ruppe wrote:On Tuesday, 23 May 2017 at 21:21:45 UTC, Guillaume Piolat wrote:Actually the dub version is much easier/convenient for me. Ha ha[...]So actually, the dub thing for mine is http://code.dlang.org/packages/arsd-official/~master the other was a third party thing that is now obsolete (and imo this shows one of the weaknesses of dub right now... the list order is just most recent explicit update and old things can't be removed afaik)[...]oh my simpledisplay does that too! and 2d/3d drawing. and combined with minigui does user interface (though minigui still isn't quite done) I am tempted to package my stuff with dmd as a one-stop download... but idk if it is really beneficial since my stuff is so easy to download and use anyway with my policy of independent files.
May 24 2017