C# is free, submitted to and ratified by a standards body - ECMA - something Sun has yet to do with Java. The.Net SDK is also a free download - you are quite capable of developing.Net applications without the thousand (or more like $2500 if you buy the packages we do, but then when we sleep with the devil, damnit, we buy the champagne, too )
Security holes? They're there. Just like any other platform - you gotta evaluate that risk yourself. Compatible? I'm sure EMACS can shell out to the c# compiler....hehehe. If you need to develop Windows apps,.Net is a very compelling choice. So is Borland Delphi. If you think you'll be developing apps for Windows in 5 years, I suspect it'll be a Java bytecode app or a.Net bytecode app.
I've done this. In fact, an implementation of this concept is a critical production system here that not only manages binaries, but also matches clients up with specific versions, plus web delivery, etc. Of course, you all will consider it an evil hack when I say it was done on WinNT/MSSQL/IIS with Delphi, but it works quite well.
I am tasked with locating a version management system that will manage code for AIX, Windows (NT and descendants, not WinPlaystation), and AS/400 developers. So far, the contenders seem to be: Perforce - A simple yet powerful VM with server implementations on *nix and WinNT, and client implementations on every frickin OS you can think of. Cost - ~$700/seat, cost includes first year support.
Serena They have a variety of ChangeMan products, but I haven't evaluated any yet. The demo looked promising, but I have no idea about cost.
Rational They are expensive, and pretty good. Supports Windows, quite a few unix variants, and SuSe zSeries.
AldonSupports AIX, AS/400, and Windows. The product is a port of their original AS/400 change management software. No idea about cost.
I'll be looking at BitKeeper today, thanks to some other replies here. Personally, I prefer Perforce. The atomic changelist feature is reason enough, but the product is rock solid and easy to use, and performs well over a broadband VPN link. That being said, the product currently doesnt support the OS/400 native object file system, only IFS (Samba style) files. Perforce informs me that this is an item on their todo list.
Not cheap? Maybe, if you compare it to CVS, but compared to other client/server commercial version management tools out there, it is one of the cheapest ones out there. And the best, in my opinion.
In many, if not most jurisdictions, a police officer is simply not allowed to run with lights and sirens unless they are responding to certain, very specific calls - officer down, deadly force assualts, etc. They cannot, for example, run with lights and sirens to answer a possible breaking and entering. Yet, they DO need to respond to those kinds of calls rather quickly. Even more maddening, those are the kinds of calls that get canceled 60 seconds later because the owner forgot the passcode to his alarm system.
I know that cops abuse their powers all to often, but the little tidbit above is at least a small consolation.
Well, ignoring cost, maybe you should look at pro audio in-ear wireless monitor systems. They typically operate over VHF or even UHF frequencies, are channel selectable, and the receiver consists of a walkman-sized beltpack. Too bad they run $400-$1000 new from Nady, Samson or Shure but who knows what you can drum up on Ebay! Yes, this is professional audio gear, and it LOOKS expensive. As long as you take care of it, it should last you the rest of your life, or 2 road tours, whichever comes first.
Write clear concise code that documents itself. Use well named methods/functions/procedures/subroutines that do one small thing. IOW, write blindingly obvious code that doesn't need comments. Use comments to explain difficult or clever code, and then consider the comment as a red flag - maybe that clever code shouldn't be so clever. Maybe it's a time-critical algorithm, and it DOES need to be that difficult. That's why they pay us the big bucks.
All that being said, I really like javadoc and it's c# bastard cousin. But that's a different story. Comments have a tendency to rot, but the code is ALWAYS the most accurate "comment" about what the code does.
Newsflash: the JVM uses Win32 behind the scenes to get things done. It IS the API for the OS, after all. Its not like the JVM uses the BIOS for file IO, is it?
Wow, that makes it so amazing that Java runs on Linux and solaris. I never knew it used Wine.
Sorry. What I was (poorly) trying to imply was that for each platform the JVM (tm?) is implemented on, that virtual machine does make use of the OS APIs, not that it uses Win32/Whine on every platform.
Thank you very much for mentioning that security and reliability is ultimately in the hands of the developer. I cannot agree with you more there.
Passport: It's a principal thing with me. You mean IPrincipal or GenericPrincipal? I think Passport uses GenericPrincipal. OK, karma whoring and kidding aside, thats cool. I understand, if I don't agree.
However, different than Java, Microsoft will be using their win32 libraries behind the scenes to get much of the work done.
Newsflash: the JVM uses Win32 behind the scenes to get things done. It IS the API for the OS, after all. Its not like the JVM uses the BIOS for file IO, is it?
From what I've seen of Microsoft efforts in the past, I'd have to guess they aren't going to do a very good job of creating a good isolated "sandbox" to run untrusted or semitrusted code in. From what I've seen in the past, I'd agree. So far, MS has been financially rewarded for leaving security by the wayside. However, there are two new issues which make predicting MS' ability to create secure systems pretty murky: 1. The are now trying to enter the datacenter/Enterprise space. Buzzword hell, blah blah, they want that market, and that market does NOT reward shoddy security. 2. By outward appearances, MS is making a general focus on security in much the same way they made a focus on the internet a few years ago. That seems to have been successful for them.
It's not like Sun wouldnt wanna have Sparcs on every desktop running Java(tm) applications everywhere.
You will likely find that algorithmic improvements will gain you more speed than IO library efficiency, as long as you avoid VB. Heck, I'd even strongly look at Java with a good JIT. Don't write off anything 'till you've tried it.
Passport - As a developer with an MSDN license I'm required to have one, even if I don't want it.
I guess I dont understand why that is so onerous. It's just another web registration. Create a hotmail account if you gotta.
With no solid interface two problems arise:
You do cite valid reasons that software products can develop problems. Despite my familiarity with the.Net framework, however, I am unable to fathom exactly which pieces are actually falling prey to these problems. Could you perhaps point some out for me?
Ok, I admit it. I'm being sucessfully trolled, but in an attempt to educate those who don't know any better, I'll plow on ahead.
C# is not in beta. C#, as implemented in the.Net Framework SDK, released earlier this year. ECMA has also ratified standards for C# and the CLI (Common Language Infrastructure.) Someone correct me if I'm wrong, but Java (tm) is not a standard, it is wholly owned by Sun.
That said, C#, as a language, isn't a order of magnitude better - or worse - than Java. The core languages themselves are roughly equivalent. They are both C++ derived, single inheritance OOP languages without generics (yes, I know JG is looking at generics for Java (tm) - Anders is considering it for C#.) C#, in and of itself, won't kill Java. If anything, it's the integration between the tools, the ease of use, the boring simplicity of SOAP, etc that will bring Java developers over to.Net.
As far as API support goes, I'm not even sure I know what you're talking about, and I suspect you don't either. The.Net framework comes with a APIs for writing GUIs, asynchronous messaging, diagnostic logging, file, network and device IO, internet protocols, rich collection data types like hash tables and dictionaries, XML DOM, SOAP, reflection,........ the list goes on and on. Look no farther than sourceforge for examples of great, free software such as NAnt, NUnit, and log4net. Being a Java (tm) guy, I'm sure you'll understand what insired those projects.
Speaking as someone who has spent CONSIDERABLE time learning the, ah, finer points of the Win32 and NT Native APIs, there are far, far more extensive more resources and examples on Deja^H^H^H^HGoogle, much richer and more contextually relevant samples to be found online than on any dead dinosaur optical disc. I suppose i should archive those to disk as well.
How much money does the data access layer of a web application make, compared to the user interface? How much does the overall design make, as opposed to the constructed code? IMHO, a useful metric has to take into account elegant, simple implementations, refactoring, reuse, test coverage, bug counts.....and the list goes on. Net sales aren't so much a factor as overall cost. Maybe $$$/function point?
C# is free, submitted to and ratified by a standards body - ECMA - something Sun has yet to do with Java. The .Net SDK is also a free download - you are quite capable of developing .Net applications without the thousand (or more like $2500 if you buy the packages we do, but then when we sleep with the devil, damnit, we buy the champagne, too )
.Net is a very compelling choice. So is Borland Delphi. If you think you'll be developing apps for Windows in 5 years, I suspect it'll be a Java bytecode app or a .Net bytecode app.
Security holes? They're there. Just like any other platform - you gotta evaluate that risk yourself. Compatible? I'm sure EMACS can shell out to the c# compiler....hehehe. If you need to develop Windows apps,
Another me too.....
I've done this. In fact, an implementation of this concept is a critical production system here that not only manages binaries, but also matches clients up with specific versions, plus web delivery, etc. Of course, you all will consider it an evil hack when I say it was done on WinNT/MSSQL/IIS with Delphi, but it works quite well.
I wonder if I'll get modded down.....
Perforce - A simple yet powerful VM with server implementations on *nix and WinNT, and client implementations on every frickin OS you can think of. Cost - ~$700/seat, cost includes first year support.
Serena They have a variety of ChangeMan products, but I haven't evaluated any yet. The demo looked promising, but I have no idea about cost.
Rational They are expensive, and pretty good. Supports Windows, quite a few unix variants, and SuSe zSeries.
AldonSupports AIX, AS/400, and Windows. The product is a port of their original AS/400 change management software. No idea about cost.
I'll be looking at BitKeeper today, thanks to some other replies here.
Personally, I prefer Perforce. The atomic changelist feature is reason enough, but the product is rock solid and easy to use, and performs well over a broadband VPN link. That being said, the product currently doesnt support the OS/400 native object file system, only IFS (Samba style) files. Perforce informs me that this is an item on their todo list.
Not cheap? Maybe, if you compare it to CVS, but compared to other client/server commercial version management tools out there, it is one of the cheapest ones out there. And the best, in my opinion.
Someone mod this silly windows user down!
In many, if not most jurisdictions, a police officer is simply not allowed to run with lights and sirens unless they are responding to certain, very specific calls - officer down, deadly force assualts, etc. They cannot, for example, run with lights and sirens to answer a possible breaking and entering. Yet, they DO need to respond to those kinds of calls rather quickly. Even more maddening, those are the kinds of calls that get canceled 60 seconds later because the owner forgot the passcode to his alarm system.
I know that cops abuse their powers all to often, but the little tidbit above is at least a small consolation.
Well, ignoring cost, maybe you should look at pro audio in-ear wireless monitor systems. They typically operate over VHF or even UHF frequencies, are channel selectable, and the receiver consists of a walkman-sized beltpack. Too bad they run $400-$1000 new from Nady, Samson or Shure but who knows what you can drum up on Ebay! Yes, this is professional audio gear, and it LOOKS expensive. As long as you take care of it, it should last you the rest of your life, or 2 road tours, whichever comes first.
Write clear concise code that documents itself. Use well named methods/functions/procedures/subroutines that do one small thing. IOW, write blindingly obvious code that doesn't need comments. Use comments to explain difficult or clever code, and then consider the comment as a red flag - maybe that clever code shouldn't be so clever. Maybe it's a time-critical algorithm, and it DOES need to be that difficult. That's why they pay us the big bucks.
All that being said, I really like javadoc and it's c# bastard cousin. But that's a different story. Comments have a tendency to rot, but the code is ALWAYS the most accurate "comment" about what the code does.
What, you can't automate that with Ant? Seriously, can you or can you not automate jar/war/ear creation and deployment for Websphere?
Sun lists the 24" at $4500.
42, in hex
2A
Newsflash: the JVM uses Win32 behind the scenes to get things done. It IS the API for the OS, after all. Its not like the JVM uses the BIOS for file IO, is it?
Wow, that makes it so amazing that Java runs on Linux and solaris. I never knew it used Wine.
Sorry.
What I was (poorly) trying to imply was that for each platform the JVM (tm?) is implemented on, that virtual machine does make use of the OS APIs, not that it uses Win32/Whine on every platform.
Thank you very much for mentioning that security and reliability is ultimately in the hands of the developer. I cannot agree with you more there.
Passport: It's a principal thing with me.
You mean IPrincipal or GenericPrincipal? I think Passport uses GenericPrincipal.
OK, karma whoring and kidding aside, thats cool. I understand, if I don't agree.
However, different than Java, Microsoft will be using their win32 libraries behind the scenes to get much of the work done.
Newsflash: the JVM uses Win32 behind the scenes to get things done. It IS the API for the OS, after all. Its not like the JVM uses the BIOS for file IO, is it?
From what I've seen of Microsoft efforts in the past, I'd have to guess they aren't going to do a very good job of creating a good isolated "sandbox" to run untrusted or semitrusted code in.
From what I've seen in the past, I'd agree. So far, MS has been financially rewarded for leaving security by the wayside. However, there are two new issues which make predicting MS' ability to create secure systems pretty murky:
1. The are now trying to enter the datacenter/Enterprise space. Buzzword hell, blah blah, they want that market, and that market does NOT reward shoddy security.
2. By outward appearances, MS is making a general focus on security in much the same way they made a focus on the internet a few years ago. That seems to have been successful for them.
It's not like Sun wouldnt wanna have Sparcs on every desktop running Java(tm) applications everywhere.
You will likely find that algorithmic improvements will gain you more speed than IO library efficiency, as long as you avoid VB. Heck, I'd even strongly look at Java with a good JIT. Don't write off anything 'till you've tried it.
Passport - As a developer with an MSDN license I'm required to have one, even if I don't want it.
.Net framework, however, I am unable to fathom exactly which pieces are actually falling prey to these problems. Could you perhaps point some out for me?
I guess I dont understand why that is so onerous. It's just another web registration. Create a hotmail account if you gotta.
With no solid interface two problems arise:
You do cite valid reasons that software products can develop problems. Despite my familiarity with the
Yep. Security and reliability.
How so?
Passport isn't so great either
Same question, though I'll stipulate that I didnt get far when I tried to set up a passport site
Ok, I admit it. I'm being sucessfully trolled, but in an attempt to educate those who don't know any better, I'll plow on ahead.
.Net Framework SDK, released earlier this year. ECMA has also ratified standards for C# and the CLI (Common Language Infrastructure.) Someone correct me if I'm wrong, but Java (tm) is not a standard, it is wholly owned by Sun.
.Net.
.Net framework comes with a APIs for writing GUIs, asynchronous messaging, diagnostic logging, file, network and device IO, internet protocols, rich collection data types like hash tables and dictionaries, XML DOM, SOAP, reflection, ........ the list goes on and on. Look no farther than sourceforge for examples of great, free software such as NAnt, NUnit, and log4net. Being a Java (tm) guy, I'm sure you'll understand what insired those projects.
C# is not in beta. C#, as implemented in the
That said, C#, as a language, isn't a order of magnitude better - or worse - than Java. The core languages themselves are roughly equivalent. They are both C++ derived, single inheritance OOP languages without generics (yes, I know JG is looking at generics for Java (tm) - Anders is considering it for C#.) C#, in and of itself, won't kill Java. If anything, it's the integration between the tools, the ease of use, the boring simplicity of SOAP, etc that will bring Java developers over to
As far as API support goes, I'm not even sure I know what you're talking about, and I suspect you don't either. The
More cowbell, baby!
/. party line.
It's a shame you'll get modded down for failing to toe the
Bill Joy bashes Microsoft.
What did you expect? Ads from Ford promoting Chevy? Burger King touting Big Macs? Its business, and business is war. Get over it.
warring factions of christians and muslims?
Speaking as someone who has spent CONSIDERABLE time learning the, ah, finer points of the Win32 and NT Native APIs, there are far, far more extensive more resources and examples on Deja^H^H^H^HGoogle, much richer and more contextually relevant samples to be found online than on any dead dinosaur optical disc. I suppose i should archive those to disk as well.
VIVA LA FUNCTION POINT. W00t!
Sorry. It was the only thing i could think of to convey some sort of feature-oriented metric. They do rather suck. Hows the nose?
Probably the same reason VHS beat out Beta. Perception. But I did not say it was great. I countered the statement that it is a piece of shit.
How much money does the data access layer of a web application make, compared to the user interface? How much does the overall design make, as opposed to the constructed code? IMHO, a useful metric has to take into account elegant, simple implementations, refactoring, reuse, test coverage, bug counts.....and the list goes on. Net sales aren't so much a factor as overall cost. Maybe $$$/function point?