Wolfram Language Demo Impresses
theodp writes "The devil will be in the details, but if you were stoked about last November's announcement of the Wolfram programming language, you'll be pleased to know that a just-released dry-but-insanely-great demo delivered by Stephen Wolfram does not disappoint. Even if you're not in love with the syntax or are a FOSS devotee, you'll find it hard not to be impressed by Wolfram's 4-line solution to a traveling salesman tour of the capitals of Western Europe, 6-line camera-capture-to-image-manipulation demo, or 2-line web crawling and data visualization example. And that's just for starters. So, start your Raspberry Pi engines, kids!"
This looks a lot like Mathematica. When does something become programming language? Wasn't mathematica a programming language too?
Some drink at the fountain of knowledge. Others just gargle.
A picture is worth a thousand words, but most sets of 1000 words can't be succinctly described by a single picture.
Similarly, while I'm sure that you can write a few lines of Wolfram and do amazing things, I wonder how often you can set out to do an amazing thing and end up with a few lines of Wolfram. Maybe the answer is "pretty often", which would be wonderful. But I'm waiting to hear from some outside users.
Sparse coding is good, but can become 'obfuscated' code pretty quickly. Wolfram has a lot of experience in data analysis and mathematical calculations this seems to be great for jobs along those lines.
This looks like it could be a great tool for certain needs, but not a general purpose tool.
So we don't count the lines of code behind the "FindShortestTour" function?
Did you solve the secrets of the Universe? Stephen Wolfram did. All is known because of Him, even though you could not hope to grasp what He knows. Show more respect and reverence.
Cramming 20 commands and 8 layers of brackets into one line doesn't make your programm an 'impressive 5-liner'. It, at most, makes a neat stunt by a mathematician in a proprietary programming language he invented himself. I'd be tempted to call it shitty programming.
Nothing to see here folks, move along.
We suffer more in our imagination than in reality. - Seneca
This article is a fine example of why I've found myself frequenting Soylent News.
It looks like a very nice library.
Doesn't really say very much about the power of the language at all, though.
Someone reminiscent of APL which critics called the first 'write-only' programming language.
[Insert pithy quote here]
All I see there is calling some method to do something complicated. It's not 2 lines of code of the actual meat is hidden somewhere.
did you forget to take your meds?
As much as I would like to be impressed, what I see is quite underwhelming: a functional application language with some interface to "facts" and "databases" with a pattern matching engine might make some analysis easier but ... the principles of the language are mostly what you come to expect if you have seen lisp once or any modern functional language,e.g. haskell.
I can see it as being useful, but as another commenter pointed out, "FindShortestTour" is a library function (which might be handy), but definitely not an example of how concise the language might be; the same could be said about "EdgeDetect" or the like. The power of the language can be measured in how easily it can be extended or non trivial algorithms can be implemented ... not in how many functions are offered (even if this could be more convenient none-the-less).
Yes. Just like we don't count the lines of machine code that a perl 'one liner' gets transformed into before execution.
it's just one line in wolfram:
print UNIVERSE.revealSecrets(ALL);
I can do much the same thing in the same number of lines of Perl code. I don't think there are many who would claim that makes Perl a paragon of language design.
Clickbait article is clickbait.
But practically useless as the only way you are going to travel via some of those legs is if you have your private plane.
And what sort of salesman has a private plane .. hmm .. maybe one who is trying to sell us a new computing paradigm??
I am Slashdot. Are you Slashdot as well?
You show us the code for the compiler, in stead of some abstracted layered sjeis !
Don't make me laugh -- I used to be an APL programmer.
it's just one line in wolfram:
print UNIVERSE.revealSecrets(ALL);
Output: 42
Emacs has a binding for that.
You can do the same in Python.
I think you just need to type this first
import wolfram
But it prints this rant from Guido on why this is not Pythonic at all, after it does the import.
All that functionality had better be thoroughly tested. High level scientific computations (especially working with large data sets) are often extremely hard to test and validate.
What kind of response is that???
Just because you call a function, it doesn't make the code more elegant or better.
Why not just wrap all the data into the function and say" hey I did it in 1 line of code."
No, of course not. When you call a library funnction, do you count all the lines of code in the library? When you write a for loop, do you count all the lines of assembly it compiles into? No. The number of lines you count is the number of lines you write.
I checked so I might be switching to this... Matlab is not nice as languages go and the lack of zero indexed arrays can drive an engineer crazy.
Hopefully the implementation won't be slow.
One could use it for as a great tool to classify pr0n material and compute the viewing path for a maximum energy orgsm climax !
Impressive but overwhelming. I don't look forward to learning, reading or maintaining such code. So as usual: functionality is inversely proportional to usability :)
If ego can feed you, Wolfram would be, like, really fat.
Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
So we don't count the lines of code behind the "FindShortestTour" function?
Not unless you had to write them yourself. Do you count the lines of code behind printf() when you write Hello World?
I don't care if it's 90,000 hectares. That lake was not my doing.
The traveling salesman tour - is NOT a 4 line solution. By that definition I can write "Run Linux" and have a one line operating system.
Why has this man not received the Nobel prize yet? He's been changing the world for a decade already.
Just started emulating Pi on Qemu. Perhaps we could cloud service it.
IIt is not going back to the original city. You must complete the loop. Solution FAIL.
No, of course not. When you call a library funnction, do you count all the lines of code in the library? When you write a for loop, do you count all the lines of assembly it compiles into? No. The number of lines you count is the number of lines you have to debug, and the ones that hurt more count extra.
Fixed that for you.
Can he use it to calculate the optimal level of terseness for a programming language that good programmers will want to use? I'm thinking the answer is somewhere between APL and C++
"Wolfram Language" is not new. Wolfram is just trying to decouple Mathematica's programming language from the Mathematica products, which only makes sense considering the direction of the company. Mathematica users have been using this language (minus the Wolfram Alpha feature) for years.
As a domain-specific language, it's really great. The functional programming features have a great syntax (IMHO) for doing math stuff. As a general purpose language, it's awful. The library is large and easy to use, and the documentation is a pleasure to read. It's also as proprietary as it gets. Wolfram Research tries to ease the pain of that constricting noose with the CDF player and the ability to embed certain kinds of Mathematica--er, I mean, Wolfram Language code into web pages. In practice, however, everyone you want to share your code with is going to need to buy a Wolfram Research product or work at an institution that has a site license.
No only that, but the solution is incorrect. You can see a shorter solution visually very quickly. Remove the Iceland to Portugal leg and add a Greece to Austria leg. Wow. Shorter route.
No, of course not. When you call a library funnction, do you count all the lines of code in the library? When you write a for loop, do you count all the lines of assembly it compiles into? No. The number of lines you count is the number of lines you write.?
Unless you're a useless bit pusher, you make sure you fully comprehend the ramifications of *every* library you use. For example, Boost is really sweet when you need to slam together a pile of code and have it working out of the gate with minimal fuss, but if performance is an issue, you cant use it. If you need to understand where every processor cycle goes, even C may be too high level for you... In short, Wolfram isnt for programmers, its more for IT / administrators.
The real test of a language is what the source for the compiler and the libraries looks like
I wish I had a good sig, but all the good ones are copyrighted
Remember kids: If you count built-in API features as proof of the brevity for the language, you're arguing that on the whole Java is a much more concise language than standard C. You don't want to throw your life away, do you?
1. Gibraltor and Madrid are the end nodes. It is not on either end of the red line.
2. Rome to Athens with one stop over. I dont see that at all in the red line
Is the output real, or is it "simulated for advertisement" we used to see in the old print ads for TV sets?
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
The solution it comes up with is correct (it includes/excludes the links you mentioned), but for some reason it's drawing the graph incorrectly.
It's too local to be of interest. The wheel in CS will not be invented until all computing instructions and data unifies into a single ubiquitous computing model. Just as we need a single reality to operate. Saying this, the wheel is a long way from where we stand.
To all of the "real" programmers knocking the language, take a moment to consider the phenomenal popularity of math-focused languages among the science and engineering set (eg, Matlab / Octave, Mathematica, R). These languages let you get powerful things done with a minimum of messing around because they make math / matrix math / statistics native and syntactically easy to get to.
The Wolfram system is trying to make learning things in a computational way that "easy" for a much wider set of computable things. I think that's awesome and laudable. The basic idea of "A New Kind of Science" was that being able to compute something is an important kind of knowledge. This is part of that.
nice observation. Even weirder, is that the list of capitals shown for the tour is in a different order than the map that is drawn. I'm thinking this has something to do with that //last.
Some drink at the fountain of knowledge. Others just gargle.
/usr/bin/gcc $1
So we don't count the lines of code
FTFY
All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
At 3.29 in the video, if you connect Greece to Austria, and disconnect Porgugal from Iceland, you save about 1500 km.
If you find yourself at the mercy of a grand elk, you'll have plenty of time to consider what you know while he pierces into your ridicilous terror strucken eyes. All you will know is fear, a panic with no dignity. All you can think of is whether he will he kill you or not? You will know and feel how pathetic you really are and how great and sure he really is, that is the situation. He knows this, sees this in you, and takes what ever time he pleases to observe you. Eventually, after you have undignified yourself enough, he'll pretend you are nothing, let you go.
it's just one line in wolfram:
print UNIVERSE.revealSecrets(ALL);
Output: 42
Sorry that's life, the_universe AND everything. It's a bitwise AND, of course, so that's 101010. Life is 111011, everything is (as you might expect) 111111. Finding all possible values of the universe is an exercise left to the reader.
Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
Wolfram didn't claim to have a 4-line solution to the TSP. You can thank the summary submitter for that one.
It is a language comprised of mostly of vocabulary; It is an application with a general language interface. Either way, it is something we are not used to have and it is something I would like to have hands on.
But you could easily create a FindShortestTour in C or any other language. Repackage that as system library, and why should I be impressed?
I think you're missing the point. The point is that you, as the user, will only have to write a few lines of code to accomplish complex tasks because the language already contains a lot of that code written for you. If you were to write a simple python program that uses say, the Panda package, would you include all the lines of code of that package when line counting your program? No.
If you want to see the merit of a language, you actually have to see something implemented in the language. If all you do is call a library function (especially one whose inclusion in a core set of operations is dubious) then all you get to see of the language is how you call a function. If you want to demonstrate a language, you should pick examples that excercise the core features of the language, not punt to calculateObscureFnOnlyUsedByArcheologistsButItTakesUpSpaceOnYourFlashCardAnyway()
This video was made for the easily impressed. But then, most videos are, which is why they generally tend to not be worth watching.
Someone had to do it.
I cannot understand what's dry about this. How wet aka dumb does a slashdot editor want it to be?
It's INCREDIBLE to get the imagination started!
Consider avoiding the urge to ape terms from Steve Jobs and just say what you mean. By its very nature, programming is dry and no amount of pizazz presenting it will remove that. Don't worry about appealing to everyone. By the very topic, it's pretty self delineating.
YOU miss the point.
while the idea of such an "easily usable knowledge repository" is interesting, the issue of who governs this repository is determinant. if open and transparent such a system would be revolutionary. since it is not, it is just another product to avoid like pest. inspirational? sure! anyone?
sadly, i'm afraid (near) future humans will indeed be very dependent on asking such AIs for much of their lives, and that those will not be accountable. but no hurry at all to get to that, seriously.
Well, that's kind of the point. He claims that these functions are part of the core language.
While seasoned programmers look in horror upon the prospect of learning several hundred new function names, my neighbour who has but dabbled in programming is delighted by the concept.
The only difference between this and perl+cpan is that this comes with all data preloaded. And saying this doesn't make a huge real world difference is just a bit detached...
A nearly semantic language that can solve problems for the user with the information that they are looking for?
This sounds like Stephen Wolfram is angling for a buyout from an enormous search engine (that has the majority of market share).
Such a search giant busies itself with the trying to stay ahead of a curve that is contantly try to flatten itself. This would be quite the engine for solving that problem...
We should learn what we need to know about issues, before we decide what we need to feel about them.
Wow, that's just bizarre. I don't know where you get your misinformation, but it's an elite grade of batshit.
The whole point of Boost is that it maintains a certain amount of abstraction without boxing you into a performance corner. Were it not for those conflicting goals, the devilishness of its internal machinery could not be justified.
Template metaprogramming essentially involves expressions converting themselves to a symbolic representation that doesn't resolve itself into a concrete expression—by means of purely functional transformation at a quasi-syntactic level;—until some final result is demanded, at which point the highest performance code path can be selected based on the actual parameters (more specifically, often exploiting which parameters vary and which parameters are constant or nearly constant).
The problem with Boost is similar to what Knuth said about the problem with literate programming.
Literate programming demands a high proficiency with two different skills: formal reasoning and verbal expression. This shrinks the available pool of adherents and adopters. And worse, there's a terrible opportunity cost, because the people out there who have extremely high proficiency in both of these skills are in extremely high demand to take on central roles in large projects where they don't spend their hours bent over literate code.
The kind of environment where Boost can be best exploited for both its abstraction and its performance is going to be wonk-filled boiler-rooms at high frequency trading companies where the cash, the talent, the commitment, and the project duration mesh together. Importantly, the project specification in these environments is often in continuous, long-term evolution as your firm chases whatever edge it thinks it might have in a chaotic, rapidly-shifting market environment. The month you spend pouring over low-level optimization gets deployed for a whole week. The month you spend automated your Boost framework to achieve nearly the same performance becomes a permanent code asset (and a competitive asset whenever you find yourself needing once again to run that old play).
Boost is in that category where if you have to ask, you can't cut the mustard. The natural Boost programmers already know who they are. Few of these people toil in the public eye. That's not where this elite, double-barrel skillset tends to land.
The Wolfram language is impossible to assess based on this video. If your application depends on Wolfram "knowledge" how do you know it will continue to meet rigorous specifications the day after tomorrow?
Is there a public regression suite on the contained knowledge against which to assess whether your program is erected on firm or porous soil?
What guarantee does one have that it's cleverness or performance characteristics will stay consistent when it matters most?
I suspect the killer application for WooL is prototyping the semantic web. The semantic web has been dragging its feet. Google and Facebook don't wish to become disintermediated. They have one foot on both sides of this fence and their hands cupped over their testicles. Doesn't make for rapid progress.
The Achilles heel of search is that search returns results rather than models. Google is trying to split the difference by having search return interactions. It's an excellent paving stone on the road to a lucrative future purveying OOXML.
If ten minutes of coding within the Wolfram Language embarrasses Google search, we have a winner here of WuLing mammoth proportions.
I liked the demo but it seems shallow to me. He has put a neat UI to connect data to and from well-known algorithms but the language solves problems I already have many solutions for. For example, when I reviewed the wolfram language docs for its support for image processing, I saw functions that are commonly provided in foss image libraries. I didn't see anything that would allow me to write code more quickly, correctly, or briefly but maybe I just missed it.
I have a better language with a one-liner for web browsing:
Firefox<CR>
This is exactly what I thought. :)
Yeah yeah, but can it look round corners in photos and respond to vague voice commands?
The way this is setup isn't that that you code everything in natural language, rather it is just a shortcut to look up the correct formal language. Instead of searching/browsing documentation looking up the exact names of the functions you want and how to chain them, you just type what you want in natural language. If it interpreted you correctly, then great it saved you several minutes, and now you know the real syntax to use in the future. If not, well you only lost a couple seconds.
The idea of mixing natural language like this isn't so weird; the first step that most programmers would take in looking up documentation when they don't even know the name of the library the functionality is located in is to perform a natural language search on web browser, and then go from there. This just takes it one step further and streamlines the process, which is perfect for a interactive language.
This will be fantastic for medical applications. Looking at the fine details one could concieve rapid statistical analysis and validation for large medical number sets. It's actually very cool.
I'm sad this didn't work. Perhaps this might be right? I think the graph still needs to be converted to binary. Or something. >.>
.
. hmmm
Negative reactions here seems to me like what would happen if a C programmer in the 80's saw Python or if an Assembly programmer saw C for the first time!
SEO, Web Based LAMP Editing? I haven't gotten to many requests for Traveling Salesman problems. I did get a request, once, to create a childs soccer banner with various shapes though.
Mathmatica is a great product, and when I apply it to Ma and Pa's eCommerce web site and Ma and Pa have no idea what they're doing, so they manage by a economic system from the 1960's. I would use Mathmatica for what again?
-the programming language seems like plain Mathematica input: nothing new
-i love (and dislike) Mathematica, and one of the things which i dislike is the fact that it is not FOSS and has no FOSS equivalent. I cant find a license for the new language, just that "it may be bindled with the Rasperry pi".
may or may not be a desideratum
I could write a language with 100,000 subprograms, each referenced by a single name. Then I could solve 100,000 problems. However, there are the 100,000 subprograms to 1) remember as a user 2) maintain as a maintainer
It may be like the difference between Chinese and English. Chinese ideograms are more like words, and it takes fewer of them to write a sentence. However, you need to know 90,000 to be a scholar. English has 26 letters. With that, we represent 400,000 words. You need to memorize the words.
In many stat languages, it's the same thing. With SAS or SPSS, you have a number of fundamental processes each of which has wrinkles covered by PROC specific language. If he has brought a lot of the PROC language into more focused functions, there will be many more functions. I'll need to look at the language.
I actually have discovered the secret to life the universe and everything. You would be amazed at how close you just came... : )
Below the speed of light Special Relativity is one of the most accurate theories in physics - above the speed of light..
So, do you only write software on open-source operating systems for which you have read the entire source code, and the source code of the compiler used to build the code? If so, wow, impressive, I don't do that. As for me I am just a lowly bit pusher who is comfortable programming against the promises of things like the JVM, even though I've never read the JVM source code.