> abysmal performance
"The performance of uvloop-based asyncio [Python async networking/webserver] is close to that of Go programs."
https://magic.io/blog/uvloop-b...
This is simply wrong. No you do not. I've migrated hundreds of projects through every python transition from 2.6 to 3.7, and never had these problems. I say this with sympathy, not condemnation, because we've all been there in one topic or another, but you must be doing it wrong.
> It must be a small challenge involving a relatively simple task.
I think an interesting point is that, for problems larger than small, well-defined tasks (ie. any real world project), then the speed advantages or disadvantages of the language start to get swamped by the choice of algorithms.
I spent some time working through the small programming challenges at projecteuler.net. It is worth noting that the submitted solutions by users, in many languages, vary in execution time over many orders of magnitude, and my casual inspection seemed to show that the thing that correlated with fastest execution speed was not choice of language, but choice of algorithm.
The programmers submitting solutions are amongst the set who are voluntarily spending their own time to do this - hence while they aren't the best programmers out there, they also probably aren't the worst.
My conclusion is that if you can afford to get a good programmer to spend all day optimising a small bit of code, then yes C is going to be fastest. But as soon as the problem gets larger, or as development time is reduced to more normal proportions, then most half-decent programmers choice of non-obviously sub-optimal algorithms is going to swamp that. A high level language that supports discovery and implementation of the right algorithm, by giving the programmer less low-level detail and fewer lines of code to worry about, is going to claw back some ground.
This matches with my own experience of Python. People expect that performance will be terrible, and when we measure it in benchmarks, it is terrible. But in real-world projects, it is great. So what's going on?
>> on more platforms
On more developer platforms, or more end-user platforms? The former isn't such a big deal, and silverlight shows all the signs of being implementable on all end-user platforms.
I really disagree that using Vim (or any other advanced, highly refined modern text editor) is a bad thing. It's a far more suitable for editing code than any text editor which is included 'out of the box' with an IDE.
There are a thousand things I do to source code on a daily basis using standalone editors like Vim, which one could never do with, say Visual Studio's text editor. Execute an external script or program to manipulate the text-being-edited, for one example. Sorting lines of text.
This is entirely in keeping with the UNIX philosophy of giving the user the power to construct an environment that bests suits them, made up from many small but highly specialised and powerful tools, rather than forcing them to do everything within the mediochre confines of one single monolithic application.
I couldn't disagree more. The industry is suffering a crippling dearth of innovation and risk-taking, and suggesting that everything has to match up to some prescribed formula as described could not be more damaging for the industry. How about instead of adding more restrictions, we remove the crippling existing ones that make every darn game the same? How about a FPS with no fecking guns in it, just once?
'Tag' in my experience involves one person chasing whoever is closest/slowest in the group. There's a world of difference, psychologically, between that and having the group chase after a single 'chicken'.
For what it's worth, I *love* being the chicken. But I hate being 'it'.
That's a bit of a retarded demo for the technology: every techie's instincts are screaming "why not just transmit the RSS and convert to speech at the client?"
Your sig betrays your furtive lust for the power and mayhem of a griefer's life. Isn't that feeling of gleeful abandon the whole reason we play games in the first place? To do things we wouldn't get away with in real life? You seem to have missed the whole point.
If a griefer is exploiting game behaviors which exist outside the context of the game - for example pulling the plug before an online game can run to completion - then I'd agree with you completely. Such behaviour is not simply griefing, it is downright cheating, and not acceptable under any circumstances.
But if the griefer merely expoits advantages they have found within the framework of the game's ruleset, then they are doing nothing more than playing the game. It forces everyone else to think of counter-tactics to escape the griefer, and then the griefer needs to refine or replace their tactics if they are to get their kicks. Successive iterations of this cause everyone to raise their game, causing a natural evolution in player behaviour, as the ultimately effective tactics that are implied by the games rules are slowly divined by all present.
If the game offers no counter-tactics which griefer victims can use, then guess what? You're playing a shit game! Bail on it and find one with a modicum of tactical depth.
Check out David Sirlin's smashing essays about 'Playing to Win', starting here on sirlin.net.
>>People that answer them well have either prepared and rehearsed stock answers for them
But that's exactly the point! Someone who flunks such an inevitable question is obviously an undesireable candidate, because they either were so clueless that they didn't expect such a question to come up, or else they are so arrogant or lazy that they didn't even bother to prepare a stock answer for it. That is precisely why such questions get asked.
>> Obviously there may well be a difference between what they say they would do, and what they would do.
That's not strictly relevant. The test is not so much about what you would actually do - they assume that people will (often unknowingly) lie somewhat, to give an answer which seems acceptable. The testers are far more interested in what you choose to present as your acceptable facade - what aspects of the question you deem important, and which things you simply overlook.
Hey Guppo06. I'm not sure I agree. I want to know the location for the social/political implications, so for me, geographical units consisting of large collections of people seem to be significant.
If a small region with a high people density does lots of interesting stuff, it makes sense to break it down into smaller areas. It does seem useful to subdivide California or the UK into smaller portions, with meaningful cultural disparities, not so much for Alaska or Antarctica, which may be larger, but have less population.
>> The only countries bigger than the US are Russia and Canada
Except if you rank 'bigger' by population (which seems more meaningful to me than land area), in which case it's China and India.
Not really. Off the top of my head, my country (the UK) is about the same population as ten average US states. I'm not sure that the size of a state's economy has much bearing on this - and maybe that's a telling distinction between our two viewpoints. Those with wealth will always think that wealth is important.
I might be speaking out of my ass here, my math is way rusty, but I suspect that with that sort of pre-calculated approach, you're limiting what developers can do in-game - and limiting them to the least interesting set of behaviors at that.
Who cares about a cloak that ripples if you can't interact with it? It's just eye candy. However, a cloak that gets caught in doors, pulled taut, torn in two, used as a makeshift sack, to which some of your objects stick because you spilled tar on them. Can all this be done with pre-assigmed cofficients? (an honest question, not rhetorical)
You want to limit the developer imagination as little as possible.
Hey. Actually I'm English. And I appreciate your comment, but I really disagree. The unparalleled expressiveness of the English language derives from its flexibility - its voracious and gleeful enthusiam for incorporating words and idioms from new sources. Without this, the language would be unable to represent new ideas and experiences with the fidelity and grace it currently has, and, worse, would become tired and stale in our mouths and on the page. To exercise the rules of grammer is to exercise our minds. Those rules should be flexed, that we should know their limits, and in appropriate forums we should be empowered to knowingly break them for effect. This is how the language evolves, and without such evolution it is dead - and would be supplanted by other languages which lend themselves more willingly to do the task at hand. Communication is the goal, the rules and conventions of grammar are subservient to it.
complaining that they didn't get to do anything fun,
Real programmers think that optimising around cache-hits is fun. If you don't want to program, you probably shouldn't be learning to be a programmer, no?
>> the fact is that people will drive no matter what the price is.
Both elementary economics theory and practical experience shows that isn't true.
What you are perhaps forgetting is that, although a price rise in gasoline overnight will not make people change their mind about driving to work the next day, in the long term it will have many other effects. It will make the public consider a more fuel-efficient cars on their next purchase. It will make home buyers consider houses with a smaller commute. It will increase demand for, and hence availability of, public transport. It will make cars unnaffordable for people like students, who will choose to live on a campus which does not require a car. Ultimately, it will create an incentive to reduce the creation of sprawling cities which are designed on the assumption that every citizen owns a car and wants to drive it everywhere. Which, by happy coincidence, would also make for cities which are far nicer places to live. Where you know your neighbours, your friends live within three blocks of you, and you don't have to travel three miles just to get milk.
For disclosure: I lived in the US for 5 years, but am now back in my home country, England, so that's where my perspective is coming from.
Presumably it would be less confusing if you could give the player some realtime feedback as to what was going on, eg. with 'tracer' lines which showed a bullet's arc and speed. Make them only visible to the shooter, if you feel that negatively disrupts stealth attacks.
This idea can be extended further: The distinction between 'using a computer' and not doing is very blurred for some lifestyles.
I used to live in a shared house with a half-dozen or more computers belonging to several people lying around. Used computers to play music on the house stereo, or movies on the house tv, with wi-fi laptops lying around on the couch for ad-hoc web access or whatever.
Sitting on the couch watching a movie (streamed from the internet or the basement house server - who knows?), me and housemates get into a debate over a word used on tv, and one of us leans over to the lappy to access dictionary.com. At what point did we start/stop 'using a computer', never mind 'get online'?
> abysmal performance "The performance of uvloop-based asyncio [Python async networking/webserver] is close to that of Go programs." https://magic.io/blog/uvloop-b...
This is simply wrong. No you do not. I've migrated hundreds of projects through every python transition from 2.6 to 3.7, and never had these problems. I say this with sympathy, not condemnation, because we've all been there in one topic or another, but you must be doing it wrong.
You do know that 'go' is moving to a backwards incompatible version 2.0, right? https://blog.golang.org/toward...
> It must be a small challenge involving a relatively simple task.
I think an interesting point is that, for problems larger than small, well-defined tasks (ie. any real world project), then the speed advantages or disadvantages of the language start to get swamped by the choice of algorithms.
I spent some time working through the small programming challenges at projecteuler.net. It is worth noting that the submitted solutions by users, in many languages, vary in execution time over many orders of magnitude, and my casual inspection seemed to show that the thing that correlated with fastest execution speed was not choice of language, but choice of algorithm.
The programmers submitting solutions are amongst the set who are voluntarily spending their own time to do this - hence while they aren't the best programmers out there, they also probably aren't the worst.
My conclusion is that if you can afford to get a good programmer to spend all day optimising a small bit of code, then yes C is going to be fastest. But as soon as the problem gets larger, or as development time is reduced to more normal proportions, then most half-decent programmers choice of non-obviously sub-optimal algorithms is going to swamp that. A high level language that supports discovery and implementation of the right algorithm, by giving the programmer less low-level detail and fewer lines of code to worry about, is going to claw back some ground.
This matches with my own experience of Python. People expect that performance will be terrible, and when we measure it in benchmarks, it is terrible. But in real-world projects, it is great. So what's going on?
I think that pdq332 is asserting that VB would be very popular. In which he would be correct. He makes no judgement about how 'good' it is.
>> on more platforms On more developer platforms, or more end-user platforms? The former isn't such a big deal, and silverlight shows all the signs of being implementable on all end-user platforms.
I really disagree that using Vim (or any other advanced, highly refined modern text editor) is a bad thing. It's a far more suitable for editing code than any text editor which is included 'out of the box' with an IDE. There are a thousand things I do to source code on a daily basis using standalone editors like Vim, which one could never do with, say Visual Studio's text editor. Execute an external script or program to manipulate the text-being-edited, for one example. Sorting lines of text. This is entirely in keeping with the UNIX philosophy of giving the user the power to construct an environment that bests suits them, made up from many small but highly specialised and powerful tools, rather than forcing them to do everything within the mediochre confines of one single monolithic application.
I couldn't disagree more. The industry is suffering a crippling dearth of innovation and risk-taking, and suggesting that everything has to match up to some prescribed formula as described could not be more damaging for the industry. How about instead of adding more restrictions, we remove the crippling existing ones that make every darn game the same? How about a FPS with no fecking guns in it, just once?
Frankly - no, I don't see the difference. Maybe there are better examples you could use? But I don't know any.
'Tag' in my experience involves one person chasing whoever is closest/slowest in the group. There's a world of difference, psychologically, between that and having the group chase after a single 'chicken'. For what it's worth, I *love* being the chicken. But I hate being 'it'.
YMMV, but 'gnuplot' produces good graphs for me.
That's a bit of a retarded demo for the technology: every techie's instincts are screaming "why not just transmit the RSS and convert to speech at the client?"
If a griefer is exploiting game behaviors which exist outside the context of the game - for example pulling the plug before an online game can run to completion - then I'd agree with you completely. Such behaviour is not simply griefing, it is downright cheating, and not acceptable under any circumstances.
But if the griefer merely expoits advantages they have found within the framework of the game's ruleset, then they are doing nothing more than playing the game. It forces everyone else to think of counter-tactics to escape the griefer, and then the griefer needs to refine or replace their tactics if they are to get their kicks. Successive iterations of this cause everyone to raise their game, causing a natural evolution in player behaviour, as the ultimately effective tactics that are implied by the games rules are slowly divined by all present.
If the game offers no counter-tactics which griefer victims can use, then guess what? You're playing a shit game! Bail on it and find one with a modicum of tactical depth.
Check out David Sirlin's smashing essays about 'Playing to Win', starting here on sirlin.net.
But it's still useful to discover which lies a person chooses to tell. To discover what they think is a desireable way to portray themselves.
But that's exactly the point! Someone who flunks such an inevitable question is obviously an undesireable candidate, because they either were so clueless that they didn't expect such a question to come up, or else they are so arrogant or lazy that they didn't even bother to prepare a stock answer for it. That is precisely why such questions get asked.
That's not strictly relevant. The test is not so much about what you would actually do - they assume that people will (often unknowingly) lie somewhat, to give an answer which seems acceptable. The testers are far more interested in what you choose to present as your acceptable facade - what aspects of the question you deem important, and which things you simply overlook.
Hey Guppo06. I'm not sure I agree. I want to know the location for the social/political implications, so for me, geographical units consisting of large collections of people seem to be significant. If a small region with a high people density does lots of interesting stuff, it makes sense to break it down into smaller areas. It does seem useful to subdivide California or the UK into smaller portions, with meaningful cultural disparities, not so much for Alaska or Antarctica, which may be larger, but have less population.
>> The only countries bigger than the US are Russia and Canada Except if you rank 'bigger' by population (which seems more meaningful to me than land area), in which case it's China and India.
Not really. Off the top of my head, my country (the UK) is about the same population as ten average US states. I'm not sure that the size of a state's economy has much bearing on this - and maybe that's a telling distinction between our two viewpoints. Those with wealth will always think that wealth is important.
I might be speaking out of my ass here, my math is way rusty, but I suspect that with that sort of pre-calculated approach, you're limiting what developers can do in-game - and limiting them to the least interesting set of behaviors at that. Who cares about a cloak that ripples if you can't interact with it? It's just eye candy. However, a cloak that gets caught in doors, pulled taut, torn in two, used as a makeshift sack, to which some of your objects stick because you spilled tar on them. Can all this be done with pre-assigmed cofficients? (an honest question, not rhetorical) You want to limit the developer imagination as little as possible.
Hey. Actually I'm English. And I appreciate your comment, but I really disagree. The unparalleled expressiveness of the English language derives from its flexibility - its voracious and gleeful enthusiam for incorporating words and idioms from new sources. Without this, the language would be unable to represent new ideas and experiences with the fidelity and grace it currently has, and, worse, would become tired and stale in our mouths and on the page. To exercise the rules of grammer is to exercise our minds. Those rules should be flexed, that we should know their limits, and in appropriate forums we should be empowered to knowingly break them for effect. This is how the language evolves, and without such evolution it is dead - and would be supplanted by other languages which lend themselves more willingly to do the task at hand. Communication is the goal, the rules and conventions of grammar are subservient to it.
complaining that they didn't get to do anything fun,
Real programmers think that optimising around cache-hits is fun. If you don't want to program, you probably shouldn't be learning to be a programmer, no?
Both elementary economics theory and practical experience shows that isn't true.
What you are perhaps forgetting is that, although a price rise in gasoline overnight will not make people change their mind about driving to work the next day, in the long term it will have many other effects. It will make the public consider a more fuel-efficient cars on their next purchase. It will make home buyers consider houses with a smaller commute. It will increase demand for, and hence availability of, public transport. It will make cars unnaffordable for people like students, who will choose to live on a campus which does not require a car. Ultimately, it will create an incentive to reduce the creation of sprawling cities which are designed on the assumption that every citizen owns a car and wants to drive it everywhere. Which, by happy coincidence, would also make for cities which are far nicer places to live. Where you know your neighbours, your friends live within three blocks of you, and you don't have to travel three miles just to get milk.
For disclosure: I lived in the US for 5 years, but am now back in my home country, England, so that's where my perspective is coming from.
Presumably it would be less confusing if you could give the player some realtime feedback as to what was going on, eg. with 'tracer' lines which showed a bullet's arc and speed. Make them only visible to the shooter, if you feel that negatively disrupts stealth attacks.
I used to live in a shared house with a half-dozen or more computers belonging to several people lying around. Used computers to play music on the house stereo, or movies on the house tv, with wi-fi laptops lying around on the couch for ad-hoc web access or whatever.
Sitting on the couch watching a movie (streamed from the internet or the basement house server - who knows?), me and housemates get into a debate over a word used on tv, and one of us leans over to the lappy to access dictionary.com. At what point did we start/stop 'using a computer', never mind 'get online'?