Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #9284 > unrolled thread
| Started by | jebblue <n@n.nnn> |
|---|---|
| First post | 2011-10-28 15:29 -0500 |
| Last post | 2011-11-09 23:42 -0700 |
| Articles | 20 on this page of 57 — 11 participants |
Back to article view | Back to comp.lang.java.programmer
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 →
| From | jebblue <n@n.nnn> |
|---|---|
| Date | 2011-10-28 15:29 -0500 |
| Subject | back 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]
| From | Steve Sobol <sjsobol@JustThe.net> |
|---|---|
| Date | 2011-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]
| From | Arved Sandstrom <asandstrom3minus1@eastlink.ca> |
|---|---|
| Date | 2011-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]
| From | Arne Vajhøj <arne@vajhoej.dk> |
|---|---|
| Date | 2011-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]
| From | Arne Vajhøj <arne@vajhoej.dk> |
|---|---|
| Date | 2011-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]
| From | BGB <cr88192@hotmail.com> |
|---|---|
| Date | 2011-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]
| From | Cindy <c.thurston@frell.okb.uwa.edu> |
|---|---|
| Date | 2011-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]
| From | BGB <cr88192@hotmail.com> |
|---|---|
| Date | 2011-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]
| From | Arne Vajhøj <arne@vajhoej.dk> |
|---|---|
| Date | 2011-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]
| From | BGB <cr88192@hotmail.com> |
|---|---|
| Date | 2011-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]
| From | Arne Vajhøj <arne@vajhoej.dk> |
|---|---|
| Date | 2011-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]
| From | Arne Vajhøj <arne@vajhoej.dk> |
|---|---|
| Date | 2011-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]
| From | BGB <cr88192@hotmail.com> |
|---|---|
| Date | 2011-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]
| From | Arne Vajhøj <arne@vajhoej.dk> |
|---|---|
| Date | 2011-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]
| From | BGB <cr88192@hotmail.com> |
|---|---|
| Date | 2011-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]
| From | coder <j-code@speak.invalid> |
|---|---|
| Date | 2011-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]
| From | Lew <lewbloch@gmail.com> |
|---|---|
| Date | 2011-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]
| From | Cindy <c.thurston@frell.okb.uwa.edu> |
|---|---|
| Date | 2011-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]
| From | BGB <cr88192@hotmail.com> |
|---|---|
| Date | 2011-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]
| From | Cindy <c.thurston@frell.okb.uwa.edu> |
|---|---|
| Date | 2011-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