The only real benefit of all the things you've described for RAD development is the large support library, and even then, devs are complaining that there are too many libraries and frameworks that they cannot understand which ones to use when.,
The other things are irrelevant to app development- GC, you don't need GC to write apps, VB6 showed that, and frankly, its a lesser solution to object lifetimes than RAII (note that: object lifetimes- GC is terrible when it comes to deleting objects when you want them gone, hence kludges like.NETs using statement and IDispose())
Runtime safety- if that was the case Java wouldn't be so insecure, but I guess that could just be Oracle being useless at maintaining security patches like Microsoft does for.NET. Certainly, you can have the same runtime security with a native binary - C++ compilers will happily insert guard blocks, array overrun checks etc - its just that most people turn these off for performance, by default.
JIT - no, sorry, its better to compile up-front andlet the code run fast than it is to compile on-demand all the time. I could understand it if the JIT compiled source, but if you're compiling to bytecode and then JIT to native, you've got the worst of both worlds. javascvript does better here, but even then, you see the startup cost,and the inefficience of the optimisation when you have ms to compile. Better for that bytecode compilation step to go full native, if you're taking that time anyway.
Concurrency -loads of languages have concurrency support today - if you don't like raw threads take a look at OpenMP. Certainly strong concurrency was around when I was at university - I used a language called Concurrent Euclid (a pascal derivative) to learn concurrency. Languages like Erlang, have better concurrency than Java by a long way anwhow, but if you're coding quickly (as you say) then a thread block library such as Apple's Grand Central, or Intel's TBB are vastly superior to the rather simplistic threading support in Java.
I think today you'd be better off with something like Javascript as a general purpose app dev language - no compilation step, lots of libraries (for web dev at least), good and simple concurrency with node.js, and more portable than Java ever was. Try it.
there's no reason he couldn't be the "0th" doctor - the storylines we have just start with Hartnell, but he did things before the theft of the Tardis, and it makes sense he would be older even then - so I imagine Hurt will be a special, but not the next doctor.
I worry that they'll run out of actors eventually, as he gets younger each time, there is a finite number they can use before we get something like a "young doctor who" series.
you forget that most of what you mention already happens. Think MS cared that you learned VB6/Silverlight/Linq2Sql/ASP.NET/etc and now those things are obsolete and your boss is clamouring for a cheap replacement strategy, whilst the geeks are clamouring to work on the next technology that looks good on their CV? Java's just another one of those.
Your career training is a short-term thing in our industry, always was.
I do agree, copyrighting Java will have a knock-on effect that will be detrimental to geeks everywhere - but also beneficial to the corporate technology giants who will then have a hammer to beat the free stuff with.. given your insistence on non-technical reasons, don't you think they will all try to let Oracle win.
absolutely, stood the test of time in a way no other language has.
right up until you have to make an identical GUI work across a Microsoft and *nix platform.
there you just show your lack of google-fu. There's Qt which is awesome, or even GTK, or a host of others.
Nowadays you need a GUI that works on Macs too, and mobile.
That said, the whole concept of a thick GUI is dying, the state-of-the-art is currently HTML-based GUIs, and they are as identical as you can get (if you host in the same rendering engine - eg webkit).
The problem you have to worry about is the first sentence. every application in the enterprise that isn't written by Microsoft is built on Java. the industry *is* moving away from Java, as its seen to be either legacy, slow, bloated, or just insecure. The problem is that those industries are looking for alternatives and are choosing Microsoft. The number of jobs for ASP.NET MVC 4 are staggering right now, in a way that I would never have expected for web-based development. We have to be careful MS doesn't scoop up all the old Java systems.
"Moving away" is a viable answer - we've been doing that ever since Java appeared and people said "we need to move away from the legacy crap and rewrite it all in new, cool java".
Today, you just have to recognise that Java *is* the legacy crap, and we need to move those systems away and onto something else. I would hope that something else would be better (ie not just easier for the developers, but something fast and efficient) but I've been around long enough to know there's little chance that'll happen.
Still, web-based stuff is where its at today, time for you to re-skill and get those clunky java GUIs replaces with HTML5 ones, then replace the back end with a REST-based API written in C/C++. (or node.js, or go, or C# if you want the quick-but-not-as-good option).
of course, the first step is getting them interested in computing as more than just porn and video games. Once you've got them coding anything, then they can figure the other languages out themselves. Maybe they'll get a job in the industry and then they'll end up supporting someone's shitty old legacy Java code too:-)
So the trick is to do something fun and easy. I think games in js is probably the best choice - especially if that can be game in js they can play on their phones (or an emulator if they don't have any). Then you'll also see more members along as they show their efforts to their friends during the rest of the day.
You also get to teach them a bit about network programming, client/server architectures, and separation of code (so they don't learn monolithic practices from the start).
I would say - node.js servers, with express or restify library on the lab computers, with Apache Cordova on the front end.
that's cool and all, but that's something you do in itself - you do not go traveling, and spend all your time in a dark corner of a hostel coding, what's the point of traveling if you're going to do that?!
The point really seems to be: code or travel, but the two are really mutually exclusive - if you're traveling, then you want to spend your time seeing the sights and meeting people. Do a bit of code in the evenings if you're bored.. but why are you bored if you're out there intending to meet people? If you're bored, move on to the next place. If you go traveling, there should really be no time left for any kind of dedicated coding.
if you relocate the graphics rendering to the GPU and make it perform better, then using that system and sending the rendered data to clients means not only the performance improves, but the load on the server reduces.
RDP has been doing "network transparent" viewing for a long time, its more than sufficient for all, so if we can improve things using this - we should. No need to run X just because its X.
A couple of years ago I nearly applied to be an ICANN arbiter, only for nominet (the UK agency). Part of the application involved looking at a few previous cases to see the kind of thing you'd be getting into, and expected to do.
In this case, the xboxone.com domain contains nothing, its a godaddy holding page, so the owner obviously has either no attempt to turn it into a real site, or failed to do so (for whatever means), so given that, I would have handed it over to MS. Now, if the owner had put something on there, maybe a games site dedicated to xboxes and called it the number one site for xbox stuff... then he would have kept it, no problem at all (and MS could have offered him money for it). A real-life example would be Lego Juris A/S v Out Of Warranty Ltd for the domain legopolice.co.uk - something that could have been a real site and not just a name held hostage for a payout. (search for D00012699 on the link I gave earlier) or for an example where the name stayed put, search for D00012519 - Robot Wars Limited v Mr Denys Ostashko over robotwars.co.uk
The web is full of people who think they can get big payouts for just holding a name, that's not what it should be about. Use it or lose it should be a watchword here.
As for registrations - some registrars will show a list of recently searched for domains. I think you can see what their business model really involves.
in general am a programming project manager with empathy for developers. I don't ask them to work weekends and I provide detailed, reproducible bug reports and I pay on time
hardly true. If you want 100% bug free code then expect the devs to take twice as long to provide the solution (and that's being optimistic). If you don't want the tested-to-death solution, and want to take a pragmatic approach where you assume some bugs will fall through the dev process, then you'll get the solution quicker overall. (obviously there are some devs to whom a bug is a way of life, I assume you will not hire them again)
BTW good for you, not wanting devs to work weekends. Do they get national holidays off too? You are just the kind of empathic boss Dilbert would die for.
One of the big changes is increased support for voice and and gesture input. You can turn the console on by voice, and it will recognize you and automatically login
and will it recognise "what? fuck off bloody xbox crap, no I do not want ads, I was trying to watch the flipping tv, you damn pile of crap, bugger off, off. no off. fucking thing. OFF."
But think, if its sitting there in an "always on" standby listing to your voice, do you think it'll also be watching you via the kinect camera? I'm sure it will eventually if its always online too.
you really have no clue if you think anyone does currency computation with IEEE754 floats.
As for premature optimisation - that refers to writing your code regardless of its performance and then making the slow bits (or the most heavily used bits) fast. What it does not refer to is writing your code in a slow system by default so you have few places to go. You see many people talk about their PHP web sites wanting them to scale or simply go faster with the existing hardware and they simply cannot do it. If they'd started with a better idea of how to improve it (eg services that could be migrated to native code later) then they'd be in with a chance, as it is, the answer is always going to be "time to rewrite", which puts them pretty much where they started - nothing premature about considering more than very short term gain right from the start.
no, in the real world programmers are so cheap you can hire hundreds of them. India, China, eastern europe... more than you can shake a H1B visa at.
In the real world we are already suffering extreme weather due to pumping lots of heavy "energy-storing" gases into our atmosphere. Im not sure we can continue to do this indefinitely, so it makes sense to do what we can about it sooner rather than later, and even if you don't believe that, the cost of electricity is booming (not to mention the cost of greenhouse gas emissions, now the politicians have realised they can tax it). So making your code more efficient is a sensible thing now matter how you try to deny it.
So the simple answer is to stop technology churn and start training programmers so they become good at coding, then we wouldn't have such crap classes and over-engineered systems.
As for "switch to floats", if you're using a decimal class, its precisely because you cannot switch to floats. A fixed point class is a better option though, and simpler, and faster.. so why not use it in the first place?!
Apparently that is the C# decimal datatype class. And it is 1/27th the speed of a double, this kind of thing is pretty normal in the.NET world - make a complicated class and use it where you'd normally use a primitive type and don't worry about speed or memory usage.
But then, us old timers wouldn't bother with such a way of doing things where performance is necessary (I'd except every time when using a decimal class), no we'd do something like this. 27 times slower... progress:-(
and his solution is to mail the IT department at the company, like the PHB there gives a fig (or possibly even understands the problem)
When he should do is mail the legal department instead, or failing that the CEO or CIO. They might not understand the situation either but they'll understand the words "privacy" and "violation" and sit up, then they'll pass the blame on to the IT PHB and he'll have to "just fix it" in some way. Which he will do by getting an underling to remove most if not all of the personally identifying information from all emails in a overly-broad way, until the Marketing department decides it needs to put your address on every email all over again.
ah, but your plumbing can be fixed by an Elbonian who has immigrated to your country.
That said, many corporates are looking at increasing the number of H1B visas for this very reason - so they can keep the bosses in nice offices in the US, whilst still getting the cheap workers too.
... of the arguments over which FOSS office suite had got most users, people should recognise that there have been at least 65 million users of them not using Microsoft Office.
This is a good thing.
mind you, Microsoft says there are 750 million Office users worldwide, so we have a little way to go yet.
its often not so easy - they need the power because of modern inefficient programs running on supercomputers - your web app goes slow, just add a dozen more cores and a hundred gig of RAM, and then wonder why the cost of hosting is so high.
As a result, you can take your business elsewhere, but they'll be charging as much. That power is not cheap in the first place.
It is time to reduce the requirements of our programs, I understand that datacentres are 2nd only to the airline industry for co2 emissions.
True,.net is much better than Java, but I think much of that is down to the tooling - try writing C# code in notepad!
They're both still pretty inefficient though, I've played a couple of games written in C#/XNA, they're ok, but there's a lot of grinding at startup and a lot of sluggishness after you've played for a while. Could be just general poor programming practice from games devs, but there's a fair amount of language "assistance" there.
except the little problem of major component updates coming in v3.51 and the server OS being released with v3.5 on it,so many of your bleeding-edge programs wouldn't run.
I think they fixed this by simply reducing the amount of development going into.NET, thereby reducing the frequency of.net releases.
The plugin is simply the vector that a great number of attacks use to infect your system, the flaws are still (mostly) in the JVM.
Don't stick your head in the sand and say "blah blah no flaws in java", as you're doing everyone a huge disservice. There are bugs in the JRE that are exploited all the time (check the security fixes Oracle publishes to see what these are)., and understand that removing the plugin simply means the attackers have a harder, but not impossible, time to hack you.
true, if you looked at the business you'd see the accounts and then panic you'd not earn enough revenue to pay your workers... then you might have a different appreciation for why management wants stuff to sell.
Microsoft's problem is not about that, its more like 2 different managers pulling the company in different directions, expecting incompatible features added so they each can build themselves up over the other team.
in fact, who came up with the summary "you're old so you can't be a coder no more"-type nonsense is what I see on the web from immature kids who don't know the old and good ways of working, all they know is the new let-intellisense-do-it-for-you way of coding and think they're the greatest.
I wonder if I should post to/. saying "what do do with young brogrammers who can't code or design properly and rely on the tools to do all the work for them?"
ho well, anyway, another non-story for/. - in this case it sounds like the guy isn't very good in the first place, but you can't always trust the implication seeing as we only have one, biased, side of the story.
The only real benefit of all the things you've described for RAD development is the large support library, and even then, devs are complaining that there are too many libraries and frameworks that they cannot understand which ones to use when.,
The other things are irrelevant to app development- GC, you don't need GC to write apps, VB6 showed that, and frankly, its a lesser solution to object lifetimes than RAII (note that: object lifetimes- GC is terrible when it comes to deleting objects when you want them gone, hence kludges like .NETs using statement and IDispose())
Runtime safety- if that was the case Java wouldn't be so insecure, but I guess that could just be Oracle being useless at maintaining security patches like Microsoft does for .NET. Certainly, you can have the same runtime security with a native binary - C++ compilers will happily insert guard blocks, array overrun checks etc - its just that most people turn these off for performance, by default.
JIT - no, sorry, its better to compile up-front andlet the code run fast than it is to compile on-demand all the time. I could understand it if the JIT compiled source, but if you're compiling to bytecode and then JIT to native, you've got the worst of both worlds. javascvript does better here, but even then, you see the startup cost,and the inefficience of the optimisation when you have ms to compile. Better for that bytecode compilation step to go full native, if you're taking that time anyway.
Concurrency -loads of languages have concurrency support today - if you don't like raw threads take a look at OpenMP. Certainly strong concurrency was around when I was at university - I used a language called Concurrent Euclid (a pascal derivative) to learn concurrency. Languages like Erlang, have better concurrency than Java by a long way anwhow, but if you're coding quickly (as you say) then a thread block library such as Apple's Grand Central, or Intel's TBB are vastly superior to the rather simplistic threading support in Java.
I think today you'd be better off with something like Javascript as a general purpose app dev language - no compilation step, lots of libraries (for web dev at least), good and simple concurrency with node.js, and more portable than Java ever was. Try it.
there's no reason he couldn't be the "0th" doctor - the storylines we have just start with Hartnell, but he did things before the theft of the Tardis, and it makes sense he would be older even then - so I imagine Hurt will be a special, but not the next doctor.
I worry that they'll run out of actors eventually, as he gets younger each time, there is a finite number they can use before we get something like a "young doctor who" series.
you forget that most of what you mention already happens. Think MS cared that you learned VB6/Silverlight/Linq2Sql/ASP.NET/etc and now those things are obsolete and your boss is clamouring for a cheap replacement strategy, whilst the geeks are clamouring to work on the next technology that looks good on their CV? Java's just another one of those.
Your career training is a short-term thing in our industry, always was.
I do agree, copyrighting Java will have a knock-on effect that will be detrimental to geeks everywhere - but also beneficial to the corporate technology giants who will then have a hammer to beat the free stuff with.. given your insistence on non-technical reasons, don't you think they will all try to let Oracle win.
C and open source is a great solution,
absolutely, stood the test of time in a way no other language has.
right up until you have to make an identical GUI work across a Microsoft and *nix platform.
there you just show your lack of google-fu. There's Qt which is awesome, or even GTK, or a host of others.
Nowadays you need a GUI that works on Macs too, and mobile.
That said, the whole concept of a thick GUI is dying, the state-of-the-art is currently HTML-based GUIs, and they are as identical as you can get (if you host in the same rendering engine - eg webkit).
The problem you have to worry about is the first sentence. every application in the enterprise that isn't written by Microsoft is built on Java. the industry *is* moving away from Java, as its seen to be either legacy, slow, bloated, or just insecure. The problem is that those industries are looking for alternatives and are choosing Microsoft. The number of jobs for ASP.NET MVC 4 are staggering right now, in a way that I would never have expected for web-based development. We have to be careful MS doesn't scoop up all the old Java systems.
"Moving away" is a viable answer - we've been doing that ever since Java appeared and people said "we need to move away from the legacy crap and rewrite it all in new, cool java".
Today, you just have to recognise that Java *is* the legacy crap, and we need to move those systems away and onto something else. I would hope that something else would be better (ie not just easier for the developers, but something fast and efficient) but I've been around long enough to know there's little chance that'll happen.
Still, web-based stuff is where its at today, time for you to re-skill and get those clunky java GUIs replaces with HTML5 ones, then replace the back end with a REST-based API written in C/C++. (or node.js, or go, or C# if you want the quick-but-not-as-good option).
warts, Java... well....
of course, the first step is getting them interested in computing as more than just porn and video games. Once you've got them coding anything, then they can figure the other languages out themselves. Maybe they'll get a job in the industry and then they'll end up supporting someone's shitty old legacy Java code too :-)
So the trick is to do something fun and easy. I think games in js is probably the best choice - especially if that can be game in js they can play on their phones (or an emulator if they don't have any). Then you'll also see more members along as they show their efforts to their friends during the rest of the day.
You also get to teach them a bit about network programming, client/server architectures, and separation of code (so they don't learn monolithic practices from the start).
I would say - node.js servers, with express or restify library on the lab computers, with Apache Cordova on the front end.
that's cool and all, but that's something you do in itself - you do not go traveling, and spend all your time in a dark corner of a hostel coding, what's the point of traveling if you're going to do that?!
The point really seems to be: code or travel, but the two are really mutually exclusive - if you're traveling, then you want to spend your time seeing the sights and meeting people. Do a bit of code in the evenings if you're bored.. but why are you bored if you're out there intending to meet people? If you're bored, move on to the next place. If you go traveling, there should really be no time left for any kind of dedicated coding.
if you relocate the graphics rendering to the GPU and make it perform better, then using that system and sending the rendered data to clients means not only the performance improves, but the load on the server reduces.
RDP has been doing "network transparent" viewing for a long time, its more than sufficient for all, so if we can improve things using this - we should. No need to run X just because its X.
A couple of years ago I nearly applied to be an ICANN arbiter, only for nominet (the UK agency). Part of the application involved looking at a few previous cases to see the kind of thing you'd be getting into, and expected to do.
In this case, the xboxone.com domain contains nothing, its a godaddy holding page, so the owner obviously has either no attempt to turn it into a real site, or failed to do so (for whatever means), so given that, I would have handed it over to MS. Now, if the owner had put something on there, maybe a games site dedicated to xboxes and called it the number one site for xbox stuff... then he would have kept it, no problem at all (and MS could have offered him money for it). A real-life example would be Lego Juris A/S v Out Of Warranty Ltd for the domain legopolice.co.uk - something that could have been a real site and not just a name held hostage for a payout. (search for D00012699 on the link I gave earlier) or for an example where the name stayed put, search for D00012519 - Robot Wars Limited v Mr Denys Ostashko over robotwars.co.uk
The web is full of people who think they can get big payouts for just holding a name, that's not what it should be about. Use it or lose it should be a watchword here.
As for registrations - some registrars will show a list of recently searched for domains. I think you can see what their business model really involves.
in general am a programming project manager with empathy for developers. I don't ask them to work weekends and I provide detailed, reproducible bug reports and I pay on time
hardly true. If you want 100% bug free code then expect the devs to take twice as long to provide the solution (and that's being optimistic). If you don't want the tested-to-death solution, and want to take a pragmatic approach where you assume some bugs will fall through the dev process, then you'll get the solution quicker overall. (obviously there are some devs to whom a bug is a way of life, I assume you will not hire them again)
BTW good for you, not wanting devs to work weekends. Do they get national holidays off too? You are just the kind of empathic boss Dilbert would die for.
One of the big changes is increased support for voice and and gesture input. You can turn the console on by voice, and it will recognize you and automatically login
and will it recognise "what? fuck off bloody xbox crap, no I do not want ads, I was trying to watch the flipping tv, you damn pile of crap, bugger off, off. no off. fucking thing. OFF."
But think, if its sitting there in an "always on" standby listing to your voice, do you think it'll also be watching you via the kinect camera? I'm sure it will eventually if its always online too.
you really have no clue if you think anyone does currency computation with IEEE754 floats.
As for premature optimisation - that refers to writing your code regardless of its performance and then making the slow bits (or the most heavily used bits) fast. What it does not refer to is writing your code in a slow system by default so you have few places to go. You see many people talk about their PHP web sites wanting them to scale or simply go faster with the existing hardware and they simply cannot do it. If they'd started with a better idea of how to improve it (eg services that could be migrated to native code later) then they'd be in with a chance, as it is, the answer is always going to be "time to rewrite", which puts them pretty much where they started - nothing premature about considering more than very short term gain right from the start.
no, in the real world programmers are so cheap you can hire hundreds of them. India, China, eastern europe... more than you can shake a H1B visa at.
In the real world we are already suffering extreme weather due to pumping lots of heavy "energy-storing" gases into our atmosphere. Im not sure we can continue to do this indefinitely, so it makes sense to do what we can about it sooner rather than later, and even if you don't believe that, the cost of electricity is booming (not to mention the cost of greenhouse gas emissions, now the politicians have realised they can tax it). So making your code more efficient is a sensible thing now matter how you try to deny it.
So the simple answer is to stop technology churn and start training programmers so they become good at coding, then we wouldn't have such crap classes and over-engineered systems.
As for "switch to floats", if you're using a decimal class, its precisely because you cannot switch to floats. A fixed point class is a better option though, and simpler, and faster.. so why not use it in the first place?!
I can afford 10, maybe 20 failures for the 1 project that succeeds
yeah, but not everyone can work for Google.
Apparently that is the C# decimal datatype class. .NET world - make a complicated class and use it where you'd normally use a primitive type and don't worry about speed or memory usage.
And it is 1/27th the speed of a double, this kind of thing is pretty normal in the
But then, us old timers wouldn't bother with such a way of doing things where performance is necessary (I'd except every time when using a decimal class), no we'd do something like this. 27 times slower... progress :-(
and his solution is to mail the IT department at the company, like the PHB there gives a fig (or possibly even understands the problem)
When he should do is mail the legal department instead, or failing that the CEO or CIO. They might not understand the situation either but they'll understand the words "privacy" and "violation" and sit up, then they'll pass the blame on to the IT PHB and he'll have to "just fix it" in some way. Which he will do by getting an underling to remove most if not all of the personally identifying information from all emails in a overly-broad way, until the Marketing department decides it needs to put your address on every email all over again.
ah, but your plumbing can be fixed by an Elbonian who has immigrated to your country.
That said, many corporates are looking at increasing the number of H1B visas for this very reason - so they can keep the bosses in nice offices in the US, whilst still getting the cheap workers too.
... of the arguments over which FOSS office suite had got most users, people should recognise that there have been at least 65 million users of them not using Microsoft Office.
This is a good thing.
mind you, Microsoft says there are 750 million Office users worldwide, so we have a little way to go yet.
its often not so easy - they need the power because of modern inefficient programs running on supercomputers - your web app goes slow, just add a dozen more cores and a hundred gig of RAM, and then wonder why the cost of hosting is so high.
As a result, you can take your business elsewhere, but they'll be charging as much. That power is not cheap in the first place.
It is time to reduce the requirements of our programs, I understand that datacentres are 2nd only to the airline industry for co2 emissions.
True, .net is much better than Java, but I think much of that is down to the tooling - try writing C# code in notepad!
They're both still pretty inefficient though, I've played a couple of games written in C#/XNA, they're ok, but there's a lot of grinding at startup and a lot of sluggishness after you've played for a while. Could be just general poor programming practice from games devs, but there's a fair amount of language "assistance" there.
except the little problem of major component updates coming in v3.51 and the server OS being released with v3.5 on it,so many of your bleeding-edge programs wouldn't run.
I think they fixed this by simply reducing the amount of development going into .NET, thereby reducing the frequency of .net releases.
Oracle... we don't care. Please just donate Java to the trash.
TFYFY.
Oh wait, you mean they already did that?!
but you're wrong.
The plugin is simply the vector that a great number of attacks use to infect your system, the flaws are still (mostly) in the JVM.
Don't stick your head in the sand and say "blah blah no flaws in java", as you're doing everyone a huge disservice. There are bugs in the JRE that are exploited all the time (check the security fixes Oracle publishes to see what these are)., and understand that removing the plugin simply means the attackers have a harder, but not impossible, time to hack you.
true, if you looked at the business you'd see the accounts and then panic you'd not earn enough revenue to pay your workers... then you might have a different appreciation for why management wants stuff to sell.
Microsoft's problem is not about that, its more like 2 different managers pulling the company in different directions, expecting incompatible features added so they each can build themselves up over the other team.
in fact, who came up with the summary "you're old so you can't be a coder no more"-type nonsense is what I see on the web from immature kids who don't know the old and good ways of working, all they know is the new let-intellisense-do-it-for-you way of coding and think they're the greatest.
I wonder if I should post to /. saying "what do do with young brogrammers who can't code or design properly and rely on the tools to do all the work for them?"
ho well, anyway, another non-story for /. - in this case it sounds like the guy isn't very good in the first place, but you can't always trust the implication seeing as we only have one, biased, side of the story.