Microsoft at it's best...

This forum is reserved for everything you want to talk about. It could be about programming, opinions, open source programs, development in general, or just cool stuff to share!
Post Reply

Do you think C++ should become proprietary?

Yes, because that enriches the language
2
9%
No, because this is intended to lock out other platforms which share C as the native language
20
91%
 
Total votes: 22

AkiraDev
Knows some wx things
Knows some wx things
Posts: 48
Joined: Tue May 24, 2005 9:13 am

Microsoft at it's best...

Post by AkiraDev »

Microsoft, not happy with their illegally attained empire over IT, decide to impose their own proprietary standards onto the C++ programming language, by adding tons of perverse language extensions to please the likes of VB and C# coders and starting to call perfectly safe standard algorithms "deprecated". The day will soon come M$ patents C and C++ as their own invention.

Details in linked article: http://www.informit.com/guides/content. ... m=259&rl=1

I'm glad I haven't bought Microsoft products like the Media Center or the XBox360, and I certainly am not going to give them my money for Vista...

/ends rant and spam
Last edited by AkiraDev on Wed Jan 04, 2006 9:08 pm, edited 1 time in total.
Back, just not as often

Windows Vista SP1, Ubuntu 8.04
MinGW 3.4.5, GCC 4.2.1
Code::Blocks
wxWidgets 2.8.9
sethjackson
Super wx Problem Solver
Super wx Problem Solver
Posts: 396
Joined: Wed Oct 05, 2005 1:19 am

Post by sethjackson »

NO. Why do we need another proprietary language?
If C or C++ became proprietary I would stop programming!
I seem to recall reading something on Bjarne Stroustrup's page about YAPL (Yet another proprietary language), anyways can't seem to find it....

http://public.research.att.com/~bs/

About MS compilers what do you expect? I don't like MS that much, and one way to voice the displeasure is to not buy/use their products.
priyank_bolia
wxWorld Domination!
wxWorld Domination!
Posts: 1339
Joined: Wed Aug 03, 2005 8:10 am
Location: BANGALORE, INDIA
Contact:

Post by priyank_bolia »

Your poll and question are both different. I don't see any harm in using safe strings function instead of regular one. The latest C++ standard also talks about that, the other compiler vendors are too slow to pick. If you have knowledge of various security vunerabilty and are working on some secure software, then may be you should give thanks to MS. There are a lot more serious now-a-days about secure coding practices after the windows security push. The older string functions are highly unsafe and the stack overflow can cause any hacker to take over your computer remotely.
AkiraDev
Knows some wx things
Knows some wx things
Posts: 48
Joined: Tue May 24, 2005 9:13 am

Post by AkiraDev »

priyank_bolia wrote:Your poll and question are both different. I don't see any harm in using safe strings function instead of regular one. The latest C++ standard also talks about that, the other compiler vendors are too slow to pick. If you have knowledge of various security vunerabilty and are working on some secure software, then may be you should give thanks to MS. There are a lot more serious now-a-days about secure coding practices after the windows security push. The older string functions are highly unsafe and the stack overflow can cause any hacker to take over your computer remotely.
You're absolutely right about my poll, I should have made the question less dubious by saying "the C++ standard" instead of just "C++".

Having explained that, the standards comitee usually sees no problem with platform-specific implementations of the standard. What MS does, however, is introduce warnings - or perhaps, heaven forbid, errors - in their compiler for perfectly correct STL code, unlike those really deprecated old function calls to char* you mention. This is the latest iteration of the STL we're talking about, it's type-safe and not easily exposed to buffer overflows.
This is like you said, a push from MS, but one that aims at creating Windows-centric habits in C++ developers. Once a programmer gets too used to code in VC++ 8, he won't try other compilers/platforms that fast. The alternatives will just sound "wrong" to him.

Your post gives the impression that you are overestimating the importance of Microsoft's "pushes". It was the Win9x generation that spawned 80% of today's security problems. Microsoft only started to push security because a good number of big enterprise clients starting flirting alternatives like Linux. Windows Vista is finally going to cut down on user priviledges, like any UNIX-based OS has always done for more than 3 decades. Some push...
Among all major commercial compilers, VC++ was the last to correctly implement templates recursion and portions of the STL. If you google for it, you can find out how to routinely crash VC++6 with legal code.
Back, just not as often

Windows Vista SP1, Ubuntu 8.04
MinGW 3.4.5, GCC 4.2.1
Code::Blocks
wxWidgets 2.8.9
SnakeChomp
Filthy Rich wx Solver
Filthy Rich wx Solver
Posts: 235
Joined: Sun Oct 10, 2004 2:53 am

Post by SnakeChomp »

Your poll is completely out of line, and you are completely overreacting just as badly as the author of this article is. Firstly, just because microsoft adds new functions to C++ does not make C++ a proprietary language. GCC also has their own extensions to C and presumably C++ as well, does anybody accuse them of having a proprietary C++?
Having explained that, the standards comitee usually sees no problem with platform-specific implementations of the standard. What MS does, however, is introduce warnings - or perhaps, heaven forbid, errors - in their compiler for perfectly correct STL code, unlike those really deprecated old function calls to char* you mention. This is the latest iteration of the STL we're talking about, it's type-safe and not easily exposed to buffer overflows.
The code given in the article is actually unsafe when placed into a real working environment where it won't be properly constructed only to demonstrate its safety. Buffers won't always be 10 characters and source strings won't always be less than 10 characters. There is no gaurentee that this construct won't break. The warning that microsoft chose to give to programmers may have been a bad choice, but its intentions are correct.
This is like you said, a push from MS, but one that aims at creating Windows-centric habits in C++ developers. Once a programmer gets too used to code in VC++ 8, he won't try other compilers/platforms that fast. The alternatives will just sound "wrong" to him.
May I call you paranoid? What are Windows-centric coding habits anyway? To think that microsoft is trying to take over the world due to one compiler warning is completely off base. The function invocation as coded in the article for std::copy is safe, surely, but that is a very isolated piece of code. There is only the gaurentee that the dest buffer is large enough because he wrote all of it to demonstrate that fact. Real world code has no such gaurentees, and is therefore unsafe. This similar argument can be applied to his problems with microsofts new versions of strncat_s and similar functions. He constructs an example very carefully showing that undefined behavior can still occur by doing pointer arithmetic and purposfully trying to achieve undefined behavior. Congradulations! You proved that if you try hard enough you can write a broken program. Does that make the functions inherantly unsafe? No. It makes the coder who wrote that example inherantly foolish.
Your post gives the impression that you are overestimating the importance of Microsoft's "pushes". It was the Win9x generation that spawned 80% of today's security problems. Microsoft only started to push security because a good number of big enterprise clients starting flirting alternatives like Linux. Windows Vista is finally going to cut down on user priviledges, like any UNIX-based OS has always done for more than 3 decades. Some push...
This has nothing to do with your accusation that MS is making C++ proprietary.
If you google for it, you can find out how to routinely crash VC++6 with legal code.
VC6 came out before the C++ standard was finalized (as in, before 98 ). Therefore, it compiles some language which is not standard C++. Realize this before making accusations that microsoft sucks at writing compilers, because VC7.1 and now VC8 are some of the best (and most compliant) C++ compilers in existance.
AkiraDev
Knows some wx things
Knows some wx things
Posts: 48
Joined: Tue May 24, 2005 9:13 am

Post by AkiraDev »

SnakeChomp wrote:Firstly, just because microsoft adds new functions to C++ does not make C++ a proprietary language. GCC also has their own extensions to C and presumably C++ as well, does anybody accuse them of having a proprietary C++?
You missed the part where I mention that standard extensions - not replacements - are OK. I couldn't correct the poll question, for some reason.
And no, because i) GCC never emits warnings that state only their own extensions to be fundamentally correct and ii) they also remove extensions that may make code break under other compilers, such as the ">?" and "< ?" operators. That was certainly a wrong call, but they retracted it in time.
The code given in the article is actually unsafe when placed into a real working environment where it won't be properly constructed only to demonstrate its safety. Buffers won't always be 10 characters and source strings won't always be less than 10 characters. There is no gaurentee that this construct won't break. The warning that microsoft chose to give to programmers may have been a bad choice, but its intentions are correct.
A number of "small bad choices" from Microsoft can add up to a considerable influence in the field. But your next statement already replies to this one.
May I call you paranoid? What are Windows-centric coding habits anyway? To think that microsoft is trying to take over the world due to one compiler warning is completely off base.
Sure, you may. How about thousands of programmers who respond to Microsoft's highly arbritated interpretation of the standard as though it were the correct one? Shouldn't MS just propose changes to the standard instead of trying to replace it?
Your post gives the impression that you are overestimating the importance of Microsoft's "pushes". It was the Win9x generation that spawned 80% of today's security problems. Microsoft only started to push security because...
This has nothing to do with your accusation that MS is making C++ proprietary.
No, but it has to do with me thinking twice before thanking Microsoft for so many wonderful things, according to the previous reply.
VC6 came out before the C++ standard was finalized (as in, before 98 ). Therefore, it compiles some language which is not standard C++. Realize this before making accusations that microsoft sucks at writing compilers, because VC7.1 and now VC8 are some of the best (and most compliant) C++ compilers in existance.
I used VC6 for a long time, and had to wait some time before Microsoft decided to implement "advanced features" that their competition did as soon as the standard was ready. The point of this being, they are more of fast followers rather than leaders. I agree that VC7.1 and VC8 are probably the best running compilers on Windows, but standards should be as predictable as well as practical.
Back, just not as often

Windows Vista SP1, Ubuntu 8.04
MinGW 3.4.5, GCC 4.2.1
Code::Blocks
wxWidgets 2.8.9
User avatar
ABX
Can't get richer than this
Can't get richer than this
Posts: 810
Joined: Mon Sep 06, 2004 1:43 pm
Location: Poznan, Poland
Contact:

Post by ABX »

AkiraDev wrote:
SnakeChomp wrote:(...)VC7.1 and now VC8 are some of the best (and most compliant) C++ compilers in existance.
(...)I agree that VC7.1 and VC8 are probably the best running compilers on Windows
Since you both refer to VC as "C++ compiler" and not "IDE" I just would like to point out that as stated at http://cmeerw.org/prog/freecpp/ DigitalMars C++ is closer to C++, works fine with MS SDK, his maintainer is full time accessible, responds to bug reports and releases fixes in a few days. Really impressive work done by author of first native C++ compiler ever (a few compilers in fact, http://www.walterbright.com/ )

ABX
CVS Head, 2.8.X
wxMSW, wxWinCE, wxPalmOS, wxOS2, wxMGL, bakefile
gcc 3.2.3, bcc 5.51, dmc 8.48, ow 1.6, vc 7.1, evc 3/4, pods 1.2
priyank_bolia
wxWorld Domination!
wxWorld Domination!
Posts: 1339
Joined: Wed Aug 03, 2005 8:10 am
Location: BANGALORE, INDIA
Contact:

Post by priyank_bolia »

AkiraDev, this is the real example of microsoft security push after 2000
http://www.informationweek.com/story/sh ... d_IWK_news
upCASE
Moderator
Moderator
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

Re: Microsoft at it's best...

Post by upCASE »

Hi!
AkiraDev wrote:The day will soon come M$ patents C and C++ as their own invention.
No. Never, as nobody "owns" C++. This would be like Duden patenting the german language or the Britannica patenting english.... Ok, not the best analogy, but you get the impression. (http://public.research.att.com/~bs/bs_faq.html#revenues)

I don't want to contribute to the "Is MS good or bad" discussion. After all it's all about the money.
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda
AkiraDev
Knows some wx things
Knows some wx things
Posts: 48
Joined: Tue May 24, 2005 9:13 am

Post by AkiraDev »

priyank_bolia wrote:AkiraDev, this is the real example of microsoft security push after 2000
http://www.informationweek.com/story/sh ... d_IWK_news
Instead of actually proving your point, you choose to attack *NIX systems with vague numbers.

In the same article you sent:
"The end-of-year vulnerability score should be taken with a grain of salt, however, since US-CERT doesn't filter out updates (so one actual vulnerability can be counted numerous times) nor does it break out individual vulnerabilities from warnings that cover multiple bugs (as in the many Mac OS X vulnerability listings)."

To my personal experience, patches on Linux distros regularly come out much more frequently than the "monthly patch cycle".

What's more, the vast majority of *NIX exploits are only possible locally, and often associated with the root account, in contrast to Windows exploits, which are almost always possible remotely, and in many cases with hardly any user intervention.

Here's a couple of more real examples of Microsoft security push for you: ActiveX and the WMF exploit. Despite it's high level of danger, look how long it took to a third-party technician to issue an unofficial fix, and contrast that to the average response time of Microsoft.
Back, just not as often

Windows Vista SP1, Ubuntu 8.04
MinGW 3.4.5, GCC 4.2.1
Code::Blocks
wxWidgets 2.8.9
grf
Knows some wx things
Knows some wx things
Posts: 38
Joined: Thu Jun 01, 2006 1:53 pm
Location: Germany

Post by grf »

SnakeChomp wrote: Realize this before making accusations that microsoft sucks at writing compilers, because VC7.1 and now VC8 are some of the best (and most compliant) C++ compilers in existance.
And these are some of the few "only one supported platform"-compilers. :lol:

Regards
Michael
Sowas kommt von sowas.
Post Reply