January 07, 2016
On Tuesday, 5 January 2016 at 12:27:12 UTC, Ola Fosheim Grøstad wrote:
> I wonder what kind of programming people plan or _hope_ to use D for in 2016?

I am developing some tools in the hedge fund sector that will be predominantly written in D, although there will be components called in other languages for user interface and libraries.  Not just me as I have some other people helping.  It's a smallish-size project  (in comparison to the likes of Weka, for example) that nonetheless could have quite some impact over time at a business level.

At some stage there may be some basic mobile apps - server will run D code, and maybe parts of client if it makes sense to do so for non-UI stuff especially.

> Do you have plans to:
>
> 1. migrate legacy C++ code bases to D when C++ bindings are final?

There is no legacy code base in my case.  There are some dotnet processes to interface to via an API, but that's really pretty easy.

> 2. integrate with numerical solutions like TensorFlow?

Probably - not yet at that stage but will explore that later on.

> 3. create web services with vibe.d?

Yes - although these will be internal.  In my domain it can be quite different from typical concerns of web guys.  Very small number of users, but quite highly valued ones.  Ideally, I would have one user, because in the investment world if you create something valuable then the smaller the number of people exploiting it the better.

Communication between my own components may use nanomsg or tcp sockets rather than http.

> 4. run D apps in the cloud?
possibly.  aws lambda can be quite appealing price-wise and I have got D working there.  otherwise it's more sensible for my use to use dedicated servers and maybe a few Digital Ocean instances as needed.

if by cloud you mean to include private cloud then yes.


> 5. run D apps on mobile?

Yes.  See above.  I noticed with Android Wear the device is good especially for notifications and for triggering things.  Notifications are pretty simple things, and executing a script on a trigger also.  So the overhead of not having nice wrappers around Android SDK (and having to go via JNI) is much less burdensome.  Haven't got to the stage of doing much there yet as other things are prior.

So my answer to your question below to Joakim:
"Does this mean that you might be able to do commercial stuff with D on Android this year?"

is, yes, probably.



> 6. create runtime less programs (games, embedded)?
nope.


> 7. work on the D language/phobos ?
I would like to but won't have the time.  (I made a modest contribution last year in a port of the build script to D, but digger is better).

> 8. or something else?
>
>
> What other languages do you think you will use or toy with in 2016 and for what purpose?

Lua for light scripting of D components.  C# to hook into dotnet.  Javascript for obvious reasons.  Python and C++.


> What would it take for you to use D instead, or what changes would be needed for you to move from language X to D?

I think I am pretty much all-in on D at this point.  I could imagine that in time then getting C++ programmers up to speed would become a challenge given the documentation (Don from Sociomantic talked about this).  But I'm already sold on D and don't need more to appreciate its advantages.

The work of Dlangscience could make quite a difference for the better down the line - John Colvin's and Ilya's work especially.  I already use John's work commercially when writing quick scripts in a Python notebook (I can write some in D and some in Python in the same book), and I'll use Ilya's slices once I get more time.  bachmeier's work on embedding R might come in handy too, but at a later stage of the project.

The idea of being able to write D code and have it compile to webassembly is a very interesting one, but whether it would be something I could use commercially I don't know as I have little experience developing for the web.  I am in a position where it's okay to take modest technical risks for prototypes, and there could be quite some benefit from this, so I would likely be early in exploring this when ready.

As I understand it, the LLVM backend can put out asm.js already (maybe webassembly too - I didn't check), but one would need to port druntime and possibly some other things.  I wonder how much work that would be.



Laeeth.

January 07, 2016
On Tuesday, 5 January 2016 at 12:27:12 UTC, Ola Fosheim Grøstad wrote:
> I wonder what kind of programming people plan or _hope_ to use D for in 2016?

I plan to implement more freedesktop specifications and enhance already implemented.
I already have Desktop Entry, Icon Theme and XDG base directories, currently I try to wrap my mind around Shared MIME Database Spec. The problem is not even implementation though, but deciding on interfaces.

Then I plan to target Menu specification, MIME applications, XBEL and probably some others.

I also want to implement trashcan library for working with trashcan in crossplatform way.

Native D library for parsing .lnk files on Windows is in the list too.
January 07, 2016
> I wonder what kind of programming people plan or _hope_ to use D for in 2016?
>
I will continue to improve my library QtE in 2016 year. I now program only on D + QtE (a wrapper for Qt 4.8.1) GUI applications for  Windows  32 and Linux 32.

Screen Windows
http://qte.ucoz.ru/QtE_win_2.png


Screen Linux
http://qte.ucoz.ru/QtE_linux_2.png

Probably I will start to write QtE for Qt 5.x in the summer.
January 08, 2016
We plan to port a network protocol + binary data format API (IAP Tools) to D from Java.
January 08, 2016
> I've just finished with the initial version of my project to embed R inside D. Hopefully now I can convince other economists to use it.
>
> I might put together a simple web interface (using D of course) that will improve my research collaboration efforts. The earliest I will have time to work on it will be the summer.

How does this work? Do you write R programs which are executed by a D program?
Or do you call functions in D which corresponds to R functions?
January 08, 2016
Finish kernel and basic libs of my operating system (https://github.com/MatsumotoSatoshi/Trinix)

Release beta version of my multiplatform GUI framework and IDE for D.
January 08, 2016
On Tuesday, 5 January 2016 at 13:21:32 UTC, Ola Fosheim Grøstad wrote:

> Here are my (hopeful, given enough spare time) plans for D:
>
> 1. Code up a new experimental unicode-syntax for a subset of D now that the C++ to D transition is "complete", with a fair selection of unicode operators and symbols (e.g. "π", "∑", "≤", "≠" etc).
>

I toyed with something similar with a toy/learning D math lib that I did some years ago. Was funny using real math annotation, but it's cumbersome to write code using it, as you need to type the unicode code. I don't have symbols like ϕ or θ on my keyboard.
January 08, 2016
On Friday, 8 January 2016 at 08:46:29 UTC, Luis wrote:
> On Tuesday, 5 January 2016 at 13:21:32 UTC, Ola Fosheim Grøstad wrote:
>
>> Here are my (hopeful, given enough spare time) plans for D:
>>
>> 1. Code up a new experimental unicode-syntax for a subset of D now that the C++ to D transition is "complete", with a fair selection of unicode operators and symbols (e.g. "π", "∑", "≤", "≠" etc).
>>
>
> I toyed with something similar with a toy/learning D math lib that I did some years ago. Was funny using real math annotation, but it's cumbersome to write code using it, as you need to type the unicode code. I don't have symbols like ϕ or θ on my keyboard.

I'd suggest rebinding a key to the compose key, I use capslock. It's a very handy key to have, especially if you do any mathematics writing.
January 08, 2016
Do a release of my DCPU-16 toolkit : https://github.com/Zardoz89/DEDCPU-16

I should :

- Unit-tests
- Clean the code mess that I have... Doing proper code separation on modules, etc
- Rewrite the emulator code. Actually I have disabled it as I used a few pieces of code to the other tools.
  - And have a toggle to with from "classic" DPCU-16 and Techcompilant's DCPU-16 implementation.
  - GtkD GUI for the emulator
- Create executable packages for Linux/Windows

January 08, 2016
On Tuesday, 5 January 2016 at 12:27:12 UTC, Ola Fosheim Grøstad wrote:
> I wonder what kind of programming people plan or _hope_ to use D for in 2016?
>

We're doing Computer Vision stuff where I work.  No chance of smuggling D in, but there are more and more open source libraries for CV, that I'd like to interface to, or as an exercise in learning D, try to rewrite simple versions of in D.

Audio signal processing, machine learning, image processing, generating procedural texture images for use in 3D graphics.  Much of this, when at home instead of at work, is to create demos of math and physics principles, to go with writings and to show off.


> What other languages do you think you will use or toy with in 2016 and for what purpose?

Python, for quick data exploration, initial algorithm development, scripts to manage files and data at work.  Kaggle competitions.

Julia in place of Python when I can get away with it, especially personal projects, and Kaggle.  For Kaggle, I start in Python or Julia to figure out how to solve the problem, get a feel for the data and solutions, then make a fast number-cruncher in D to deal with full-size data and hammer away on those O(N!) problems.

Javascript for interactive web doodads, data visualization, science/engineering educational toys as web apps.

C++ 'cause companies that pay enough to cover my rent still use C++ (if not Java (ick) or C# (eh, i kinda like it actually)).  Ugh!  Someone has to convince executives, software project managers, team leads and everyone else involved that C++ sux and D r00lz.

C-like shader languages, for vertex and fragment shaders, for custom 3D data viz at work, and Blender art projects at home.


> What would it take for you to use D instead, or what changes would be needed for you to move from language X to D?

Way less than it would take me to use something else instead of D!

The only reason I use Python or Julia instead of D is the quick, informal, experimental way of exploring data they allow.  The main reason I favor Julia over Python is I hate having to put "np." in front of many of the mathy things, and "self." when inside an object to refer to its own parts.

In an ideal world, it'd be only Julia and D for 97% of the stuff I do.