I don't think a desire for rewrites was it -- the old-VB -> VB.NET conversion tool that comes with Visual Studio has exceeded my expectations whenever I've needed to update an old VB project.
Goodness me. If you think that code converter was, or is, good enough to convert any sizeable project out there then I have to question your motives really. The thing was a sad joke.
That was my experience as well. When I ran my fairly small VB6 app through the converter I immediately thought "Oh shit, I might as well re-write the damn thing". Which is what I'm doing, slowly anyway.
If you were able to port it over, most of it would be pointless. All you've done is gotten the same old code in a new IDE, you've just ported over all the language deficiencies you had before. There are whole design paradigms that are different in.Net, and just moving the code over doesn't make them available to you. At the very least you'll have to re-factor the hell out of it, and it will be very similar to just re-writing it.
There is still a ton of development done in VB6 - I support one app myself. I discovered the VB6 community when I had to start looking for help, and there is actually quite a lot of it out there.
VB.NET is still going to be easier to pick up for a VB6 guy than C# is, but the whole debate between VB.NET and C# is meaningless. The two are virtually identical, with really only one or two feature differences and a little bit different syntax (using {} and ; being the largest). Really, the differences between VB6 and VB.Net are a hell of a lot bigger than those between VB.Net and C#. I suspect the only real reason C# is more popular is because the syntax is closer to C/C++/Java than VB.Net is, not anything really fundamental about the two languages.
I learned VB.NET and C# side by side, because they really are that similar. In 99% of cases the CLI code between the two is identical. In fact, most of the time C++ CLI code will be the same as VB and C#, but there are some more fundamental differences with C++ involved.
Meaning if they add obligations to the license that would prevent "royalty-free redistribution of the Program" then they themselves are not allowed to distribute it under the GPL.
To take it one step further, if Oracle does license the code via GPL, and there are patent restrictions on said code, it implies a patent license as well, though it does not specifically grant one.
You could make a very good case of it in court, and I hope Google can do just that. They don't need to be 100% in compliance with J2SE if the code they've modified was the GPL code.
However, if the code Google based their work on was licensed with the J2SE requirement (i.e. a non-GPL version of the code) then they are fucked. If patent compliance is a requirement in the copyright license, then there is no implied patent license that goes along with it.
Another point is that if Google had used IcedTea (the GPL'd version of Java),
The GGP was asking how using the GPL'd version would have protected them from the patents, and the GP gave the answer (actually, it's the implied answer - I don't know if that portion of the license has been tested in court yet).
In other words, you just restated the original statement, and didn't add anything at all to the conversation.
The Windows team had to slave away to create the Win32 API in the first place, and Mono is a cross platform implementation, so I don't really get the point you are trying to make.
The Mono team has to work hard? So? So does everybody else who develops applications!
While Java the platform has been slow to adopt features, it does have quite a thriving open source community that gives it a lot of additional functionality (for free as in beer I might add).
Not really arguing with you here, just pointing out that.Net is free as in beer, too. You can download the compiler direct from MS, and even a basic IDE for coding (or any other IDE you may prefer) if you want.
It's their IDE, Visual Studio, that costs big bucks, not.Net. The fact that most.Net developers feel the $300 (or more, if you want MSDN, which is totally worth it for Win development) price tag is worth it kinda shows just how good that IDE really is.
First, what ever happened to capitalization? You use other forms of punctuation like commas and ellipses and periods, why no capitals where appropriate? It makes an otherwise well written post look like something a 12 year old did (unless you actually are 12, in which case I apologize).
Anyway:
there's a tool for automating this process - it's called a compiler.
You make it sound like that's the primary purpose of a compiler, which it isn't. It's not even a secondary job, it's tertiary. It just happens to be one of those features that are necessary to make a good compiler.
I don't see how a blank does that any better than an X.
If they correctly solve for X, they know what they are doing. Is there some scenario where "following the recipe" doesn't work? Because I've got news for you, the recipe is simply the steps you need to take (whether you do them in your head or not) to find the missing number. So if you can follow the recipe, you understand how the thing works.
...there will still be a source of cheap unskilled labor in the world.
Unskilled, yes, but not cheap by any global definition of cheap.
That $48 American for 8 hours could have bought you 2 or 3 Mexicans for 8 hours, or 5 or 6 south-Asians for 10 hours. God only knows how many south-Africans it could have gotten you.
As long as the law is in the way it is there will never be cheap, unskilled American labor.
Nobody was born with the knowledge of "=". Producing someone who is older than 500 years is not necessary, we need only to look at you, or anybody else for that matter.
The meaning of "=" had to be learned.
I'd be willing to bet a thousand bucks that these kids used a calculator with an "=" and no further explanation of what "=" means. Sure, they know what "equals" means, but they have limited working experience with it, and are therefore going to treat it exactly like a rolling expressions you tend to perform on a basic calculator, that is:
4+3+2 =9+2 =11
They see the 4+3+2 as an expression to be evaluated, then they believe they are supposed to evaluate the results of that expression + 2, which is 11.
Try it on your own calculator, and you'll see exactly why they came up with the wrong answer.
Frankly, I don't believe kids should be using calculators until they at least get into pre-calc. Teachers and text book writers, however, should know better. That they didn't speaks volumes about our education system.
In other words, shut the fuck up, you idiot retard.
Which is why 70% of the kids added "=11", which is correct.
They simply underestimated the importance of the = sign, and were simply following calculator math: "4+3(7)+2(9) = 9+2(11) = 11"
I'm sure every one of them thought "That's an odd way of writing the question, and there's no place for the final answer! Oh well".
If they don't know how to solve for X, of course they're going to have a hard time with anything that tries to get them to solve for a retarded substitute for X. Just have them solve for X, damnit!
Ok I'm going to display my ignorance here and ask why isn't = on its own good enough for a comparison?
I used various forms of BASIC as a kid, and = was fine there. I had some formal education in Pascal, = was fine there.
Most non-C based languages use = for both assignment and comparison.
However, C is famous for little shortcuts, and for a lot of them having = and == as separate entities is required.
For example, a common for loop in C is written as: for (i=0; i=, etc.
In other words, C is more specific, and has chosen to use = as the assignor and == as the comparator. That's all. It makes a lot of sense, but at the same time it can be confusing.
I sure I'm wrong and it isn't just a thing people use to make their code harder to read
I disagree, I've only been coding in C for a few months now, but I find the difference between = and == brilliant. It allows you to right tight, clear code in minimal space.
For example, are you ever confused by x+= 1? Because that's confusing as hell if = can be both assignment and comparison operator. Are you assigning an additional 1 to x? Or are you comparing x against x + 1? That doesn't make any sense, but it's a valid conclusion if = can be both, and should always evaluate to false.
In other words, why write:
foo=unknown_result(); if (foo) {print "unknown_result returned a True value which is now in foo";}
When
if(foo=unknown_result()) {print "yadda yadda"}
means exactly the same thing? If you know what = is in C, there is nothing at all confusing about it, and it is very concise.
Were that the case, x64 would not be backwards compatible with x86.
It is compatible, however, because it's really just a set of instructions added on to x86. The core is still x86. The only reason it's called x64 instead of x86_64 (which is what it actually is) is because AMD beat Intel to the punch on that one, and it's their baby that went to market. Intel is stuck with what AMD gives them on that score.
We are already seeing the outcrop of all of this, as next years machines are not necessarily 2x the performance at the same cost.
I don't know how long you've been buying computers, but it has never been the case of "2x performance every year". The best it ever was was every 18 years or so, processing power doubled, and that was bumped back to about ever 2 years back in the late 80's/early 90's. But even that has never meant 2x all around performance. You might be able to crunch numbers 2x as fast after two years (never one), but there have always been bottlenecks - like RAM and hard drive speed - which have kept it down to around 50% all around performance every couple years.
...but point to other pages in circular references worse than any 1990's porn sites.
I don't know how much porn you look at, but you don't need the 1990's qualifier - the circular references haven't gotten any better.
I don't think a desire for rewrites was it -- the old-VB -> VB.NET conversion tool that comes with Visual Studio has exceeded my expectations whenever I've needed to update an old VB project.
Goodness me. If you think that code converter was, or is, good enough to convert any sizeable project out there then I have to question your motives really. The thing was a sad joke.
That was my experience as well. When I ran my fairly small VB6 app through the converter I immediately thought "Oh shit, I might as well re-write the damn thing". Which is what I'm doing, slowly anyway.
If you were able to port it over, most of it would be pointless. All you've done is gotten the same old code in a new IDE, you've just ported over all the language deficiencies you had before. There are whole design paradigms that are different in .Net, and just moving the code over doesn't make them available to you. At the very least you'll have to re-factor the hell out of it, and it will be very similar to just re-writing it.
There is still a ton of development done in VB6 - I support one app myself. I discovered the VB6 community when I had to start looking for help, and there is actually quite a lot of it out there.
VB.NET is still going to be easier to pick up for a VB6 guy than C# is, but the whole debate between VB.NET and C# is meaningless. The two are virtually identical, with really only one or two feature differences and a little bit different syntax (using {} and ; being the largest). Really, the differences between VB6 and VB.Net are a hell of a lot bigger than those between VB.Net and C#. I suspect the only real reason C# is more popular is because the syntax is closer to C/C++/Java than VB.Net is, not anything really fundamental about the two languages.
I learned VB.NET and C# side by side, because they really are that similar. In 99% of cases the CLI code between the two is identical. In fact, most of the time C++ CLI code will be the same as VB and C#, but there are some more fundamental differences with C++ involved.
Meaning if they add obligations to the license that would prevent "royalty-free redistribution of the Program" then they themselves are not allowed to distribute it under the GPL.
To take it one step further, if Oracle does license the code via GPL, and there are patent restrictions on said code, it implies a patent license as well, though it does not specifically grant one.
You could make a very good case of it in court, and I hope Google can do just that. They don't need to be 100% in compliance with J2SE if the code they've modified was the GPL code.
However, if the code Google based their work on was licensed with the J2SE requirement (i.e. a non-GPL version of the code) then they are fucked. If patent compliance is a requirement in the copyright license, then there is no implied patent license that goes along with it.
From three posts up:
Another point is that if Google had used IcedTea (the GPL'd version of Java),
The GGP was asking how using the GPL'd version would have protected them from the patents, and the GP gave the answer (actually, it's the implied answer - I don't know if that portion of the license has been tested in court yet).
In other words, you just restated the original statement, and didn't add anything at all to the conversation.
Kthxbye!
but I shudder at the thought of a petroleum cracking plant running real-time systems on C#/.NET
Well, since they don't run gcc compiled C either, I'm not really sure what your point is.
He doesn't know what they do, how is he supposed to give you an example?
The Windows team had to slave away to create the Win32 API in the first place, and Mono is a cross platform implementation, so I don't really get the point you are trying to make.
The Mono team has to work hard? So? So does everybody else who develops applications!
While Java the platform has been slow to adopt features, it does have quite a thriving open source community that gives it a lot of additional functionality (for free as in beer I might add).
Not really arguing with you here, just pointing out that .Net is free as in beer, too. You can download the compiler direct from MS, and even a basic IDE for coding (or any other IDE you may prefer) if you want.
It's their IDE, Visual Studio, that costs big bucks, not .Net. The fact that most .Net developers feel the $300 (or more, if you want MSDN, which is totally worth it for Win development) price tag is worth it kinda shows just how good that IDE really is.
Ultimately though, what's the difference between a functionality test and a unit test?
For a language like Ruby you still have to write them all separately, so it makes no practical difference.
First, what ever happened to capitalization? You use other forms of punctuation like commas and ellipses and periods, why no capitals where appropriate? It makes an otherwise well written post look like something a 12 year old did (unless you actually are 12, in which case I apologize).
Anyway:
there's a tool for automating this process - it's called a compiler.
You make it sound like that's the primary purpose of a compiler, which it isn't. It's not even a secondary job, it's tertiary. It just happens to be one of those features that are necessary to make a good compiler.
BTW, this particular post's monetary value may be only 17004 dollars, 8250 Euros and 99147 Yen, but its cultural value is priceless.
Wow, your rates are way off. Better fix em before someone takes advantage of you and buys your post for only 8250 euros, or, even worse 100k yen!
It should be 17004 dollars, 13263 euros, and 1,458,433 yen.
Or, if you truly feel it's only worth 8250 euros, then it should be 10560 dollars or 905,685 yen.
I can't imagine you'd only think it's worth 100k yen, that's barely 1,000 dollars.
He claimed there was no argument here, yet as I live and breath, there is an argument here!
Why did you lie to us magnarity, why?
It's not a purse! It's a satchel, damnit!
I don't see how a blank does that any better than an X.
If they correctly solve for X, they know what they are doing. Is there some scenario where "following the recipe" doesn't work? Because I've got news for you, the recipe is simply the steps you need to take (whether you do them in your head or not) to find the missing number. So if you can follow the recipe, you understand how the thing works.
...there will still be a source of cheap unskilled labor in the world.
Unskilled, yes, but not cheap by any global definition of cheap.
That $48 American for 8 hours could have bought you 2 or 3 Mexicans for 8 hours, or 5 or 6 south-Asians for 10 hours. God only knows how many south-Africans it could have gotten you.
As long as the law is in the way it is there will never be cheap, unskilled American labor.
I love Daniel Tosh's (comedian, if you haven't heard of him, go watch tosh.0 - trash but hilarious) little joke:
"Yes, I was home-schooled, and statistically that makes me smarter than you."
Nobody was born with the knowledge of "=". Producing someone who is older than 500 years is not necessary, we need only to look at you, or anybody else for that matter.
The meaning of "=" had to be learned.
I'd be willing to bet a thousand bucks that these kids used a calculator with an "=" and no further explanation of what "=" means. Sure, they know what "equals" means, but they have limited working experience with it, and are therefore going to treat it exactly like a rolling expressions you tend to perform on a basic calculator, that is:
4+3+2 =9+2 =11
They see the 4+3+2 as an expression to be evaluated, then they believe they are supposed to evaluate the results of that expression + 2, which is 11.
Try it on your own calculator, and you'll see exactly why they came up with the wrong answer.
Frankly, I don't believe kids should be using calculators until they at least get into pre-calc. Teachers and text book writers, however, should know better. That they didn't speaks volumes about our education system.
In other words, shut the fuck up, you idiot retard.
4+3+2 is not equal to 9+2.
Which is why 70% of the kids added "=11", which is correct.
They simply underestimated the importance of the = sign, and were simply following calculator math: "4+3(7)+2(9) = 9+2(11) = 11"
I'm sure every one of them thought "That's an odd way of writing the question, and there's no place for the final answer! Oh well".
If they don't know how to solve for X, of course they're going to have a hard time with anything that tries to get them to solve for a retarded substitute for X. Just have them solve for X, damnit!
Oh hell. Generation N has always claimed that...
Damn, Generation N is still around? We're up to like, Y already man! That's an old friggin Generation!
We won't have to worry about it too long though, after Z it all re-sets and Generation A will be the greatest generation ever.
Ok I'm going to display my ignorance here and ask why isn't = on its own good enough for a comparison?
I used various forms of BASIC as a kid, and = was fine there. I had some formal education in Pascal, = was fine there.
Most non-C based languages use = for both assignment and comparison.
However, C is famous for little shortcuts, and for a lot of them having = and == as separate entities is required.
For example, a common for loop in C is written as: for (i=0; i=, etc.
In other words, C is more specific, and has chosen to use = as the assignor and == as the comparator. That's all. It makes a lot of sense, but at the same time it can be confusing.
I sure I'm wrong and it isn't just a thing people use to make their code harder to read
I disagree, I've only been coding in C for a few months now, but I find the difference between = and == brilliant. It allows you to right tight, clear code in minimal space.
For example, are you ever confused by x+= 1? Because that's confusing as hell if = can be both assignment and comparison operator. Are you assigning an additional 1 to x? Or are you comparing x against x + 1? That doesn't make any sense, but it's a valid conclusion if = can be both, and should always evaluate to false.
In other words, why write:
foo=unknown_result();
if (foo) {print "unknown_result returned a True value which is now in foo";}
When
if(foo=unknown_result()) {print "yadda yadda"}
means exactly the same thing? If you know what = is in C, there is nothing at all confusing about it, and it is very concise.
Were that the case, x64 would not be backwards compatible with x86.
It is compatible, however, because it's really just a set of instructions added on to x86. The core is still x86. The only reason it's called x64 instead of x86_64 (which is what it actually is) is because AMD beat Intel to the punch on that one, and it's their baby that went to market. Intel is stuck with what AMD gives them on that score.
Damnit, missed it in preview - 18 months not 18 years.
We are already seeing the outcrop of all of this, as next years machines are not necessarily 2x the performance at the same cost.
I don't know how long you've been buying computers, but it has never been the case of "2x performance every year". The best it ever was was every 18 years or so, processing power doubled, and that was bumped back to about ever 2 years back in the late 80's/early 90's. But even that has never meant 2x all around performance. You might be able to crunch numbers 2x as fast after two years (never one), but there have always been bottlenecks - like RAM and hard drive speed - which have kept it down to around 50% all around performance every couple years.