Re: Win32 API future ...?
Well, at least we can agree on one thing: Time will tell.
For me, I know that as long as .net is intermediate, managed code, which it must be to have the garbage collection, I won't be using it for my stuff. Obfuscation is of little or no value here. As long as the code can be managed, it can be decompiled. I've seen nothing to change this fact.
I'm sure there are plenty of people who will use it and like it and so forth, with or without the lemmings. I just don't see it as "the future of programming". As darwen stated, the industry is ever-changing. In a few years, some portion of us will look back and say "what were we thinking?". The ideas floating around regarding molecular computers and neuron imbedded chips and such might become reality sooner than we think, or not at all. The entire windows market is based on standards which many (including myself) think should have never been - the IBM PC and arguably the x86 architecture itself, just to name two. However, that's an entirely different discussion...
I guess I'll just leave it right there.
Re: Win32 API future ...?
Quote:
Originally Posted by darwen
And this is besides the fact that the network protocols and distributed application facilities in .NET go far beyond what C++ (or even Java) has.
Java has a huge collection of libraries based around internet programming. Somehow I doubt that .NET beats those...
Quote:
Originally Posted by darwen
Java is a hobbiest's language. .NET is a professionals language.
Even though that is flat out wrong I would enjoy hearing your argument...
Have you every actually used Java for serious programming?
Re: Win32 API future ...?
Java has libraries. I.e. java has it 'bolted on' the same way that networking is 'bolted on' to C++.
In .NET it's integral to the language. The Class Library Reference (CLR) is a standard : i.e. the libraries are a part of the standard, not just added to it.
That's how we can have C++.NET, C# and VB.NET all using the same code.
As to your second point :
Can you name one commercial application written using Java on the desktop ?
OK, Sun has been pushing it hard and I'll bet that there's Java apps out there for Sun Workstations, SGI's etc.
However I'll cite one point. Corel decided to rewrite CorelDraw in Java and invested a huge amount of money in doing so about 7 years ago. That and other bad decisions nearly bankrupted them.
I will say that java (or rather javascript) is currently the predominant language for websites. Because it's free, as are the other website applications like Apache, PSP etc.
I don't consider IIS free because it doesn't come with XP home. You have to pay more money to get XP Professional.
I'm not going to go further into the area of websites because I know nothing about it. I know that Java has a role to play there, and I'm perfectly happy with that argument because I can't respond.
However with PCs I can't name one commercial java-based application. With .NET we already have Microsoft using it in their applications and if you talk to Norfy I think you'll find he's just implemented a huge commercial application in .NET.
It's still growing of course, but .NET is certainly starting to gain momentum.
Darwen.
Re: Win32 API future ...?
Quote:
Originally Posted by darwen
Can you name one commercial application written using Java on the desktop ?
I have heard of many commercial java applications, but Java is not designed to be use to develop the sort of applications that you use on a desktop. Thousands of companies use Java to run their servers or huge commercial application. For example, my friend's son has a Java teacher who used to help maintain a huge java application for ETS.
The developer world extends far beyond the ordinary desktop application. There are thousands of small businesses out there which will develop and maintain enterprise applications for individual companies, providing technical support and maintenance.
Quote:
Originally Posted by darwen
I will say that java (or rather javascript)...
Javascript is not related to java in any way and they are two completely different languages. There is no way to relate the two.
Quote:
Originally Posted by darwen
In .NET it's integral to the language. The Class Library Reference (CLR) is a standard : i.e. the libraries are a part of the standard, not just added to it.
Java standard distribution comes with plenty of internet related classes.
Java also has plenty of xml related classes, see http://java.sun.com/j2ee/1.4/docs/api/index.html
In the end, Java is very useful for certain types of commercial development, and labeling it as a "hobbiests" language is unfair
EDIT:
Oh and I forgot to say that Java is the #1 language used in developing enterprise applications
.NET is hyped up to be popular by its supporters. In all reality barely anybody uses it yet
Re: Win32 API future ...?
Quote:
Originally Posted by darwen
Can you name one commercial application written using Java on the desktop ?
Can you name one in .NET? The reason they are so hard to find is because they are easy to decompile.
Until disassembly of .NET is made reasonably difficult it will never replace C++ as a language because it will never become an option for many companies
Re: Win32 API future ...?
I agree the disassembly issue is a problem. But as I said before there are several ways around it.
So what you're saying is Java is ok but it suffers the same sorts of issues that .NET does and that's not ok ?
True I don't really know enough about Java to really argue the point.
But then again I'd guess that most people here don't know enough about .NET to argue against it.
All I can do is keep re-iterating what I see are the benfits of .NET.
Actually no-one is ever going to win this argument. Only time will tell what happens to .NET and how widespread it becomes. Same with the other technologies.
Java died a death on the desktop because of speed. That's market forces at work.
We have C++ and object orientation these days because of market forces.
I firmly believe the market will adapt to .NET in future, but that's just a prediction. I may be wrong of course, but there you go. You pay your money, you take a chance.
Darwen.
Re: Win32 API future ...?
Quote:
Originally Posted by darwen
I agree the disassembly issue is a problem. But as I said before there are several ways around it.
Please point out the ways around decompiling .net. The first site I came across to offer decompiling also handles the obfuscators, so you might want to try their demo before you respond: http://www.remotesoft.com/salamander/
Quote:
Originally Posted by darwen
Java died a death on the desktop because of speed. That's market forces at work.
Interesting, as I'm writing this in Netscape 7, built using Java. It's VERY fast, and pages load and render just as if not faster than with Opera or any of the 9 other browsers I currently have installed (NONE from m$). It is my browser of choice. There is however, a lag in the UI, which I'm guessing is because the rendering engine and such have processing priority. In any case, .net apparently suffers from speed problems too, so neither one can play a major part in the desktop market, if for no other reason than speed. Now, one way it seems m$ might try to change this is by making much of the system reliant on .net anyway, then the user won't notice the difference, because everything will be slower. It would only be the newer systems that could compensate for the slowdown, so in effect there'd be no speed improvement by "upgrading" to a newer system if it had this bottleneck (unless significantly fast enough to overcompensate).
Of course, if by the term "commercial" we imply a product which is sold rather than given away, then I echo the same words as Ben_Phillips: Can you name one in .net? Trying to sell either Java or .net apps would be like trying to sell a copy of this thread.
Quote:
Originally Posted by darwen
I firmly believe the market will adapt to .NET in future...
In what way would you say the market will adapt to it, and which market would that be? Or perhaps you meant to say "adopt", since "adapt" is totally different, and could mean that the market would work around it rather than embrace it.
Re: Win32 API future ...?
The method of preventing assemblies from being decompiled is home grown. It involves using a C++ COM object encrypting the assemblies. I can't really divulge more than that, but eventually it boils down to 1 line of code you put in your application class before creating the main form.
I can't really divulge more than that because it's a solution I intend to sell in the near future.
Aha ! I hear you say ! You're using C++ to do it ! That is a fair point, but it's just 1 dll. And I did say that C++ would still have its uses far into the future. The rest of the code for my applications (except for the optimised assembler parts) is in C#.
I'm not going to try to criticise Java again. I don't know enough about it really.
I'll say it again. I've nothing against Win32, or C++ or MFC and have been using all three including all the surrounding technologies commercially very successfully for years.
I just feel from a design and ease of implementation standpoint .NET is better. Can't a man have his opinion ?
Darwen.
Re: Win32 API future ...?
Quote:
Originally Posted by darwen
The method of preventing assemblies from being decompiled is home grown. It involves using a C++ COM object encrypting the assemblies. I can't really divulge more than that, but eventually it boils down to 1 line of code you put in your application class before creating the main form.
I can't really divulge more than that because it's a solution I intend to sell in the near future...
OK. That's fair, but did you try the decompiler to see if your protection works? If it can't be decompiled, then you might have something. But I have my doubts since the code still needs to be managed, so somewhere along the line it has to be readable.
Re: Win32 API future ...?
You can't decompile it because the dll is encrypted.
Darwen.
Re: Win32 API future ...?
I think the Win32 API future is dark. ;)
BTW. Does anybody ever heard about (a future) Win64 API?
Re: Win32 API future ...?
Quote:
Originally Posted by darwen
You can't decompile it because the dll is encrypted.
I'm not referring to the dll, but the .net code which it's meant to protect. Are you saying that your .net code gets placed inside the encrypted dll? I don't expect you to reveal secrets, but it seems to me that if the .net code remains .net code, which it would in order to be run and managed, then it's vulnerable. I'm not familiar with what files you get when a .net application is "compiled", but I'm guessing you end up with an exe of sorts, right? The picture I get of your solution so far is a dll which is distributed with the program.
Maybe the dll has part of the code in it, and is extracted at runtime or something...
Again, don't think I'm after your secrets. That you need to keep to yourself, especially if it works.
Re: Win32 API future ...?
Everything will become clear about how it works once I've released it. Knowing how it works isn't going to help anyone in decrypting the dlls... rather like knowing how any of the standard encryption methods works doesn't help decrypting information.
And it's going to be cheap too. Preliminary price tag for the software (including tools etc) is going to be $49.95 and it's client licence free - i.e. you can use the software as many times as you want once you've bought it.
I'm not saying that it's going to be unbreakable : no security measure is unbreakable. However I've done my upmost to try to deter most hackers from working out the algorithms.
As a cheap, no-nonsense and 1-line of code friendly solution I hope it'll attract interest.
Darwen.
Re: Win32 API future ...?
I look forward to seeing it released.
Re: Win32 API future ...?
Well there has to be some way of decrypting the file or else how would it run? I don't know the encryption scheme, so I really have no idea, but if it becomes too popular then somebody is bound to crack it (like they do with anything... :( )