Domain: ondotnet.com
Stories and comments across the archive that link to ondotnet.com.
Comments · 38
-
Re:step 1
SO when I want to create a horizontal list out of your table of data
Change the templates in the repeater.
should thank you for your maintainable code?
Yes.
Or when it comes time to debug why content isn't lining up correctly on a page and I have to muck through some spaghetti code of if/else madness with endless tr,td constructs and colspans that don't do anything anymore
Your post is basically a rant against the same kind of bad programming that I also complain about. The same code would suck if it used css instead of tables. -
Re:Mono?
There is not just MONO, but also ROTOR.
http://www.ondotnet.com/pub/a/dotnet/2002/03/27/ar chtour.html
Pitty neither of those gives the true cross-platform we need for the C#.net Platform.
ROTOR is just a BSD port of the C#.net virtual machine (no JIT compiler, no full framework libraries).
MONO is just a rewrite of the C#.net virtual machine + partial framework libaries (no win32 compatibility layer below).
In the end, the C#.net Platform will always be an NT-only solution.
Maybe REACTOS will be the solution to run the full Platform without MS licences... some day. -
Re:Warmed over MacOSX
Here's a classic flamewar on the topic:
http://www.ondotnet.com/pub/a/dotnet/2004/03/08/wi nfs_detail_3.html?page=1 (check the comments on pg2) -
Re:Well DUH
This article is a good summary: http://www.ondotnet.com/pub/a/dotnet/2003/11/24/l
o nghorn_01.htm?page=last&x-maxdepth=0
It was written 3 years ago though, but seems to make sense still. -
Re:Java will still rule
The fact of the matter is that C# will never be able to erode Java's dominance since it is not cross platform.
bull-SHIT.
here's the source for a C# compiler made available from MICROSOFT that compiles out of the box on FreeBSD and OS X. http://msdn.microsoft.com/net/sscli. Its called ROTOR.
Remember our favorite tech-book publisher? Here's an O'Reilly article explaining how to compile and begin using ROTOR: http://www.ondotnet.com/pub/a/dotnet/2002/03/27/ge ttingstarted.html
Here's an O'Reilly book on how to use the Shared Source CLI: http://www.oreilly.com/catalog/sscliess/ -
Re:FreeBSD vs Linux
Wasn't FreeBSD the only other operating system Microsoft ported C# to?
they planned to are those plans still alive?
Didn't Hotmail run for a LONG time on FreeBSD?
they no longer do. if FreeBSD is so great, why don't they still use it?
Doesn't Microsoft use BSD code in their operating system?
telnet.exe and ftp.exe is really not a good example of bsd code use. they used to use the TCPIP stack but have swtiched to another one. -
A lot of historical info.
-
Well Of Course NotFrom TFA:
"It also seems that CSS support may be more important for client side work, and full or complete CSS support makes a thin client more attractive. This would seem to be counter to Microsoft's push for 'rich' clients."
Microsoft has always feared thin clients because they view them as a way for people to escape Windows. This is why they had to destroy Netscape at all costs. This is why they will *NEVER* embrace standards that enhance thin clients. Just look at their history. They've always tried to do just the opposite. Look at their proprietary JVM that succesfully took Java applets out of the web client picture. Look at their support for their own DHTML version. Look at their proprietary versions of JavaScript. Look at their proprietary extensions to XSL. And of course there is the mother of all standards-busters: ActiveX. These have all been ways to attack thin client standards, and they have been very succesful. Next up is XAML.
Even if they wanted to support thin clients and make IE better, they would not want to support standards. Why? Well as soon as they support a standard that allows websites to do more good things, then there will be websites that do these good things. If more websites do more good things based on standards, then suddenly it becomes a lot easier to switch from IE to Firefox or Opera, or for that matter from Windows to Linux or OSX. However, if websites can only get some "cool" functionality by using either ActiveX/DHTML/MSXML or by using CSS 2, then of course they will pick the MS option because there are so many more IE users. And of course that will make it impossible for users of said website to switch from Windows/IE to anything else. -
New Windows API
This is being addressed in the next Operating System, Longhorn. The API set is currently codename "WinFX", and will be 100% managed code. It will co-exist side by side with Win32, but is not intended to be a layer over Win32. The intent is to no longer add Operating System functionality through Win32. All new APIs will be WinFX APIs.
More information from O'Reilly's OnDotNet. -
Already debunked.
This myth,
.net is merely thin wrappers to Win32 has been very thoroughly debunked by the inimitable Ian Griffiths in his OnDotNet column on Longhorn.
Being anti-Microsoft doesn't automatically make something true. -
Re:Finally - make it an impulse purchase
Reading these reminds me of how some Longhorn features may have been inspired by OSX.
the sheer "fit and finish" that goes into the GUI - NEVER will you have a busy or hung application that displays white contents when you drag something else over it, OS X stores the contents of a GUI app in a different way so that even when the app is hung it can be nicely moved around
This system is called Quartz, and Longhorn's Avalon will be doing this too. Apps will have their own off-screen target to render to, and Windows will render that to the 3D desktop.
the way searching is faster (there's a reason why the search functionality in Windows is called "Search", and in OS X it's called "Find")
This will happen when WinFS is shipped, which some prominent MS employees are saying could be around 2010. -
Re:Well we already knew
Yeah and they may well not run Linux but they must run FreeBSD in order to develop and hopefully test things like Rotor... does that count as UNIX? And what about Windows services for UNIX?
-
Re:Java is not back
SUN has done an amazing job in extending Java even to include generics without breaking backwards compatability. Yes it did not lead to the solution that is technically and internally the most efficient (it would have required changes to the JVM), but the developer is not affected. Internally it is solved by typecasts, but who cares?
I care. To me, Java has two arguments in its favor vs Python: execution speed and jobs available.
The former is being eroded. Really, the only application I can think of where Python's execution speed worries me is for a 3D engine I'd like to do. But with psyco, I found that the Python version of lesson 10 of the nehe opengl tutorial gets 140 frames-per-second to Java's/LWJGL's 180 (though not 'out of the box', I had to level the playing field by turning on the same opengl features for both versions). I'm still leaning slightly towards Java for this project, as I wonder that the performance gap won't become more pronounced with a real game engine that does more than just feed polygons to my graphics card.
As for jobs, I'm deciding whether I would really want another Java job. Java's not fun for me, but I digress.
Getting back to Sun, they broke backward compatibility from 1.3 to 1.4 for assertions. Why did they not do the same for generics when it would have improved performance? You'd think they would have, since there have been stories circulating of
.NET's superior performance (true or not). I think generics were rushed into Java to compete with C#. The JVM was left alone, not to preserve backward compatibility (which Sun has broken before), but because there was no time to add this feature and still ship Java 1.5 in a short enough time-frame to preserve Java's waning mind-share.".NET is years behind and plans to bring similar features only in 2007 (generics)."
Incorrect. C# has generics right now.
Also, I like that C# can allocate stuff on the stack and allows 'unsafe' code to use pointer arithmetic. These are all boons to performance, and performance is why you use C# or Java (buzzword-compliance notwithstanding). If you want to innovate or be spookily productive you use something else.
-
Open source ?= Shared source
From the article:
"We haven't worked out how to open-source Java -- but at some point it will happen," [Sun's Java technology evangelist Raghavan] Srinivas said. However, he noted "it might be today, tomorrow or two years down the road". ...
However, others, including Sun, believe the main hurdle and concern is the future of the Java brand and compatibility. The main fear is that Java technologies could be forked and the "write once, run anywhere" attraction to Java will be lost, making use of the programming language and platform less attractive.
Doesn't this sound an awful lot like why Microsoft decided to release Rotor as "shared source"? (Rotor is the "open" release of .NET's common langauge runtime, available on some BSD-esque platforms, of course.) The definitions of open source are pretty broadly scattered. We've got everything from shared to GPL to MPL to public domain, with everything in between. The importance of this announcement, which still has no hint of a timeframe, is -- to [nearly] quote one of my ex-presidents -- "Depends on what the meaning of open is." -
revolutionary or late?I think Microsoft is already addressing the professor's points in the
.NET platform ... or at least starting to head in that general direction already:* compilers, linkers, debuggers, and other tools will be plugin frameworks, rather than monolithic applications;
For example, see the
.Net Microsoft.CSharp Namespace, the System.Codedom namespace to represent code as objects, etc. in the framework class library.* programmers will be able to extend the syntax of programming languages; and
don't know about extension of languages yet, but the next one is interesting
....* programs will be stored as XML documents, so that programmers can represent and process data and meta-data uniformly.
take a look at Microsoft's XAML technology -- describing code by using XML. That's the general direction.
I'm sure other technology frameworks have similar things, but I'm not as familiar with those technologies.
-
Re:New font engine?
If you are interested in learning more about Avalon, consider reading this article and especially the comments at the end. The author discusses Avalon vs. Quartz in the comments.
-
Re:Wonderful, wonderful - alll we need is a server
What would be the advantages of writing the server-side in Mono over Java? Not a flame, I'm sincerely curious.
They would both be nice choices -- Miguel is largely responsible for Mono, however. So, you might say he is biased :)
Miguel on Mono -
Re:Zamil?It's pronounced "Zammel":
"One of Longhorn's most interesting technologies for developers is its new XML-based markup language, codenamed XAML (short for eXtensible Application Markup Language, and pronounced "Zammel"). User interfaces in Longhorn applications are typically built using XAML. In this article, we look at how XAML
-fren ..."
-
Re:that's Longhorn?
So you'd rather have all of your hardware sit idle and unused leaving you with the satisfaction that you're getting the most for your money? Fortunately, Longhorn will take full advantage of your hardware-accelerated graphics card. If you say this is bad, you obviously have never tried to move a large transparent window around in windows xp.
Therefore I will take performance over 'wasted cpu cycles' for my eye candy, thank you
-dk -
Re:Why is PNG a good format to use?
I'd suggest that for a lot of UI elements it would actually be better to use a vector-based format like SVG. Although I'm sure MS will use something like XAML (another link).
-
Re:The worst thing that could happen...
Basically a free, open-source version of the
.Net framework and C# compiler distributed by Microsoft. It is supported on Windows, FreeBSD, and Mac OS X.
I also read an interesting article about trying to get rotor to compile in Linux. -
Free as in beer... yes
You can download the Rotor source free and compile/run it on Windows XP, FreeBSD and Mac OS X. Or maybe you meant on Linux.
Theoretically you could write C# applications for those platforms just like you could write C, C++ etc. applications for them. I don't see how you would need any other Microsoft products to use their C# compiler, though obviously Microsoft currently produces the most comprehensive development environment for C#. -
Re:Free for who?
-
Re:OO is old newsAs it turns out, OO isn't the only thing that's old news; so is Service Oriented Architecture. It's at least a decade old.
In the "old" days, this was called RPC. Currently, in Java, you might recognize is as RMI. The recent buzzword for it is Web-Services. The new incarnation simply adds a long-missed feature: programming language independence. Java's RMI had already introduced platform independence.
= 9J =
-
Re:There's another great example of commoditizatio
Bingo.
Don't think that O'Reilly doesn't know this either. Check out how many books, articles, and so forth they have published since OS X came out. I had the privilege a few months ago to have a sit down with the current editor of the Apple books, and from the way he talked it seems that O'Reilly is nothing short of ecstatic about the OS.
O'Reilly, IMHO, publishes by far the best books on the market. This is because they have excellent editors and scouts (for lack of a better word) to find very intelligent, very insightful people to write their books. I suggest people check out there dev sites more often; they are treasure troves of info
-
Re:RIAA Radar
Incidentally, I was surprised to read the fine print the other day, and notice that Enhanced CD is an RIAA trademark. So even when I was buying from what I thought was a smaller label or an indie band, the ECD logo on it definitely meant that money went to the RIAA for some certification process. Not that I will stop buying all such CDs, it's just good to be aware of it.
So as to not go completely offtopic, the Web Services idea is pretty great. I use .NET, and I don't anyone has yet linked to O'Reilly article describing how to use Amazon's WS here. I can't wait for other companies to start following suit - some of the more useful ones would have to be shipping (FedEx/UPS) and Web email providers with no POP3 access. As for shopping, I really wish DVD Price Search would start offering it, as I like to shop around before just buying something off of Amazon. -
Re:Still on the .NET path to Hellthat Ximian are encouraging people to risk cloning a substantial portion of Microsoft's IP.
I can't believe how many times I've had to repeat this. This is not "Microsoft's IP". The CLI and C# have been submitted to ECMA. Mono is as liable for producing its own
.NET CLI as anyone else is for creating a Java compiler or JVM.have never been particularly clear about why they are doing this
I think they've made it sufficiently clear, but that's just me.
what precisely was wrong with established OSS efforts such as Parrot, Guile, Kaffe
I don't know. Maybe they suck? Why are there 26 window managers for X11? Why write Ruby and Python if there's Perl? Why do we need Linux if there's BSD? Why is there OpenOffice if there's StarOffice? Am I getting myself across yet?
Miguel and co. were too late to appoint themselves leaders of the other projects
Isn't that quite the rational conclusion.
-
YES! .NET works with DirectX 9.0 and OpenGL
Microsoft has DirectX 9.0 SDKs for C++, C#, and VB.NET. You can even code in C# or VB.NET and OpenGL.
-
Re:maybe developers would wise up then....
ACK! There is even a plugin for VB.net in OpenGL oh cruel world
-
Not all Shared Source licenses are the sameOne issue the author of the article gets wrong is that all Microsoft Shared Source licenses are identical. For example he says "Licensees may read and reference the source code but may not modify it". This is not true of all Microsoft Shared Source licenses.
There are Shared Source licenses that permit redistribution.
For example the Rotor (Shared Source Common Language Infrastructure) distribution ships with the following license(which was fought for by the authors of Rotor -- David Stutz):
MICROSOFT SHARED SOURCE CLI, C#, AND JSCRIPT LICENSE
This License governs use of the accompanying Software, and your use of
the Software constitutes acceptance of this license.
You may use this Software for any non-commercial purpose, subject to
the restrictions in this license. Some purposes which can be
non-commercial are teaching, academic research, and personal
experimentation. You may also distribute this Software with books or
other teaching materials, or publish the Software on websites, that
are intended to teach the use of the Software.
You may not use or distribute this Software or any derivative works in
any form for commercial purposes. Examples of commercial purposes
would be running business operations, licensing, leasing, or selling
the Software, or distributing the Software for use with commercial
products.
You may modify this Software and distribute the modified Software for
non-commercial purposes, however, you may not grant rights to the
Software or derivative works that are broader than those provided by
this License. For example, you may not distribute modifications of
the Software under terms that would permit commercial use, or under
terms that purport to require the Software or derivative works to be
sublicensed to others.
You may use any information in intangible form that you remember after
accessing the Software. However, this right does not grant you a
license to any of Microsoft's copyrights or patents for anything you
might create using such information.
In return, we simply require that you agree:
1. Not to remove any copyright or other notices from the Software.
2. That if you distribute the Software in source or object form,
you will include a verbatim copy of this license.
3. That if you distribute derivative works of the Software in
source code form you do so only under a license that
includes all of the provisions of this License, and if you
distribute derivative works of the Software solely in object
form you do so only under a license that complies with this
License.
4. That if you have modified the Software or created derivative
works, and distribute such modifications or derivative
works, you will cause the modified files to carry prominent
notices so that recipients know that they are not receiving
the original Software. Such notices must state: (i) that
you have changed the Software; and (ii) the date of any
changes.
5. THAT THE SOFTWARE COMES "AS IS", WITH NO WARRANTIES. THIS
MEANS NO EXPRESS, IMPLIED OR STATUTORY WARRANTY, INCLUDING
WITHOUT LIMITATION, WARRANTIES OF MERCHANTABILITY OR FITNESS
FOR A PARTICULAR PURPOSE OR ANY WARRANTY OF TITLE OR
NON-INFRINGEMENT. ALSO, YOU MUST PASS THIS DISCLAIMER ON
WHENEVER YOU DISTRIBUTE THE SOFTWARE OR DERIVATIVE WORKS.
6. THAT MICROSOFT WILL NOT BE LIABLE FOR ANY DAMAGES RELATED TO
THE SOFTWARE OR THIS LICENSE, INCLUDING DIRECT, INDIRECT,
SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, TO THE MAXIMUM
EXTENT THE LAW PERMITS, NO MATTER WHAT LEGAL THEORY IT IS
BASED ON. ALSO, YOU MUST PASS THIS LIMITATION OF LIABILITY
ON WHENEVER YOU DISTRIBUTE THE SOFTWARE OR DERIVATIVE
WORKS.
7. That if you sue anyone over patents that you think may apply
to the Software or anyone's use of the Software, your
license to the Software ends automatically.
8. That your rights under the License end automatically if you
breach it in any way.
9. Microsoft reserves all rights not expressly granted to you in
this license.
As you can see you can modify and redistribute your modification.
And no you aren't contaminated by reading the source (that's specifically called out in the last right granted).
You can redistribute under another license that's compatible with this license (OK, so that's not GPL or BSD but most licenses lock you into the same license not merley a compatible one).
One of the ideas behind releasing this source code was to encourage research based on the Rotor(technically the CLI is very interesting) and to help implementers of other CLI implementations and to help people who code for .NET on Windows to understand what is going on under the covers without getting the .NET source.
David Stutz wrote a good article on this at ORA.com.
If you are interested in finding out more about the SSCLI O'Reilly has a book in the works that should appear in March 2003. The first chapter is available online. Don't worry Microsoft won't own your soul if you read about it. If you are interested in modern language design or compiler implementation then you'll find something here.
I do happen to work at Microsoft as a contractor but these are my own words. And yes, I used to think all Shared Source licenses were the same too. -
Difference is...
C# is Java with the capitalization Gone Wrong.
C++ is C++.
C++ under .Net is C++ with "crippled" syntax - no templates, for example.
I'm not saying that .Net and C# are nessicarily all bad, mind you. What I am saying is that in .Net, all roads lead to C# and other languages under .Net are really C# training wheels. You can choose to use the training wheels as long as you like, but if you want to really do anything you have to take them off someday...
Part of that is because .Net is, like Java, very heavily library based (in that most anything you want to do involves a number of library calls from a fairly rich library) - and those lbraries are most naturally accessed in C#. When using other languages, they will have varying ranges of ease to access these libraries but C# is always there at the end of the curve beckoning you closer.
For perhaps something more like what you were looking for, you might want to read Ten Top Traps in C# for C++ Programmers. -
Re:VB has one of those debuggers
Out of curiosity what do you get with this?
Dim myArray(4) As Integer
MsgBox("After Dim " & LBound(myArray) & Chr(32) & UBound(myArray))
Running the above code I get "After Dim 0 4".
This excerpt from "VB.NET in a nutshell" confirms that arrays are 0 to N containing N+1 elements.
This is what it says in VB.NET help.
Array Bound Changes in Visual Basic
Visual Basic .NET updates the declaration of array bounds to provide interoperability with arrays in other programming languages.
Visual Basic 6.0
In Visual Basic 6.0, the default lower bound of every dimension of an array is 0. You can change this to 1 with the Option Base statement. You can also override the default lower bound in individual array declarations.
If you leave the default at 0, the number of elements in the array is equal to the upper bound plus one. The following declaration reserves 21 elements for the array Weight:
Dim Weight(20) As Single
Visual Basic .NET
In Visual Basic .NET, the lower bound of every array dimension is 0, and you cannot declare it to be otherwise. The Option Base statement is not supported. The number you specify for each dimension in the declaration is the upper bound, and the initial element count is equal to the upper bound plus one. The declaration in the preceding example reserves 21 elements for Weight, with subscripts 0 through 20. -
nails get hammered
add to this a bit of "Microsoft to Buy Rational and/or Borland?" (more informative article article - javatips (66293) ) and you get a better view of the options MS are working on.
Borland are developing their own architectural solution for .NET and remember Rotor already runs on FreeBSD so borgifiying any of Borlands tools into a XP Visual Studio for Linux gives MS means to kill any competition - (Open source Mono classes). Remember MS's MO is to set and 'own the standard'. Nails get hammered and Mono is a target.
-
Re:uh.
BSD sucks its not "buzzword" compatible. I didn't hear one word about OOP, Linux, or
Actually, Microsoft themselves released a bare-bones edition of .NET .Net for FreeBSD with a restrictive "shared source" license. C++ and many other OOP languages both well known and obscure run on it as well, many (though not M$'s offering) are in the ports tree.Of course, if you really want to avoid the hype, do like me and run NetBSD - we don't have (though NetBSD folks are working on it) Java2 yet in pkgsrc
:-(, though we do have a wide variety of other languages with less restrictive licensing and more readily portable code than Sun's. :-) -
GyroGenerics in
.Net are already available as the patch to Rotor. The paper describes them as being implemented via modified CLR, i.e. it's possible to have a generic type parameterized by a primitive type without boxing/unboxing penalties, i.e. not just a syntactic sugar of JSR14.It's not yet clear when, in what version of
.NET, that becomes available... though it may be there sooner then JDK1.5 is released (and no one actually confirmed that 1.5 will have generics included). -
GyroGenerics in
.Net are already available as the patch to Rotor. The paper describes them as being implemented via modified CLR, i.e. it's possible to have a generic type parameterized by a primitive type without boxing/unboxing penalties, i.e. not just a syntactic sugar of JSR14.It's not yet clear when, in what version of
.NET, that becomes available... though it may be there sooner then JDK1.5 is released (and no one actually confirmed that 1.5 will have generics included). -
Re:Sort of off-topic, but...
You could start here:
Oreilly Network ONDotNet -
Odd time to move
As a previous poster said, albeit sarcastically, it seems odd that you've put up with Visual Basic with its numerous flaws and 'lock in' attitude for so many years you're now looking to bail out when the development platform your company has chosen has improved dramatically.
My personal opinion is that
.NET is a great development environment. As a long standing C/C++/Java developer (I hate to admit to VB in public), it's taken me a very short time to get to grips with the Framework - the language you use is largely irrelevent, but I have to admit I went for C# - which is the major bulk of any learning effort required in getting up to speed with .NETOther posters have also pointed out that there are Open Source efforts underway to port
) as well as the much publicised Rotor implementations for FreeBSD and Mac OSX. .NET to Linux (Mono and DotGNUMake no mistake; the Redmond behemoth is not going to let
.NET just curl up and die. If I were you, I'd use it as a stepping stone to your Open Source ideals. Ahh, how delicious is *that* irony?