www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - cross post hn: (Rust) _ _ without GC

reply "Vic" <vic.cvc gmx.com> writes:
https://news.ycombinator.com/item?id=8781522

http://arthurtw.github.io/2014/12/21/rust-anti-sloppy-programming-language.html

c'est possible!

Oh how much free time and stability there would be if D core 
*moved* GC downstream.

Vic
ps: more cows waiting for slaughter: 
http://dlang.org/comparison.html
Dec 22 2014
next sibling parent reply ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 22 Dec 2014 12:28:16 +0000
Vic via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 https://news.ycombinator.com/item?id=3D8781522
=20
 http://arthurtw.github.io/2014/12/21/rust-anti-sloppy-programming-languag=
e.html
=20
 c'est possible!
=20
 Oh how much free time and stability there would be if D core=20
 *moved* GC downstream.
=20
 Vic
 ps: more cows waiting for slaughter:=20
 http://dlang.org/comparison.html
oh, how much usefullness there would be if D core suspended all other activities and maked GC on par with "industrial strength" GCs! i'm trying to tell you that i LOVE GC. and i can't share the (growing?) attitute that GC is a poor stepson. what we really need is a better GC, not "no GC".
Dec 22 2014
next sibling parent reply "Kapps" <opantm2+spam gmail.com> writes:
On Monday, 22 December 2014 at 22:02:46 UTC, ketmar via 
Digitalmars-d wrote:
 oh, how much usefullness there would be if D core suspended all 
 other
 activities and maked GC on par with "industrial strength" GCs!

 i'm trying to tell you that i LOVE GC. and i can't share the 
 (growing?)
 attitute that GC is a poor stepson. what we really need is a 
 better GC,
 not "no GC".
The GC is good for 90% of programs. It's not good for some programs (games in particular are a common use case). Though even in games it's fine in some situations, such as during loading. D needs to support these cases.
Dec 22 2014
parent ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 22 Dec 2014 22:09:22 +0000
Kapps via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 On Monday, 22 December 2014 at 22:02:46 UTC, ketmar via=20
 Digitalmars-d wrote:
 oh, how much usefullness there would be if D core suspended all=20
 other
 activities and maked GC on par with "industrial strength" GCs!

 i'm trying to tell you that i LOVE GC. and i can't share the=20
 (growing?)
 attitute that GC is a poor stepson. what we really need is a=20
 better GC,
 not "no GC".
=20 The GC is good for 90% of programs. It's not good for some=20 programs (games in particular are a common use case). Though even=20 in games it's fine in some situations, such as during loading. D=20 needs to support these cases.
there is nothing really hard to support that: just don't allocate in main game loop. ;-) on the other side good concurrent GC can work alongside with game logic. game engine can fine-tune it if necessary. also, nobody says that game engine can't use other allocators. as game engines tend to skip standard libraries anyway, i can't see much sense in making Phobos "good for game engines".
Dec 22 2014
prev sibling parent reply "Vic" <vic apakau.com> writes:
On Monday, 22 December 2014 at 22:02:46 UTC, ketmar via 
Digitalmars-d wrote:
 On Mon, 22 Dec 2014 12:28:16 +0000
. what we really need is a
 better GC,
 not "no GC".
I am not saying no GC; I am saying: a) something needs to be moved out of core. If not GC, what would you move downstream? b) move, not remove. So you can plug in any gc implementation you like - the current GC if you still like it. Like linux kernal needs gnu to do 'cd'. hth, Vic
Dec 22 2014
parent reply "anonymous" <anonymous example.com> writes:
On Monday, 22 December 2014 at 23:21:17 UTC, Vic wrote:
 I am not saying no GC; I am saying:
 a) something needs to be moved out of core.
And many don't agree.
 If not GC, what would you move downstream?

 b) move, not remove.
Move where? There is no downstream. There are no hordes of developers waiting for the GC to be decoupled from druntime, so that they can finally start working on it. The same people would work on it. There would be no concentration of effort on other areas.
 So you can plug in any gc implementation you like - the current 
 GC if you still like it.
I think the GC is supposed to be somewhat pluggable. If it can be made more pluggable, I don't think anyone would object. Would the non-core GC still be shipped with releases? Could the language and Phobos still rely on a GC being there? If so, I see no point in any re-branding. The personnel wouldn't change. It would still be perceived as simply D's GC. If not, that would be a huge breaking change. The language and Phobos would need a major overhaul to be compatible with an optional GC. Everything D under the sun would either have the non-core GC as a dependency, need a major overhaul, or die. The cost to make it happen would be high. The only benefit I can see would be a signal to end-users that the GC isn't quite there yet. I don't think it would be a good move.
Dec 22 2014
parent reply "Vic" <vic apakau.com> writes:
On Tuesday, 23 December 2014 at 00:49:57 UTC, anonymous wrote:
 On Monday, 22 December 2014 at 23:21:17 UTC, Vic wrote:
 I am not saying no GC; I am saying:
 a) something needs to be moved out of core.
And many don't agree.
<snip> Dear Anonymous, IMO D needs to be more stable, the alternative is more and more features and less and less commercial users and followed by less maintainers that don't want a dead project to work on. D 'marketing' brings people in, who then leave. So I proposed: Do like GO does w/ Exceptions ( I can send link again if need) *What* would be another way to get stability that is not fantasy? I consider the surface area of features vs available volunteer maintainers at hand. If you are not sold, look at CLR and JRE features relative to D features. Now look at the size of their maintenance teams as relative FTE. Does that look as sustainable? Hence a prediction: major things will be moved out of core to 3rd party plugins to slim down the lang, because now it's more than a lang: it is a platform. Vic
Dec 22 2014
next sibling parent "Elvis Zhou" <elvis.x.zhou gmail.com> writes:
On Tuesday, 23 December 2014 at 03:32:12 UTC, Vic wrote:
 On Tuesday, 23 December 2014 at 00:49:57 UTC, anonymous wrote:
 On Monday, 22 December 2014 at 23:21:17 UTC, Vic wrote:
 I am not saying no GC; I am saying:
 a) something needs to be moved out of core.
And many don't agree.
<snip> Dear Anonymous, IMO D needs to be more stable, the alternative is more and more features and less and less commercial users and followed by less maintainers that don't want a dead project to work on. D 'marketing' brings people in, who then leave. So I proposed: Do like GO does w/ Exceptions ( I can send link again if need) *What* would be another way to get stability that is not fantasy? I consider the surface area of features vs available volunteer maintainers at hand. If you are not sold, look at CLR and JRE features relative to D features. Now look at the size of their maintenance teams as relative FTE. Does that look as sustainable? Hence a prediction: major things will be moved out of core to 3rd party plugins to slim down the lang, because now it's more than a lang: it is a platform. Vic
+1
Dec 22 2014
prev sibling parent reply ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Tue, 23 Dec 2014 03:32:11 +0000
Vic via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 Hence a prediction: major things will be moved out of core to 3rd=20
 party plugins to slim down the lang, because now it's more than a=20
 lang: it is a platform.
D is not a platform. besides, GC is a core feature of D.
Dec 22 2014
parent reply "Vic" <vic.cvc gmx.com> writes:
On Tuesday, 23 December 2014 at 04:06:33 UTC, ketmar via 
Digitalmars-d wrote:
 On Tue, 23 Dec 2014 03:32:11 +0000
 Vic via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 Hence a prediction: major things will be moved out of core to 
 3rd party plugins to slim down the lang, because now it's more 
 than a lang: it is a platform.
D is not a platform. besides, GC is a core feature of D.
As per http://en.wikipedia.org/wiki/Java_%28software_platform%29 Java is a platform as per wikipedia. D, I'll argue has more features. Hence: D *IS* a platform. It is obese. Instead of 'what if academics didn't write a language, but a compiler writer writes a language, the new culture is: academics are writing a sugary platform. (and do they use it on projects, a big part of open source is that you use what you write, at their day job their team use something else). D 'has' a 'GC' for certain 'values' of working. Data point: My company has 6 *full* time Sr Developers (15 years +) in Silicon Valley - one of the larger commercial D users(sad) - so I say that we use D (and only D) and for heavy lifting month in and month out. So when all 6 tell me GC does not work .... (for example allocate a large associative array and run a few threads - I may present this example at the 'D meetup silicon valley' in Jan meetup and publish example in git). So I tell you, when I see focus of the volunteer maintainers on 'what can I add' and not on 'what can I remove' it scares me to the bone as the CTO. Difference w/ Linus and Walter? Both are smart, Walter is a nice guy, and not a bastard. So if maintainers decide that one of the thing to move is GC, one way,not the only way, is IOC | DI pattern (you can look up DI and IOC), it's doable, but it is like watching a fat person run 10 yards, they would rather eat a donut). Leave the method(init, destroy) hooks and ref counting in core. People(p/t users of D) than inject the default GC(amateurs by definition as they don't get paid to D). So it would be just like now. Professional teams/commercial users write a GC that fits that situation, possibly create a D utils open source project - and now you have an eco system of downstream open source projects and commercial users doing heavy lifting in D and 3rd: the corner case of people that use D just a little a few hours a week for a few weeks in a year. But, I don't know I'm saying move GC, I'm saying move somethings. Exceptions like GO, the 12 generics features are sugary, etc. just open up Andreii's book and go to town. If it's not GC, remove something else to the point it is maintainable and commercial users can lean on a working D. I am saying lots of things should be moved, ex: split the compiler into core and pre-compiler for the academic but still needed plugins. Also, people, I' am a user, so I'm just wagging the tail. Listen to the maintainers as to the future direction, I focus on bigger or smaller as the leading indicator of weather forecast of future stability in D. I'm hearing C++ compatibility will be added, and nothing will be removed. I'm hearing other features being added. Did anyone hear of something being moved downstream? Nope. God forbid users of D have to go to another git repo to get something they require. Vic
Dec 23 2014
next sibling parent reply ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Tue, 23 Dec 2014 14:16:25 +0000
Vic via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 On Tuesday, 23 December 2014 at 04:06:33 UTC, ketmar via=20
 Digitalmars-d wrote:
 On Tue, 23 Dec 2014 03:32:11 +0000
 Vic via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 Hence a prediction: major things will be moved out of core to=20
 3rd party plugins to slim down the lang, because now it's more=20
 than a lang: it is a platform.
D is not a platform. besides, GC is a core feature of D.
=20 As per http://en.wikipedia.org/wiki/Java_%28software_platform%29 Java is a platform as per wikipedia. D, I'll argue has more=20 features. Hence: D *IS* a platform. It is obese. Instead of 'what if=20 academics didn't write a language, but a compiler writer writes a=20 language, the new culture is: academics are writing a sugary=20 platform. (and do they use it on projects, a big part of open=20 source is that you use what you write, at their day job their=20 team use something else). =20 D 'has' a 'GC' for certain 'values' of working. Data point: My company has 6 *full* time Sr Developers (15 years +) in=20 Silicon Valley - one of the larger commercial D users(sad) - so I=20 say that we use D (and only D) and for heavy lifting month in and=20 month out. So when all 6 tell me GC does not work .... (for=20 example allocate a large associative array and run a few threads=20 - I may present this example at the 'D meetup silicon valley' in=20 Jan meetup and publish example in git). So I tell you, when I see=20 focus of the volunteer maintainers on 'what can I add' and not on=20 'what can I remove' it scares me to the bone as the CTO.=20 Difference w/ Linus and Walter? Both are smart, Walter is a nice=20 guy, and not a bastard. =20 So if maintainers decide that one of the thing to move is GC, one=20 way,not the only way, is IOC | DI pattern (you can look up DI and=20 IOC), it's doable, but it is like watching a fat person run 10=20 yards, they would rather eat a donut). Leave the method(init, destroy) hooks and ref counting in core.=20 People(p/t users of D) than inject the default GC(amateurs by=20 definition as they don't get paid to D). So it would be just like=20 now. =20 Professional teams/commercial users write a GC that fits that=20 situation, possibly create a D utils open source project - and=20 now you have an eco system of downstream open source projects and=20 commercial users doing heavy lifting in D and 3rd: the corner=20 case of people that use D just a little a few hours a week for a=20 few weeks in a year. =20 But, I don't know I'm saying move GC, I'm saying move somethings.=20 Exceptions like GO, the 12 generics features are sugary, etc.=20 just open up Andreii's book and go to town. If it's not GC,=20 remove something else to the point it is maintainable and=20 commercial users can lean on a working D. I am saying lots of=20 things should be moved, ex: split the compiler into core and=20 pre-compiler for the academic but still needed plugins. Also, people, I' am a user, so I'm just wagging the tail. Listen=20 to the maintainers as to the future direction, I focus on bigger=20 or smaller as the leading indicator of weather forecast of future=20 stability in D. I'm hearing C++ compatibility will be added, and=20 nothing will be removed. I'm hearing other features being added.=20 Did anyone hear of something being moved downstream? Nope. God=20 forbid users of D have to go to another git repo to get something=20 they require.
mind if i say that i don't give a shit about what "commercial users" want? and the last thing i want is cutting out language features. yes, "moving out of the core" =3D=3D "cutting off". half-baked feature annoys people, so eventually somebody will do something with it. non-existant feature will remain non-existant for a long time. as for "commercial users", once again... they can choose feature set they want and then... yeah, invest money and time in them. make that selected features work flawlessly. i still can't see why someone shoud care about "commercial users" that never invest anything except "we want XXX". and i have a great way to know what "commercial users" really wants: the things they are paying for. no, that's not working like "do what we want and maybe we'll give you a cent or two". it's quite contrary, actually: "here's the money we'll pay for what we want". FOSS is not the box to which you shouting and then magically pulling the results for free.
Dec 23 2014
next sibling parent reply "CraigDillabaugh" <craig.dillabaugh gmail.com> writes:
On Tuesday, 23 December 2014 at 14:39:30 UTC, ketmar via 
Digitalmars-d wrote:
 On Tue, 23 Dec 2014 14:16:25 +0000
 Vic via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 On Tuesday, 23 December 2014 at 04:06:33 UTC, ketmar via clip
mind if i say that i don't give a shit about what "commercial users" want? and the last thing i want is cutting out language features. yes, "moving out of the core" == "cutting off". half-baked feature annoys people, so eventually somebody will do something with it. non-existant feature will remain non-existant for a long time. as for "commercial users", once again... they can choose feature set they want and then... yeah, invest money and time in them. make that selected features work flawlessly. i still can't see why someone shoud care about "commercial users" that never invest anything except "we want XXX". and i have a great way to know what "commercial users" really wants: the things they are paying for. no, that's not working like "do what we want and maybe we'll give you a cent or two". it's quite contrary, actually: "here's the money we'll pay for what we want". FOSS is not the box to which you shouting and then magically pulling the results for free.
In fairness to commercial users though - and many have shown that they are willing to put resources and money into open source projects - they naturally need to feel that there is something in it for them. They need to believe that they are putting their resources into a worthwhile project, that will eventually benefit their commercial interests. I have no doubt that if D could attract more commercial interest it would ultimately be beneficial to the languages development.
Dec 23 2014
parent ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Tue, 23 Dec 2014 14:52:04 +0000
CraigDillabaugh via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 In fairness to commercial users though - and many have shown that
 they are willing to put resources and money into open source
 projects - they naturally need to feel that there is something
 in it for them.  They need to believe that they are putting their
 resources into a worthwhile project, that will eventually
 benefit their commercial interests.
=20
 I have no doubt that if D could attract more commercial interest
 it would ultimately be beneficial to the languages development.
this is "do what we want and maybe we'll give you a cent or two". they don't want to invest their money, i can understand that. they will wait endlessly and there will always be a thing that "will turn D into worthwhile project if somebody will do it." and if somebody will do it, comms will find another reason. 'cause, you know, FOSS is the box where comm can get free things. there is no reason to pay for free things. it's always better to shout and to talk how doing what comm want will turn D to "good project that worth investing". so "show me the money first" i say.
Dec 23 2014
prev sibling parent reply "Vic" <vic apakau.com> writes:
On Tuesday, 23 December 2014 at 14:39:30 UTC, ketmar via 
Digitalmars-d wrote:
<snip>
 mind if i say that i don't give a shit about what "commercial 
 users"
 want? and the last thing i want is cutting out language 
 features. yes,
 "moving out of the core" == "cutting off". half-baked feature 
 annoys
 people, so eventually somebody will do something with it. 
 non-existant
 feature will remain non-existant for a long time.
<snip>
 and i have a great way to know what "commercial users" really 
 wants:
 the things they are paying for. no, that's not working like "do 
 what we
 want and maybe we'll give you a cent or two". it's quite 
 contrary,
 actually: "here's the money we'll pay for what we want". FOSS 
 is not
 the box to which you shouting and then magically pulling the 
 results
 for free.
Hi Ketmar, 1)I quote me: "How much $ funding so I consider it?" here in D form- http://tinyurl.com/ks7z9jy 2) http://www.meetup.com/D-Lang-Sillicon-Valley This is us hosting and operating it, I hope people join 30 members so far for the first meet up in Jan. 3) I pay salaries for 6 full time D users, who use D. So I hope you do care about D, and hence we have to work together. I have a suggestion that one can have lots of features w/ stable core, both. Adding features will not work, that is a fact that some don't see. Moving them is painful, no question about that. Current situation is we are stuck, ex: " Anyone want to review these and see what we should add to Phobos?" from http://www.digitalmars.com/d/archives/digitalmars/D/Algorithms_to_solve_programming_contest_problems_246363.html#N246363 Cheers, Vic
Dec 23 2014
next sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
Vic:

 Current situation is we are stuck, ex:
 " Anyone want to review these and see what we should add to
  Phobos?" from 
 http://www.digitalmars.com/d/archives/digitalmars/D/Algorithms_to_solve_programming_contest_problems_246363.html#N246363
If D and Phobos become good to solve those contests then it will be a significant success for D. That's exactly one of the fields where D can shine a little. And if you do some of those contests, you will find that Phobos lacks some basic things. If you don't know what to do but you want to help, look in Bugzilla, there are plenty of Phobos bugs and enhancements to work on. Bye, bearophile
Dec 23 2014
prev sibling parent ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Tue, 23 Dec 2014 19:12:10 +0000
Vic via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 1)I quote me: "How much $ funding so I consider it?"
   here in D form- http://tinyurl.com/ks7z9jy
you didn't get it. it's not about "where can i put my money", it's about "ok, so i hiring programmers to do what i want and publishing it as FOSS". if you see that forking D for making what you want is necessary -- fork it! if your doings is superior to what we have now, people will either migrate to your fork, or will integrate it into mainling somehow. if not... well, you still have what you wanted to have, so no loss here. ah, except that you will not have that "for free." just siting and asking "tell me how much money you want so i can think about it" is obviously not working.
 2) http://www.meetup.com/D-Lang-Sillicon-Valley
 This is us hosting and operating it, I hope people join 30=20
 members so far for the first meet up in Jan.
it's good... for those who lives in SV, i believe. but for me, for example, this means nothing, even if you will start throwing cash onto people on this meetings: i can't attend. yet making contribution in the form of source code is immediately useable for everyone. i'm not saying that meetings are of no meaning, of course. but this is very... local support. ;-)
 3) I pay salaries for 6 full time D users, who use D.
this is irrelevant. are you paying 'em just for "playing with D"? nope, you are paying them to do the work for you. it's like saying that i'm supporting java 'cause we are paying salaries for some java coders. i.e. this is good for those guys, but... what FOSS library they wrote? can i try it? they doing in-house developement, so i glad that they found such interesting work, but i can't see my benefits here.
 So I hope you do care about D, and hence we have to work together.
 I have a suggestion that one can have lots of features w/ stable=20
 core, both.
i do care, that's why i'm so agressively opposing. i believe that tearing D apart will do nothing good for majority of D users. and making GC second-class citizen is like removing hands from Venus de Mile: she's still looking great, but 'cmon, she can't even eat or dress without help!
 Adding features will not work, that is a fact that some don't see.
what i see is the exact opposite. adding features works excellently, but feature adding rate is very slow. there are some Kenji PRs that rotting for years, some for unknown reason and some just 'cause "we must think about that first". this, by the way, demonstrates that inexistent features will remain inexistent for a long time (two years for tuple PR, for example, and no signs of life). i understand that Walter and Andrei have to think alot before making such radical and "path-closing" changes, and i'm not blaming them. but this demonstrates that "second-class" features will be in such state for years: there is not enough manpower, and "second-class" features can wait. infinitely. yet adding half-backed feature (`alias this`, for example, which was supposed to support multiple `alias this`) continuously annoys people, so eventually somebody just jumping in and finishing the damn thing. ;-)
 Moving them is painful, no question about that.
 Current situation is we are stuck, ex:
 " Anyone want to review these and see what we should add to
   Phobos?" from=20
good question. but it's too late to redefine Phobos. yet someone can start the project... ah, "Deimos" was already used, isn't it? let's call it "hell on Phobos" then. ;-) which will rethink current Phobos.
Dec 23 2014
prev sibling parent reply =?UTF-8?B?IkrDqXLDtG1lIE0uIEJlcmdlciI=?= <jeberger free.fr> writes:
	It seems that perfection is attained not when there is nothing more to
add, but when there is nothing more to remove.
			A. de Saint-Exupery

https://en.wikiquote.org/wiki/Perfection

--=20
mailto:jeberger free.fr
http://jeberger.free.fr
Jabber: jeberger jabber.fr
Dec 23 2014
next sibling parent ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Tue, 23 Dec 2014 16:01:31 +0100
"J=C3=A9r=C3=B4me M. Berger" via Digitalmars-d <digitalmars-d puremagic.com>
wrote:

 	It seems that perfection is attained not when there is nothing more to
 add, but when there is nothing more to remove.
 			A. de Saint-Exupery
=20
 https://en.wikiquote.org/wiki/Perfection
the stone is perfect!
Dec 23 2014
prev sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
Jérôme M. Berger:

 https://en.wikiquote.org/wiki/Perfection
This leads to Scheme :-) Bye, bearophile
Dec 23 2014
prev sibling next sibling parent "Paulo Pinto" <pjmlp progtools.org> writes:
On Monday, 22 December 2014 at 12:28:18 UTC, Vic wrote:
 https://news.ycombinator.com/item?id=8781522

 http://arthurtw.github.io/2014/12/21/rust-anti-sloppy-programming-language.html

 c'est possible!

 Oh how much free time and stability there would be if D core 
 *moved* GC downstream.

 Vic
 ps: more cows waiting for slaughter: 
 http://dlang.org/comparison.html
On the other side, http://www.inf.ethz.ch/personal/wirth/ProjectOberon/ http://www.ethoberon.ethz.ch/native/WebScreen.html -- Paulo
Dec 22 2014
prev sibling parent "H. S. Teoh via Digitalmars-d" <digitalmars-d puremagic.com> writes:
On Tue, Dec 23, 2014 at 12:02:36AM +0200, ketmar via Digitalmars-d wrote:
[...]
 oh, how much usefullness there would be if D core suspended all other
 activities and maked GC on par with "industrial strength" GCs!
 
 i'm trying to tell you that i LOVE GC. and i can't share the
 (growing?) attitute that GC is a poor stepson. what we really need is
 a better GC, not "no GC".
+1000. --T
Dec 22 2014