May 06, 2014
On Tuesday, 6 May 2014 at 19:18:08 UTC, Wyatt wrote:
> On Tuesday, 6 May 2014 at 18:02:46 UTC, John Colvin wrote:
>>
>> It never occurred to you that people's libraries would be published as part of a centralised repository with a tool that manages dependencies?
>
> Hate to be the cynic, but how in the world do you expect people to even know about Dub or code.dlang.org in the first place?  I don't see it linked from any of the "obvious" places on dlang.org, and I can't even find a single _mention_ that we apparently have a package manager.  Nothing in the FAQ about "Contributing to D".  And as if all that wasn't enough, the "Links" page still points to digitalmars.com.
>
> From a normal user's standpoint, they simply don't exist.
>
>> It's pretty common-place in a variety of languages. (https://rubygems.org/ https://pypi.python.org/pypi http://www.cpan.org/ etc...).
>>
> It's rather disingenuous to invoke these three.
>
> Ruby: "Libraries" at the top on the home page links to https://www.ruby-lang.org/en/libraries/, which explains gem and links to rubygems
> Python: Not super easy to see, but "PyPI" _is_ linked in the top bar.
> Perl: "CPAN" in the top bar links to http://www.perl.org/cpan.html, which explains cpan ...and I think you can see where this is going.
>
> I love my package manager, but I'm going to have to agree with Manu's bewilderment here.
>
> -Wyatt

I believe this is the case. If I did not stay vaguely informed of the latest trends with the various popular dynamic languages, i.e., Python, Ruby, NodeJS, basically anything popular with the Silicon Valley hipsters (no offense to users of those languages), I'd have no idea what a language-based package manager is, much less why you'd want to use one when the various *nix have it built in. If you work in the game industry, then your primary language is probably C++ with a bit of Lua on the side. Do those languages even *have* package managers? Even if you understand how that all works, Dub isn't advertised at all, as you said.
May 06, 2014
On that note, http://code.dlang.org/?sort=updated&category=library.std_aspirant.
May 07, 2014
On 7 May 2014 04:10, w0rp via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> On Tuesday, 6 May 2014 at 17:57:11 UTC, Manu via Digitalmars-d wrote:
>>
>> As I said before, dub has never even occurred to me. No windows user
>> is likely to naturally think to use a package manager :/
>> It's sitting in my phobos fork. Isn't that where everyone keeps their
>> developments?
>>
>> If people are pushing dub, then it should really be installed with DMD.
>
>
> DUB should feel pretty natural on any operating system if you are a Python
> (PyPi), Ruby (Gems), JavaScript (NPM), Perl (CPAN), or PHP (PEAR)
> programmer. Although PyPi I know doesn't work as well on Windows. (It
> doesn't explain to you clearly how to install an MSVC compiler for PIP and
> what not.) I think it would be healthy to host supplementary modules first
> with DUB as third party modules, and then get them merged into Phobos after
> they have seen some real world use. That's sure to result in a faster
> turnaround time for going from experimentation to real usage.

I'm not a user of any of those languages or cultures. Web feels like an alien world to me.

I don't think suggesting that 'I should have known better' is good
defence for something that not obvious or intuitive to end-users.
You can embarrass me, but that doesn't improve the situation for users
who aren't present on this forum.
I'm not unhappy to use DUB to this end, it just never occurred to me.

I suggest it's only practical after these changes though:
1: dub is bundled with DMD
2: The paths for installed dub packages should be either automatic, or
requested/configured during the DMD installer.
3: DMD needs to know where to find DUB packages by default.

I think a massive bonus would be: VisualD/Mono-D integrate a repo
lister with an 'install package' button, and a 'feedback/bug report'
button (linking to the package repo?) for each package. **many
integration, such awesome, wow**
Has anyone done a dub gui already?
May 07, 2014
On 7 May 2014 04:55, Jacob Carlborg via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> On 2014-05-06 08:39, Manu via Digitalmars-d wrote:
> 's at least one DIP which received little attention afaict, it's
>>
>> an example of something that I think would probably manifest into code
>> in an experimental space, but clearly couldn't be accepted as a
>> language feature without lots of field time.
>> In lieu of an experimental space, there will be no action.
>>
>> It's an interesting example actually. I think lots feel the DIP isn't really an effective solution, but nobody has the motivation or ideas to refine it. The DIP author clearly has no motivation to test it experimentally, but perhaps that's what it needs to progress?
>
>
> Implementing AST macros is probably quite a big investment in time. I'm currently working on other things but I will probably give it a try at some point.
>
>
>> What happened to std.serislisation? There was motion there a year or so back... I was looking forward to it, and did some minor reviewing at the time. I wonder if that's an interesting case study? (I haven't looked)
>
>
> To be honest, I got board and started to work on D/Objective-C instead, which I know you have interest in as well. But when that is done I will come back to std.serialization. If not sooner, I have a short attention span sometimes ;)
>
>> Perhaps you misunderstood the point of my post. I've watched people
>> make solid contributions that haven't gotten through. That is
>> discouraging to others considering starting their own work, and for
>> the person who has already put in the effort to continue to do so in
>> the future.
>> The Obj-C thing as an example. Granted, it's a huge feature and has
>> extensive implications. The Authors have said themselves that they
>> agree it's not 'ready' for inclusion... so, what? It sits and rots?
>
>
> No, I'm working on it to making it ready. Feature wise I think it's complete. Or rather good enough for inclusion. It supports for more features than extern(C++) did when it was added.
>
> --
> /Jacob Carlborg


Haha, nice! I didn't realise that all my examples for hypothetical consideration came back to just you! :)

So then, your take on an experimental space in the compiler for
features that are still baking seems especially relevant.
Am I talking shit, or do you think the idea has any value? Would it be
valuable to get users testing these (quite large) developments while
they're still baking?
May 07, 2014
On 7 May 2014 08:07, Xavier Bigand via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> Le 06/05/2014 13:39, Paulo Pinto a écrit :
>>
> Android works well, I love my nexus, it proves to me that it's possible to
> create really smooth applications based completely on Java (not 100% of
> that) but if we compare the Nexus 5 to iPhone 4 :
> Memory : 2 GB RAM vs 512 MB RAM
> CPU : Quad-core 2.3 GHz Krait 400 vs 1 GHz Cortex-A8
> Battery : Li-Po 2300 mAh battery vs Li-Po 1420 mAh battery
>
> And compared to an iPhone 5s
> Memory : 2 GB RAM vs 1 GB RAM
> CPU : Quad-core 2.3 GHz Krait 400 vs Dual-core 1.3 GHz Cyclone
> Battery : Li-Po 2300 mAh battery vs Li-Po 1560 mAh battery
>
> It's maybe not really significant but the majority of Android devices that have acceptable performances have a lot of memory, a quad cores CPU and an heavy battery.
>
> So that cool Java can run smoothly but at which price? I think the margin of Apple produce is unbelievable.

Yeah, these are excellent points that I've tried and perhaps failed to
articulate properly in the past.
The amount of 'wasted' resources required to maintain a significant
surplus on Android devices is ridiculous, and that's why I separated
phones from other embedded systems. While phones can, and do, do this,
other embedded systems don't.
To say we need to leave half of the xbox/ps4 resources idle to soak up
intermittency is completely unworkable.

It's always important to remember too that the embedded market is by far the largest software market in the world.

May 07, 2014
On 06/05/14 19:57, Manu via Digitalmars-d wrote:

> As I said before, dub has never even occurred to me. No windows user
> is likely to naturally think to use a package manager :/

Doesn't Windows have NuGet?

-- 
/Jacob Carlborg
May 07, 2014
On Tuesday, 6 May 2014 at 22:48:02 UTC, Meta wrote:
> On Tuesday, 6 May 2014 at 19:18:08 UTC, Wyatt wrote:
>> On Tuesday, 6 May 2014 at 18:02:46 UTC, John Colvin wrote:
>>>
>>> It never occurred to you that people's libraries would be published as part of a centralised repository with a tool that manages dependencies?
>>
>> Hate to be the cynic, but how in the world do you expect people to even know about Dub or code.dlang.org in the first place?  I don't see it linked from any of the "obvious" places on dlang.org, and I can't even find a single _mention_ that we apparently have a package manager.  Nothing in the FAQ about "Contributing to D".  And as if all that wasn't enough, the "Links" page still points to digitalmars.com.
>>
>> From a normal user's standpoint, they simply don't exist.
>>
>>> It's pretty common-place in a variety of languages. (https://rubygems.org/ https://pypi.python.org/pypi http://www.cpan.org/ etc...).
>>>
>> It's rather disingenuous to invoke these three.
>>
>> Ruby: "Libraries" at the top on the home page links to https://www.ruby-lang.org/en/libraries/, which explains gem and links to rubygems
>> Python: Not super easy to see, but "PyPI" _is_ linked in the top bar.
>> Perl: "CPAN" in the top bar links to http://www.perl.org/cpan.html, which explains cpan ...and I think you can see where this is going.
>>
>> I love my package manager, but I'm going to have to agree with Manu's bewilderment here.
>>
>> -Wyatt
>
> I believe this is the case. If I did not stay vaguely informed of the latest trends with the various popular dynamic languages, i.e., Python, Ruby, NodeJS, basically anything popular with the Silicon Valley hipsters (no offense to users of those languages), I'd have no idea what a language-based package manager is, much less why you'd want to use one when the various *nix have it built in. If you work in the game industry, then your primary language is probably C++ with a bit of Lua on the side. Do those languages even *have* package managers? Even if you understand how that all works, Dub isn't advertised at all, as you said.

On Windows NuGet supports all Visual Studio languages, including
C++, since Visual Studio 2010.

For Lua there are LuaRocks and LuaDist.

A *nix package manager is brain dead idea for software
development as it ties the language libraries to the specific OS
one is using.

Good luck getting packages if the author did not consider your
OS. Specially if they are only available in binary format, as it
is standard in the enterprise world.

With a language pakage manager I can produce package XPTO that
will work on all OS, it won't conflict with the system packages,
specially important on servers used for CI of multiple projects.

--
Paulo
May 07, 2014
On Wednesday, 7 May 2014 at 03:58:38 UTC, Manu via Digitalmars-d wrote:
> On 7 May 2014 08:07, Xavier Bigand via Digitalmars-d
> <digitalmars-d@puremagic.com> wrote:
>> Le 06/05/2014 13:39, Paulo Pinto a écrit :
>>>
>> Android works well, I love my nexus, it proves to me that it's possible to
>> create really smooth applications based completely on Java (not 100% of
>> that) but if we compare the Nexus 5 to iPhone 4 :
>> Memory : 2 GB RAM vs 512 MB RAM
>> CPU : Quad-core 2.3 GHz Krait 400 vs 1 GHz Cortex-A8
>> Battery : Li-Po 2300 mAh battery vs Li-Po 1420 mAh battery
>>
>> And compared to an iPhone 5s
>> Memory : 2 GB RAM vs 1 GB RAM
>> CPU : Quad-core 2.3 GHz Krait 400 vs Dual-core 1.3 GHz Cyclone
>> Battery : Li-Po 2300 mAh battery vs Li-Po 1560 mAh battery
>>
>> It's maybe not really significant but the majority of Android devices that
>> have acceptable performances have a lot of memory, a quad cores CPU and an
>> heavy battery.
>>
>> So that cool Java can run smoothly but at which price? I think the margin of
>> Apple produce is unbelievable.
>
> Yeah, these are excellent points that I've tried and perhaps failed to
> articulate properly in the past.
> The amount of 'wasted' resources required to maintain a significant
> surplus on Android devices is ridiculous, and that's why I separated
> phones from other embedded systems. While phones can, and do, do this,
> other embedded systems don't.
> To say we need to leave half of the xbox/ps4 resources idle to soak up
> intermittency is completely unworkable.
>
> It's always important to remember too that the embedded market is by
> far the largest software market in the world.

You ignored my link about Aicas products for real time, embedded industrial systems.


--
Paulo
May 07, 2014
On Tuesday, 6 May 2014 at 22:07:15 UTC, Xavier Bigand wrote:
> Le 06/05/2014 13:39, Paulo Pinto a écrit :
>> On Tuesday, 6 May 2014 at 10:58:14 UTC, Manu via Digitalmars-d wrote:
>>> On 6 May 2014 16:33, Jacob Carlborg via Digitalmars-d
>>> <digitalmars-d@puremagic.com> wrote:
>>>> On 06/05/14 08:07, HaraldZealot wrote:
>>>>
>>>>> I notice that I view only part of problem, can anybody link or describe
>>>>> me completely state and problems of current garbage collection and
>>>>> other
>>>>> resource management? It help me in finding of existence solution (at
>>>>> least theoretical).
>>>>
>>>>
>>>> The major issue with the garbage collector is that it's not
>>>> guaranteed to
>>>> run a collection. When a collection is run the GC will call the
>>>> destructors
>>>> for the objects it collects. If there's no guarantee a collection is run
>>>> there can be no guarantee that destructors are called. A collection is
>>>> usually run when allocating new memory and there's not enough memory
>>>> available.
>>>
>>> I think it's also an important consideration that GC is incompatible
>>> with low-memory and real-time environments.
>>>
>>> ...
>>
>> I guess outside the gaming world, embedded and real-time seem to be
>> getting lots of Java and .NET love:
>>
>> https://www.aicas.com/cms/
>
> Is that VM full compatible with Java specifications and standard frameworks?


Yes. That is the point of having a Java VM certification process.

It still baffles me that many aren't aware Sun/Oracle JVM is *only* the reference implementation.

>>
>> http://www.is2t.com/products/
>>
>> http://www.mountaineer.org/netmf-for-stm32/
>>
>> Just a small sample of the partners providing the said support.
>>
>>
>> --
>> Paulo
>
>
> Android works well, I love my nexus, it proves to me that it's possible to create really smooth applications based completely on Java (not 100% of that) but if we compare the Nexus 5 to iPhone 4 :
> Memory : 2 GB RAM vs 512 MB RAM
> CPU : Quad-core 2.3 GHz Krait 400 vs 1 GHz Cortex-A8
> Battery : Li-Po 2300 mAh battery vs Li-Po 1420 mAh battery
>
> And compared to an iPhone 5s
> Memory : 2 GB RAM vs 1 GB RAM
> CPU : Quad-core 2.3 GHz Krait 400 vs Dual-core 1.3 GHz Cyclone
> Battery : Li-Po 2300 mAh battery vs Li-Po 1560 mAh battery
>
> It's maybe not really significant but the majority of Android devices that have acceptable performances have a lot of memory, a quad cores CPU and an heavy battery.
>
> So that cool Java can run smoothly but at which price? I think the margin of Apple produce is unbelievable.

MicroEJ VMs can run in ARM Cortex-M systems. Do you know what that means?

A VM taking 28 Kbytes of flash, less than 1.5 Kbytes RAM with a boot time of just 2 ms, with a 120 MHz CPU.

Android Dalvik VM sucks. It has not been improved since Android 2.3, other than additional tweaks on 4.3, and Google only did improve it to get it to a good enough state.

Hopefully ART will fix this.

--
Paulo
May 07, 2014
On Wednesday, 7 May 2014 at 06:50:34 UTC, Paulo Pinto wrote:
> A *nix package manager is brain dead idea for software
> development as it ties the language libraries to the specific OS
> one is using.

The difference is that you are more vulnerable by getting software from language specific repositories.