Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #9284 > unrolled thread

back to .Net? lesser of two evils?

Started byjebblue <n@n.nnn>
First post2011-10-28 15:29 -0500
Last post2011-11-09 23:42 -0700
Articles 20 on this page of 57 — 11 participants

Back to article view | Back to comp.lang.java.programmer


Contents

  back to .Net? lesser of two evils? jebblue <n@n.nnn> - 2011-10-28 15:29 -0500
    Re: back to .Net? lesser of two evils? Steve Sobol <sjsobol@JustThe.net> - 2011-10-28 15:16 -0700
      Re: back to .Net? lesser of two evils? Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-11-02 07:05 -0300
      Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-02 22:46 -0400
    Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-01 22:18 -0400
      Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-01 22:35 -0700
        Re: back to .Net? lesser of two evils? Cindy <c.thurston@frell.okb.uwa.edu> - 2011-11-02 03:17 -0400
          Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-02 07:58 -0700
            Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-02 18:06 -0400
              Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-03 00:01 -0700
                Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-03 20:48 -0400
                Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-03 20:52 -0400
                  Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-09 07:21 -0700
                    Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-09 20:30 -0500
                      Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-09 22:48 -0700
          Re: back to .Net? lesser of two evils? coder <j-code@speak.invalid> - 2011-11-02 17:36 -0400
            Re: back to .Net? lesser of two evils? Lew <lewbloch@gmail.com> - 2011-11-02 17:13 -0700
            Re: back to .Net? lesser of two evils? Cindy <c.thurston@frell.okb.uwa.edu> - 2011-11-03 00:49 -0400
              Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-03 00:10 -0700
                Re: back to .Net? lesser of two evils? Cindy <c.thurston@frell.okb.uwa.edu> - 2011-11-03 04:41 -0400
                  Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-03 05:36 -0700
            Re: back to .Net? lesser of two evils? thoolen <tholen01@gmail.com> - 2011-11-02 23:13 -0700
        Re: back to .Net? lesser of two evils? markspace <-@.> - 2011-11-02 08:28 -0700
          Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-02 10:04 -0700
            Re: back to .Net? lesser of two evils? markspace <-@.> - 2011-11-02 10:19 -0700
              Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-02 14:32 -0700
                Re: back to .Net? lesser of two evils? Lew <lewbloch@gmail.com> - 2011-11-02 17:20 -0700
                  Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-02 21:34 -0700
                    Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-03 20:57 -0400
                      Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-09 09:25 -0700
                        Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-09 20:25 -0500
                          Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-09 23:05 -0700
        Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-02 17:26 -0400
          Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-02 15:01 -0700
            Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-02 18:18 -0400
              Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-02 18:20 -0400
              Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-02 22:30 -0700
                Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-03 21:30 -0400
                Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-03 21:40 -0400
    Re: back to .Net? lesser of two evils? Roedy Green <see_website@mindprod.com.invalid> - 2011-11-01 23:42 -0700
      Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-02 10:22 -0700
        Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-02 18:02 -0400
          Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-02 20:10 -0700
            Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-03 20:45 -0400
              Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-09 09:56 -0700
      Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-02 18:01 -0400
        Re: back to .Net? lesser of two evils? markspace <-@.> - 2011-11-02 15:26 -0700
          Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-02 18:35 -0400
            Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-02 20:53 -0700
              Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-03 21:45 -0400
                Re: back to .Net? lesser of two evils? Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-11-04 05:50 -0300
                  Re: back to .Net? lesser of two evils? Lew <lewbloch@gmail.com> - 2011-11-04 10:39 -0700
                  Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-04 17:38 -0400
                    Re: back to .Net? lesser of two evils? Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-11-04 18:47 -0300
                Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-09 10:11 -0700
                  Re: back to .Net? lesser of two evils? Arne Vajhøj <arne@vajhoej.dk> - 2011-11-09 20:24 -0500
                    Re: back to .Net? lesser of two evils? BGB <cr88192@hotmail.com> - 2011-11-09 23:42 -0700

Page 1 of 3  [1] 2 3  Next page →


#9284 — back to .Net? lesser of two evils?

Fromjebblue <n@n.nnn>
Date2011-10-28 15:29 -0500
Subjectback to .Net? lesser of two evils?
Message-ID<opqdnQnjSeY2jTbTnZ2dnUVZ_u-dnZ2d@giganews.com>
With Oracle on one side suing Google over Android
and on the other cooing about how many phones
run Java; I'm wondering if it might be worth it
to put my ideological views about Microsoft aside
and consider going back to .Net.

-- 
// This is my opinion.

[toc] | [next] | [standalone]


#9286

FromSteve Sobol <sjsobol@JustThe.net>
Date2011-10-28 15:16 -0700
Message-ID<MPG.2914c98da3c0da57989865@news.justthe.net>
In reply to#9284
In article <opqdnQnjSeY2jTbTnZ2dnUVZ_u-dnZ2d@giganews.com>, jebblue 
says...
> 
> With Oracle on one side suing Google over Android
> and on the other cooing about how many phones
> run Java; I'm wondering if it might be worth it
> to put my ideological views about Microsoft aside
> and consider going back to .Net.

If you're only writing for Windows, you can do just as well with .NET as 
with Java. In fact, C# reads a lot like Java. And even with the other 
languages, you'll see a lot of similarities because Microsoft stole a 
lot of the .NET platform's concepts from Sun.

If you want to go cross-platform, Java's the better choice. The Mono 
project exists, but I believe a fair amount of what .NET gives you is 
specific to Windows, and is closed-source and therefore is not available 
from anyone else. Mono does, at least, give you the CLR, but I've not 
played with it and I have no idea what else it gives you.

-- 
Steve Sobol - Programming/WebDev/IT Support
sjsobol@JustThe.net

[toc] | [prev] | [next] | [standalone]


#9368

FromArved Sandstrom <asandstrom3minus1@eastlink.ca>
Date2011-11-02 07:05 -0300
Message-ID<HB8sq.21522$tM2.6272@newsfe15.iad>
In reply to#9286
On 11-11-02 03:37 AM, Stefan Ram wrote:
> Steve Sobol <sjsobol@JustThe.net> writes:
>> If you're only writing for Windows, you can do just as well with .NET as 
>> with Java.
> 
>       »The fear of .NET developers is that Microsoft's Windows
>       team now regards not only Silverlight but also .NET as a
>       legacy technology.«
> 
> http://www.theregister.co.uk/2011/06/06/windows_tablets_without_silverlight_dot_net/
> 
http://reddevnews.com/articles/2011/11/01/building-the-future.aspx

AHS

[toc] | [prev] | [next] | [standalone]


#9416

FromArne Vajhøj <arne@vajhoej.dk>
Date2011-11-02 22:46 -0400
Message-ID<4eb20094$0$284$14726298@news.sunsite.dk>
In reply to#9286
On 11/2/2011 2:37 AM, Stefan Ram wrote:
> Steve Sobol<sjsobol@JustThe.net>  writes:
>> If you're only writing for Windows, you can do just as well with .NET as
>> with Java.
>
>        »The fear of .NET developers is that Microsoft's Windows
>        team now regards not only Silverlight but also .NET as a
>        legacy technology.«
>
> http://www.theregister.co.uk/2011/06/06/windows_tablets_without_silverlight_dot_net/

That was pure speculation at the time and has since shown
to be not the case.

Miguel de Icaza has a decent explanation of how .NET will
work with WinRT here:

http://tirania.org/blog/archive/2011/Sep-15.html

Arne


[toc] | [prev] | [next] | [standalone]


#9355

FromArne Vajhøj <arne@vajhoej.dk>
Date2011-11-01 22:18 -0400
Message-ID<4eb0a862$0$294$14726298@news.sunsite.dk>
In reply to#9284
On 10/28/2011 4:29 PM, jebblue wrote:
> With Oracle on one side suing Google over Android
> and on the other cooing about how many phones
> run Java; I'm wondering if it might be worth it
> to put my ideological views about Microsoft aside
> and consider going back to .Net.

Why should the question whether Google infringed on
Oracle copyright or patents affect your choice of
programming language?

Arne

[toc] | [prev] | [next] | [standalone]


#9357

FromBGB <cr88192@hotmail.com>
Date2011-11-01 22:35 -0700
Message-ID<j8qkqm$pvh$1@news.albasani.net>
In reply to#9355
On 11/1/2011 7:18 PM, Arne Vajhøj wrote:
> On 10/28/2011 4:29 PM, jebblue wrote:
>> With Oracle on one side suing Google over Android
>> and on the other cooing about how many phones
>> run Java; I'm wondering if it might be worth it
>> to put my ideological views about Microsoft aside
>> and consider going back to .Net.
>
> Why should the question whether Google infringed on
> Oracle copyright or patents affect your choice of
> programming language?
>

maybe because it asserts that Java is not a free/open technology, and is 
essentially a proprietary product owned by Oracle?...

granted, .NET has the same basic issue (it is owned by MS, ...).

granted, there are always C, C++, assembler, ... which are not 
particularly "owned" by anyone.

[toc] | [prev] | [next] | [standalone]


#9364

FromCindy <c.thurston@frell.okb.uwa.edu>
Date2011-11-02 03:17 -0400
Message-ID<j8qqqm$41c$1@speranza.aioe.org>
In reply to#9357
On 02/11/2011 1:35 AM, BGB wrote:
> On 11/1/2011 7:18 PM, Arne Vajhøj wrote:
>> On 10/28/2011 4:29 PM, jebblue wrote:
>>> With Oracle on one side suing Google over Android
>>> and on the other cooing about how many phones
>>> run Java; I'm wondering if it might be worth it
>>> to put my ideological views about Microsoft aside
>>> and consider going back to .Net.
>>
>> Why should the question whether Google infringed on
>> Oracle copyright or patents affect your choice of
>> programming language?
>>
>
> maybe because it asserts that Java is not a free/open technology, and is
> essentially a proprietary product owned by Oracle?...
>
> granted, .NET has the same basic issue (it is owned by MS, ...).

.NET is much worse. Anyone can write a conforming Java implementation 
that people can use and anyone else can code for it, without permission 
from Oracle. With OpenJDK, there is a complete open source conforming 
implementation, in particular. The one restriction I'm aware of is that 
you can't actually call it "Java" unless it passes certain tests or else 
you're looking at a trademark infringement lawsuit, whereas you could, 
say, write a Lisp interpreter and call it C if you wanted to.

On the other hand, Microsoft doesn't officially support the existence of 
any implementation of .NET than their own, or any instance running under 
any operating system other than Windows, and presumably won't license 
the trademark to anyone on any terms; the one attempt at an open source 
implementation that I know of, Mono, is partial and buggy at best.

> granted, there are always C, C++, assembler, ... which are not
> particularly "owned" by anyone.

Lisp, too. On the other hand, specific implementations and dialects are 
sometimes "owned", often via a trademark. That new Lisp, Clojure, is 
trademarked, though it's open source. So it's exactly as free as OpenJDK.

[toc] | [prev] | [next] | [standalone]


#9374

FromBGB <cr88192@hotmail.com>
Date2011-11-02 07:58 -0700
Message-ID<j8rlqc$19m$1@news.albasani.net>
In reply to#9364
On 11/2/2011 12:17 AM, Cindy wrote:
> On 02/11/2011 1:35 AM, BGB wrote:
>> On 11/1/2011 7:18 PM, Arne Vajhøj wrote:
>>> On 10/28/2011 4:29 PM, jebblue wrote:
>>>> With Oracle on one side suing Google over Android
>>>> and on the other cooing about how many phones
>>>> run Java; I'm wondering if it might be worth it
>>>> to put my ideological views about Microsoft aside
>>>> and consider going back to .Net.
>>>
>>> Why should the question whether Google infringed on
>>> Oracle copyright or patents affect your choice of
>>> programming language?
>>>
>>
>> maybe because it asserts that Java is not a free/open technology, and is
>> essentially a proprietary product owned by Oracle?...
>>
>> granted, .NET has the same basic issue (it is owned by MS, ...).
>
> .NET is much worse. Anyone can write a conforming Java implementation
> that people can use and anyone else can code for it, without permission
> from Oracle. With OpenJDK, there is a complete open source conforming
> implementation, in particular. The one restriction I'm aware of is that
> you can't actually call it "Java" unless it passes certain tests or else
> you're looking at a trademark infringement lawsuit, whereas you could,
> say, write a Lisp interpreter and call it C if you wanted to.
>

yeah. however, one can't really make subsets or add extensions, which is 
lame.

an example of a major subset would be to use a simplified class library, 
and extensions would be things like properties, late-binding, structs or 
value-classes, ...

whereas with C, the standard API is much smaller, and adding 
compiler/implementation specific extensions is fairly normal...

also, the language and bytecode are (implicitly?) coupled, meaning it 
would be less "acceptable" to make an implementation which, say, 
compiles directly to native code, or uses a different bytecode. granted, 
there are implementations which do both.


> On the other hand, Microsoft doesn't officially support the existence of
> any implementation of .NET than their own, or any instance running under
> any operating system other than Windows, and presumably won't license
> the trademark to anyone on any terms; the one attempt at an open source
> implementation that I know of, Mono, is partial and buggy at best.
>

yeah.

Mono also can't run C++/CLI code last I checked, which sort of screws 
over my personal motivation to use it.

I suspect another issue is that, at the VM level, .NET is a good deal 
more complicated than the JVM. one can load/run JBC mostly by writing a 
reasonably straightforward class-loader and an interpreter for the bytecode.

similar does not work as easily for MSIL / CIL, as in many respects it 
is more complicated, and assumes the use of type-inference by a JIT, 
meaning a plain interpreter would also need to use dynamic type-checking 
while also faking static-type semantics.

otherwise, one would have to internally recompile to a different 
bytecode, to native code, or to threaded code.

funny: there are a few partial .NET VM's I had looked at, which had 
claimed to use "JIT", but internally just converted to threaded code. I 
personally consider threaded code to be a form of interpreter, and not a 
form of JIT, which for me implies the production of proper native code 
(via a codegen of some sort).


meanwhile, I consider my current VM as a "native-code augmented 
interpreter" or "impure interpreter", partly because its core structure 
is at this point still a plain bytecode interpreter, but in many places 
it makes use of native code generation as well.

a next step (along the path of just being lazy) would be "native code 
augmented threaded code" (or "poor man's JIT").


>> granted, there are always C, C++, assembler, ... which are not
>> particularly "owned" by anyone.
>
> Lisp, too. On the other hand, specific implementations and dialects are
> sometimes "owned", often via a trademark. That new Lisp, Clojure, is
> trademarked, though it's open source. So it's exactly as free as OpenJDK.

yep.

or such...

[toc] | [prev] | [next] | [standalone]


#9392

FromArne Vajhøj <arne@vajhoej.dk>
Date2011-11-02 18:06 -0400
Message-ID<4eb1bef4$0$286$14726298@news.sunsite.dk>
In reply to#9374
On 11/2/2011 10:58 AM, BGB wrote:
> On 11/2/2011 12:17 AM, Cindy wrote:
>> On 02/11/2011 1:35 AM, BGB wrote:
>>> On 11/1/2011 7:18 PM, Arne Vajhøj wrote:
>>>> On 10/28/2011 4:29 PM, jebblue wrote:
>>>>> With Oracle on one side suing Google over Android
>>>>> and on the other cooing about how many phones
>>>>> run Java; I'm wondering if it might be worth it
>>>>> to put my ideological views about Microsoft aside
>>>>> and consider going back to .Net.
>>>>
>>>> Why should the question whether Google infringed on
>>>> Oracle copyright or patents affect your choice of
>>>> programming language?
>>>>
>>>
>>> maybe because it asserts that Java is not a free/open technology, and is
>>> essentially a proprietary product owned by Oracle?...
>>>
>>> granted, .NET has the same basic issue (it is owned by MS, ...).
>>
>> .NET is much worse. Anyone can write a conforming Java implementation
>> that people can use and anyone else can code for it, without permission
>> from Oracle. With OpenJDK, there is a complete open source conforming
>> implementation, in particular. The one restriction I'm aware of is that
>> you can't actually call it "Java" unless it passes certain tests or else
>> you're looking at a trademark infringement lawsuit, whereas you could,
>> say, write a Lisp interpreter and call it C if you wanted to.
>>
>
> yeah. however, one can't really make subsets or add extensions, which is
> lame.

You can not make a subset and call it Java. But you can call
it something else.

SUN/Oracle has not sued Google over Android being a subset
or MS over J# being a subset.

> Mono also can't run C++/CLI code last I checked, which sort of screws
> over my personal motivation to use it.

It should be able to run pure code. Obviously not mixed code.

> I suspect another issue is that, at the VM level, .NET is a good deal
> more complicated than the JVM. one can load/run JBC mostly by writing a
> reasonably straightforward class-loader and an interpreter for the
> bytecode.
>
> similar does not work as easily for MSIL / CIL, as in many respects it
> is more complicated, and assumes the use of type-inference by a JIT,
> meaning a plain interpreter would also need to use dynamic type-checking
> while also faking static-type semantics.

I believe Mono has a portable CIL interpreter.

Arne

[toc] | [prev] | [next] | [standalone]


#9429

FromBGB <cr88192@hotmail.com>
Date2011-11-03 00:01 -0700
Message-ID<j8te92$3ms$1@news.albasani.net>
In reply to#9392
On 11/2/2011 3:06 PM, Arne Vajhøj wrote:
> On 11/2/2011 10:58 AM, BGB wrote:
>> On 11/2/2011 12:17 AM, Cindy wrote:
>>> On 02/11/2011 1:35 AM, BGB wrote:
>>>> On 11/1/2011 7:18 PM, Arne Vajhøj wrote:
>>>>> On 10/28/2011 4:29 PM, jebblue wrote:
>>>>>> With Oracle on one side suing Google over Android
>>>>>> and on the other cooing about how many phones
>>>>>> run Java; I'm wondering if it might be worth it
>>>>>> to put my ideological views about Microsoft aside
>>>>>> and consider going back to .Net.
>>>>>
>>>>> Why should the question whether Google infringed on
>>>>> Oracle copyright or patents affect your choice of
>>>>> programming language?
>>>>>
>>>>
>>>> maybe because it asserts that Java is not a free/open technology,
>>>> and is
>>>> essentially a proprietary product owned by Oracle?...
>>>>
>>>> granted, .NET has the same basic issue (it is owned by MS, ...).
>>>
>>> .NET is much worse. Anyone can write a conforming Java implementation
>>> that people can use and anyone else can code for it, without permission
>>> from Oracle. With OpenJDK, there is a complete open source conforming
>>> implementation, in particular. The one restriction I'm aware of is that
>>> you can't actually call it "Java" unless it passes certain tests or else
>>> you're looking at a trademark infringement lawsuit, whereas you could,
>>> say, write a Lisp interpreter and call it C if you wanted to.
>>>
>>
>> yeah. however, one can't really make subsets or add extensions, which is
>> lame.
>
> You can not make a subset and call it Java. But you can call
> it something else.
>
> SUN/Oracle has not sued Google over Android being a subset
> or MS over J# being a subset.
>

fair enough, but generally one thinks of "Java" as the generic name, but 
technically this is the brand-name, and there is no good name for 
"basically the core Java language but an incomplete/subset implementation".

apparently, some people have used "coffee", but this hasn't really 
caught on.


>> Mono also can't run C++/CLI code last I checked, which sort of screws
>> over my personal motivation to use it.
>
> It should be able to run pure code. Obviously not mixed code.
>

yes, but banning mixed code sort of breaks C++/CLI's ability to... 
actually work...

even if one compiles the code itself as pure CIL, then Mono rejects it 
due to things like "can't load MSVCR80.DLL" or similar.

however, about the only real reason I would have to use it would be 
because "C++/CLI is nifty, since I can straddle the border between C# 
and plain C and C++ code".


I am technically left better off just using my own VM and language, 
since I can at least make most of this stuff work ok without 
compromising my ability to run cross-platform (and don't really all that 
much need a standardized VM and language for what I am doing).

granted, my language is mostly filling a similar role to Python or Lua 
or similar, just without my personal dislike of Python and Lua...


I had an "ARM scare" a while back (I was worried that my reliance on 
code-generation and ASM would compromise my ability to easily port my 
stuff to ARM), however I was able to address this "adequately" for now 
(partly by adding ARM and Thumb support to my assembler, and adding some 
amount of "emergency plain-C fallback logic" for cases where I wasn't 
going to bother porting the ASM code-generation logic).


>> I suspect another issue is that, at the VM level, .NET is a good deal
>> more complicated than the JVM. one can load/run JBC mostly by writing a
>> reasonably straightforward class-loader and an interpreter for the
>> bytecode.
>>
>> similar does not work as easily for MSIL / CIL, as in many respects it
>> is more complicated, and assumes the use of type-inference by a JIT,
>> meaning a plain interpreter would also need to use dynamic type-checking
>> while also faking static-type semantics.
>
> I believe Mono has a portable CIL interpreter.
>

I think it does.


I am not saying it can't be done, just a naive/"plain" interpreter wont 
perform very well (and will be more complicated than its JBC equivalent).

one can write a "less naive interpreter", which could perform better, 
but this is a bit more complicated...


basically, the "standard form" of a bytecode interpreter is something like:
while(doStuff)
{
     op=*ctx->ip++;
     switch(op)
     {
     execute-opcodes...
     }
}

but, such an interpreter will not perform well, given the way types are 
handled in CIL (CIL does not declare types with the opcodes, whereas JBC 
does).


one would need instead:
while(stillBytecode)
{
     op=*ctx->ip++;
     switch(op)
     {
     build-threaded-code...
     }
}

...

//execute code (threaded interpreter)
cur=startOp;
while(cur)
	cur=cur->fcn(ctx, cur);


however, the creation of such an interpreter is more effort...

granted, yes, with compiler or VM technology in general, one has to be 
willing to tolerate a certain level of complexity (and, with both JBC 
and CIL, the interpreter is likely to perform a lot better, as with 
switch-based interpreter loops, very often the "switch()" header will 
come to be the dominant factor in the total execution time, whereas with 
the threaded-loop, with each function pointer representing the exact 
behavior to be performed, the interpreter will generally run a fair 
amount faster).


the main difference it makes for CIL though, is that it allows largely 
avoiding the use of run-time type checking, which is one of those things 
which can eat lots of time in an interpreter (causing code to easily run 
100x or more slower than native...).

[toc] | [prev] | [next] | [standalone]


#9484

FromArne Vajhøj <arne@vajhoej.dk>
Date2011-11-03 20:48 -0400
Message-ID<4eb3365e$0$290$14726298@news.sunsite.dk>
In reply to#9429
On 11/3/2011 3:01 AM, BGB wrote:
> On 11/2/2011 3:06 PM, Arne Vajhøj wrote:
>> On 11/2/2011 10:58 AM, BGB wrote:
>>> On 11/2/2011 12:17 AM, Cindy wrote:
>>>> On 02/11/2011 1:35 AM, BGB wrote:
>>>>> On 11/1/2011 7:18 PM, Arne Vajhøj wrote:
>>>>>> On 10/28/2011 4:29 PM, jebblue wrote:
>>>>>>> With Oracle on one side suing Google over Android
>>>>>>> and on the other cooing about how many phones
>>>>>>> run Java; I'm wondering if it might be worth it
>>>>>>> to put my ideological views about Microsoft aside
>>>>>>> and consider going back to .Net.
>>>>>>
>>>>>> Why should the question whether Google infringed on
>>>>>> Oracle copyright or patents affect your choice of
>>>>>> programming language?
>>>>>>
>>>>>
>>>>> maybe because it asserts that Java is not a free/open technology,
>>>>> and is
>>>>> essentially a proprietary product owned by Oracle?...
>>>>>
>>>>> granted, .NET has the same basic issue (it is owned by MS, ...).
>>>>
>>>> .NET is much worse. Anyone can write a conforming Java implementation
>>>> that people can use and anyone else can code for it, without permission
>>>> from Oracle. With OpenJDK, there is a complete open source conforming
>>>> implementation, in particular. The one restriction I'm aware of is that
>>>> you can't actually call it "Java" unless it passes certain tests or
>>>> else
>>>> you're looking at a trademark infringement lawsuit, whereas you could,
>>>> say, write a Lisp interpreter and call it C if you wanted to.
>>>>
>>>
>>> yeah. however, one can't really make subsets or add extensions, which is
>>> lame.
>>
>> You can not make a subset and call it Java. But you can call
>> it something else.
>>
>> SUN/Oracle has not sued Google over Android being a subset
>> or MS over J# being a subset.
>>
>
> fair enough, but generally one thinks of "Java" as the generic name, but
> technically this is the brand-name, and there is no good name for
> "basically the core Java language but an incomplete/subset implementation".

I guess it could be considered an annoyance.

But if that is ones biggest problem, then ...

Arne

[toc] | [prev] | [next] | [standalone]


#9485

FromArne Vajhøj <arne@vajhoej.dk>
Date2011-11-03 20:52 -0400
Message-ID<4eb33753$0$290$14726298@news.sunsite.dk>
In reply to#9429
On 11/3/2011 3:01 AM, BGB wrote:
> On 11/2/2011 3:06 PM, Arne Vajhøj wrote:
>> On 11/2/2011 10:58 AM, BGB wrote:
>>> Mono also can't run C++/CLI code last I checked, which sort of screws
>>> over my personal motivation to use it.
>>
>> It should be able to run pure code. Obviously not mixed code.
>
> yes, but banning mixed code sort of breaks C++/CLI's ability to...
> actually work...
>
> even if one compiles the code itself as pure CIL, then Mono rejects it
> due to things like "can't load MSVCR80.DLL" or similar.

With:

/clr:pure

it should not.

Are you sure that it does not work?

> however, about the only real reason I would have to use it would be
> because "C++/CLI is nifty, since I can straddle the border between C#
> and plain C and C++ code".

C++ mixed mode is in many ways a technological wonder.

Fantastic tool for getting managed and native code to
work together.

But also very platform and compiler specific.

So I don't think it would have made sense for Java to try
something similar.

Arne



[toc] | [prev] | [next] | [standalone]


#9797

FromBGB <cr88192@hotmail.com>
Date2011-11-09 07:21 -0700
Message-ID<j9e29t$uuh$1@news.albasani.net>
In reply to#9485
On 11/3/2011 5:52 PM, Arne Vajhøj wrote:
> On 11/3/2011 3:01 AM, BGB wrote:
>> On 11/2/2011 3:06 PM, Arne Vajhøj wrote:
>>> On 11/2/2011 10:58 AM, BGB wrote:
>>>> Mono also can't run C++/CLI code last I checked, which sort of screws
>>>> over my personal motivation to use it.
>>>
>>> It should be able to run pure code. Obviously not mixed code.
>>
>> yes, but banning mixed code sort of breaks C++/CLI's ability to...
>> actually work...
>>
>> even if one compiles the code itself as pure CIL, then Mono rejects it
>> due to things like "can't load MSVCR80.DLL" or similar.
>
> With:
>
> /clr:pure
>
> it should not.
>
> Are you sure that it does not work?
>

I tested it.
the issue is, as soon as one uses and C or C++ runtime stuff, or calls 
into C land, well, Mono is no longer happy.

I found out it didn't work, originally, because I was trying to do it, 
and Mono wouldn't make it work.


>> however, about the only real reason I would have to use it would be
>> because "C++/CLI is nifty, since I can straddle the border between C#
>> and plain C and C++ code".
>
> C++ mixed mode is in many ways a technological wonder.
>
> Fantastic tool for getting managed and native code to
> work together.
>
> But also very platform and compiler specific.
>
> So I don't think it would have made sense for Java to try
> something similar.
>

it is not that bad or complicated really.
my VM also does something similar.

however, my VM is also late bound, so the interface would not "pollute" 
the bytecode in the same way as in an early-bound VM (such as the JVM).

a minor issue though is that it requires running a tool (for the target 
system) to process headers and similar and emit metadata (so that the 
HLL/VM knows what to glue against...). there are also some special 
annotations and other things.

or such...

[toc] | [prev] | [next] | [standalone]


#9811

FromArne Vajhøj <arne@vajhoej.dk>
Date2011-11-09 20:30 -0500
Message-ID<4ebb292c$0$287$14726298@news.sunsite.dk>
In reply to#9797
On 11/9/2011 9:21 AM, BGB wrote:
> On 11/3/2011 5:52 PM, Arne Vajhøj wrote:
>> On 11/3/2011 3:01 AM, BGB wrote:
>>> On 11/2/2011 3:06 PM, Arne Vajhøj wrote:
>>>> On 11/2/2011 10:58 AM, BGB wrote:
>>>>> Mono also can't run C++/CLI code last I checked, which sort of screws
>>>>> over my personal motivation to use it.
>>>>
>>>> It should be able to run pure code. Obviously not mixed code.
>>>
>>> yes, but banning mixed code sort of breaks C++/CLI's ability to...
>>> actually work...
>>>
>>> even if one compiles the code itself as pure CIL, then Mono rejects it
>>> due to things like "can't load MSVCR80.DLL" or similar.
>>
>> With:
>>
>> /clr:pure
>>
>> it should not.
>>
>> Are you sure that it does not work?
>>
>
> I tested it.
> the issue is, as soon as one uses and C or C++ runtime stuff, or calls
> into C land, well, Mono is no longer happy.

If one mixes in native code (not pure CIL) then then it is not portable.

If one uses DllImport in C++/CLI or C# or VB.NET to load
native modules then it is obviously not portable either.

So if portability is a requirement then one should not do
these things.

I believe Mono has a little tool to examine code for
portability.

Arne

[toc] | [prev] | [next] | [standalone]


#9818

FromBGB <cr88192@hotmail.com>
Date2011-11-09 22:48 -0700
Message-ID<j9fojj$t25$1@news.albasani.net>
In reply to#9811
On 11/9/2011 6:30 PM, Arne Vajhøj wrote:
> On 11/9/2011 9:21 AM, BGB wrote:
>> On 11/3/2011 5:52 PM, Arne Vajhøj wrote:
>>> On 11/3/2011 3:01 AM, BGB wrote:
>>>> On 11/2/2011 3:06 PM, Arne Vajhøj wrote:
>>>>> On 11/2/2011 10:58 AM, BGB wrote:
>>>>>> Mono also can't run C++/CLI code last I checked, which sort of screws
>>>>>> over my personal motivation to use it.
>>>>>
>>>>> It should be able to run pure code. Obviously not mixed code.
>>>>
>>>> yes, but banning mixed code sort of breaks C++/CLI's ability to...
>>>> actually work...
>>>>
>>>> even if one compiles the code itself as pure CIL, then Mono rejects it
>>>> due to things like "can't load MSVCR80.DLL" or similar.
>>>
>>> With:
>>>
>>> /clr:pure
>>>
>>> it should not.
>>>
>>> Are you sure that it does not work?
>>>
>>
>> I tested it.
>> the issue is, as soon as one uses and C or C++ runtime stuff, or calls
>> into C land, well, Mono is no longer happy.
>
> If one mixes in native code (not pure CIL) then then it is not portable.
>
> If one uses DllImport in C++/CLI or C# or VB.NET to load
> native modules then it is obviously not portable either.
>
> So if portability is a requirement then one should not do
> these things.
>
> I believe Mono has a little tool to examine code for
> portability.
>

ideally, though, it should "just work".


the example would be, say, if Mono would make it automatically redirect 
dependencies to "MSVCRT" and friends to a glib-based wrapper (granted, 
all this would mean faking parts of the Win32 API, in addition to all of 
the .NET stuff...).

similarly, if the library is available on both targets, then ideally the 
runtime can figure it out, and map to the appropriate library.

otherwise, something like C++/CLI is not nearly so useful, as its main 
point is to, well, be C++ but with access to .NET stuff, in addition to 
the normal C and C++ libraries. if Mono can't make this work, then this 
is IMO a problem that ideally should be addressed somehow.


but, granted, Mono's deficiencies in this area generally led to me not 
using .NET:
if the main (personally relevant) selling points for .NET only work on 
Windows, why should I really bother with .NET?

I can make my own stuff work, and be portable across Windows and Linux, 
which is IMO good enough (in the past, I was also working some on an 
Android port, but this was not a high priority).



in my case (for my VM), I dealt with the issue partly by binding against 
high-level "library names", which are sometimes named after the library 
files in use (stripped-down DLL or shared-object names), and other times 
after the headers.

at the moment it is a bit crufty, but in the future I may devise 
"cleaner" ways of dealing with the issue.


note that the main (in language) import mechanism looks like:
"native import C.libname;"

note: the "C." is magic (it indicates the language target, and yes there 
may later be a "CPP.").

where the VM will itself try to figure out what "libname" means to 
import. it will check for "<libname>.dll", "<libname>.so", 
"lib<libname>.so" as appropriate for the target OS, or may import the 
associated metadata databases (loaded by the libname) and load any 
libraries listed as dependencies (such as the physical library name).

thus far it works on both Windows and Linux, so it is generally good 
enough (note: databases need to be rebuilt per-target though, but this 
is not a big issue). technically the database-building tool is a 
modified C compiler (with some annotations used to give special 
information to the tool).

technically, these annotations are mostly "__declspec" attributes 
wrapped in macros, with the macros being no-op to a standard C or C++ 
compiler.

in a header somewhere, there may be annotations like:
#ifdef _WIN32
dytlibdep("msvcrt");
dytlibdep("opengl32");
...
#endif
#ifdef linux
dytlibdep("glib");
dytlibdep("GL");
dytlibdep("GLX");
dytlibdep("GLu");
...
#endif
...


otherwise, it is left as the VM's responsibility to make it work.

this is much like gluing together the type-system and other things...

note: maybe I have it a little easier, as my language is somewhat 
different (WRT semantics) than either Java or C# (the language is 
late-bound, so the visibility or type of a declaration is not a huge 
issue when producing bytecode, the compiler will "take it on faith" that 
the declaration will be visible when the code runs).

maybe one could coin the term "eager late bound" (although semantically 
late bound, the VM may try to avoid run-time lookups where possible, 
such as by optimizing for known visibility).


yes, there is also a "native package" feature which allows exporting an 
interface to C (basically, this involves a tool to spit out a header and 
C source file containing a glue interface).

like (to export a package named "foo"):
"native package C.foo { ... }"

again a tool is needed as, sadly, C can't do late-binding...

[toc] | [prev] | [next] | [standalone]


#9388

Fromcoder <j-code@speak.invalid>
Date2011-11-02 17:36 -0400
Message-ID<1rd3b71puno25u7vc7fv0d37or97mdnfah@4ax.com>
In reply to#9364
Cindy <c.thurston@frell.okb.uwa.edu>, wrote:
>On 02/11/2011 1:35 AM, BGB wrote:
>> On 11/1/2011 7:18 PM, Arne Vajhøj wrote:
>>> On 10/28/2011 4:29 PM, jebblue wrote:
>>>> With Oracle on one side suing Google over Android
>>>> and on the other cooing about how many phones
>>>> run Java; I'm wondering if it might be worth it
>>>> to put my ideological views about Microsoft aside
>>>> and consider going back to .Net.
>>>
>>> Why should the question whether Google infringed on
>>> Oracle copyright or patents affect your choice of
>>> programming language?
>>>
>>
>> maybe because it asserts that Java is not a free/open technology, and is
>> essentially a proprietary product owned by Oracle?...
>>
>> granted, .NET has the same basic issue (it is owned by MS, ...).
>
>.NET is much worse. Anyone can write a conforming Java implementation 

Hi (seamus) Derbyshire.



"Murphy's list applies".

.--- . ... ..- ... <tharrison77107@h0tmail.invalid>
00101010 <zerozeroonezeroonezeroonezero@h2g2.cazoola>
3k7e4intna <3k7e4intna@se0tfbhc.k3y0a.p0z>
3x7r4vagan <3x7r4vagan@fr0gsoup.x3l0n.c0m>
3x+r4v4g4n <extr4v4g4n@fr0gs0up.x3l0n.c0m>
Alice <quaxx1108@example.com>
Arne Këndoj <akendoj103@foof.fcl3.org>
Boojum <boojum42@gmai1.c0m>
B1ll Gat3s <wm.g4t3s@m1cr0s0f7.c0m>
A Canuck <canuck36@tweezit.yahoo.ca>
Canuck <canuck107@canada.xyz>
ClassCastException <zjkg3d9gj56@gmail.invalid>
Cthun <cthun_117@qmail.net.au>
Chad Carmichael <c_carm10782.x@y.z>
dA.b0mB <dabomb@gmai1.c0m>
dark-zark-fark <dzf190485@rutgers.edu>
Deep Green <d_green11908@gmail.com> (forgery)
Deeyana <d.awlberg@hotmail.invalid>
De Lurker <delancey_s113@harvard.nospam.invalid>
Derek Yancey <dy190295683@nospam.invalid>
Extravagan <extravagan@frogsoup.xelon.com>
Eight of Seventeen <eights17@gmail.com>
Ferdinand the -14th <foo@bar.invalid>
Four of Seventeen <fseventeen@gmail.com>
Fuschia, President-Elect of the Bright Purplish-Green Council
<fp-eotbp-gc@ibm.com>
George Arctos <g.arctos11@hormair.cor>
Greg Kelly <gkelly101_4@gmai1.c0m>
Greg Sandoval <g_sandoval@gcsma.edu.br>
Gheerax IV <gheerax.4@gmail.invalid>
Handkea fumosa <hfumosa@gmail.com>
Hieronymus S. Freely <hsfreely@xavier.uwsc.edu>
Hydrocon <hcon77107@geemail.corn>
Henry Harrison <hharr.1082@quux.bar.foo>
Henderson <h1@g1.f1>
Heike Svensson <hsvensson.1093x1_q@hotmail.nospam.com.please>
Harry Greer <h_greer_1099348@gmail.xxx>
Janie Zanie <jjezebel916@gmai1.invalid>
Jerry Gerrone <scuzwalla@gmail.com>
John Kirkpatrick XVII <jkxvii@ask.me>
Katie Gerrolds <k.gerrolds@nbfinlan.net>
Kevin Hadron <kh_mu_meson@q.us>
kensi <kensi_kensington@zoonoses.de>
KitKat <kitkat_11697@gmail.example.com>
Meerkats <mk_ultra.19018@gmail.com> (forgery)
Mister Scott <m_scott.19477b@noggles.corn>
Movable Hype <mhype101@snortwad.net>
Mrs. Danforth <danforth_a@hotmail.coo>
Mike Faramis <m_faramis808@qmail.nospam.net>
Mamac <mmc.19384_b@gmai1.com>
Nancy 3 <n3@gmai1.c0m>
Nancy 4 <n4@gmai1.c0m> (forgery)
Nebulous <nebulous99@gmail.com>
Nightcrawler <Dirtydeeds@dirtcheap.net>
Nougat Surprise <nsurprise@noway.nohow.invalid>
Orange Green <og_b1823@netmail.zoog.com.au> 
Purpleswandir <ps_1201294@gmail.com>
Retahiv Oopsiscame <roopsisc@gmail.com>
RichB <rich_barnsley@nowhere.com>
scuzwalla@gmail.com
SFTV_troll <SFTV_troll@yah.right>
Some Guy <Some@Guy.com>
Sulfide Eater <zaxx1108@example.com>
<supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com>
Spock <spock@starfleet.ufp>
Series Expansion <serexp1@gmail.com>
Seamus MacRae <smacrae319@live.ca.invalid>
sproing <sproing2323@1010.com.quux>
Snicker-snack! <ssnack119@g00glema1l.c0m>
Tim <tharrison77107@h0tmail.invalid>
Thursday's Leftovers <thursday.197@hotmail.com>
thoolen <thoolen@tholenbot.thorium>
thoolen <tholen01@gmail.com>
thoolen <th00len@th0lenbot.thorium>
<th00len@th0lenbot.thorium>
Willy Wonka <w.wonk1028_x@gmail.xyz>
Zapotec <z_gib@wav.com>

Truth in Conclusions.
"At some point, can't we find a bit of charity for a guy who looks to be in
for some real hellish times up ahead?"
				Andrew Jeanes - 1996
http://groups.google.com/group/alt.fan.kia-mennie/msg/c9946955fb73b48c?dmode=source

[toc] | [prev] | [next] | [standalone]


#9415

FromLew <lewbloch@gmail.com>
Date2011-11-02 17:13 -0700
Message-ID<2772958.1847.1320279220971.JavaMail.geo-discussion-forums@prap37>
In reply to#9388
coder wrote:
> Hi (seamus) Derbyshire.
> 
> 
> 
> "Murphy's list applies".

Plonk, stupid spammer.

-- 
Lew

[toc] | [prev] | [next] | [standalone]


#9421

FromCindy <c.thurston@frell.okb.uwa.edu>
Date2011-11-03 00:49 -0400
Message-ID<j8t6hg$5n4$2@speranza.aioe.org>
In reply to#9388
On 02/11/2011 5:36 PM, coder wrote:
> Cindy <c.thurston@frell.okb.uwa.edu>, wrote:
>> .NET is much worse. Anyone can write a conforming Java implementation
>
> Hi (seamus) Derbyshire.
>
> "Murphy's list applies".
>
> .--- . ... ..- ...<tharrison77107@h0tmail.invalid>
> 00101010<zerozeroonezeroonezeroonezero@h2g2.cazoola>
> 3k7e4intna<3k7e4intna@se0tfbhc.k3y0a.p0z>
> 3x7r4vagan<3x7r4vagan@fr0gsoup.x3l0n.c0m>
> 3x+r4v4g4n<extr4v4g4n@fr0gs0up.x3l0n.c0m>
> Alice<quaxx1108@example.com>

[snip]

WTF is this?

[toc] | [prev] | [next] | [standalone]


#9430

FromBGB <cr88192@hotmail.com>
Date2011-11-03 00:10 -0700
Message-ID<j8teqc$4ob$1@news.albasani.net>
In reply to#9421
On 11/2/2011 9:49 PM, Cindy wrote:
> On 02/11/2011 5:36 PM, coder wrote:
>> Cindy <c.thurston@frell.okb.uwa.edu>, wrote:
>>> .NET is much worse. Anyone can write a conforming Java implementation
>>
>> Hi (seamus) Derbyshire.
>>
>> "Murphy's list applies".
>>
>> .--- . ... ..- ...<tharrison77107@h0tmail.invalid>
>> 00101010<zerozeroonezeroonezeroonezero@h2g2.cazoola>
>> 3k7e4intna<3k7e4intna@se0tfbhc.k3y0a.p0z>
>> 3x7r4vagan<3x7r4vagan@fr0gsoup.x3l0n.c0m>
>> 3x+r4v4g4n<extr4v4g4n@fr0gs0up.x3l0n.c0m>
>> Alice<quaxx1108@example.com>
>
> [snip]
>
> WTF is this?

who knows, maybe a bot or just an annoying person with nothing better to do.

I have seen lots of this going on elsewhere on usenet before...

also a lot of "arguments" between apparent characters (and accusing 
random people of being one of those certain characters, and apparent 
ping-ponging I think between the person/bot/... and themselves, ...).

then, large volumes of posts which make a mess of a thread, and 
sometimes the newsgroup as a whole, with piles of these stupid posts...

(hell, maybe the bot is starting to become self-aware, but its mind is 
filled with all its imaginary friends or something?...).


or such...

[toc] | [prev] | [next] | [standalone]


#9437

FromCindy <c.thurston@frell.okb.uwa.edu>
Date2011-11-03 04:41 -0400
Message-ID<j8tk3c$4u5$1@speranza.aioe.org>
In reply to#9430
On 03/11/2011 3:10 AM, BGB wrote:
> On 11/2/2011 9:49 PM, Cindy wrote:
>> WTF is this?
>
> who knows, maybe a bot or just an annoying person with nothing better to
> do.
>
> I have seen lots of this going on elsewhere on usenet before...
>
> also a lot of "arguments" between apparent characters (and accusing
> random people of being one of those certain characters, and apparent
> ping-ponging I think between the person/bot/... and themselves, ...).
>
> then, large volumes of posts which make a mess of a thread, and
> sometimes the newsgroup as a whole, with piles of these stupid posts...

Huh. Why'd they/he/she/it have to pick comp.lang.java.programmer? Surely 
there are more appropriate newsgroups for "coder"/"freckles"'s peculiar 
kink?

[toc] | [prev] | [next] | [standalone]


Page 1 of 3  [1] 2 3  Next page →

Back to top | Article view | comp.lang.java.programmer


csiph-web