IBM Builds First Graphene Integrated Circuit
AffidavitDonda writes "IBM researchers have built the first integrated circuit (IC) based on a graphene transistor. The circuit, built on a wafer of silicon carbide, consists of field-effect transistors made of graphene. The IC also includes metallic structures, such as on-chip inductors and the transistors' sources and drains. The circuit the team built is a broadband radio-frequency mixer, a fundamental component of radios that processes signals by finding the difference between two high-frequency wavelengths."
Programmer time is more expensive than hardware time. If a less efficient language is easier to use, it makes business sense to use it to save money.
This does not explain the slow languages that are difficult to use, but it does explain why assembly has fallen from favor, and why C is in decline.
Well, let's not get ahead of ourselves. A mixer is an analog circuit, and silicon carbide is an expensive substrate to work with (very high processing temperatures), so it is typically only worthwhile for high-power analog devices. There is no discussion about anything digital in this article, so this is not related to programming languages or computers. Many analog devices have been made beyond 100 GHz on plain old silicon too; graphene on SiC may be important by enabling greater power density at high frequencies. As a microwave engineer, I'm excited about this, but this needs to happen on an inexpensive IC process for very small devices to be useful for digital circuits.
Write Once, Debug Everywhere.
15 years of optimization from Sun just to bring it within a magnitude of C? That seems quite a bit of effort wasted.
portable language like Java.
Right.... One can find a C compiler for pretty much every processor since the 80s. I can point out a number of still widely used architectures that have no JVM.
Remember when it used to be first, by a huge margin?
C is still more wisely used by a huge margin. Just because you "enterprise" developers don't use it (despite the infrastructure of your managed languages being written in C and C++) doesn't change that.
Within a generation, it'll be in the same class as FORTRAN - only used to support legacy apps.
Yeah right. What are you going to write your kernels in? What are you going to use for those millions if not billions of microcontrollers that will still be in use that can't run a JVM? What exactly are you going to write your VMs and interpreters in? Right, they will have to be written in a C or C++ and assembly.
Remember when it used to be first, by a huge margin? It's not dead by any means, and still a very active language, but it's not taught as much anymore. Within a generation, it'll be in the same class as FORTRAN - only used to support legacy apps.
... and kernels, and drivers, and embedded applications, and core libraries, and runtimes, too, unless those go away.
C is a fantastic language that very effectively performs a much-needed role in software development: to provide a lightweight, usable, and readable language while retaining (most of) the capabilities of machine code. C is intended to interface directly with the system, or closely with the operating system.
C is in decline because many modern programming challenges don't benefit from working on the level of machine code or operating system, nor should they. If I want to write a game, I want to focus on the game design and mechanics, not bit blitting pixels onto a buffer. Libraries, interfaces, and abstraction levels are all things higher-level languages leverage to constrain the perspective and duty of the developer to the most productive (and, oftentimes, interesting) areas.
Also, let's not forget that in the common non-kernel case, most of the reason C is even usable is because C, itself, leverages a massive host of support libraries and a not-so-lightweight runtime.
The circuit the team built is a broadband radio-frequency mixer, a fundamental component of radios that processes signals by finding the difference between two high-frequency wavelengths.
Did someone paid directly by IEEE write that? "Two high-frequency wavelengths?"
The device is a nonlinear summing element. In other words, it has a transfer function of the form y=Sum(ax^n) for integer values of n from zero to at least 2. A very common example is a diode. But it could also be a transistor in the saturation region, or something more esoteric.
Due to the nonzero second-order transfer function coefficient, provides not only the superposed sum of the two signals at their original frequency, but also at the sum and difference of the two input frequencies. Add filters to throw away the parts you don't want, and you can make a modulator, a frequency upconverter, or a downconverter... all of these are used every day inside things you probably have in your pocket or purse, from cellphones to car stereos, television receivers to communications satellites.
But basically, it does the same thing a diode does... just faster.
I can see the fnords!
Wow, you're full of shit. Graphene isn't useful for digital circuits at all (at least yet) because it has crappy on-off ratios, but GHz are most definitely useful for radio work.
Remember how everybody's using their mobiles for everything these days, and streaming video keeps getting more popular and higher bitrate? Well, when you run out of spectrum below 5GHz (where all mobile networks currently operate), getting up into the 10-100GHz range is extremely useful to provide that extra bandwidth.
Since nobody but actual electrical engineers seems to know anything about radio anymore (used to be a common hobby for geeks, but I guess it's not "cool" anymore), let me explain one application of a mixer like the one described in TFA. You can use it to make a transverter, which takes a signal from your UHF radio (maybe a mobile phone, wifi card, whatever), and kicks it up to ~10GHz for transmission. And flips received signals back down to the original ~2GHz band.
Not impressed? Sure, 10GHz isn't much, we can easily beat that already -- it's only a prototype. But it's quite likely we'll have 100GHz-1THz in the lab inside a year, and on the market in ~5. There's a whole lot of bandwidth north of 30GHz, and (as long as you stay out of absorption bands like O2 at 60GHz, which limit you to short-range stuff like wifi/bluetooth replacements), it's eminently usable for urban cellular networks -- if you have the ICs to handle it.
Programmer time is more expensive than hardware time. If a less efficient language is easier to use, it makes business sense to use it to save money. This does not explain the slow languages that are difficult to use, but it does explain why assembly has fallen from favor, and why C is in decline.
I honestly hate this idea. You write have to write a program once. Most programs run thousands of times, some programs will run millions or billions of times. If you actually calculated the global collective waste due to slow heavily abstracted languages running across the globe that cost is significantly than it would've been to write it properly to begin with.
While it is certainly possible to write C code that is endian-dependent, I consider such code to be broken--- as would any sane, professional C programmer.
To wit, the eleventy-million lines of C code in the Linux kernel are fully endian-agnostic. And largely independent of integer representation size, too!
b.g.