

Intel Develops Programming Language For Multi-Core Computers - mgcm
http://www.informationweek.com/news/software/development/showArticle.jhtml?articleID=208403616
As Intel (INTC) and rival Advanced Micro Devices (AMD) increase computer performance by adding cores to microprocessors, software makers are left with the daunting task of writing applications that take full advantage of the complex environment. Intel hopes to lend a hand through a new programming language -- called Ct -- the chipmaker has developed specifically for multi-core computing.
======
pmjordan
_Intel has yet to decide whether to release the language to the open source
community or take another route in distributing it. "We have the technology in
place, so it's now about adoption," Rajagopalan said._

I'll make a bold prediction: if they _don't_ open-source it, it'll be
effectively stillborn.

I have to admit, I'm not particularly impressed with what I've seen of Ct so
far. As far as I can tell, they've essentially introduced some SIMD-esque data
structures that have multithreaded operations. This looks passable for
numerical code, but limited to one machine. Maybe they can make a compiler
smart enough to spread the load over a cluster, but I'm not holding my breath.
The people I've met who do this kind of numerical stuff would never trust a
compiler to do the parallelisation for them anyway.

For the 95%+ of software out there that's not bottlenecked on vector/matrix
processing, this doesn't look promising. Besides, who is going to switch back
to a C/C++-like language that can't be compiled with existing tools and will
require some porting?

------
ComputerGuru
_Most C/C++ programmers should be able to pick up Ct quickly, since less than
5% of the language will be new, according to Rajagopalan._

Obviously written by a non-coder; because 5% new/changed keywords is HUGE. And
_learning_ the keywords isn't the problem, it's knowing how and when to use
them. Every modern (real) language has multi-threading support (albeit not as
described in the article), just most people don't know how to use it.

At any rate, it uses a runtime environment. If I wanted multi-threaded code
that uses a runtime environment, I'd turn to C# or Java, not Ct. What Intel
_should_ have focused on (in addition to the extension to the language's own
library) is making pure compile-time changes to the language that enable such
features, not mixed compile/run-time platforms.

~~~
cx01
Ct seems to be similar to MapReduce. So you would need a run-time in order to
dynamically load-balance the calculations to the individual processor cores.

------
bprater
Not open-sourcing the project is a huge miss.

Being able to program against multiple cores/processors/machines is one of the
biggest "unsolved" problems facing us right now.

Intel could make itself a real brand boost by embracing external developers,
especially if you plan on hacking C/C++.

~~~
illicium
_Being able to program against multiple cores/processors/machines is one of
the biggest "unsolved" problems facing us right now._

It's not much of a problem if you use correctly use multithreading. See also:
Erlang

~~~
PieSquared
"if you use correctly use multithreading" Good luck doing that 100% of the
time!

As for Erlang, I'm pretty sure it wasn't meant for numerical calculations, and
since it's interpreter, it can't really be used for all real-time apps.
Although it's process model is novel, the implementation might not be perfect
for everything right now. Correct me if I'm wrong on this (which I might well
be, since I have not spent too much time writing Erlang code.)

I think what the parent meant is that writing multithreaded programs easily
and quickly (not to mention bug-free) is hard, hard enough to be called a
problem.

------
bayareaguy
Here a more technical link on Ct:
<http://techresearch.intel.com/articles/Tera-Scale/1514.htm>

------
DenisM
Cray has also developed a new language for parallel programming
<http://chapel.cs.washington.edu/>

------
omouse
When will they move beyond C/C++?

