This is the most stupid idea ever. You have completely misunderstood the point of exceptions.
If the exception can be handled directly by the caller, then you should use return values. Exceptions are for situations where you want the abstraction that the operation never fails, while still keeping the ability to handle such failure at a higher level.
The most important primitive for good exception-safe code is an atomic swap. Microsoft Windows doesn't have an atomic swap for files AFAIK, which is a very big problem. No wonder video games end up with corrupt save files...
How is that significantly different than exceptions? An exception, when thrown, will gracefully terminate any subcomponent up to the scope it is caught in.
It usually takes much longer than 10 minutes. Also, when you're on the verge of an epiphany, it doesn't matter if you can't access your device 1 minute or 1 hour, what matters if that you're not going to be able to type what's on your mind, and that you'll have lost it by the time you get access to your device again.
If there is no reason for this annoyance, then it should be removed, however minor the annoyance may be.
I frequently tell people that studies are useless. This article made me think about this a bit more.
I am CEO of a little start-up in software that I founded this year, at 25 years old. Nothing big, we barely break even, but we do bleeding edge stuff, work with big names and, more importantly, have fun. I studied for 5 years (actually 6 if you count bad orientations) in France, where studies are essentially free. So I had no problem with debt or anything like that.
At the end of the my studies, I found them so boring and useless that I decided to go work full-time as a software engineer abroad (it's easier to get tech jobs in the UK than in France), while only showing up for exams, which I passed without problems. I was offered to do a PhD, but I refused because I considered it a waste of time. The truth is, you will learn much more in one year working on your own or in a company than in 3 years studying in university.
Yet, thinking back on it, I did do some pretty interesting stuff in my early studies that I wouldn't have done on my own. Those things are not particularly useful to my everyday work, but they contribute to some kind of general knowledge about a variety of things.
What I think is that studies up to the bachelor's level are useful since they're very general, but later more specialized studies are better done by yourself alone. There is nothing that makes you a specialist more than to experience the problem domain first hand.
They have the time to watch stupid shows on TV. They very well have the time to cook. It's that usians are lazy and cannot enjoy simple pleasures in life.
People who use Linux do so because they want a good operating systems to actually do things productively. People who want games just want a toy, which is why they use Windows.
The only thing bringing games to Linux will do is provide a bit of occasional entertainment for the existing Linux users. Don't expect people to migrate to Linux because of that. The people that do not use Linux do not do so because it doesn't have games, it's because they don't look for the same thing in a computer.
In particular, because it is very rigid in the tools it needs to work with, making it more complicated to have a full working toolchain on exotic platforms. Hurd still doesn't have: working sound support. For those unfamiliar with multi-server systems, the project has a brief conceptual overview document.
clang/llvm can actually cross-compile to several different architectures with the same binary. That thing would be absolutely impossible with GCC.
This is the most stupid idea ever.
You have completely misunderstood the point of exceptions.
If the exception can be handled directly by the caller, then you should use return values. Exceptions are for situations where you want the abstraction that the operation never fails, while still keeping the ability to handle such failure at a higher level.
You only have to log when the error occurs, not when it is forwarded to the parent scope, so I don't see how it would add any verbosity.
Were those links supposed to support your argument?
I'm sorry but they didn't explain anything at all.
No, you need to forward it so that someone with enough context will know what to do with it.
The most important primitive for good exception-safe code is an atomic swap.
Microsoft Windows doesn't have an atomic swap for files AFAIK, which is a very big problem. No wonder video games end up with corrupt save files...
You're building critical components with MATLAB?
Are you crazy?
How is that significantly different than exceptions?
An exception, when thrown, will gracefully terminate any subcomponent up to the scope it is caught in.
Americans complaining about the NSF...
In my country you're happy if you can get 200k funding for 3-year project.
It usually takes much longer than 10 minutes.
Also, when you're on the verge of an epiphany, it doesn't matter if you can't access your device 1 minute or 1 hour, what matters if that you're not going to be able to type what's on your mind, and that you'll have lost it by the time you get access to your device again.
If there is no reason for this annoyance, then it should be removed, however minor the annoyance may be.
Did you actually read the message you're replying to?
That's misunderstanding how Facebook works.
Any one can wilfully choose to subscribe to his updates, so it's the same as them being public.
I frequently tell people that studies are useless. This article made me think about this a bit more.
I am CEO of a little start-up in software that I founded this year, at 25 years old. Nothing big, we barely break even, but we do bleeding edge stuff, work with big names and, more importantly, have fun.
I studied for 5 years (actually 6 if you count bad orientations) in France, where studies are essentially free. So I had no problem with debt or anything like that.
At the end of the my studies, I found them so boring and useless that I decided to go work full-time as a software engineer abroad (it's easier to get tech jobs in the UK than in France), while only showing up for exams, which I passed without problems.
I was offered to do a PhD, but I refused because I considered it a waste of time. The truth is, you will learn much more in one year working on your own or in a company than in 3 years studying in university.
Yet, thinking back on it, I did do some pretty interesting stuff in my early studies that I wouldn't have done on my own. Those things are not particularly useful to my everyday work, but they contribute to some kind of general knowledge about a variety of things.
What I think is that studies up to the bachelor's level are useful since they're very general, but later more specialized studies are better done by yourself alone. There is nothing that makes you a specialist more than to experience the problem domain first hand.
They have the time to watch stupid shows on TV. They very well have the time to cook.
It's that usians are lazy and cannot enjoy simple pleasures in life.
Where did I say that? Because I didn't.
By Linux, I mean GNU/Linux, of course.
People who use Linux do so because they want a good operating systems to actually do things productively.
People who want games just want a toy, which is why they use Windows.
The only thing bringing games to Linux will do is provide a bit of occasional entertainment for the existing Linux users. Don't expect people to migrate to Linux because of that. The people that do not use Linux do not do so because it doesn't have games, it's because they don't look for the same thing in a computer.
The truth is, most Linux users don't care about games.
There are much more interesting uses of a computer than gaming.
Server cluster? I thought we were talking about average middle end desktop/workstation computers.
AMD does not make any good processors anymore.
Intel i3 is the low end, i5 the middle end, and i7 the high end.
i5 are usually dual core processors, while i7 are usually quad core.
Where did you see that was not true?
There are no mid-range 6-core systems.
Mid-range is dual core with hyperthreading.
LLVM optimizes better than GCC in quite a few cases, in particular since 4.0
A bad copy/paste happened here, sorry.
In particular, because it is very rigid in the tools it needs to work with, making it more complicated to have a full working toolchain on exotic platforms. Hurd still doesn't have: working sound support. For those unfamiliar with multi-server systems, the project has a brief conceptual overview document.
clang/llvm can actually cross-compile to several different architectures with the same binary. That thing would be absolutely impossible with GCC.
That will not help you if you run a 32-bit non-PAE kernel, like many people still do. (Apparently, Ubuntu still recommends the 32-bit version)