Easy there tiger! I always used to argue this same point myself! Still do many times. I write massivly parallel code all day (I'm an ASIC engineer coding in verilog). I never saw what these softies were complaining about when they said parallel code was hard. Then a friend told me about the problems he was having in visual studio writing multithreaded code, so I tried it out myself. Simply put, the current state of tools sucks!
Let me explain: Suppose I'm daft enough to use visual studio. Suppose I'm writing a multithreaded application and I've got a data structure being corrupted. In my verilog simulator this is easy to debug - there are very strict rules in the language about how variables get driven and the simulator is able to trace the multiple drivers of any net. In visual studio however, anyone can write to a data structure (if you get things wrong). Not only that, but the debugger isn;t fully aware of the concept of parallelism, so won't break all of the threads properly - they may even keep runnign while you're debugging them. So how do i trace who is stomping on my data structure if it's changing while I'm debigging it? If the language doesn't support proper isolation between processes, or clean message passing? Yes for small applications this is less of an issue, but I can imagine in a cruft infested bit of code, without the tools to help you debug, a language that is designed to be inherenltly parallel (and not to just have it bolted on like C or java) then I don't see how the development can occur except with the grossest levels or parralisation.
Speaking as someone looking from the outside a few things need to happen to software to make paralleism take off:
1) A language with the ubiquity of C, but with parallism handles similar to occam needs become mainstream. 2) Operating systems need to be updated with the new reality 3) Development tools need supporting to support all the above 4) Developer mindset needs to be changed, particularly with an eye to software architecture.
Only when all of the above has occured do I think we'll see what you say in your post. TBH I think with a multicore CPU on every desk we may see an equivalent to the dotcom boom again - Not sure if I want that though...
Ah! I thought you wanted a way to identify from people's search history which of those searches they'd be embarrased to be announced to their collegues. Therefore run their searches through the unsafe search engine, and the ones that get the most hits from there are the most embarrasing and therefore best choice to do txt to speach for use as a startup sound.
The only real problem (none political) would be if something went wrong. But why not launch that from a floating platform in the pacific - no noticable harm then, let it compete head to head with the space elevator next to it:-)
This is assuming we can ignore politics though, which you're quite right just isn't fair to do. Still if the day comes when 90% of our electric comes from nuclear, would people still be as opposed to nuclear rockets then? This is of course assuming we can't get fusion to work in the same way we currently can't get CNT to work...
And as another poster pointed out, if we can make CNTs work well enough to make a space elevator, won't that take conventional launch vehicles into a new realm too (imagine them much lighter and stronger)
Nuclear engines for example - be they fission or fusion? Ok not as cheap as a space elevator, but I imagine we are closer to builing one of those. Unnecesary? Maybe, maybe not, but possibly would achive the effects people look to the space elevator to achieve, but do it now!
A reminder, that a space elevator is only cheaper when you use it enough. I have a mental imaga of NASA finally building a space elevator and using it once a year...
Hang on, The maths our current model is based upon says they're mutually exclusive.
If we have observed an object that isn't a duck or a neutron star, or a meco, then it might still be a black hole and our current model may be incomplete.
i.e. if we prove observationally that mecos and black holes do exist, then that means our models/assumptions are wrong. or that what were observing is neither a meco nor a black hole but something else again...
take your pick: * Video Recorders * Amplifiers * Photography * Cars
Hell I'm sure the guy who invented the first water wheel used it to become popular with the ladies! All part of Man's greatest quest - Woman!
Maybe that's how you make space popular - start sending all the attractive women up there - watch society get behind making space acceptable to the masses then.
There's a flaw in that plan somewhere though... Awaiting to be modded most sexist post...
To be frank, why cry more science, why not spend some money on space engineering again. Face it engineering is what is preventing us from going to other planets - not science.
Tired of the karma burn, but what the hell! "BTW, "my particular dialect" must mean english is an auxiliary language for you" ROTFL I am actually English as far back as we can trace the geneaology. Just from the north of England mixed with some Cornwall, combined with Mancunian with some Essex and London thrown in; so my upbringing WRT language is not the same as the Queen's English. hence correct grammar for my peers is not the same as the textbook definition. I still support correct usage of your/you're their/there/they're etc as they add meaning to the language rather than obscure it (to me anyway). An individual's language is to me like an individual's religion, I may not agree with it, I may feel pain at what you do with it, but it is your's to do with as you please, if others don't understand you, then that is their right, as it is your right to communicate and potentially be misunderstood as the case may be. So I do have a different dialect from standard English, which means that I apply some traditional grammar and not others. Also my pronunciation differs from standard e.g. I pronounce book to rhyme with spook.
As I say, there's a good reason I don't tell people off about their grammar, (unless they ask me to), but have much sympathy for those who do.
Well I'd love to see C stick around as the language for programming micros and other single process machines at the metal level. It does that job great! Most of my hardware test scripts are written in C, it does the job great!
I'm just not sure it's the best tool to write all the software on my computer in. I suppose we're already seeing a migration away from C in the highest application levels - but I can't justify that.
"Rubbish. C is at home on Harvard as it is on Von-Neumann" Ok Mr AC you make a grand point - considering most CPUs with their MMUs separating Data and Instruction address spaces are as good as Harvard too.
By Von Neumann I was simplfying there, there are many architectures that are compatable with C - however there are many that aren't. An easy example for me is something like the transputer, although C compilers ended up being developed for it(in the end), it was a bodge and I see C as a stranglehold. As the person below says, C is a great shorthand for assembler - I just hope people realise that's what it often is.
Good Point! That's the reason I'm a silent Grammar Nazi - my particular dialect means I mess up many othe things - I'm just saying that some incorrect grammar usage make me cringe. I always welcome advice on how I could improve my communication provided people tell me why I've gone wrong, rather than just saying I am wrong.
:-) That's why I said it was a bad example... What I was meaning though was that if you had the SPEs less specialised (say as more generic PowerPC style cores) then it might get a bit more interesting.
Perhaps the best example is just a hypothetical future CPU with dozens/hundreds of CPUs on it - how do we program that - I really hope this is a problem the general programming community move towards solving now (like that'll ever happen:-))
I'm just thinking when the majority of desktop users have a dozen cores on their desktop, how will we use them - or put another way, how will we not. If the language is the the reason to not use those other cores (and C is a very good reason) then the speed of the language is a MAJOR problem...
BTW I am aware of the issues of parallel architectures - this is a hard problem. However I find it an interesting problem, and assume others would too. Let some people carry on doing their programming in Ruby or whatever the hell they want, let other re-wrire apache (for want of an example) to best make use of these many cores/cpus. Let's make this re-write easy by a language that supports these arcitectures, not a language designed for a single threaded processor.
As a silent grammar nazi myself I found it difficult to read the origonal post - my brain associates your and you're with different concepts. I've got in the habit now when reading slashdot of if I can't understand a post, reading it as if i was speaking it (but silently of course).
Is this a surprise? C is designed for classic Von-Neumann architecture machines using a stack based methodology and an attempt to give programmers all the rope they could want. This is a good thing for solving one set of problems. It also showed it can be adapted and built on to solve further more advanced problems. This is also a good thing.
I would question however if in these days with ever increasing usage of multiprocessors, MMUs, Register heavy CPUs, massive on chip caches, huge latency to access memory etc if the concepts embodied within C are still the best methodology?
I guess what I'm saying is i wonder if there is an equivalent medium level language* around that better suits todays reality. Let me as a possibly poor example take the cell processor as an example here: The kind of tools I'd like to see for this (were a cell style processor to be used in my next desktop) would be: 1) Access to the low level assembler. 2) An extemsion to the C language (possibly a library) which would mean I could run all my existing code as is on this multi processor machine, but I could then profile the code to make better use of new processor architectures in the interim until I migrate my code/programmers over to new methodology. 3) High level languages like python, Perl etc running in some mode - for tools like this I normally don't care about performance if I'm using thse tools - and wioth any luck, clever compilers/interprators will do some of the multi core management for me Although a new high level language which allows instruction/task level parallelism would be cool! 4) A new medium level language (along the lines of occam) which would allow me to have a comparable level of control and automation over this multi processor register and cache heavy system.
to me, 1 is implicitly required for any design, 3 comes for free once you have 2, and 4 is a way to progress forwards and gain productivity. That leaves 2 as a stop gap measure. That is all you programs compiled using #2 would make very inefficient use of such a processor,, but would maintain compatability for the time being until we can move on to more appropriate things. Will we ever leave C behind? Well we never left Fortran behind really, it's still there. I don't see any more reason to keep C for modern desktop processors than there was to keep training most programmers in fortran.
But will we ever move GNU off of C? I won't be throwing out my C LRM yet;-) Unfortunatly...
* By my definition: High level language - Hide all/as many as possible of the details of the machine from the programmer Low Level language - expose the programmer to as many of the machine details as possible Medium level - make some parts of the machine automated (e.g for loops) make some exposed to the programmer (e.g. memory managment) Yes this is a sliding scale, so arguments as to where a langauge lies are always open to debate
It does make me wonder what will happen after this servicing misson and the shuttle retires? How do we service it then? Can the CEV do it? Will there be cries to ressurect the shuttle to service it again in 2015 or so? Or do we have a last fix and then let it decay in its orbit...
I don't know about US, but in the UK, it is not anticipated they would shoot down a hyjacked plane over a city.
Consider a plane taking off from a London airport being hyjacked, you let the plane impact in the centre of london, you have a lot of damage. You blow it up over london and you still have all that debris to rain down, but because you blew it up high in the air the flaming debris and therefore fire is spread over a much wider area.
You can either have a medium/large area totally fucked, or a massive area very fucked. I believe most firefighters would rather have one large contained fire, than fires across miles of city.
WRT their being jucier targets though I agree, I've always wondered what a briefcase nuke detonated in the tube as it goes under the thames would do to the network...
Pardon my lack of understanding here but this is a genuine question: The uncertainty principle states that because of the nature of light/electrons (which we normally use to observe) you cannot know the absolute velocity and position of a particle.
Now for the sake of a thought experiment I have a device which using something other than light/electrons etc is able to measure the absolute position and velocity through some physics that we don't yet understand. If i was therefore able to work around heisemburg this way, does this get rid of the need for zero point energy?
i guess what I'm saying is this sounds to me equivalent to saying my meter stick isn't accurate to more than 1mm - there's a minimum uncertainty there - that doesn't mean the universe is limited to that uncertainty, simply my measurement of it is.
Easy there tiger!
I always used to argue this same point myself! Still do many times. I write massivly parallel code all day (I'm an ASIC engineer coding in verilog). I never saw what these softies were complaining about when they said parallel code was hard.
Then a friend told me about the problems he was having in visual studio writing multithreaded code, so I tried it out myself. Simply put, the current state of tools sucks!
Let me explain: Suppose I'm daft enough to use visual studio. Suppose I'm writing a multithreaded application and I've got a data structure being corrupted. In my verilog simulator this is easy to debug - there are very strict rules in the language about how variables get driven and the simulator is able to trace the multiple drivers of any net.
In visual studio however, anyone can write to a data structure (if you get things wrong). Not only that, but the debugger isn;t fully aware of the concept of parallelism, so won't break all of the threads properly - they may even keep runnign while you're debugging them.
So how do i trace who is stomping on my data structure if it's changing while I'm debigging it?
If the language doesn't support proper isolation between processes, or clean message passing?
Yes for small applications this is less of an issue, but I can imagine in a cruft infested bit of code, without the tools to help you debug, a language that is designed to be inherenltly parallel (and not to just have it bolted on like C or java) then I don't see how the development can occur except with the grossest levels or parralisation.
Speaking as someone looking from the outside a few things need to happen to software to make paralleism take off:
1) A language with the ubiquity of C, but with parallism handles similar to occam needs become mainstream.
2) Operating systems need to be updated with the new reality
3) Development tools need supporting to support all the above
4) Developer mindset needs to be changed, particularly with an eye to software architecture.
Only when all of the above has occured do I think we'll see what you say in your post.
TBH I think with a multicore CPU on every desk we may see an equivalent to the dotcom boom again - Not sure if I want that though...
Ah! I thought you wanted a way to identify from people's search history which of those searches they'd be embarrased to be announced to their collegues.
Therefore run their searches through the unsafe search engine, and the ones that get the most hits from there are the most embarrasing and therefore best choice to do txt to speach for use as a startup sound.
Nah, Earth is a type 13 planet - we're doomed!M on-20040607/019981.html
http://www.mccmedia.com/pipermail/brin-l/Week-of-
(sorry, that was the best link I could find for those of you who aren't lexx fans:-)
Ask and ye shall recieve:
http://www.monzy.org/unsafesearch/
Just cross reference their search history with # of hits on that site and you're done!
I was more thinking something like this:
:-)
http://www.nuclearspace.com/a_liberty_ship.htm
Than Orion or Nerva.
The only real problem (none political) would be if something went wrong. But why not launch that from a floating platform in the pacific - no noticable harm then, let it compete head to head with the space elevator next to it
This is assuming we can ignore politics though, which you're quite right just isn't fair to do. Still if the day comes when 90% of our electric comes from nuclear, would people still be as opposed to nuclear rockets then?
This is of course assuming we can't get fusion to work in the same way we currently can't get CNT to work...
And as another poster pointed out, if we can make CNTs work well enough to make a space elevator, won't that take conventional launch vehicles into a new realm too (imagine them much lighter and stronger)
You do know the cable is in tension yes? You do know it has tobe fabulously strong because of this massive tension?
Oh why do I bother?
Nuclear engines for example - be they fission or fusion?
:-)
Ok not as cheap as a space elevator, but I imagine we are closer to builing one of those. Unnecesary? Maybe, maybe not, but possibly would achive the effects people look to the space elevator to achieve, but do it now!
A reminder, that a space elevator is only cheaper when you use it enough. I have a mental imaga of NASA finally building a space elevator and using it once a year...
Not sure qute how serious I am being here
Hey my keyboard is broken! All I get are *'s in my password field...
Hang on,
The maths our current model is based upon says they're mutually exclusive.
If we have observed an object that isn't a duck or a neutron star, or a meco, then it might still be a black hole and our current model may be incomplete.
i.e. if we prove observationally that mecos and black holes do exist, then that means our models/assumptions are wrong. or that what were observing is neither a meco nor a black hole but something else again...
take your pick:
* Video Recorders
* Amplifiers
* Photography
* Cars
Hell I'm sure the guy who invented the first water wheel used it to become popular with the ladies!
All part of Man's greatest quest - Woman!
Maybe that's how you make space popular - start sending all the attractive women up there - watch society get behind making space acceptable to the masses then.
There's a flaw in that plan somewhere though...
Awaiting to be modded most sexist post...
To be frank, why cry more science, why not spend some money on space engineering again.
Face it engineering is what is preventing us from going to other planets - not science.
Tired of the karma burn, but what the hell!
"BTW, "my particular dialect" must mean english is an auxiliary language for you"
ROTFL
I am actually English as far back as we can trace the geneaology. Just from the north of England mixed with some Cornwall, combined with Mancunian with some Essex and London thrown in; so my upbringing WRT language is not the same as the Queen's English. hence correct grammar for my peers is not the same as the textbook definition. I still support correct usage of your/you're their/there/they're etc as they add meaning to the language rather than obscure it (to me anyway).
An individual's language is to me like an individual's religion, I may not agree with it, I may feel pain at what you do with it, but it is your's to do with as you please, if others don't understand you, then that is their right, as it is your right to communicate and potentially be misunderstood as the case may be.
So I do have a different dialect from standard English, which means that I apply some traditional grammar and not others.
Also my pronunciation differs from standard e.g. I pronounce book to rhyme with spook.
As I say, there's a good reason I don't tell people off about their grammar, (unless they ask me to), but have much sympathy for those who do.
Well I'd love to see C stick around as the language for programming micros and other single process machines at the metal level. It does that job great! Most of my hardware test scripts are written in C, it does the job great!
I'm just not sure it's the best tool to write all the software on my computer in.
I suppose we're already seeing a migration away from C in the highest application levels - but I can't justify that.
*Bangs head on desk*
"Rubbish. C is at home on Harvard as it is on Von-Neumann"
Ok Mr AC you make a grand point - considering most CPUs with their MMUs separating Data and Instruction address spaces are as good as Harvard too.
By Von Neumann I was simplfying there, there are many architectures that are compatable with C - however there are many that aren't.
An easy example for me is something like the transputer, although C compilers ended up being developed for it(in the end), it was a bodge and I see C as a stranglehold.
As the person below says, C is a great shorthand for assembler - I just hope people realise that's what it often is.
Good Point!
That's the reason I'm a silent Grammar Nazi - my particular dialect means I mess up many othe things - I'm just saying that some incorrect grammar usage make me cringe.
I always welcome advice on how I could improve my communication provided people tell me why I've gone wrong, rather than just saying I am wrong.
Wow! The Lancastrian accent makes it over text - Cool!
:-)
:-))
That's why I said it was a bad example...
What I was meaning though was that if you had the SPEs less specialised (say as more generic PowerPC style cores) then it might get a bit more interesting.
Perhaps the best example is just a hypothetical future CPU with dozens/hundreds of CPUs on it - how do we program that - I really hope this is a problem the general programming community move towards solving now (like that'll ever happen
I'm just thinking when the majority of desktop users have a dozen cores on their desktop, how will we use them - or put another way, how will we not. If the language is the the reason to not use those other cores (and C is a very good reason) then the speed of the language is a MAJOR problem...
BTW I am aware of the issues of parallel architectures - this is a hard problem. However I find it an interesting problem, and assume others would too. Let some people carry on doing their programming in Ruby or whatever the hell they want, let other re-wrire apache (for want of an example) to best make use of these many cores/cpus. Let's make this re-write easy by a language that supports these arcitectures, not a language designed for a single threaded processor.
As a silent grammar nazi myself I found it difficult to read the origonal post - my brain associates your and you're with different concepts.
I've got in the habit now when reading slashdot of if I can't understand a post, reading it as if i was speaking it (but silently of course).
I just can't read as fast when I have to do that.
Is this a surprise?
;-) Unfortunatly...
C is designed for classic Von-Neumann architecture machines using a stack based methodology and an attempt to give programmers all the rope they could want.
This is a good thing for solving one set of problems.
It also showed it can be adapted and built on to solve further more advanced problems.
This is also a good thing.
I would question however if in these days with ever increasing usage of multiprocessors, MMUs, Register heavy CPUs, massive on chip caches, huge latency to access memory etc if the concepts embodied within C are still the best methodology?
I guess what I'm saying is i wonder if there is an equivalent medium level language* around that better suits todays reality.
Let me as a possibly poor example take the cell processor as an example here:
The kind of tools I'd like to see for this (were a cell style processor to be used in my next desktop) would be:
1) Access to the low level assembler.
2) An extemsion to the C language (possibly a library) which would mean I could run all my existing code as is on this multi processor machine, but I could then profile the code to make better use of new processor architectures in the interim until I migrate my code/programmers over to new methodology.
3) High level languages like python, Perl etc running in some mode - for tools like this I normally don't care about performance if I'm using thse tools - and wioth any luck, clever compilers/interprators will do some of the multi core management for me
Although a new high level language which allows instruction/task level parallelism would be cool!
4) A new medium level language (along the lines of occam) which would allow me to have a comparable level of control and automation over this multi processor register and cache heavy system.
to me, 1 is implicitly required for any design, 3 comes for free once you have 2, and 4 is a way to progress forwards and gain productivity.
That leaves 2 as a stop gap measure.
That is all you programs compiled using #2 would make very inefficient use of such a processor,, but would maintain compatability for the time being until we can move on to more appropriate things.
Will we ever leave C behind? Well we never left Fortran behind really, it's still there. I don't see any more reason to keep C for modern desktop processors than there was to keep training most programmers in fortran.
But will we ever move GNU off of C?
I won't be throwing out my C LRM yet
* By my definition:
High level language - Hide all/as many as possible of the details of the machine from the programmer
Low Level language - expose the programmer to as many of the machine details as possible
Medium level - make some parts of the machine automated (e.g for loops) make some exposed to the programmer (e.g. memory managment)
Yes this is a sliding scale, so arguments as to where a langauge lies are always open to debate
It does make me wonder what will happen after this servicing misson and the shuttle retires?
How do we service it then? Can the CEV do it?
Will there be cries to ressurect the shuttle to service it again in 2015 or so?
Or do we have a last fix and then let it decay in its orbit...
Shame we can't rescue it like they origonally planned:
http://en.wikipedia.org/wiki/STS-144
Although it would be an irony if the mission so save hubble destroyed a space shuttle...
Not directly answering your question, but reasons why American foreign policy can get on people goats and can make them want to hurt american back can be found:- A-WarMay02.htm
http://www.mindfully.org/Reform/2002/How-To-Start
I don't know about US, but in the UK, it is not anticipated they would shoot down a hyjacked plane over a city.
Consider a plane taking off from a London airport being hyjacked, you let the plane impact in the centre of london, you have a lot of damage.
You blow it up over london and you still have all that debris to rain down, but because you blew it up high in the air the flaming debris and therefore fire is spread over a much wider area.
You can either have a medium/large area totally fucked, or a massive area very fucked.
I believe most firefighters would rather have one large contained fire, than fires across miles of city.
WRT their being jucier targets though I agree, I've always wondered what a briefcase nuke detonated in the tube as it goes under the thames would do to the network...
Slashdot is a news conglomeration site with comments. i.e. slashdot reports no news itself it merely directs you to the news.
Also in every other respectible field comments/opinions with regerences are worth far more than those without.
I welcome comments than can back up what they say.
Now if I only had a reference for my opinions...
Pardon my lack of understanding here but this is a genuine question:
The uncertainty principle states that because of the nature of light/electrons (which we normally use to observe) you cannot know the absolute velocity and position of a particle.
Now for the sake of a thought experiment I have a device which using something other than light/electrons etc is able to measure the absolute position and velocity through some physics that we don't yet understand.
If i was therefore able to work around heisemburg this way, does this get rid of the need for zero point energy?
i guess what I'm saying is this sounds to me equivalent to saying my meter stick isn't accurate to more than 1mm - there's a minimum uncertainty there - that doesn't mean the universe is limited to that uncertainty, simply my measurement of it is.
there are a few worthwhile things thereg .html
http://www.space.com/adastra/060209_adastra_minin