Even quantum encryption is susceptable to man-in-the-middle attacks. The difference, of course, is that the man-in-the-middle attacks the public channel in quantum encryption and there's no requirement for a secret channel, unlike symmetric encryption. Public-key encryption relies on a public channel and relies on it being too difficult to factor large numbers.
J# is based on J++. J++ is lacking very many classes from the Java hierarchy. You should absolutely not expect the J# product to let you compile your Java code into MSIL. It is probably pretty decent at what it does (compiles J++ and J# code to MSIL), but it really isn't a Java compiler.
Furthermore, it isn't free. There's a trial version available which requires you already have a version of Visual Studio.NET. That said, a trial version of VS.NET is sufficient and you did mention this in your message.
There is, afaik, no free Java compiler that produces MSIL though there is a free add-on that compiles J++ and J# into MSIL.
While it is true that any language can be made into a.NET language, the end result could be a mess. C++, when converted into a.NET language, lacks much of the flexibility of C++. And functional languages? They are a huge pain in the ass to convert. The.NET model is lousy for languages that differ substantially from C#. That's not particularly a condemnation of.NET, mind.
I am curious about this... I have used Java and C++ fairly extensively and I find C++ really isn't that hard to debug. Garbage collection in Java is certainly nice but with a decent implementation of smart pointers and using the STL, I don't have memory leaks and runaway pointers. Where do you find you spend/spent most of your time debugging C++ applications?
Yeap, I read the introduction. No comment in there about being targetted at Visual C++ programmers. No comment in there about being aimed at beginners.
Oh, just agree to it. But make sure, before you do, you get the COO and the CEO to sign a similar agreement allowing you to perform the same check on them. After all, if the CEO has money problems, s/he could well start embezzling from the company and that could lead to bankruptcy and you could be out of a job.
The book is still being sold. I got it last year iirc (it was sent to slashdot looking for a reviewer). There is no mention in the book or on the web site that it doesn't cover the 1998 C++ standard.
It could well be the worst book review ever. I hope not, but hey, everyone's intitled to their opinion.
I will point out, however, that I use Visual C++ every day. I have no particular problems with Visual C++ (well, I'd like partial template specialisation but hey). However, I'll remind you, as I pointed out in my review, even examining the index and the introduction of this book does not tell you this is targetted only at Visual C++ 6.0 programmers. Many book stores won't let you read 20 or 30 pages before you buy it.
Furthermore, even for the book's real targetted audience (Visual C++ 6.0 beginning programmers), the book is bad. The book lists numerous code samples which are simply bad programming style. I mention this in the review as well.
Yes, I was annoyed that the book mislead (my initial choice of words was much harsher) its purchasers about the real target audience. But the book itself is still really bad even ignoring this significant flaw.
My understanding (and I could well be wrong on this...) is that C++-style strings are included as part of the Standard C++ Library, not as part of the Standard Template Library. The standard library contains the STL but not the other way around.
There is a certain amount of truth to this... the C++ standard is really quite complex. I am stunned when I pick up a book like Modern C++ Design and I find a whole new world of C++ opening up for me.
However, let's face it... the reason most learning-C++ books are so bad is because the authors really do not have a clue. For example, there's nothing complicated with teaching a programmer how to use C++-style strings rather than (or in addition to) C-style NULL-terminated strings, yet very few books actually bother.
I did write it last week, it just took slashdot a while to get around to posting it. Sorry about that but I imagine things worked out positively for you if you were able to get some O'Reilly books for that price.
I didn't write the comment you are responding to. However, here is the complete text from that section. I think it is a good example of how this book is not targetted at ANSI-C++ programmers.
The C Runtime (CRT) is a library of common functions used by most programs. It includes start-up code as well as many other functions. It also adds a lot of space to your programs. When you focus on size, you can write you own start-up code and reproduce only the CRT functions you need, thus dramatically lowering the size of your programs.
I would hardly say there is nothing wrong with using C constructs such as null-terminated strings and printf(). I would agree that there are many times that you do want to use such constructs, however, and I often do in my code. However, a book targetted to C++ programmers should use C++ constructs where appropriate. Use a null-terminated string if there's a good reason for it, of course, but otherwise, why not use the C++ string? And why, for God's sake, have a whole appendix on implementing your own string class in C++? It seemed to offer far less than the standard string class and didn't provide any advantages. I can see examining a class like this if you are trying to learn C++ and want a better understanding, but for an advanced C++ programmer?
I did try to point out that the book was bad even for Visual C++ programmers. It uses old-style C++ (#include , for example), ignores valuable contributions to C++ such as the STL and the standard string class, and generally provides nothing a decent C++ programmer should not already know.
It isn't so much that the examples are targetted for Visual C++ 6.0, it is that the techniques themselves are. It is no good telling me, 'If you set eax from assembly, disable warning 4035' unless I am using Visual C++ on an ix86-compatible processor. It just doesn't translate to any other platform.
This is certainly true. That said, I see little advantage from sticking with Visual C++ 6 compared to Visual C++.NET or.NET2003 (which, of course, isn't out yet). You can easily ignore the.NET part of VC++ and just be happy with the improved standards-compliance.
I initially included examples of how it was bent so completely toward VC++ but it really made the review hard to read.
It is comments such as 'Always use at least warning level 3', with information on how to select it in Visual C++ but without any note that this isn't an ansi-C++ technique, that really annoyed me. The book is littered with techniques that would only work in Visual C++ (and only with Visual C++ 6.0). There are sixteen chapters and I was able to find several examples in pretty much every single chapter. This was all the worse because the book appears to be targetted at ansi-C++.
I reviewed it because maybe I could help stop other people from buying the book. I absolutely agree that Scott Meyers's books are excellent. I wish he'd write one on templates and generic programming but Modern C++ Design by Andrei Alexandrescu (with a foreward by Meyers) is good enough for me.
Actually, there was a study which showed that Microsoft Support was actually less useful than the Psychic Friends Network. The 17 year old next door is miles above either of those two.
If you do your software design properly, it is surprisingly easy to implement undo. Really. I remember the first time I implemented it, in a course in university. I was planning on that feature alone taking a day to get in place (iirc, we were implementing a bookmark manager in Java). In fact, it took literally only a few _minutes_ to implement and virtually no time to test. And redo is just as easy to implement as undo, provided you did undo correctly.
I personally don't refuse to purchase from places that use IIS but come on. If they can't afford to pay some guy tons of money to set up a linux server, they presumably didn't pay _anything_ to a guy for securing their site. If their site isn't remotely secure, why should I buy from them?
This is something that very much bothers me, too. It is far more noticable to me when the high speed movement is against a white (or light) background, much less so if it is dark. Very few movies, I find, have a lot of this but when it does happen, I'm with you. The objects are just one big mess.
Even quantum encryption is susceptable to man-in-the-middle attacks. The difference, of course, is that the man-in-the-middle attacks the public channel in quantum encryption and there's no requirement for a secret channel, unlike symmetric encryption. Public-key encryption relies on a public channel and relies on it being too difficult to factor large numbers.
Encrypt all your Linux filesystems.
J# is based on J++. J++ is lacking very many classes from the Java hierarchy. You should absolutely not expect the J# product to let you compile your Java code into MSIL. It is probably pretty decent at what it does (compiles J++ and J# code to MSIL), but it really isn't a Java compiler.
.NET. That said, a trial version of VS.NET is sufficient and you did mention this in your message.
Furthermore, it isn't free. There's a trial version available which requires you already have a version of Visual Studio
There is, afaik, no free Java compiler that produces MSIL though there is a free add-on that compiles J++ and J# into MSIL.
Instructions on a bottle of shampoo:
1. Wash
2. Rinse
3. Repeat
Only computing scientists find that funny.
While it is true that any language can be made into a .NET language, the end result could be a mess. C++, when converted into a .NET language, lacks much of the flexibility of C++. And functional languages? They are a huge pain in the ass to convert. The .NET model is lousy for languages that differ substantially from C#. That's not particularly a condemnation of .NET, mind.
I am curious about this... I have used Java and C++ fairly extensively and I find C++ really isn't that hard to debug. Garbage collection in Java is certainly nice but with a decent implementation of smart pointers and using the STL, I don't have memory leaks and runaway pointers. Where do you find you spend/spent most of your time debugging C++ applications?
Yeap, I read the introduction. No comment in there about being targetted at Visual C++ programmers. No comment in there about being aimed at beginners.
Oh, just agree to it. But make sure, before you do, you get the COO and the CEO to sign a similar agreement allowing you to perform the same check on them. After all, if the CEO has money problems, s/he could well start embezzling from the company and that could lead to bankruptcy and you could be out of a job.
The book is still being sold. I got it last year iirc (it was sent to slashdot looking for a reviewer). There is no mention in the book or on the web site that it doesn't cover the 1998 C++ standard.
It could well be the worst book review ever. I hope not, but hey, everyone's intitled to their opinion.
I will point out, however, that I use Visual C++ every day. I have no particular problems with Visual C++ (well, I'd like partial template specialisation but hey). However, I'll remind you, as I pointed out in my review, even examining the index and the introduction of this book does not tell you this is targetted only at Visual C++ 6.0 programmers. Many book stores won't let you read 20 or 30 pages before you buy it.
Furthermore, even for the book's real targetted audience (Visual C++ 6.0 beginning programmers), the book is bad. The book lists numerous code samples which are simply bad programming style. I mention this in the review as well.
Yes, I was annoyed that the book mislead (my initial choice of words was much harsher) its purchasers about the real target audience. But the book itself is still really bad even ignoring this significant flaw.
My understanding (and I could well be wrong on this...) is that C++-style strings are included as part of the Standard C++ Library, not as part of the Standard Template Library. The standard library contains the STL but not the other way around.
There is a certain amount of truth to this... the C++ standard is really quite complex. I am stunned when I pick up a book like Modern C++ Design and I find a whole new world of C++ opening up for me.
However, let's face it... the reason most learning-C++ books are so bad is because the authors really do not have a clue. For example, there's nothing complicated with teaching a programmer how to use C++-style strings rather than (or in addition to) C-style NULL-terminated strings, yet very few books actually bother.
Visual C++ 6.0 supports C++-style strings, supports (badly) the STL, and can use the modern #include syntax.
I did write it last week, it just took slashdot a while to get around to posting it. Sorry about that but I imagine things worked out positively for you if you were able to get some O'Reilly books for that price.
I didn't write the comment you are responding to. However, here is the complete text from that section. I think it is a good example of how this book is not targetted at ANSI-C++ programmers.
I would hardly say there is nothing wrong with using C constructs such as null-terminated strings and printf(). I would agree that there are many times that you do want to use such constructs, however, and I often do in my code. However, a book targetted to C++ programmers should use C++ constructs where appropriate. Use a null-terminated string if there's a good reason for it, of course, but otherwise, why not use the C++ string? And why, for God's sake, have a whole appendix on implementing your own string class in C++? It seemed to offer far less than the standard string class and didn't provide any advantages. I can see examining a class like this if you are trying to learn C++ and want a better understanding, but for an advanced C++ programmer?
I did try to point out that the book was bad even for Visual C++ programmers. It uses old-style C++ (#include , for example), ignores valuable contributions to C++ such as the STL and the standard string class, and generally provides nothing a decent C++ programmer should not already know.
It isn't so much that the examples are targetted for Visual C++ 6.0, it is that the techniques themselves are. It is no good telling me, 'If you set eax from assembly, disable warning 4035' unless I am using Visual C++ on an ix86-compatible processor. It just doesn't translate to any other platform.
This is certainly true. That said, I see little advantage from sticking with Visual C++ 6 compared to Visual C++.NET or .NET2003 (which, of course, isn't out yet). You can easily ignore the .NET part of VC++ and just be happy with the improved standards-compliance.
I initially included examples of how it was bent so completely toward VC++ but it really made the review hard to read.
It is comments such as 'Always use at least warning level 3', with information on how to select it in Visual C++ but without any note that this isn't an ansi-C++ technique, that really annoyed me. The book is littered with techniques that would only work in Visual C++ (and only with Visual C++ 6.0). There are sixteen chapters and I was able to find several examples in pretty much every single chapter. This was all the worse because the book appears to be targetted at ansi-C++.
I reviewed it because maybe I could help stop other people from buying the book. I absolutely agree that Scott Meyers's books are excellent. I wish he'd write one on templates and generic programming but Modern C++ Design by Andrei Alexandrescu (with a foreward by Meyers) is good enough for me.
Actually, there was a study which showed that Microsoft Support was actually less useful than the Psychic Friends Network. The 17 year old next door is miles above either of those two.
If you do your software design properly, it is surprisingly easy to implement undo. Really. I remember the first time I implemented it, in a course in university. I was planning on that feature alone taking a day to get in place (iirc, we were implementing a bookmark manager in Java). In fact, it took literally only a few _minutes_ to implement and virtually no time to test. And redo is just as easy to implement as undo, provided you did undo correctly.
I personally don't refuse to purchase from places that use IIS but come on. If they can't afford to pay some guy tons of money to set up a linux server, they presumably didn't pay _anything_ to a guy for securing their site. If their site isn't remotely secure, why should I buy from them?
This is something that very much bothers me, too. It is far more noticable to me when the high speed movement is against a white (or light) background, much less so if it is dark. Very few movies, I find, have a lot of this but when it does happen, I'm with you. The objects are just one big mess.
Mountain Dew contains no caffeine in Canada.