5 ms·
I didn't submit the link but I did write the blog post. AMA!
by atilaneves 7y ago
I didn't submit the link but I did write the blog post. AMA!
- mochomocha 7y agoThanks Atila! I'm curious about your work around reflection, care to give more details? This is one of the great strength of D, and having some API consolidation sounds awesome. Also: any opinion about runtime reflection capabilities? I love compile-time reflection as much as any other D user, but sometimes runtime reflection can do wonders if used parsimoniously.
- atilaneves 7y agoI'm working on a library right now that, I hope, will have an easy to use API. It'll also have a "mixin/ctfe version", whereby all reflected characteristics are returned as strings that can be mixed in. This opens the door for runtime reflection as well. It's in the works.
- qznc 7y agoWhat happened to Andrei?
- pjmlp 7y agoHe is still around, but private life has gained more priority and he decided to refocus. There was a post about it on the forums.
- qznc 7y ago> Thanks, Mike. And thanks to all for the concern - I also got a few private emails asking me for the juicy details. Of which there are none - my family needs me and some volunteering activities had to give way. > As Jonathan mentioned I'm still working with my students and working on the Foundation administration, legal, taxes, and finances. > I've been involved with D since 2005. That's an eternity in this business. I think bringing Atila to the fore is a great positive because it brings a fresh perspective and approach. from https://forum.dlang.org/post/qj18h2$8o1$1@digitalmars.com https://forum.dlang.org/post/qj18h2$8o1$1@digitalmars.com
- arunc 7y agoIn DConf 2019 he announced about the health issues of his family member and why he was not able to step up and give 100%. https://youtu.be/cpTAtiboIDs?t=3040 https://youtu.be/cpTAtiboIDs?t=3040
- arunc 7y agoI personally believe that it's all about _people_. How do you plan to push the community forward? After all everyone just shares their free time. So far based on what I've observed, people in the D community is the biggest critique of it's own, even more so than any other community I've seen on the internet. The D forum is full of shit posts thrashing D for what it is.
- atilaneves 7y agoPart of my new job is trying to motivate people to do their best work. I'm still figuring it out.
- abaga129 7y agoIn a recent blog post Walter talked about adding borrowing to D. Is this planned to be implemented and if so do you see any hurdles and/or benefits in relation to your Vision? Looking forward what new perspective you bring to the community!
- atilaneves 7y ago> Is this planned to be implemented Yes. > any hurdles and/or benefits in relation to your Vision? Hurdles: implementation issues, figuring out later on that there are ways to corrupt memory despite the rules we come up with. Benefits: Compile-time memory safety.
- exikyut 7y agoI have to admit I totally latched onto the point you made about fast development time. The interpreter+compiler approach is something I've been pining for for a little while now. I've only just begun to punch holes in my obsessive tendency to only use interpreted languages (because I hate compile waits that much), and to me having the fast-iteration times of interpreters, and _also_ -O3 when it's needed, would be the best of all the worlds; IMHO JITs are a necessary hack for dynamic/untyped(/interpreted) languages, and there are serious real-world gains to be had from having the plumbing get done that lets people jump from interpretation, over JITs, straight to optimized AOT-compiled code. Would be quite the project though, to port a fundamentally-compiled ecosystem like D to use an interpreter. I wonder how long a realistic timeframe to "minimally practically usable" would be. Thinking about it, Cling (https://root.cern.ch/cling https://root.cern.ch/cling, https://github.com/root-project/cling https://github.com/root-project/cling, LGPL 2.1) wires Clang's C AST into LLVM's built-in JIT (IIUC) to get a C/C++ interpreter. D has LDC, so there is already integration of the UI/NCSAOSL and understanding of how to leverage LLVM. Perhaps a workable direction (with probably a lot of domain-specific knowledge already worked out and potentially available from ROOT) could be a Cling-like s/Clang/LDC/->LLVM ? Another thought: using an approach like the above, it might be possible to add pragmas that specify whether functions should be AOTed or JITed, and how much JIT optimization should be done. I also wonder if the LLVM JIT can be told/forced to "precompile this specific function" (effectively AOTing just that function), within the JIT hot-code-replacement framework; if this were possible you could even hot-reload running code (with per-function/per-file/etc customizable optimization levels). IMHO it may be interesting to make this functionality available, and let the community/ecosystem work through the messiness of solving things like the struct-versioning problem. Clear communication would be important to rationalize and clarify the deliberateness of such a decision, of course, and that the language [design] hadn't gone completely nuts :) due to the number of segfaults/developer burnout/etc it would probably introduce.
- atilaneves 7y ago> Would be quite the project though, to port a fundamentally-compiled ecosystem like D to use an interpreter. Sort of. We already have an interpreter (CTFE!), it's just not up to the task for what I want to do with it.
- Shorel 7y agoThe interpreter thing could work better in the current software landscape if it could be integrated in Jupyter notebooks. Nowadays many people are migrating to Python to use machine learning in Jupyter or just to run machine learning code in Python.
- atilaneves 7y agoIt's already possible to use D with Jupyter, but an interpreter will make it a lot faster.
- Shorel 7y agoWith all the libraries? The base language is nice (and kind of expected), but for D-lang to grow in this space it needs port/replacements for at least NumPy, SciPy, Pandas, and Matplotlib.
- rkangel 7y agoIs there any impetus in the community towards embedded development? By embedded I mean natively on microcontrollers, even if you were limited to 32 bit ARM platforms? As a portion of our work targets micros, all of our code needs to be written in a language that supports micros so that we can share code. There is impetus to move on from C, but Rust is the first and only viable replacement candidate because of this.