July 29, 2017
On Friday, 28 July 2017 at 14:58:01 UTC, Ali wrote:
> How do you use D?
I mostly use it for personal projects and used it several times for homework.
> In work, (key projects or smaller side projects)
Still don't have a job :)
> in your side project, (github, links please)
I'm creating a parasitic language (started like 2 days ago so still in very early stages) https://github.com/NotSpooky/Espuki
Did several homeworks, one was creating a "MIPS" (instructions aren't really the same) simulator of a computer with two cores and two cache levels. https://github.com/NotSpooky/Simulador-MIPS
The reason I became interested in D was the ability to mix usage of the GC with manual allocation for games. I spent several months making a 3D game but got bored (no GH link).
> just to learn something new? (I would easily argue that
It has been very useful for this. For learning metaprogramming and ranges mostly.
> Did you introduce D to your work place? How? What challenges did you face?
I have mentioned it to classmates. Most are somewhat interested but don't find it worth to learn a new language in which they won't probably work.
> What is you D setup at work, which compiler, which IDE?
Vim.
> And any other fun facts you may want to share :)
I like D more than any other current language, but I think backwards compatibility is already a significant burden. That's why I'm making a language that compiles to D. To have most of D without worrying too much about that.
July 29, 2017
On Friday, 28 July 2017 at 14:58:01 UTC, Ali wrote:
> How do you use D?
One work project a few years ago, and many side projects.  rdmd makes D my "scripting" language of choice.

> In work, (key projects or smaller side projects)
The need for single executable with the speed of C prompted me to finally dig into D, which I had been watching since 2007, or so.  Most of my work is C++(Qt) - but the dependencies or need for installers made that undesireable for this project. I used D to build a model processing core component for an online service.  All were happy with the experience.

> in your side project, (github, links please)
I'm cooking up some bigger projects, beyond random scripts, but they are on private Fossil servers.  I aim to make them public, when they get further along.... I meant to be coding right now!

>
> Did you introduce D to your work place? How? What challenges did you face?
I don't tilt at those windmills anymore.  It works for me.  I'd rather be coding.

>
> What is you D setup at work, which compiler, which IDE?
https://code.dlang.org/packages/dlangide while I can, but
mostly Dlang plugin integration with Visual Studio Code

>
> And any other fun facts you may want to share :)
I made some commandline utilities in D that would parse, process, and export 100K line files with an in-memory SQLite db and resources easily embedded in the executable.  When I gave them to colleagues to use, they thought my code didn't work at all - because it executed and returned practically instantly.  They were used to the 10s of seconds execution times of Ruby and Python!
July 29, 2017
On Saturday, 29 July 2017 at 04:21:43 UTC, Shannon wrote:
> On Friday, 28 July 2017 at 14:58:01 UTC, Ali wrote:
>> How do you use D?

At my leisure time, I use it to build real-time apps (fast, faster, fastest ;-)

At work, we use it for web-based stuff like apps in the cloud foundry.
The big challenge for D is the small code base, lot of unfinished libs, low numbers of CPUs support, and tiny community compared to other languages.

A typical discussion at work:
"Did you hear about D?"
"What's this"
"A C-like language with more state-of-the-art syntax and functionalities. More secure, faster, more flexible compared to C, C++"
"Is it strategic? Are other companies using it? Any light tower apps?..."
"No, yet, but.."
"Let's go to work with C/C++/Java/Javascript/PHP/Python...!"

The point is, if you has the experience with other languages before, and you discover D (in my case it was an article in a german IT magazine), you don't like to go back. But you have to make the first step forward.

Regards, Ozan
July 29, 2017
On Fri, 2017-07-28 at 19:50 +0000, Anton Fediushin via Digitalmars-d wrote:
> 
[…]
> It is more about marketing. Maybe Go is not a perfect language, maybe not even a good one, but it's sold so good because of a good marketing

In the end Go is about interns at Google not making errors in Google code. It is also about some people liking it and being able to produce libraries and systems. And of course having lots of hype. I have to admit using Gogland as an IDE I quite like developing code with Go.

> So, calling D a "better C++" is a bad advertisement. But if you rename it to '<anything>Script', for example "DatScript" and sell it as "better, statically typed JavaScript dialect which compiles into fast native executables" it will became #1 language on GitHub in no time.

In 2004 maybe "D as better C++" was a good line. In 2017 "D is a general purpose programming language that allow faster development time than C++, Go, and Rust" is a far better line?

[…]
> 
> I am talking about community, not language. C++ community is so huge that they cannot work together on the language, which leads to different compilers supporting different features and different frameworks for same purposes not compatible with each other. So, instead of making something useful, C++ community rewrites same code over and over again in the way they think it should be done.
> 
> It happens to new C++ specifications, when some feature got rejected and one compiler implements it, but others doesn't.

There is only one C++ standard, anyone using extras other than TR ones is not using C++, they have created their own language based on C++.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

July 29, 2017
On 7/29/17 3:05 AM, Russel Winder via Digitalmars-d wrote:
> In 2004 maybe "D as better C++" was a good line. In 2017 "D is a
> general purpose programming language that allow faster development time
> than C++, Go, and Rust" is a far better line?

This is what attracts me to D--it's easy to write, clean to read, and super powerful. However the "faster development time" is a bit marred by D's current ecosystem: it's faster/easier than other languages in certain domains, but lack of libraries/integration make it a tough choice in other domains (like mobile). And we have fairly regular complaints on the forum about the new-to-D experience (and good on them for taking the time to post about it here!). If I had free time for D I'd be trying to work on improving those things.
July 29, 2017
On Fri, Jul 28, 2017 at 02:58:01PM +0000, Ali via Digitalmars-d wrote: [...]
> How do you use D?

vim + dmd git HEAD :-)

Well, sometimes also gdc/ldc2, but usually just dmd git HEAD because I'm a sucker for bleeding edge D.


> In work, (key projects or smaller side projects)

Unfortunately, people at work are very C/C++ centric and resistant to other languages. Plus, we have a huge codebase that has to run on an embedded system, so adding a new language into the mix does not sit well with the PTBs.  So, no D at work, sad to say. :-(


> in your side project, (github, links please)

Sorry, most of my projects are not (yet) available on github.  The few
which are, include:

	https://github.com/quickfur/fastcsv
	https://github.com/quickfur/qrat
	https://github.com/quickfur/dcal

The dcal code is very minimal, because it was supposed to be example code for the following article, so I haven't added any bells and whistles that I otherwise normally would:

	https://wiki.dlang.org/Component_programming_with_ranges


> just to learn something new? (I would easily argue that learning D will make you a better C++ programmer, maybe not the most efficient way, but I a sure it i very effective)

Actually, I've found that D has completely spoiled C/C++ for me.  After tasting the expressive power that is D, having to deal with C at work and C++ to a lesser extent (a rather constricted subset of C++, I might add, for various reasons) is just very painful and frustrating.  I just can't enjoy working with C/C++ the way I used to anymore.  D is just too comfortable to use and just too awesome, that going back to C/C++ feels like being forced to program on a 1MHz CPU with 64kB RAM after experiencing the power of a 6-core CPU with 800MHz per core with 3GB RAM.  The only reason I'm still putting up with C/C++ is because they pay me to do it.


> Did you introduce D to your work place? How? What challenges did you face?

Unfortunately, they are not receptive to new languages right now.  C is king here, sad to say, and even C++ is only barely tolerated (they basically outlawed C++ exceptions in the name of optimization, and use their own C-based hack instead, among other such restrictions). The mere mention of the word "GC" will make the answer an automatic "no".


> What is you D setup at work, which compiler, which IDE?
[...]

Compiler: usually dmd, but where performance is important, gdc or ldc2.

IDE: what's that? :-D  Linux is my IDE, vim is my source code editor. And no, I don't use syntax highlighting either. (IMAO, if code (or the language) needs highlighting just to be readable, it has already failed. I'm probably by far the minority in this opinion, and I'm quite happy with that. :-P)


T

-- 
By understanding a machine-oriented language, the programmer will tend to use a much more efficient method; it is much closer to reality. -- D. Knuth
July 30, 2017
On Sat, Jul 29, 2017 at 12:58 AM, Ali via Digitalmars-d < digitalmars-d@puremagic.com> wrote:

> While the Orgs using D page is very nice ... I hoping to hear more personal stories ...
>
> So
>
> How do you use D
>
In work, (key projects or smaller side projects)
>

As a replacement for Python for automating tasks (I was already using python because I suck at shell scripting), D's main advantage here is that I can compile a binary that will run on the target computer without having to install any dependencies. The most important thing to note here is that I haven't come accross any serious downsides to using D instead of python.


> in your side project, (github, links please)
>

https://github.com/kayosiii/subterrainian is my current side project. It is moving slowly as I tend to work on other things when I get into a place where I can either wait for features to be implemented or do a lot of extra work. Most recently this was getting iAllocator working in @nogc code.


> just to learn something new? (I would easily argue that learning D will make you a better C++ programmer, maybe not the most efficient way, but I a sure it i very effective)
>

Initially i picked up Andrei's book because it looked interesting and found that D was closer to what I wanted than anything else out there. Generally I learn languages when they are the easiest way to get a task done D and Perl are the only two I have learned for 'fun'.

Did you introduce D to your work place? How? What challenges did you face?
>

Until recently I was the only coder at my workplace. I would probably use D more if there were more game engines that intergrated D.

What is you D setup at work, which compiler, which IDE?
>

Currently tooling is my least favourite aspect of using D. I am finding vscode with the D extension that intergrates Dub the least bad solution.

And any other fun facts you may want to share :)
>


July 30, 2017
On Friday, 28 July 2017 at 14:58:01 UTC, Ali wrote:
> While the Orgs using D page is very nice ... I hoping to hear more personal stories ...
>
> So
>
> How do you use D?

> In work, (key projects or smaller side projects)

I am using D to develop a system for rational drug design. The main application for D is for protein 3D structure prediction and statistical analysis using Differential Geometry and Knot Theory.

> Did you introduce D to your work place? How? What challenges did you face?

As a research scientist, I can choose any tools I think will do the job.

> What is you D setup at work, which compiler, which IDE?
>
Visual Studio Code + D Plugin - DMD and LDC

> And any other fun facts you may want to share :)

After using FORTRAN, C/C++ and Java for structural bioinformatics, I think D is the best language so far for programming those types of tools.



July 31, 2017
On Friday, 28 July 2017 at 14:58:01 UTC, Ali wrote:
> How do you use D?
> In work, (key projects or smaller side projects)

I did my undergraduate in CS where I picked up Python, Java and a little bit of C/C++, but Java was my most familiar language. When I started my PhD in an Engineering Maths department, I picked up Andrei's book on D as I had come across the language several times earlier but never had a good excuse to pick it up properly. My supervisor is more of a mathematician so I did not have any dependencies or limitations in the tools I chose to use for research. For the first year of my PhD I built models in Java with Python for scripting on the side. I was incredibly disappointed with the performance in Java, and having been learning D on the side during that year, I decided to rewrite it using D. I essentially chose D for the one reason many people do NOT choose D; I wanted a GC-language that offered a decent level of control like C/C++ and was much nicer to write than Java, but with the convenience of not having to concern myself too much with memory management. I was happy to tune for efficiency, but did not want memory management to interrupt my workflow when writing a new model. D was perfect for this.

> in your side project, (github, links please)

I've been lazy with side projects since I am always trying to work on my maths and writing skills which are pretty lacking given my choice of degree.

> Did you introduce D to your work place? How? What challenges did you face?

I've tried to inform people of the merits of D but in this department, we're heavily tied to Matlab for teaching. When I started, they switched up the undergrad courses and started teaching Python as an alternative to Matlab alongside C/Java, but there's still a lot of reliance on Matlab. I'd like to see them chuck Java and teach C/D but we'll see. At university, there's a lot of difficulty in balancing the necessities (C for embedded systems/robotics and Matlab for modelling).

> What is you D setup at work, which compiler, which IDE?

I've been a long-time Sublime Text user, using DMD (rdmd is a life saver) and that's about it. I'm interested in VS Code with the dlang extension though.

> And any other fun facts you may want to share :)

It makes me sad to see so many people disgruntled by the mere presence of a garbage collector. I like it a lot and while I am completely on board with moving toward making it more optional, I am glad it's there and would welcome speed improvements. I think there's a balance to be struck between allowing programmers to forget about the low-level memory management when writing programs and tuning memory management when optimising for performance.
July 31, 2017
On Sunday, 30 July 2017 at 01:53:15 UTC, Zwargh wrote:
> I am using D to develop a system for rational drug design. The main application for D is for protein 3D structure prediction and statistical analysis using Differential Geometry and Knot Theory.

Cool! Are you considered using dcompute for this once it has matured a bit?