Yeah, because everyone wants to wait 8 hours for gnome to compile.
Portage can work with binaries. The package to be installed can be source, binary, or your grand-daddy's p0rn. Portage is a bunch of python scripts that make dependency checking and package distribution easy. Your package being source is not a strict precondition.
Of course it's going to be easier than C/C++, but that's mostly a strawman argument that everybody agrees on anyway.
Petitio principii. Have you ever written modern C++? Have you ever used Boost?
The real issue is whether the improvement is worth the price, and whether equivalent improvements could be achieved through other, less MSFT-dependent means. This needs to be hashed out by lawyers, not coders.
FUD and inaccurate. C#, CLI, and C++/CLI are ECMA standards. Soon to be ISO standards. It's already been hashed out by the lawyers. If you are talking patents, then all languages are patent encumbered. And your argument still doesn't hold.
To the best of my knowledge, MS has never sued anyone over patent claims to a language. Whereas, Sun has sued over Java. So by your line of reasoning, I'd be opening myself up to more legal ramifications if I used Java.
I'm a c++er and a look at the job pages quickly has me thinking that.NET is gaining ground all the time. The dilema is that to move into that field moves me away from where I currently am, able to stradle several technologies and not just MS stuff.
C++ is an ISO standard. And you do realize that C#, CLI, and C++/CLI are ECMA standards. And soon to be ISO standards.
EDG is in the process of writing a front end for C++/CLI. The EDG parser is used by Intel, Borland, Comeau, and others. Although C#, CLI, C++/CLI were primarily created by MS, calling them MS technologies is inaccurate.
(Note:.NET/CLR is MS's implementation of CLI. Mono is another implementation of the CLI. Think of it as analagous to JRE in the Java world. Which by the way is not standardized.)
Unfortunately, the powers-that-be in the Java language community decided to ban operator overloading, apparently because it can be mis-used.
Java also doesn't have value-types, which are a prerequisite for an implementation of operator overloading that would be useful.
http://mindprod.com/jgloss/valuetype.html
For example, in Fortran everything is a value type. And that is convenient for optimization because you don't get any pointer aliasing. That is why a lot of math libraries are implemented in Fortran.
In Java, everything except for primitives are reference types.
In C/C++, you get to choose if you want pass around value types or reference types. Ditto for C#, which is more explicit in the syntax for this feature.
Canada has no problem chucking the constitution in the trash and rewriting it whenever they see fit. (Meech lake, et al).
The last time I checked, the Meech Lake accord did not pass.
They've done it more than a few times in the past. They try to do it every time a bunch of vocal racists in Quebec start piping up about the special priveledges they feel they deserve.
The Meech Lake Accord did not pass. The Charlottetown Accord did not pass. Your post is a bunch of mistruths, ad hominem attacks, and FUD.
I used to live in a condo out in the suburbs. It was about a 40 minute drive to work. I moved into an apartment that is about a 20 minute walk to work.
My rent went up by $300, but I spend $300 less a month gassing up the car.
My electricity and heating bill went from about $75 a month to about $20. Not a big deal, but hey, whatever.
And the 20 minute walk means I'm like less fat and stuff. And walking is much less stressful than putting up with fucktards in traffic.
C++ failed in part because of the unfounded belief that its supporters had in its abilities..
C++ failed? Hmm, the last time I checked one of the two OSs that I use on a regular basis is written in C++. And the web browser, email client, instant messenger, IDE, PDF viewer, source control software, mp3 player, and word processor that I have opened right at this moment is written in C++.
Mod parent conveniently making up bullshit or funny definition of failure.
Not to mention that normal programmers never use JNI... It's a very low level integration API.
And that's why a whole class of software is not written in Java. Get out of your web services, connect to database world.
At my previous position, we had a volume renderer that was written in C++, an SDK on top of the volume renderer that was written in managed C++, and applications were written in C#, VB.NET and Python.NET.
The right tool for the right job.
Using JNI would have been a pain in the eff-ing ass. Java is not low-level enough to be a high-performance systems programming language, and not high-level enough to be a scripting langauge. Hence, a good choice for web services but not the best choice for anything else.
"All next generation consoles will use CISC hardware. Hence, economies of scale to get the price down."
You mean RISC, right?
Yup, I meant RISC.
"x86 is dead and mobile devices wrote the eulogy"
A more articulate post will be required to convinced me, I've afraid.
I use my cell phone, iPod, PS2, pda, and PVR more often than I use my desktop machine. That's enough convincing for me. I'm not in the business of convincing others.
Only if it complies with x86. Seriously, x86 will be around for a century.
That's ridiculous. x86 is dead. The overheating and power consumption confirms it.
CISC hardware is horrible in mobile devices because of battery life and power consumption. Your camera, iPod, cell phone, and PDA do not use x86 hardware.
All next generation consoles will use CISC hardware. Hence, economies of scale to get the price down.
Game developers should only use OpenGL for newly written rendering code. It is a high performance, advancing standard. Microsoft often "borrows" from it for Direct X (n+1).
An API is an API is an API is an API. Here are the major differences:
OpenGL is a C API, D3D uses COM
D3D drivers are implemented in ring-0, OpenGL is implemented in ring-3 (This is the case for Windows, obviously, since D3D isn't really implemented on other platforms)
So the question is, why do developers choose to go with D3D over OpenGL:
D3DX is regularily updated, GLU hasn't been updated in years (both are helper libraries)
The D3D reference rasterizer is really handy for debugging
It's easier to debug D3D code because it is nicely integrated with Visual Studio.
D3D gets tool support before OpenGL. (RenderMonkey, CgFX, etc).
There is no OpenGl equivalent to the HLSL Effects file format.
For companies other than Ati and NVIDIA (eg, Intel, Matrox, SIS), the D3D driver is more stable than the OpenGL driver, because Microsoft's implements a good chunk of the D3D driver themselves. SGI's reference implementation hasn't been updated in years.
OpenGL needs more tool support and more stable drivers for Windows developers to switch. Those are the technical reasons.
Canada is, socially, an extremely repressive country, especially these days.Forget about being an individual up here, coz it ain't on. If you do not conform to the prescribed standards, you are ostracized and marginalized. I see it all the time every day up here.
Depends on where you live. I was born in northern BC, and this was the case. It certainly isn't the case here in Vancouver. This repressiveness is not due to any law. It is due to your fellow neighbour.
We are not an innovative country, we don't like it.
Try telling that to my employer or my fellow employees. I work at a game development studio. I used to work at a high-tech startup. In terms of industry there are tons of animation and film studios, Ballard Power (hydrogen fuel cells). There are state of the art particle accelerators at the universities. I could you many more examples.
What exactly are you talking about in terms of innovation?
Ask any average person in the middle class up here how they feel about a given controversial topic, and wonder at the conservative response you get. Speak in public say, in a cafe, about that same topic and observe the dirty "shut-the-fuck-up" looks you get.
I live in the West End here in Vancouver. Think of it as San Francisco, but Canadian. Once again, this repressiveness that you speak of is not due to any law, but the people that you surround yourself with.
THAT, my friends, IS Canada. Get in line, conform, and dont make a fuss.
That my friends is Middle Canada (coining term), and every nation has one, irrespective of the laws of the country.
Is it just porting the build scripts that you're having problems with?
At my current place of employment we use Perforce for source control with their Visual Studio plugin. We use Visual Studio 2003 as our IDE and their compiler. Our project is about 1 million lines of code at the moment, so we use IncrediBuild for distributed compilation on development machines. It works similar to distcc. We use a bunch of Lua to launch builds on our build/"continous integration" machine.
At my previous place of employment we used Perforce and Visual Studio with Intel's compiler. And a bunch of Perl scripts to launch builds on our build machine.
When I finished my undergrad, looking back at my high school education, it seemed trivial in comparison. Now that I have a couple years in industry, looking back at my undergrad, it seems trivial in comparison. That's assuming one takes on a challenging job in industry.
Even comparing 1st year with 4th year. In 1st year, we would go through 1 chapter of a textbook a month. In 4th year, it was about 1 chapter per week. These days, I try to get through 1 technical book a month and 1 non-technical book a month. That's on top of the 50 hour work weeks that I put in.
It's just a whole different ball game. If you continuely challenge yourself, you will adapt.
Btw, this is not a knock against academia. Do what you love. Do what challenges you. If that happens to be academia, go with academia.
Even if the Intel compiler is faster, it's best not to get in the habit of becoming locked into any proprietary platform.
That is why it is important to compile your code using multiple compilers. Prefer to write code to the C/C++ standards rather than to a particular compiler's idiosyncracies, GCC included. Different compilers also emit different warnings, helping one find bugs sooner.
Nikolaus Gebhardt, the developer in question, wants to make all the architectural decisions and do all of the development until the engine hits 1.0. That's fine. That is a very viable method to secure the vision of an open-source project.
Fear that the project will be abandoned is mostly unfounded. It is released under a libPNG style license and may be branched at any time.
Why does it matter which processor processes what? It's all bits, right? Why can't you process any data on either your CPU or your GPU?
There is the Sh language that tries to balance workload between the CPU and the GPU.
However, the CPU is a general purpose processor. The GPU is evolving into a general purpose parallel processor. That means the CPU can do this, then do that, then do something else very well. The GPU can do the exact same thing many times very well. So each processor has its pros.
Asynchronous execution. Think of the CPU as a client and the GPU as the server. The CPU says, "Hey, can you take care of this for me. I don't really need the results right away, but finish up as fast as you can." This is how the OpenGL API is designed. The CPU sends commands to the GPU (usually over a bus like AGP or PCI-X). The GPU queues these commands up and executes them in order.
So what the BionicFX guys are probably doing (I didn't actually RTFA), is telling the GPU to process the data in some manner. Then they send the GPU tons and tons of data. The GPU will out-process the CPU every day of the week on this type of task.
You don't want the CPU to readback the results from the GPU. That would cause a stall. The CPU would sit idle as the GPU would have to finish executing all of the commands. Then the GPU has to massage all the results before sending them back to the CPU.
Make sense? I'm missing tons of details, so ask away if you have any other questions.
Because it is the one area where MS completely and utterly destroys Linux and the one are where Linux really needs to grow up.
Not entirely true. I wish people would stop repeating this fallacy. Only referring to the Direct3D and OpenGL APIs, OpenGL is starting to rev faster than D3D. Render to texture is still a mess, but hopefully that'll be fixed in the next couple months.
Drivers and tools on the other hand are a different story.
This is what the O(1) scheduler is for. I'm using KDE right now and emerging packages in the background. Firefox, OpenOffice, xmms, Thunderbird are all open. There are hiccups when opening new tabs or windows, but the latency is bearable.
Your foreground task should get a timeslice whenever the compilation task hits a #include and has to open up another file.
Vaughn Palmer has been covering this issue extensively on Voice of BC. He interviewed the privacy commissioner a couple weeks ago. The Vancouver Sun, The Province, Global TV, BCTV, CityTV, and even the Georgia Straight have pretty much ignored this issue. I highly recommend watching VoBC. It's live on Wednesdays at 8PM, repeats on Saturdays and Sundays.
I'm still not convinced that the legislation the the government intends to pass in BC can overrule the Patriot Act. The fact that Geoff Plant, the BC Attorney General, is tyring minimize the perceived risk is a complete and utter joke.
Portage can work with binaries. The package to be installed can be source, binary, or your grand-daddy's p0rn. Portage is a bunch of python scripts that make dependency checking and package distribution easy. Your package being source is not a strict precondition.
Regards.
Petitio principii. Have you ever written modern C++? Have you ever used Boost?
The real issue is whether the improvement is worth the price, and whether equivalent improvements could be achieved through other, less MSFT-dependent means. This needs to be hashed out by lawyers, not coders.
FUD and inaccurate. C#, CLI, and C++/CLI are ECMA standards. Soon to be ISO standards. It's already been hashed out by the lawyers. If you are talking patents, then all languages are patent encumbered. And your argument still doesn't hold.
To the best of my knowledge, MS has never sued anyone over patent claims to a language. Whereas, Sun has sued over Java. So by your line of reasoning, I'd be opening myself up to more legal ramifications if I used Java.
C++ is an ISO standard. And you do realize that C#, CLI, and C++/CLI are ECMA standards. And soon to be ISO standards.
EDG is in the process of writing a front end for C++/CLI. The EDG parser is used by Intel, Borland, Comeau, and others. Although C#, CLI, C++/CLI were primarily created by MS, calling them MS technologies is inaccurate.
(Note: .NET/CLR is MS's implementation of CLI. Mono is another implementation of the CLI. Think of it as analagous to JRE in the Java world. Which by the way is not standardized.)
Java also doesn't have value-types, which are a prerequisite for an implementation of operator overloading that would be useful.
http://mindprod.com/jgloss/valuetype.html
For example, in Fortran everything is a value type. And that is convenient for optimization because you don't get any pointer aliasing. That is why a lot of math libraries are implemented in Fortran.
In Java, everything except for primitives are reference types.
In C/C++, you get to choose if you want pass around value types or reference types. Ditto for C#, which is more explicit in the syntax for this feature.
The last time I checked, the Meech Lake accord did not pass.
They've done it more than a few times in the past. They try to do it every time a bunch of vocal racists in Quebec start piping up about the special priveledges they feel they deserve.
The Meech Lake Accord did not pass. The Charlottetown Accord did not pass. Your post is a bunch of mistruths, ad hominem attacks, and FUD.
http://en.wikipedia.org/wiki/Charlottetown_Accord
Good Sir, welcome to my foe list.
My rent went up by $300, but I spend $300 less a month gassing up the car.
My electricity and heating bill went from about $75 a month to about $20. Not a big deal, but hey, whatever.
And the 20 minute walk means I'm like less fat and stuff. And walking is much less stressful than putting up with fucktards in traffic.
C++ failed? Hmm, the last time I checked one of the two OSs that I use on a regular basis is written in C++. And the web browser, email client, instant messenger, IDE, PDF viewer, source control software, mp3 player, and word processor that I have opened right at this moment is written in C++.
Mod parent conveniently making up bullshit or funny definition of failure.
gcc autovectorization page.
And that's why a whole class of software is not written in Java. Get out of your web services, connect to database world.
At my previous position, we had a volume renderer that was written in C++, an SDK on top of the volume renderer that was written in managed C++, and applications were written in C#, VB.NET and Python.NET.
The right tool for the right job.
Using JNI would have been a pain in the eff-ing ass. Java is not low-level enough to be a high-performance systems programming language, and not high-level enough to be a scripting langauge. Hence, a good choice for web services but not the best choice for anything else.
Yup, I meant RISC.
I use my cell phone, iPod, PS2, pda, and PVR more often than I use my desktop machine. That's enough convincing for me. I'm not in the business of convincing others.That's ridiculous. x86 is dead. The overheating and power consumption confirms it.
CISC hardware is horrible in mobile devices because of battery life and power consumption. Your camera, iPod, cell phone, and PDA do not use x86 hardware.
All next generation consoles will use CISC hardware. Hence, economies of scale to get the price down.
x86 is dead and mobile devices wrote the eulogy.
An API is an API is an API is an API. Here are the major differences:
OpenGL is a C API, D3D uses COM
D3D drivers are implemented in ring-0, OpenGL is implemented in ring-3 (This is the case for Windows, obviously, since D3D isn't really implemented on other platforms)
So the question is, why do developers choose to go with D3D over OpenGL:
D3DX is regularily updated, GLU hasn't been updated in years (both are helper libraries)
The D3D reference rasterizer is really handy for debugging
It's easier to debug D3D code because it is nicely integrated with Visual Studio.
D3D gets tool support before OpenGL. (RenderMonkey, CgFX, etc).
There is no OpenGl equivalent to the HLSL Effects file format.
For companies other than Ati and NVIDIA (eg, Intel, Matrox, SIS), the D3D driver is more stable than the OpenGL driver, because Microsoft's implements a good chunk of the D3D driver themselves. SGI's reference implementation hasn't been updated in years.
OpenGL needs more tool support and more stable drivers for Windows developers to switch. Those are the technical reasons.
What exactly are you talking about in terms of innovation?
I live in the West End here in Vancouver. Think of it as San Francisco, but Canadian. Once again, this repressiveness that you speak of is not due to any law, but the people that you surround yourself with. That my friends is Middle Canada (coining term), and every nation has one, irrespective of the laws of the country.Hey. I didn't realize Bill O'Reilly posted here.
At my current place of employment we use Perforce for source control with their Visual Studio plugin. We use Visual Studio 2003 as our IDE and their compiler. Our project is about 1 million lines of code at the moment, so we use IncrediBuild for distributed compilation on development machines. It works similar to distcc. We use a bunch of Lua to launch builds on our build/"continous integration" machine.
At my previous place of employment we used Perforce and Visual Studio with Intel's compiler. And a bunch of Perl scripts to launch builds on our build machine.
What exactly are you having problems with?
Even comparing 1st year with 4th year. In 1st year, we would go through 1 chapter of a textbook a month. In 4th year, it was about 1 chapter per week. These days, I try to get through 1 technical book a month and 1 non-technical book a month. That's on top of the 50 hour work weeks that I put in.
It's just a whole different ball game. If you continuely challenge yourself, you will adapt.
Btw, this is not a knock against academia. Do what you love. Do what challenges you. If that happens to be academia, go with academia.
That is why it is important to compile your code using multiple compilers. Prefer to write code to the C/C++ standards rather than to a particular compiler's idiosyncracies, GCC included. Different compilers also emit different warnings, helping one find bugs sooner.
Fear that the project will be abandoned is mostly unfounded. It is released under a libPNG style license and may be branched at any time.
I get enough of this shit from mainstream media.
There is the Sh language that tries to balance workload between the CPU and the GPU.
However, the CPU is a general purpose processor. The GPU is evolving into a general purpose parallel processor. That means the CPU can do this, then do that, then do something else very well. The GPU can do the exact same thing many times very well. So each processor has its pros.
Asynchronous execution. Think of the CPU as a client and the GPU as the server. The CPU says, "Hey, can you take care of this for me. I don't really need the results right away, but finish up as fast as you can." This is how the OpenGL API is designed. The CPU sends commands to the GPU (usually over a bus like AGP or PCI-X). The GPU queues these commands up and executes them in order.
So what the BionicFX guys are probably doing (I didn't actually RTFA), is telling the GPU to process the data in some manner. Then they send the GPU tons and tons of data. The GPU will out-process the CPU every day of the week on this type of task.
You don't want the CPU to readback the results from the GPU. That would cause a stall. The CPU would sit idle as the GPU would have to finish executing all of the commands. Then the GPU has to massage all the results before sending them back to the CPU.
Make sense? I'm missing tons of details, so ask away if you have any other questions.
It's called the OpenGL Shading Language.
Not entirely true. I wish people would stop repeating this fallacy. Only referring to the Direct3D and OpenGL APIs, OpenGL is starting to rev faster than D3D. Render to texture is still a mess, but hopefully that'll be fixed in the next couple months.
Drivers and tools on the other hand are a different story.
Open source is customer service. If you buy the software you also buy the source.
Your foreground task should get a timeslice whenever the compilation task hits a #include and has to open up another file.
I'm still not convinced that the legislation the the government intends to pass in BC can overrule the Patriot Act. The fact that Geoff Plant, the BC Attorney General, is tyring minimize the perceived risk is a complete and utter joke.