We don't just want our kids to be able to manipulate symbols (at least, I don't want). Any computer can do that.
Actually, no, they can't. At least not as well as human mathematicians can. Have you ever seen a proof by a computer? It doesn't actually manipulate symbols, it just enumerates all the possibilities.
Computers are good at computing. You could say that that's a subset of "manipulating symbols", but it's a very small subset.
Never crossed your fingers while hitting 'compile'? Never knocked on wood (hur hur) or tossed salt over your shoulder? Never had a rabbit's foot, or avoided stepping on a crack in the sidewalk, even as a kid?
No. No and no. Nope; well, yeah, but that was for fun, not out of some superstition.
For simple, local things like this, you can avoid pointers. But most of the time, you need to pass things around, which means using pointers (possibly behind a thin veil of shared_ptr or similar). And you need to think about the pointers, which doesn't happen in languages with garbage collector.
The assumption is that the method that would run with bad arguments could corrupt the data. But if you always check the arguments, you never corrupt any data. Of course, nothing is perfect and data corruption bugs may still occur.
And when I said “crashes”, I actually meant that it throws an exception. You should not catch that exception (that would be just hiding the problem), but finally blocks will execute, so it kind of is graceful failure, or at least it can be.
It seems to me you're describing is Design by contract. Specifically, Code Contracts in.Net allow you to do this. The compiler there tries to check as much as it can, but checking every situation is simply not possible. It also produces runtime checks, so that your application crashes immediately when the contract is broken, instead of corrupting data.
Using Lua instead of the current template syntax will not mean much for editors of articles and nobody claimed it would. It will only make (huge) difference for those who currently write templates.
On the other hand, there is also some work going on to make editing of articles easier using a WYSIWYG editor.
I think the general rule about how people learn best is: There is no general rule. Everyone is different and everyone learns in a different way. What may be great approach to studying for someone will be terrible for someone else.
C++/CLR is only a niche language though. Under most circumstances, you will be writing managed code in C# or unmanaged code in C++, not managed code in C++. C++/CLR is there for the rare cases when you need to bridge the gap between managed and unmanaged (and you can't or don't want to use P/Invoke from C#).
I don't think languages have to change slowly. It all depends on the way they are developed.
Look at C#. It's quite a young language, but it changed tremendously since it started. And now languages like Java and C++ are trying to catch up with it, at least in some aspects (like lambdas).
In version 1.0, it was mostly a copy of Java, with some enhancements, like properties and delegates. Over time, generics, lambdas (that can be manipulated programatically) and optional dynamic typing were added. And the upcoming version 5.0 will have much better support for asynchronous programming than other languages. All those changes are very useful and can change the way you program.
I think this proves that popular languages don't have to change slowly. And you can even keep backwards compatibility while doing it.
There is one query language that improves on SQL a lot: LINQ. It's tightly integrated with C#, but that's the whole point. You don't have to deal with parametrized queries or other things. The query is usually translated into SQL in the end, but the developer doesn't even know about that most of the time.
I think Stack Exchange has a very good system for what it does: Q&A. But it's not meant for discussing and I'm not sure you can easily translate it to a site like Slashdot.
Okay, let's say I support one of those sub-parties? How do I vote for them? I can't. I have to vote for the superparty they are part of and hope that the elected representative will be from the subparty I like.
I don't think that's much of a solution. Why not have one superparty and decide everything by intra-party politics? Oh, wait, we (the eastern Europe) tried that and it didn't work. I have a feeling the US system is dangerously close to that.
From time to time, new political views get wider attention in Europe. In the past it was the greens, now it's the pirates. And they get into parliaments.
I really don't think it's just an illusion of variety. And I've yet to see any such political party have any kind of success in the US.
I'm kinda starting to become a little bit of a MS fan.
You're obviously not the one paying for the licences.
My boss is. And he is thinking about migrating one of the few things we run on Linux to Windows. (Which will probably not going to happen soon, because there always seems to be something more important than modifying system that works fine.)
Granted, it may be partially caused by our inability to get good Linux admin. But that's just another factor that makes Windows look like a better choice.
Targeting those that are genetically lucky for doctors seems like a good idea.
If I'm going to have a surgery, I'd rather have a lucky surgeon than an unlucky one.
We don't just want our kids to be able to manipulate symbols (at least, I don't want). Any computer can do that.
Actually, no, they can't. At least not as well as human mathematicians can. Have you ever seen a proof by a computer? It doesn't actually manipulate symbols, it just enumerates all the possibilities.
Computers are good at computing. You could say that that's a subset of "manipulating symbols", but it's a very small subset.
Never crossed your fingers while hitting 'compile'? Never knocked on wood (hur hur) or tossed salt over your shoulder? Never had a rabbit's foot, or avoided stepping on a crack in the sidewalk, even as a kid?
No. No and no. Nope; well, yeah, but that was for fun, not out of some superstition.
Are you really implying that Microsoft makes "a product that people want and can use"? Are you sure you're at the right place?
Are you really suggesting a switch to remove Joker? How dare you!?
If you personally consider it a good journalism, maybe it's time to reward it by buying the subscription?
For simple, local things like this, you can avoid pointers. But most of the time, you need to pass things around, which means using pointers (possibly behind a thin veil of shared_ptr or similar). And you need to think about the pointers, which doesn't happen in languages with garbage collector.
Yes, deleted articles are really deleted and even links to a certain revision of that article won't work anymore.
I think that merged articles usually don't have their histories merged, so that should be fine.
And renaming doesn't affect this, the history link uses a revision id, which won't change even after a rename.
The assumption is that the method that would run with bad arguments could corrupt the data. But if you always check the arguments, you never corrupt any data. Of course, nothing is perfect and data corruption bugs may still occur.
And when I said “crashes”, I actually meant that it throws an exception. You should not catch that exception (that would be just hiding the problem), but finally blocks will execute, so it kind of is graceful failure, or at least it can be.
Now, checking the bounds of dynamic arrays is not possible
Okay, so what if I pass length of that array to some function? Wouldn't that break the range checking?
It seems to me you're describing is Design by contract. Specifically, Code Contracts in .Net allow you to do this. The compiler there tries to check as much as it can, but checking every situation is simply not possible. It also produces runtime checks, so that your application crashes immediately when the contract is broken, instead of corrupting data.
I think the answer depends a lot on which country are we talking about. How could you forgot to mention something that important?
Since it was "originally written in Visual Basic", I wonder what language does it use now?
It turns out, it still uses Visual Basic. Not sure why was the summary written that way.
I know about at least one public key that was intentionally created very weak, that is, one that is easily crackable.
Why was it made? As a part of "hacking" competition.
I wonder how many of the keys they found were bad were never used for anything serious, like the one I mentioned.
Oh no, he won't sue the entire planet. You see, most reasonable countries, like Europe, don't have software patents.
Using Lua instead of the current template syntax will not mean much for editors of articles and nobody claimed it would. It will only make (huge) difference for those who currently write templates.
On the other hand, there is also some work going on to make editing of articles easier using a WYSIWYG editor.
I think the general rule about how people learn best is: There is no general rule. Everyone is different and everyone learns in a different way. What may be great approach to studying for someone will be terrible for someone else.
C++/CLR is only a niche language though. Under most circumstances, you will be writing managed code in C# or unmanaged code in C++, not managed code in C++. C++/CLR is there for the rare cases when you need to bridge the gap between managed and unmanaged (and you can't or don't want to use P/Invoke from C#).
And native C++ does have IntelliSense in VS 2010.
You're not Czech and you worked in the Czech Republic? I'm curious, what did you do here?
I don't think languages have to change slowly. It all depends on the way they are developed.
Look at C#. It's quite a young language, but it changed tremendously since it started. And now languages like Java and C++ are trying to catch up with it, at least in some aspects (like lambdas).
In version 1.0, it was mostly a copy of Java, with some enhancements, like properties and delegates. Over time, generics, lambdas (that can be manipulated programatically) and optional dynamic typing were added. And the upcoming version 5.0 will have much better support for asynchronous programming than other languages. All those changes are very useful and can change the way you program.
I think this proves that popular languages don't have to change slowly. And you can even keep backwards compatibility while doing it.
There is one query language that improves on SQL a lot: LINQ. It's tightly integrated with C#, but that's the whole point. You don't have to deal with parametrized queries or other things. The query is usually translated into SQL in the end, but the developer doesn't even know about that most of the time.
I think Stack Exchange has a very good system for what it does: Q&A. But it's not meant for discussing and I'm not sure you can easily translate it to a site like Slashdot.
Okay, let's say I support one of those sub-parties? How do I vote for them? I can't. I have to vote for the superparty they are part of and hope that the elected representative will be from the subparty I like.
I don't think that's much of a solution. Why not have one superparty and decide everything by intra-party politics? Oh, wait, we (the eastern Europe) tried that and it didn't work. I have a feeling the US system is dangerously close to that.
From time to time, new political views get wider attention in Europe. In the past it was the greens, now it's the pirates. And they get into parliaments.
I really don't think it's just an illusion of variety. And I've yet to see any such political party have any kind of success in the US.
My boss is. And he is thinking about migrating one of the few things we run on Linux to Windows. (Which will probably not going to happen soon, because there always seems to be something more important than modifying system that works fine.)
Granted, it may be partially caused by our inability to get good Linux admin. But that's just another factor that makes Windows look like a better choice.
Targeting those that are genetically lucky for doctors seems like a good idea. If I'm going to have a surgery, I'd rather have a lucky surgeon than an unlucky one.