C# not only dangerous but useless
|
Author | Content |
---|---|
golem Jun 29, 2009 11:53 AM EDT |
If you remember the context of the creation of C#, it is very clear that the only reason C# exists at all is to give Microsoft a means to lock programmers into the Windows platform. It was created as an alternative to Java after Sun's lawsuit to forbid Microsoft to create an incompatible version of Java succeeded. Now that Java is fully open source and Sun has been acquired by Oracle, the reasons for the existence of C# recede even farther into the mists of history.... A new programming language, with the burden it places on the programmer to learn yet another language, needs a better reason to exist than that. |
jdixon Jun 29, 2009 1:03 PM EDT |
> A new programming language, with the burden it places on the programmer to learn yet another language, needs a better reason to exist than that. That conclusion forces me to ask: Exactly how long have you been following programming languages? Many times it seems there's absolutely no reason at all for a new language, except that someone wanted to make one. |
jacog Jun 29, 2009 2:16 PM EDT |
Well, you guys could always learn to code in this language: http://en.wikipedia.org/wiki/LOLCODE |
gus3 Jun 29, 2009 2:51 PM EDT |
Or that other language with a name that violates LXer's TOS. |
jezuch Jun 29, 2009 2:59 PM EDT |
My favourites are: Whitespace and Shakespeare. |
hkwint Jun 29, 2009 3:17 PM EDT |
Quoting:with the burden it places on the programmer to learn yet another language Well, the idea is that you only learn C#, and after that are too tired to learn yet another language. Quoting:Or that other language with a name that violates LXer's TOS. Starts with "Brain" I suppose? |
gus3 Jun 29, 2009 4:34 PM EDT |
Quoting:Starts with "Brain" I suppose?I'll not deny that. |
chalbersma Jun 29, 2009 7:39 PM EDT |
What is the benefit of C#? I know that it's syntatically just about as easy as c++ but not quite as easy as Basic. I know it's slower than C++ and I know it doesn't run on my operating system (FreeBSD) or on many others (Damn Small Linux for example). If it's not 100% microsoft compatable what's the point? |
tracyanne Jun 29, 2009 7:52 PM EDT |
Quoting:What is the benefit of C#? I know that it's syntatically just about as easy as c++ but not quite as easy as Basic. Actually it's easier than both. Syntactically it's more logical than BASIC, and less wordy, having been a BASIC programmer (I started my programming career programming in BASIC 2+ on a PDP 11/70 over 30 years ago), C# is way preferable. In addition it cleans up Java, I would argue it's a better Java than Java. Quoting:If it's not 100% microsoft compatable what's the point? Why does it have to be? What's the point? What about if we change it's name to C! (pronounced She Bang), then we can go all Ricky Martin. |
TxtEdMacs Jun 29, 2009 10:14 PM EDT |
C! (She Bang) is the sound one hears when Bing collides with true Bling. Broken hub caps and knees everywhere. YBT |
jdixon Jun 29, 2009 10:19 PM EDT |
> ...(pronounced She Bang)... And the O'Reilly book could be called "The Whole SheBang". :) |
softwarejanitor Jun 29, 2009 10:21 PM EDT |
@tracyanne If Mono isn't 100% or at least close to compatible with .NET, then it's usefulness in being able to free software from the Windows platform lock-in is compromised. That's why it matters. |
tracyanne Jun 30, 2009 12:04 AM EDT |
The bits that may make windows applications uncompatible are the WinForms and other Windows Specific libraries. There are Libraries there for that, which do make porting Windows apps to Linux possible. However it is those libraries that are, in fact possibly suspect, not the the core of Mono, nor the Linu/Unix specific libraries, which include GTK. |
chalbersma Jun 30, 2009 3:09 AM EDT |
Look I've seen C# and C++ and their quite similar in syntax. But if I'm creating a .NET application and it can't work with other .NET frameworks then all I am doing is creating an application that automatically takes a performance hit with no other visible advantage. Untill there is a c# compiler that doesn't use .NET or until there is a .NET platform that is at least as mobile as Java C# is just another language. I might as well use Lolcode. tracyanne wrote: Quoting: Actually it's easier than both. Syntactically it's more logical than BASIC, and less wordy, having been a BASIC programmer (I started my programming career programming in BASIC 2+ on a PDP 11/70 over 30 years ago), C# is way preferable. In addition it cleans up Java, I would argue it's a better Java than Java. I never really got into serious programming in BASIC so I'll concede this point. |
tracyanne Jun 30, 2009 3:59 AM EDT |
This http://www.linux-mag.com/id/7325 is one of the reasons I don't see any danger in Mono C#. Another is that C# is clearly derived from Java, an incremental improvement. So in my opinion any alleged Patents can be dealt with by being trivially programmed around, or are Trivial or covered by Prior art. None of the ideas in C# or .NET seem to me to be particularly novel. |
chalbersma Jun 30, 2009 5:03 AM EDT |
But what's the point of using C# if it isn't portable? C# may have been derived from Java (and java from c etc...) but that doesn't mean it can't have serious patent issuses. That's like saying a movie script based of a book isn't covered by copyrights because it was derived from another copyrightable product. Your link brings up VFAT and how the patent issue has been solved. While this is a good thing the fact that older versions of linux did indeed infringe on the VFAT patent leaves many companies open to litigation for past infringement (if my understanding is correct). VFAT patent was unavoidable. Very few people knew the issues surrounding linux's implementation of FAT and it's potential patent issues. Tom Tom is now paying the price of finding out. The issue here is that we know that .NET has multiple Microsoft patents. And any implementation of them will be covered by the same patent laws that covered the FAT issue. Should we set ourselves up to be brought to court over these various patents now when we know what can happen? Even if a patent lawsuit is brought against various linux companies for their use of .NET and is found to be false it would still hurt the FOSS comunity quite a bit. Is it worth the risk? I know you think yes and on a personal level that's okay but for distrobutions it much more risky. Chances are that if there was succesful patent litgation Microsoft would go after the suppliers. And nobody want's to pay to use Ubuntu because of some stupid patent issue. |
tracyanne Jun 30, 2009 5:19 AM EDT |
Quoting:That's like saying a movie script based of a book isn't covered by copyrights because it was derived from another copyrightable product. Different issue. you are comparing Apples with Oranges. I promised myself I wouldn't get into another Mono/.NET/Patents argument, because such arguments go round and round and round and round and round.... ad infinitum. And here i am my promise scattered to the wind. Sigh. This argument was pretty clearly covered in a recent news item, and RMS hasn't really added anything new, and nore has anyone else, including myself. |
chalbersma Jun 30, 2009 5:30 AM EDT |
In the end it is all risk vs. reward eh? |
Sander_Marechal Jun 30, 2009 6:31 AM EDT |
Yep. And both the risk as well as the reward is very much a personal opinion. |
dinotrac Jun 30, 2009 9:54 AM EDT |
Just thought I'd jump into this thread to let people know there's a sale on tin-foil down at the Wal-Mart. I'm not sure they have every hat size. |
chalbersma Jun 30, 2009 3:46 PM EDT |
Really dinotrac. You know you can do some pretty crazy things with tin foil. In fact I once fixed a computer with tin foil and a paperclip, those were the days. |
tuxchick Jun 30, 2009 3:52 PM EDT |
Pf. If you haven't jump-started a failing computer power supply from an old pickup truck with a six-volt electrical system and hand-rolled foil jumper cables, well then you just can't claim geekbeard status. |
gus3 Jun 30, 2009 5:19 PM EDT |
I know someone who put a lantern battery on a power supply, so the computer could stay up and running (single-user mode) while they moved it across town. I guess they were proud of their uptime. EDIT: spelling fix |
chalbersma Jun 30, 2009 6:03 PM EDT |
nice I just had a shitty wire and a broken cd drive. |
dinotrac Jul 01, 2009 12:15 AM EDT |
Sorry -- I missed some of this conversation because I had to scratch out a new cpu on a hunk of raw silicon... |
tracyanne Jul 01, 2009 12:59 AM EDT |
huh, as soon as the cells finish dividing we'll have a biological computer up and running, about 16 to 20 years should see most of the software installed. |
tuxchick Jul 01, 2009 1:02 AM EDT |
Fissionware! |
Sander_Marechal Jul 01, 2009 3:07 AM EDT |
Hehe, reminds me of this XKCD cartoon: http://xkcd.com/378/ |
dinotrac Jul 01, 2009 7:35 AM EDT |
Damned EMACS. |
TxtEdMacs Jul 01, 2009 7:46 AM EDT |
Quoting:Damned EMACSShould I take offense, or were you just joking? YBT |
gus3 Jul 01, 2009 9:01 AM EDT |
If you have to ask, you probably wouldn't get it, anyway. |
tracyanne Jul 01, 2009 9:16 AM EDT |
EMACS, is that like and early version of iMacs.............. |
dinotrac Jul 01, 2009 12:12 PM EDT |
HHHHHHHHHEEEEEEEEELLLLLLLLPPPPPPPP MMMMMMMMEEEEEEE !!!!!!! I'm surrounded by nuts, and not the tasty kind. |
tuxchick Jul 01, 2009 1:11 PM EDT |
Poor dino. Here, have a cashew. |
dinotrac Jul 01, 2009 2:20 PM EDT |
Thanks, I needed that. |
justintime Jul 01, 2009 2:51 PM EDT |
chalbersma: But what's the point of using C# if it isn't portable? Ah, but C# is portable. At worst, it's portable to all platforms where you can run Mono (which includes on Windows). So if you target Mono, you can run your C#/.NET programs anywhere. You may have noticed that Sims3 was built on Mono (not Microsoft's .NET) and from what I can gather from whispers on the grapevine, this isn't all that uncommon in the Windows world to target Mono instead of Microsoft's .NET, especially where the only choice is Microsoft's CompactFramework version of .NET which lacks APIs that many developers want to use. Edit: Mono allows developers to create their own tailored CompactFramework using Mono's Cecil linker program to strip out any unwanted APIs from the BCL (or any other library). |
chalbersma Jul 01, 2009 3:58 PM EDT |
Have you tried using Mono on FreeBSD. It barely compiles... |
justintime Jul 01, 2009 4:21 PM EDT |
Presumably that can be fixed :-) It's Free Software after all. |
gus3 Jul 01, 2009 5:05 PM EDT |
Quoting:Have you tried using Mono on FreeBSD. It barely compiles...Oh dear, maybe some Microsoft code did leak into it, after all. :( |
hkwint Jul 01, 2009 5:11 PM EDT |
Quoting:Have you tried using Mono on FreeBSD. It barely compiles... Need to have patience I guess. I can remember OOo barely compiled on FreeBSD (amongst other things, manual interventions like downloading Java Runtime were needed); however nowadays that doesn't seem to be a problem anymore, AFAICT. |
chalbersma Jul 01, 2009 7:35 PM EDT |
Ya I have plenty of patience. I have a running Java on my system and despite the manual downloads, it runs perfectly. I wouldn't mind jumping through the same hoops for mono if it ran. But neither the native version or the the windows one [used in wine] run. Infact I'll recompile them today and see if it works. Update -- Buggy. |
hkwint Jul 01, 2009 8:46 PM EDT |
Well, actually I meant 6 years ago compiling OOo from ports was a problem while nowadays I believe it's a package. So maybe 6 years from now it will become easy to install Mono on FreeBSD. But on the other hand, the 24h it took OOo to compile is also patience, and who knows Mono can do it in 24h instead of 6y. |
chalbersma Jul 01, 2009 9:52 PM EDT |
But for the here and now I'd rather see apps develeped in Java. This allows them to be used on just about every platform with only minor tweaks. The real question is where can you not use Java. |
Sander_Marechal Jul 02, 2009 2:43 AM EDT |
Python is also supported everywhere. You can even compile Python to binary exe files for Windows. |
bigg Jul 02, 2009 7:00 AM EDT |
> You can even compile Python to binary exe files for Windows. The same is true for nix systems, using freeze. Technically you do not need to install Python to run Python programs, however, I believe the binaries tend to be quite large. I tried this about five years ago but gave up as I was getting such large binaries. Five years is a really long time in the FOSS world (long enough to get a new version of Windows even) so things may be different. |
Sander_Marechal Jul 02, 2009 7:17 AM EDT |
The upshot is that virtually all Linux distros ship with Python, so usually there is no need to compile it. Python installations on Windows however are spread rather thin. |
chalbersma Jul 02, 2009 3:34 PM EDT |
Quoting: The upshot is that virtually all Linux distros ship with Python, so usually there is no need to compile it. Python installations on Windows however are spread rather thin. So are many things but you can add it in the distrobution file without too many problems. One of the few strenghts of Windows. |
Sander_Marechal Jul 02, 2009 5:00 PM EDT |
@chalbersma, You can do the same on Linux, but you loose the biggest advantage: sharing common code. That can dwindle your application from a dozen megabyte monster to a 500KB lean package. For example, OpenOffice.org ships with it's own Python, even on Linux (when you download the packages from the OOo website). I think that porting OOo from it's own Python to the systemwide Python is one of the most common changes made to OO by Linux distributions. |
krisum Jul 03, 2009 12:04 AM EDT |
Quoting: That can dwindle your application from a dozen megabyte monster to a 500KB lean package.That, and distribution of security and other bug fixes. One of the reasons for the security and bug nightmare on Windows is that apps package most of their dependencies -- including the C runtime which bundled with number of software packages. This means that there is no reasonable way to upgrade the dependencies bundled in all the installed software. Consequently it is a common situation where system copy of C runtime, for example, is updated but other copies are still buggy or riddled with security issues (situation has improved somewhat for VC8 runtime though). Of course, for shared libraries it also means more memory usage. This is one of the primary reasons why linux should never ever go to Windows/OSX model. In this respect autopackage seems to handle dependencies much better. |
gus3 Jul 03, 2009 12:25 AM EDT |
@krisum: That's a double-edged sword for all systems, as an old-timer pointed out to me. The statically-linked model means that a buggy upgrade of a library won't clobber several binaries on the system. OTOH, it also means that a clean upgrade won't fix those same binaries. It mitigates the dangers, but it also reduces the benefits. |
Sander_Marechal Jul 03, 2009 1:55 AM EDT |
Gus, you can mitigate that risk on Linux. On Linux you can have different versions of the same shared library installed at the same time. You can tell the application which version it should use. That is impossible on Windows and is one of the causes of DLL hell. |
chalbersma Jul 03, 2009 2:10 AM EDT |
Why wasn't tomboy developed using Java? I'm not a java fanboi but it does seem like the logical choice for that type of application.... |
tracyanne Jul 03, 2009 2:24 AM EDT |
Quoting:Why wasn't tomboy developed using Java? The developers like C#, I suppose. |
krisum Jul 03, 2009 2:36 AM EDT |
Quoting: The statically-linked model means that a buggy upgrade of a library won't clobber several binaries on the system.Not sure if this is a practical advantage. If the system copy of C runtime, for example, has a buggy upgrade then mostly everything is screwed regardless of whether other copies are intact. Quoting: That is impossible on Windows and is one of the causes of DLL hell.With VC8 it seems to be possible now on Windows. |
Sander_Marechal Jul 03, 2009 3:07 AM EDT |
Quoting:Why wasn't tomboy developed using Java? Because Java GUI programming sucks <insert random object here> and the GUI looks ugly to boot. Not to mention that Gnome integration is a pain. A more logical alternative to C# would have been Python with PyGTK. |
jacog Jul 03, 2009 4:04 AM EDT |
C#. C# run. Run #, run. |
dinotrac Jul 03, 2009 6:20 AM EDT |
Sander - Yes, lord have mercy, yes. Java anything more or less sucks, but that's mostly because nobody seems to do anything in java without invoking a big old bilious framework or two. Better question, though -- When did free software types get all uppity about people using the tools they want to use? Why do we need java at all, or ruby, or python, or perl, or erlang, or haskell, or...or...gosh. With C and awk, you can do pretty much anything. |
hkwint Jul 03, 2009 6:50 AM EDT |
Quoting:When did free software types get all uppity about people using the tools they want to use? Has been so since other FS-types put it in the free software they use - me thinks. For example, when OOo made you depend on Java; about the same discussions then. Except the FS types could live with Sun, and not so very much with MS. |
gus3 Jul 03, 2009 11:42 AM EDT |
Quoting:Because Java GUI programming sucks <insert random object here>Logitech mouse balls? |
dinotrac Jul 03, 2009 10:23 PM EDT |
gus3 - You need to get out more, man. Just sayin. |
Sander_Marechal Jul 04, 2009 1:58 AM EDT |
Gus, just don't choke on them! |
Posting in this forum is limited to members of the group: [ForumMods, SITEADMINS, MEMBERS.]
Becoming a member of LXer is easy and free. Join Us!