Language:
switch to room list switch to menu My folders
Go to page: 1 2 3 [4] 5 6 7 8 ... Last
[#] Sun Aug 01 2010 10:01:55 EDT from IGnatius T Foobar @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

At the moment they still bring in enough cash from Windows and Office that they can continue to fund everything else. On the other hand, it is known that they play games with the way they state their revenue so that they can show the illusion of constant revenue growth from quarter to quarter. Once they decline enough that they can no longer play that game, it will have a significant effect on their stock price, which in their world is far more important than software.

[#] Tue Aug 03 2010 14:40:03 EDT from LoanShark @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

What I keep hearing about .Net is that C# is an elegant language, but

the .Net runtime is typical Microsoft rubbish (basically a GC'ed
version of Win32).

Wondering where you're hearing that, aside from your usual anti-Miguel sources. .NET's runtime is also quite elegant and has a few key efficiency features that are missing from Java's overly-simplistic memory model: value types, and reified generics. The importance of reified generics can't be overstated; it really cuts down on runtime memory overhead by a significant factor by allowing value types and primitives to be stored inline.

Some of the libraries are also quite nice. IEnumerable/IQueryable are serious functional-programming heavyweights.

[#] Wed Aug 04 2010 21:40:59 EDT from Ford II @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

memory model: value types, and reified generics. The importance of
reified generics can't be overstated; it really cuts down on runtime

erm... I do so enjoy reading up on all this stuff you throw our way, that's my new way of keeping up with my resume acronyms, but having read exactly 2 paragraphs on the subject I am now an authority, so let's debate for a minute exactly why C#'s way is better.
I mean from a design point of view, sure it's better that it's part of the entire system design and not just a language feature, but if I'm reading it right, java throws out all the generic type stuff (which is fine by me) and doesn't put it in the byte code and C# does.
So C# has to spend more time dealing with generic types at runtime.
How is this better? (you know me, it's all about performance)
I'm probably not getting the whole picture, but if all generic goofyness for a type simplifies to the same thing in java, and doesn't in C# doesn't that just make C# code more bloaty while functionally doing the same thing?
If the compiler has verified that everything is type safe, why waste runtime cpu dealing with it at all?

[#] Thu Aug 05 2010 02:39:04 EDT from dothebart @ Uncensored

Subject: Re:

[Reply] [ReplyQuoted] [Headers] [Print]

I remember the see-carpet pet-shop being 1/3rd loc of the java petshop.



[#] Thu Aug 05 2010 19:08:09 EDT from LoanShark @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]


Java generics can generalize over object types, only. They can't generalize over primitives (they handle that case by autoboxing primitives to objects) and they can't generalize over value types, because java doesn't have value types.

So in Java, you can never define a "struct foo" and an array of struct foo, and have that array be stored as a linear list of struct foos all inline, it has to be an array of pointers to object foo instead. My understanding is that C# can do that... and the collection classes can also do this in a generic fashion. The memory overhead can be a rather large constant multiplier. Collection traversal is also quite a bit slower..


So, C# can do this because it preserves the type information at runtime, which allows it to basically treat generic classes as templates if it decides that it's necessary.

[#] Thu Aug 05 2010 19:08:31 EDT from LoanShark @ Uncensored

Subject: Re:

[Reply] [ReplyQuoted] [Headers] [Print]

Aug 5 2010 2:39am from dothebart @uncnsrd
Subject: Re:
I remember the see-carpet pet-shop being 1/3rd loc of the java
petshop.


probably mostly because of properties vs setters/getters.

[#] Fri Aug 06 2010 11:18:41 EDT from Ford II @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

So, C# can do this because it preserves the type information at
runtime, which allows it to basically treat generic classes as
templates if it decides that it's necessary.

C# can do that as a result of the fact that java doesn't have value types. Forget the generics for a second, I gather C# can also line up an array of whatever objects in memory, and java can't simply because java was not designed to allow for that. The generics just make doing that with random types possible, but the actual flaw (limitation whatever) is in the everything-is-an-object-except-for-the-primitive-types-hack design of java.

[#] Fri Aug 06 2010 13:44:10 EDT from LoanShark @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]


That's true enough, as far as it goes. In Java, though, it would be nice to have a generics that was capable of representing primitive types, to make numeric computation faster... (Not that this is a use case that I care about, but it would really help the number crunching guys.)

[#] Fri Aug 06 2010 16:14:51 EDT from Ford II @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

I think the primitive types should be objects, and the syntax should be simple enough that you can use objects like you can use primitives so that you won't need a separate hack for primitives just to make the language usable.

[#] Fri Aug 06 2010 16:15:15 EDT from Ford II @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

Heh, I suppose you could do that with operator overloading. :-)))

[#] Fri Aug 06 2010 16:38:09 EDT from LoanShark @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]


That's the way Scala does it, on both counts.

[#] Sun Aug 08 2010 15:58:26 EDT from Ford II @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

Without having 2 paragraphs to read, is scala's syntax easy?
Oh, but it's a sloppy language right? not big on types?

[#] Mon Aug 09 2010 18:03:30 EDT from LoanShark @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]


The syntax will probably take some getting used to. The fundamental idea is: (a) every construct should be as general as possible; (b) everything is an expression.

(a) requires some meditation and long explanation, but
(b) allows you to do things like this:


val myvariable =
if (something) then
1
else
2

or even:

val transformedList =
for (x <- someOtherList)
yield x.someProperty

It's not a sloppy language, it's a strong/static type system that closely resembles Java's, with a few differences. They have added a form of structural typing (aka duck typing) for classes that is statically checked at compile time. In other words, you can declare "this parameter accepts any object that defines fields named x and y", and this will be statically checked at compile time (not to be confused with Objective-C/Smalltalk like systems where all such checking is at runtime.)

Function types are also structural types (as opposed to nominal types as in C# with its delegate types.) Function types don't have names, they just declare a matching signature, and are statically type checked.

You might look at "val myvariable" above and think "that looks like a sloppy language." But behind the scenes, the compiler knows the type of "myvariable" at compile time, via type inference. (There are several situations where you must declare the type when the compiler can't figure it out on its own.)

The IDE has a mouse hover to indicate the type of a variable.

[#] Mon Aug 09 2010 21:16:18 EDT from Ford II @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

You might look at "val myvariable" above and think "that looks like a

sloppy language." But behind the scenes, the compiler knows the type of

"myvariable" at compile time, via type inference. (There are several

That's fair. As long as that's what actually happening, and later in the function the compiler can bitch when you assign something of the wrong type to it. I'm not such a nazi that everything has to be spelled out, just that the Right Thing is going on in the Right Places.

[#] Mon Aug 09 2010 21:22:10 EDT from Ford II @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

The IDE has a mouse hover to indicate the type of a variable.

Speaking of... So I've been watching eclipse trying to figure out how much of what it knows when.
I've noticed that it can hot replace a class while debugging if you change the contents of a function, but you can't for example change function signatures (or maybe it's just public function signatures) without requiring a restart.

Today I noticed it can't hot replace a class if you've changed the constructor... which I don't see why not, there could be some badly constructed object, but that's true for any class that you change the innards of functions, it doesn't change the definition of the class itself.
Sure when you add or remove a member variable it has to restart because the object no longer matches, but I don't get the constructor thing.

Just an interesting thing I noticed today.

[#] Wed Aug 25 2010 15:04:38 EDT from Ford II @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

I have xp sp3 and if I go to a cmd.exe window and type dir *.doc I get not only *.doc files, but I also get *.docx files.
bad bad bad microsoft.

[#] Wed Aug 25 2010 16:44:27 EDT from IGnatius T Foobar @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

It's running in "what you really wanted" mode. (It probably uses the same code that causes Bing to return a bunch of pages called "Why Windows rulez and Linux sux0rs" when you search for "Linux")

[#] Wed Aug 25 2010 16:56:06 EDT from LoanShark @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]


Haha. In the real world, people who are working on contextual matching are very concerned about matching Alice's competitor Bob's product on an Alice-related keyword. More often than not, it's something to be avoided, at least in the context of auto-placing banner ads etc.

[#] Thu Aug 26 2010 02:30:03 EDT from dothebart @ Uncensored

Subject: Re:

[Reply] [ReplyQuoted] [Headers] [Print]

its probably because of

MyWordDocument.docx

realy is

MyWor~1.doc



[#] Thu Aug 26 2010 14:07:01 EDT from IGnatius T Foobar @ Uncensored

Subject: Re:

[Reply] [ReplyQuoted] [Headers] [Print]

Doesn't XP use NTFS? Does NTFS still maintain 8.3 filenames somewhere for some weird level of compatibility?

Go to page: 1 2 3 [4] 5 6 7 8 ... Last