Stephen Wolfram Developing New Programming Language
Nerval's Lobster writes "Stephen Wolfram, the chief designer of the Mathematica software platform and the Wolfram Alpha 'computation knowledge engine,' has another massive project in the works—although he's remaining somewhat vague about details for the time being. In simplest terms, the project is a new programming language—which he's dubbing the 'Wolfram Language'—which will allow developers and software engineers to program a wide variety of complex functions in a streamlined fashion, for pretty much every single type of hardware from PCs and smartphones all the way up to datacenters and embedded systems. The Language will leverage automation to cut out much of the nitpicking complexity that dominates current programming. 'The Wolfram Language does things automatically whenever you want it to,' he wrote in a recent blog posting. 'Whether it's selecting an optimal algorithm for something. Or picking the most aesthetic layout. Or parallelizing a computation efficiently. Or figuring out the semantic meaning of a piece of data. Or, for that matter, predicting what you might want to do next. Or understanding input you've given in natural language.' In other words, he's proposing a general-purpose programming language with a mind-boggling amount of functions built right in. At this year's SXSW, Wolfram alluded to his decades of work coming together in 'a very nice way,' and this is clearly what he meant. And while it's tempting to dismiss anyone who makes sweeping statements about radically changing the existing paradigm, he does have a record of launching very big projects (Wolfram Alpha contains more than 10 trillion pieces of data cultivated from primary sources, along with tens of thousands of algorithms and equations) that function reliably. At many points over the past few years, he's also expressed a belief that simple equations and programming can converge to create and support enormously complicated systems. Combine all those factors together, and it's clear that Wolfram's pronouncements—no matter how grandiose—can't simply be dismissed. But it remains to be seen how much of an impact he actually has on programming as an art and science."
Hrm, another programming language...
Attempts have been made in the past to automate programming, it's never worked very well (or at all in some cases)
Still, look forward to seeing it, perhaps I'll be pleasantly surprised.
I'll stick with C
Spent All My Mod Points
Or, for that matter, on search.
It's not like there's any shortage of programming languages out there, or even a shortage of ambitious projects that fail.
that you will have to pay a lot of money to use it?
that way if we make a programming error we can just comment "Bad Wolf" (too much exposure to Dr Who recently) :P
"The first time I got drunk, I got married. The second time I bought a chimpanzee, after that I stayed sober" Arian Seid
Wolfram announced his latest idea - that there needed to be some kind of pliable material available next to toilets with which to clean one's bum. This material, he said, is going to be really soft, probably a couple of layers thick, and needed to be on some kind of continuous dispenser mechanism which he is developing.
If Slashdot were chemistry it would look like this:Cadaverine
"The Wolfram Language does things automatically whenever you want it to"
Did that make anyone else think of Zombo.com?
First a new kind of SCIENCE, now a new kind of PROGRAMMING.
Can't wait for a new kind of LOVE.
When someone says "I want a programming language in which I need only say what I wish done," give him a lollipop.
Stephen Wolfram is the George Lucas of scientific computing.
He won't publish it under a free software license...
So you can do anything you want with Wolfram language? The only limit is your imagination?
Will the first project be the long-awaited 1.0 version of Zombo.com?
Well, either he's created the mother of all LISP macros, or it's simply vaporware. Love to see it when they publish it. Code or it didn't happen.
Here is the obligatory xkcd, panel two.
He's invented APL! But I notice a lot of skepticism here, I wonder where all that skepticism is in 3D printing stories??
This isn't even a story. The linked-to blog post is marketing fluff, full of big hazy promises and substance. I read some of it and sounds like some sort of data-centric OO language (it makes me think of the R plotting system ggplot: http://ggplot2.org/), beyond that, however, who knows what the hell this is?
soylentnews.org
No, but really, I'll wait until I see results. I've worked in the field long enough to approach anything with a healthy skepticism, especially when the only thing I have to trust is someone's reputation.
... so you don't actually have to do any coding at all?
I don't program for a living anymore, and I've always been more of a system-level, hardware driver kind of guy, so C/C++ work fine for me.
But especially coming from that background, my need isn't for another programming language, it's for better documentation of available libraries. For any common task that I want to do, somebody has probably written a great library that I can just strap in and use.
The problem is when I start trying to use it. The documentation has blank "TBD" pages, or really helpful comments like, "init_lib() -- initializes the library. You can specify the # of flickers per bleem ..."
Or ... and this is my 2nd favorite ... the documentation is out of date. "Hey, I tried to do this the way your tutorial said and it didn't work?" "Oh, yeah, that tutorial is out of date; we've changed some stuff ..."
My very most #1 favorite is automatically generated documentation that looks at (for example) a C++ class and then creates an HTML page. I might as well just look at the source code ... hoping, of course, that the people who wrote that source actually inserted more than a few, "does what it says" comments. Or that I don't have to play the Spaghetti Trace(tm) game, bouncing from one .c file to another .h file and back to a third .c (and this is after repeated greps in the "src" directory) to try to figure out what's happening to my poor variable while it's inside a function.
Not criticizing FOSS, per se; I understand that it's written by volunteers (for whom I'm very grateful). But this, rather than needing a new way to "PRINT" or "SORT" in a programming language, is the far bigger problem, in my book.
Cogito, igitur comedam pizza.
I was just thinking that the one thing we need is Yet Another Programming Language. As a bonus, Wolfram is not a language designer, so it will probably be some social-science abomination like R with a screwball syntax. Or maybe he could combine R (bizarre irregular syntax) and Erlang (the only serious language with a COME FROM construct where control magically passes to a routine with no obvious link to where it came from) and create a language no one could understand?
Surely all the time and effort that goes into these new languages could be put into making a few key languages the new industry standard? Python for scripting, Java and C for compiled code, and get rid of the hundreds of scripting and intermediate languages. The biggest problem in the industry right now is Balkanization of programming languages. If one language had been an industry standard for the past 15 years, it would have all the features anyone needed by now - lambdas, closures, generics, and everything else. Instead, every company has worked on a different language while scripting languages have been created at an alarming rate, and we have the Tower of Babel.
I read that as "paralizing a computer efficiently".
Wolfram just invented object-oriented programming! Film at 11!
There’s a fundamental idea that’s at the foundation of the Wolfram Language: the idea of symbolic programming, and the idea of representing everything as a symbolic expression.
1. Wolfram is a notorious Lisp disser, and Mathematica is arguably a shining example of Greenspun's tenth rule.
2. Lisp has a long history of trying to help programmers, with mixed results. The term DWIM was coined by Warren Teitelman in 1966 as part of a project based on BBN Lisp, the main predecessor of Interlisp; this project of his sounds like DWIM writ large.
To a Lisp hacker, XML is S-expressions in drag.
This will be a half- or even quarter-baked implementation, and it will basically be software that automagically does what Wolfram thinks makes sense, and will have to be hammered into a different shape to meet other needs and styles.
Probability of it being a success by programmers: Less than 10%.
One day the student came to the master and said "There are too many programming languages! I am tired of having to learn thirty programming languages! I shall write a new programming language to replace them all!"
The master smacked the student upside the head. "Idiot! Then we would all have to learn thirty-one programming languages!" The student was enlightened.
Unfortunately, it was only the one student who was enlightened. Now we all have to learn fifty programming languages.
#naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
He should just name it Language.
Seriously, C is that awesome.
If C doesn't work, import python.
..don't panic
This fellow needs to work on his self-esteem.
Both did work wioth cellular autmata 50 years apart
You can try to make things more simple all you want, but even if you could tell the computer what to do in plain English, you still have to completely understand what you're telling it to do! And on that side of things, most of the clients I've talked to generally failed to some extent (Sometimes miserably) as well. Most in-house business software and a fair bit of the stuff that's sold commercial is the result of not-very-articulate clients telling not-very-good-programmers what they want, and those not-very-good-programmers crapping out a steaming pile of code that has as much of a chance of harming the business as helping it.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
"Microsoft also announced today they are developing a new language. Though largely unspecified, it will be called W# and will do everything you want in a way that makes you dependent on Windows'."
(-1: Post disagrees with my already-settled worldview) is not a valid mod option.
I'm not saying Wolfram can't pull this off, but I've been programming for a long, long time and mastering the pesky "nitpicking complexity" is one thing good programmers do very well.
I wish him well, but I remain skeptical. I hope the result doesn't devolve into "click here and here and here."
Circle the wagons and fire inward. Entropy increases without bounds.
... which will allow developers and software engineers to program a wide variety of complex functions in a streamlined fashion, for pretty much every single type of hardware ...
Isn't that what fortran does?
May as well program visually with a node tree. (Which is much like a flow chart in determining logical relationships. Works great in things like CGI software where complicated behaviors or relationships need to be modeled, so why not program elsewhere that way?) Then you could show status of things like dependencies with the color of the nodes or node sockets. Sockets and noodles used to connect sockets could also be color coded to show the data types they accept or carry. Functions can be built by grouping nodes which can be collapsed down into a logic block which appears as a single node. Library stuff that may be handy for later use could be kept in a browsable sidebar where you access things via drag-and-drop. Tooltips can be available to explain node behavior in more detail if it's name isn't obvious enough. Comment boxes can be sticky pasted around or attached to certain nodes. If somebody makes spaghetti code, it literally appears as spaghetti code. Also you eliminate almost all the syntax problems by doing it graphically. Knowing correct syntax is one of the major headaches to people new to programming or people that switch between languages that do things in arbitrarily different ways. Without that kind of overhead, you worry more about the actual process of what you want done instead of how to describe what you want done.
In theory if a node-based graphical programming editor is created right, it should be able to output code in a syntax for any programming language you choose. Diagram what you want, and click the button for C++/Javascript/Python/Etc., and then you get the desired source saved out for use in your compiler or interpreter of choice. So it really wouldn't have to be a language, but more like a meta-language.
The most concrete detail I could find anywhere on his web about it was his repeated characterization of the language as "knowledge-based".
Now, unless he has some whole new meaning in mind, that isn't a totally new concept in languages. We generally call such languages "AI languages" (or more technically, Inference Engines or Reasoning Engines or whatever.
The general idea is that the programmer's job is to write rules. Then you feed the engine your rules and a set of facts (or an operating environment it can go get "facts" from), and it will follow what rules it needs to. The language/system of this kind that programmers here will probably be most familiar with is make
It sounds cool, but I think a lot of folks here might find the concept of something like make being the answer to all their programming difficulties a case of the cure being worse than the disease.
He is a genius but his megalomania is even stronger. When the new and ultimate programming language is finished, he will be claiming intellectual property of everything developed with it.
If Dylan isn't good enough for you, your problem isn't non-S-expression syntax.
To a Lisp hacker, XML is S-expressions in drag.
Attempts have been made in the past to automate programming, it's never worked very well
On the contrary. The first attempt to automate programming produced assembly language, which automated the assignment of addresses to variables and instructions. The second one produced FORTRAN, which automated the "programming" of formulae into sequences of individual operations. Every time we successfully automate some programming activity, the nature of programming changes.
Mike O'Donnell
Mike O'Donnell http://people.cs.uchicago.edu/~odonnell/
This sounds almost too good to be true, and you know what they say. In the spirit of full disclosure I have to admit that I'm a programmer/analyst/architect and would of course be greatly impact by this. That said, just looking at what's been said here is far from complete, which makes it that much more difficult to discuss intelligently, but here goes anyway.
While writing program that write programs is something I've done from time to time and it does greatly increase programmer productivity, it just leaves the other aspects of the development cycle that much more pronounced. These include
Requirements gathering
Functional testing
Security testing
While getting to the point where the client says
"Damn you gave me what I asked for not what I needed"
will be helpful and a required step, it probably won't be a panacea.
For some strange reason natural language programming has been held out as a panacea. You just tell the machine what you want it to do, and it figures out how to do it. If I've learned anything over the almost 40 years of computer work it is that people really don't know what they want/need. Requirements are often incomplete, inconsistent and just plain wrong.
The same will be true for functional testing and security testing. Without a thorough understanding of the underlining problem how would edge and corner cases be test for.
And what happens when someone uses this system to automate malware or cracking software that makes all internet transaction vulnerable to theft and fraud. How does one even go about test software that generates software for security vulnerabilities? I would guess that the next task would be to create automated tools to review the code generated. If this approach was really effective though, we wouldn't have all of the security issues of today.
Expecting non professionals to be able to perform these task when history has shown us that most professional don't do an adequate job may be overly optimistic. Of course these task will be the next things to be automated and that will clearly help. Still I think it would be a bad bet to assume that the good guys will be able to keep the thieves and fraudsters at bay.
As always, just my USD 0.02 worth.
Brooks ("Mythical Man Month") said there is no such thing as a silver bullet. Sounds like a pie-in-the-sky, big-rock-candy-mountain thing to me. My take on it: Never trust a cat who names something after himself.
Personally, just for the coolness factor, I think he should name it, "Wolf", for maybe one of the following:
* World Object Language Framework
or
* Wolfram Object Language Framework
Im just barking at the moon.. I really have no idea what I'm talking about.
Look back up at my post, now look back down, you're on the Internet. Now look back up. I'm a signature.
Attempts have been made in the past to automate programming, it's never worked very well
On the contrary, automated programming has worked repeatedly, each time redefining "programming":
Each time someone automated "programming," the word stopped referring to the automated part, and referred to the remaining part of algorithmic problem solving. After FORTRAN, the pieces of automation were less clearly ordered, and less likely to be referred to as "automated programming," but re-entrant procedures, recursive procedures, virtual memory, garbage collection, class instantiation, tail recursion removal, ... all automated activities that were formerly part of "programming." In all cases, whatever specification remained to be done by hand became the new "programming."
Mike O'Donnell http://people.cs.uchicago.edu/~odonnell/
Like Virgin and Trump, Wolfram is such as egomaniac that he probably has his named stamped on his toilet paper.
Stephen Wolfram is a brilliant businessman who has made a fortune charging what the market will bear for Mathematica and Alpha. Will that model break-down with the Wolfram programming language? I think it will. PARCplace tried to sell Smalltalk for awhile and the language stagnated until Alan Kay was able to get Squeak going. I can't imagine anything becoming as popular as Python or C++ if it costs thousands of dollars to get into the game.
Perhaps Wolfram will patent some of his ideas and then they will catch on 20 years later.
I think I would rather have a system where it does what I want instead of it 'automatically' assuming and doing so much for me.
It rather hard to communicate to a program without specifying everything in detail and a program that starts with insufficient info to head towards what the user actually wants is folly and counterproductive in the end.
If this is basically hey we have all these equations - then the real problem will be FINDING what you want exactly.
Stephen Wolfram is not developing a new programming language.
"Wolfram" is the name recently adopted for the programming language which is used in Mathematica (which is an application), as (somewhat) explained here.
As explained if one traces the link in the story to its original sources, Wolfram, the language of Mathematica, is being extended to include some new features.
I have a friend who invented something called "The Wolfram Scale" It measures your arrogance on a scale of 0 to 1. Wolfram himself is 1.0 by definition. Most people measure a few milliwolframs. Steve Jobs measured maybe 100 milliwolframs. Gandhi would measure 0 milliwolframs.
W-hy doesn't he use the element Tungsten for the name of the language? After all, his name was the original name of the element, and a new programming language for Mathematics is likely to be HARD, like the metal. This would follow in the tradition of naming software after substances and elements in nature, Carbon, Chromium, Ruby.
Hrm, another programming language...
Attempts have been made in the past to automate programming, it's never worked very well (or at all in some cases)
Still, look forward to seeing it, perhaps I'll be pleasantly surprised.
I want to learn Programming language. However Why it's worked very well?
When people are trying to create a low-cost, open source, ubiquitous computer, what they really need is an proprietary resource hog of a language on it that will require them to buy an expensive license to continue to use what they learned later!
Do yourself a favor and use Python or something similar instead.