Catching Common ProblemsFinding bugs and fixing them is more than a passion of mine—it’s a compulsion. Several years ago, as a QA developer, I created the MUnit unit testing framework for the Wolfram Language, which is a framework for authoring and running unit tests in the language. Since then, I’ve created more tools to help developers write better Wolfram Language code while seamlessly checking for bugs in the process.
Writing good tests requires a lot of knowledge and a great deal of time. Since we need to be able to test and resolve bugs as quickly as possible in order to release new features on schedule, we turn to static analysis to be able to do so.
Two Lines of Code to Bulletproof Encryption: Advancements in Cryptography Development in the Wolfram Language
The Wolfram Language is the culmination of decades of effort, supporting all our products. One reason the Wolfram Language is so easy to use is the Wolfram Language & System Documentation Center—unique in that it contains reference information along with tens of thousands of examples that can be edited and run in place (or quickly copied from the web to your notebook).
We recently released Version 12.1 of the Wolfram Language, and with it, a number of new documentation features and page types. With every release, you’ll find an increasing scope of functionality, examples and use cases documented for different fields and applications, presented with an intuitive, user-friendly design.
When people think about Wolfram technology, corporate enterprise resource management (ERP) isn't the first thing that comes to mind. It certainly wasn't our first thought when we started searching for a new solution to manage our own accounting, customer service, licensing and HR needs. But after looking at the current ERP offerings, we found that none of the existing buy-in options did what we wanted.
So we thought, why not build our own?
The resulting project has been a revelation. Not only have we built something to our taste, but something fundamentally different: a new architecture, new interfaces, a new approach. Using Wolfram technology has not only made development easier; it has given us a revolutionary new perspective. By leveraging our uniquely powerful technology stack—and integrating it tightly with the existing infrastructure—we're redefining what an ERP system can be.
What the Wolfram Language Makes Possible
We’re on an exciting path these days with the Wolfram Language. Just three weeks ago we launched the Free Wolfram Engine for Developers to help people integrate the Wolfram Language into large-scale software projects. Now, today, we’re launching the Wolfram Function Repository to provide an organized platform for functions that are built to extend the Wolfram Language---and we’re opening up the Function Repository for anyone to contribute.
The Wolfram Function Repository is something that's made possible by the unique nature of the Wolfram Language as not just a programming language, but a full-scale computational language. In a traditional programming language, adding significant new functionality typically involves building whole libraries, which may or may not work together. But in the Wolfram Language, there's so much already built into the language that it's possible to add significant functionality just by introducing individual new functions---which can immediately integrate into the coherent design of the whole language.
To get it started, we've already got 532 functions in the Wolfram Function Repository, in 26 categories:
Why Aren't You Using Our Technology?
It happens far too often. I’ll be talking to a software developer, and they’ll be saying how great they think our technology is, and how it helped them so much in school, or in doing R&D. But then I’ll ask them, “So, are you using Wolfram Language and its computational intelligence in your production software system?” Sometimes the answer is yes. But too often, there’s an awkward silence, and then they’ll say, “Well, no. Could I?”
I want to make sure the answer to this can always be: "Yes, it's easy!" And to help achieve that, we're releasing today the Free Wolfram Engine for Developers. It's a full engine for the Wolfram Language, that can be deployed on any system---and called from programs, languages, web servers, or anything.
The Wolfram Engine is the heart of all our products. It’s what implements the Wolfram Language, with all its computational intelligence, algorithms, knowledgebase, and so on. It’s what powers our desktop products (including Mathematica), as well as our cloud platform. It’s what’s inside Wolfram|Alpha---as well as an increasing number of major production systems out in the world. And as of today, we’re making it available for anyone to download, for free, to use in their software development projects.
Get Full Access to the Wolfram Language from Python
The Wolfram Language gives programmers a unique computational language with an enormous array of sophisticated algorithms and built-in real-world knowledge. For many years, people have asked us how to access all the power of our technology from other software environments and programming languages. And over the years, we have built many such connections, like Wolfram CloudConnector for Excel, WSTP (Wolfram Symbolic Transfer Protocol) for C/C++ programs and, of course, J/Link, which provides access to the Wolfram Language directly from Java.
So today we're happy to formally announce a new and often-requested connection that allows you to call the Wolfram Language directly and efficiently from Python: the Wolfram Client Library for Python. And, even better, this client library is fully open source as the WolframClientForPython git repository under the MIT License, so you can clone it and use it any way you see fit.
What Kind of a Thing Is the Wolfram Language?
I've sometimes found it a bit of a struggle to explain what the Wolfram Language really is. Yes, it’s a computer language---a programming language. And it does---in a uniquely productive way, I might add---what standard programming languages do. But that’s only a very small part of the story. And what I’ve finally come to realize is that one should actually think of the Wolfram Language as an entirely different---and new---kind of thing: what one can call a computational language.
So what is a computational language? It's a language for expressing things in a computational way---and for capturing computational ways of thinking about things. It's not just a language for telling computers what to do. It's a language that both computers and humans can use to represent computational ways of thinking about things. It's a language that puts into concrete form a computational view of everything. It's a language that lets one use the computational paradigm as a framework for formulating and organizing one's thoughts.
It's only recently that I've begun to properly internalize just how broad the implications of having a computational language really are---even though, ironically, I've spent much of my life engaged precisely in the consuming task of building the world’s only large-scale computational language.