digitalmars.D - Why no stable LTS releases?
- sighoya (9/9) Jun 12 2021 I've heard the complaint all the time, and I'm asking myself what
- Imperatorn (3/12) Jun 12 2021 It would need some discipline to get it to work, but is probably
- bahhratt (5/14) Jun 13 2021 D is Walter's hobby project and he just enjoys playing with it.
- Bastiaan Veelo (6/8) Jun 13 2021 Quite likely the only problem is a lacking champion. As soon as
- Mathias LANG (4/13) Jun 13 2021 We have an LTS. It's called GDC. Iain have done a great job at
- Imperatorn (2/16) Jun 14 2021 Well, this is actually true. But I get the feeling he meant dmd?
- Iain Buclaw (8/25) Jun 14 2021 The front-end used by GDC _is_ DMD. :-)
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (25/29) Jun 14 2021 Sadly, LDC was much easier to compile on Mac than GCC the last
- Iain Buclaw (24/51) Jun 14 2021 The darwin port maintainer and I have been testing various OS X
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (16/28) Jun 14 2021 Maybe. I strongly prefer regression free (applies to all
- mw (6/12) Jun 14 2021 People who prefer the latest can always use DMD.
- Guillaume Piolat (3/4) Jun 14 2021 Use an earlier version of the compiler.
I've heard the complaint all the time, and I'm asking myself what the problem actually is with stable long term releases? It would be better not to break every two months and instead have schedules for bugfixes, non-breaking features and breaking features. It very much resembles that idea given in: https://gist.github.com/mdparker/ab61a1309752905cf93acb2653c50beb Btw, what is actually the state of this dip? Your opinions?
Jun 12 2021
On Saturday, 12 June 2021 at 13:06:20 UTC, sighoya wrote:I've heard the complaint all the time, and I'm asking myself what the problem actually is with stable long term releases? It would be better not to break every two months and instead have schedules for bugfixes, non-breaking features and breaking features. It very much resembles that idea given in: https://gist.github.com/mdparker/ab61a1309752905cf93acb2653c50beb Btw, what is actually the state of this dip? Your opinions?It would need some discipline to get it to work, but is probably needed
Jun 12 2021
On Saturday, 12 June 2021 at 13:06:20 UTC, sighoya wrote:I've heard the complaint all the time, and I'm asking myself what the problem actually is with stable long term releases? It would be better not to break every two months and instead have schedules for bugfixes, non-breaking features and breaking features. It very much resembles that idea given in: https://gist.github.com/mdparker/ab61a1309752905cf93acb2653c50beb Btw, what is actually the state of this dip? Your opinions?D is Walter's hobby project and he just enjoys playing with it. He doesn't seem interested in having a clear roadmap, LTS releases, breaking backward compatibility for sake of evolution, etc.
Jun 13 2021
On Saturday, 12 June 2021 at 13:06:20 UTC, sighoya wrote:I've heard the complaint all the time, and I'm asking myself what the problem actually is with stable long term releases?Quite likely the only problem is a lacking champion. As soon as somebody steps up and proclaims: “I’m maintaining an LTS”, forks a release and starts back porting fixes, I’m quite sure we’ll have an LTS. — Bastiaan.
Jun 13 2021
On Saturday, 12 June 2021 at 13:06:20 UTC, sighoya wrote:I've heard the complaint all the time, and I'm asking myself what the problem actually is with stable long term releases? It would be better not to break every two months and instead have schedules for bugfixes, non-breaking features and breaking features. It very much resembles that idea given in: https://gist.github.com/mdparker/ab61a1309752905cf93acb2653c50beb Btw, what is actually the state of this dip? Your opinions?We have an LTS. It's called GDC. Iain have done a great job at maintaining it. You see it in the upstream repositories as `dmd-cxx` (yes it's still using C++ for the frontend).
Jun 13 2021
On Monday, 14 June 2021 at 01:47:51 UTC, Mathias LANG wrote:On Saturday, 12 June 2021 at 13:06:20 UTC, sighoya wrote:Well, this is actually true. But I get the feeling he meant dmd?I've heard the complaint all the time, and I'm asking myself what the problem actually is with stable long term releases? It would be better not to break every two months and instead have schedules for bugfixes, non-breaking features and breaking features. It very much resembles that idea given in: https://gist.github.com/mdparker/ab61a1309752905cf93acb2653c50beb Btw, what is actually the state of this dip? Your opinions?We have an LTS. It's called GDC. Iain have done a great job at maintaining it. You see it in the upstream repositories as `dmd-cxx` (yes it's still using C++ for the frontend).
Jun 14 2021
On Monday, 14 June 2021 at 07:10:41 UTC, Imperatorn wrote:On Monday, 14 June 2021 at 01:47:51 UTC, Mathias LANG wrote:The front-end used by GDC _is_ DMD. :-) You can generally expect any given major release of GCC to support and backport any fixes to the version of DMD it's sporting for 3 years. Do we want to re-upstream patches to a GCC release branch into a DMD "LTS" branch? That can be a topic for beerconf or the next quarterly meeting.On Saturday, 12 June 2021 at 13:06:20 UTC, sighoya wrote:Well, this is actually true. But I get the feeling he meant dmd?I've heard the complaint all the time, and I'm asking myself what the problem actually is with stable long term releases? It would be better not to break every two months and instead have schedules for bugfixes, non-breaking features and breaking features. It very much resembles that idea given in: https://gist.github.com/mdparker/ab61a1309752905cf93acb2653c50beb Btw, what is actually the state of this dip? Your opinions?We have an LTS. It's called GDC. Iain have done a great job at maintaining it. You see it in the upstream repositories as `dmd-cxx` (yes it's still using C++ for the frontend).
Jun 14 2021
On Monday, 14 June 2021 at 09:18:19 UTC, Iain Buclaw wrote:The front-end used by GDC _is_ DMD. :-) You can generally expect any given major release of GCC to support and backport any fixes to the version of DMD it's sporting for 3 years.Sadly, LDC was much easier to compile on Mac than GCC the last time I tried. If this is changed then it makes a lot of sense to view GDC as a stable release if it is stable over a period of 3+ years. But then you have to be quite picky about which release of DMD you embrace, and not try to follow the latest release because people demand it (before it has proven itself as free of regressions). Another issue is that of libraries an "tutorialish" starting points (like a 2D game app on github that is a startingpoint for writing your own games). They need a clear set of feature-profiles, so that it is clear whether a compiler upgrade will break or not break an older code base. People seem to complain about this regularly in the forums; they found something interesting on github, try to compile it and get lots of errors. What is the difference between GDC and LDC? Off the top of my head: 1. I assume dcompute 2. LLVM intrinsics Are there differences between GDC and LDC inline assembly? Map out all these "sets of features" and how future/backwards compatible they are and define a manifest-file-standard for expressing it in repos and we can talk about stability.
Jun 14 2021
On Monday, 14 June 2021 at 12:13:40 UTC, Ola Fosheim Grøstad wrote:On Monday, 14 June 2021 at 09:18:19 UTC, Iain Buclaw wrote:The darwin port maintainer and I have been testing various OS X versions and hardware combinations. - PPC almost passes cleanly save for some unknown deadlock in druntime when printing the stack trace of an uncaught exception. - Anything older than OS X 10.5 or 10.6 generally won't work. - OS X 10.6 through to 10.8 mostly pass, but may require you to stub out missing symbols present only in newer versions. - OS X 10.9 through to 10.15 pretty much all pass (and the [Cirrus CI pipelines](https://cirrus-ci.com/task/5207064629739520) I've added have been keeping tabs on this). - OS X 11 reported tests that started failing again, but having checked DMD, and I can safely say that it fails for [all compilers](https://issues.dlang.org/show_bug.cgi?id=21919).The front-end used by GDC _is_ DMD. :-) You can generally expect any given major release of GCC to support and backport any fixes to the version of DMD it's sporting for 3 years.Sadly, LDC was much easier to compile on Mac than GCC the last time I tried. If this is changed then it makes a lot of sense to view GDC as a stable release if it is stable over a period of 3+ years.But then you have to be quite picky about which release of DMD you embrace, and not try to follow the latest release because people demand it (before it has proven itself as free of regressions).I think people would prefer to have the latest over regression-free. Having a release branch open for 3 years should allow plenty of time for all regressions to be plugged long after DMD has moved on to the next major release.Another issue is that of libraries an "tutorialish" starting points (like a 2D game app on github that is a startingpoint for writing your own games). They need a clear set of feature-profiles, so that it is clear whether a compiler upgrade will break or not break an older code base. People seem to complain about this regularly in the forums; they found something interesting on github, try to compile it and get lots of errors. What is the difference between GDC and LDC? Off the top of my head: 1. I assume dcompute 2. LLVM intrinsics3. ldc.attributes vs. gcc.attributes. I've kept it in sync with LDC, but GDC has a few more attributes available - mostly alternative names though to match GCC equivalents.Are there differences between GDC and LDC inline assembly?Yes, there are. Though LDC does support GDC-style asm nowadays.
Jun 14 2021
On Monday, 14 June 2021 at 14:48:43 UTC, Iain Buclaw wrote:The darwin port maintainer and I have been testing various OS X versions and hardware combinations.Good to know, thanks!I think people would prefer to have the latest over regression-free. Having a release branch open for 3 years should allow plenty of time for all regressions to be plugged long after DMD has moved on to the next major release.Maybe. I strongly prefer regression free (applies to all languages, not only D), maybe others have different priorities. When you say you have a release branch open for 3 years, how many branches do that imply?3. ldc.attributes vs. gcc.attributes. I've kept it in sync with LDC, but GDC has a few more attributes available - mostly alternative names though to match GCC equivalents.Ok, so it should be possible then to add a linting-pass to GDC that warns against LDC-incompatible features? Thus making GDC the preferred compiler for library authors that does not want to litter they code with conditional compilation statements? Anyway, making it possible to write tutorials/libraries that remain valid over time and that works equally well for both production compilers would greatly improve the eco system. There is a lot of old D code on github, sadly it can no longer be viewed as relevant to the eco system... Something worth thinking about, in my view.Are there differences between GDC and LDC inline assembly?Yes, there are. Though LDC does support GDC-style asm nowadays.
Jun 14 2021
On Monday, 14 June 2021 at 15:02:54 UTC, Ola Fosheim Grøstad wrote:People who prefer the latest can always use DMD. Since we are talking about LTS here, I think people prefer regression free (and bug fix backport). We can have a poll on this. Right now 2 votes for regression free.I think people would prefer to have the latest over regression-free. Having a release branch open for 3 years should allow plenty of time for all regressions to be plugged long after DMD has moved on to the next major release.Maybe. I strongly prefer regression free (applies to all languages, not only D), maybe others have different priorities.
Jun 14 2021
On Saturday, 12 June 2021 at 13:06:20 UTC, sighoya wrote:Your opinions?Use an earlier version of the compiler. Otherwise I'm not seeing all the breakage people complain about...
Jun 14 2021