On Friday, 11 December 2015 at 11:42:31 UTC, Ola Fosheim Grøstad wrote:
On Friday, 11 December 2015 at 10:22:18 UTC, Joakim wrote:
I agree that a plan needs to be articulated. I hoped to get something like that from the vision statement, but broad goals like improving quality or fostering participation are pretty useless. It should have gone into concrete detail on how they favored accomplishing those broad aims, say by better integrating Panteleev's Digger and other tools into the build process or improving the documentation about getting started on developing D itself.

Well, my main issue with D is that there is no plan for making things simpler in order to add more advanced clean features based on modern static analysis at the next stage. New features are added, like hacking in C++ support or multiple-alias-this, that just adds more complexity.

Unless you articulate what your alternate plan is to make things simpler, perhaps along with some github PRs or a DIP, things will keep going as they are.

Although I still have some hope that a refactored codebase could make "simplification" possible as a side project by an independent group. But making a cleaner version of that language doesn't seem to be on the map by the core developers. As such, D is in the same tarpit as Go. "We are done". Ok, but then these languages will remain in a very small niche that most likely will shrink, not grow. To me, both Go and D are stuck a little bit in the past and I think both languages will need to move one step back in order to make a leap forward.

C++14 would have been great if they had bothered to clean up the language before adding even more to it. I think C++ is a good example of what happens when one doesn't take a step back and clean up in time.

I completely agree that languages need to clean up and release breaking versions at some point, just as D did with the 2.0 release.

I think you underestimate how much of a selling point dmd's speed is

Even so, the best performing compiler ought be the official one and released first.

I don't see why, usually you prototype first with the faster compiler, then build for production with the slower one with better codegen. Of course, it doesn't help that ldc/gdc are behind in the frontend version they're using, but you could always use an older dmd to prototype if you know you'll need ldc/gdc.

Go also is acclaimed for great compilation speed, yet people complain about execution and say they switch to Rust over it etc. And Rust is known to be slow at compilation.

I'm sure both types of speed have their own audience, but with D you can have both. :)

Personally, I think that entire web platform is stupid, so I don't care that D doesn't target it.

This is the big problem. It is an open target that is available, and you only compete with C/C++. Yet it isn't prestige among language devs to target it, and it isn't established, so people ignore it. In 5 years people will curse because they didn't actively target it before other languages got established on it.

I don't think system programming languages have much of a shot at web dev, which is why I've always said the market for vibe.d is limited, no matter how great it is. C/C++ certainly have almost no penetration there. Web devs use scripting languages to prototype, then switch to Java when they need to scale. D could maybe hit those who want to scale beyond that, but that's not many places.

Your asm.js/WebAssembly target is a little different, but using the web for such apps is just as dumb. There are good reasons why mobile is ascendant and webapps on the downswing.

If you want to grow that is exactly the kind of target you want. People switch if you are the only alternative. That is exactly when they switch to smaller niche products.

People adopted Perl, it was the only real alternative for prototyping like transforms of text.

People adopted Php, it was the only real alternative for embedding code into html.

People thought those application areas were so boring compared to "a general purpose language". It was not "serious" programming areas. So these languages owned those domains for many years, and grew big.

"Grew big" _in those domains_, ie they have made no inroads into other markets. This is what I keep pointing out to you: you can optimize for one niche and do extremely well there, but then you often find yourself stuck in that niche, as Go finds itself today.

Dan recently got the D tests running on the Apple tvOS and watchOS simulators: soon you'll be able to run D on your TV or watch! :)

That's great fun! But it isn't a business-plan with Swift being there already.

It is for those who want to be cross-platform, as D pretty much passes all its tests on Android and iOS, while Swift is still only on iOS.

Well, right now, D is on far more platforms, so it has a head start, though alpha quality on mobile. I'm sure Swift will try to compete, but Apple is not going to port it to Android and

I think they are going to make some core libraries available. I think that has been announced.

Not for Android, Apple will _never_ make Swift for Android, the community will have to do that.

The first time Apple tried to spur an OSS community with Darwin and their base OSS tools, it never took off, with Apple only providing open-source code dumps ever since. It's only later

There is a lot demand for an easy path from iOS to Android that does not involve hacks like C#. There was actually a Swift compiler made by another company for that purpose. But with Apple backing this approach it becomes much more attractive.

Apple is not backing any approach: they're making the source available so devs can do anything they want with it.

Android, and llvm that have built OSS communities. While Swift has a better chance, since it comes from the llvm group, it will be interesting to see how much outsiders contribute to it.

There are some speculations on whether Apple might want to compete with AWS, Google and Microsoft and use Swift as the platform. (iCloud)

If so, they're pretty dumb, as server hosting is a low-margin, highly competitive business. I have no idea why google or MS would want to be in it. Amazon I kind of understand, because their retail business is even lower-margin!

I think Apple has long ago learned the lessons of WebObjects, Xserve, and OS X Server: stay out.

You assume that they're very similar and that Swift will have a better ecosystem eventually. They are _somewhat_ similar but different enough to attract different devs, and I pointed out above why they might not be able to grow their community much larger.

I assume that some people _might_ bother to weed out the efficiencies in Swift that are related to staying compatible with Objective-C and turn it into a reasonable high level system level language for those that don't need that compatibility.

It won't compete directly with Rust or C++, but it might compete fiercely with other languages that go the ARC route.

Which isn't D either, unless you include D because of the GC. Swift looks like a strong competitor- I've always said that- but it's yet to be seen what kind of uptake it gets out of its home turf of iOS.

On Sunday, 13 December 2015 at 12:29:49 UTC, Ola Fosheim Grøstad wrote:
On Thursday, 10 December 2015 at 15:16:05 UTC, Paulo Pinto wrote:
Both are now getting AOT compilers as part of their standard toolchains.

I found this video interesting:

https://channel9.msdn.com/Events/ASPNET-Events/ASPNET-Fall-Sessions/Introducing-the-dotnet-CLI

Apparently it will become possible to AOT C# libraries and call them from other languages?

Yep, that's what Paulo keeps referring to.

Reply via email to