Free Wolfram Engine Library for Software Developers

Free Wolfram Engine Library for Software Developers
Original translation in my blog

A couple of videos about the Wolfram Language

Play Video

Play Video

Why are you still not using Wolfram technologies?

Well, it happens, and quite often. In the course of communication with software developers, they speak quite flatteringly about our technologies, for example, about how they helped them a lot in school or in scientific work, but when after that I ask them a question: “So you use the language Wolfram Language and computing capabilities in their software systems?Sometimes they say yes, but all too often there is an awkward silence and after that they say:No, but is it possible?».

Free Wolfram Engine Library for Software DevelopersI want to be convinced that the answer to this question will always be only: "Yes, it's easy!". And to help you with this, today we are launching free Wolfram Engine for developers (Free Wolf Engine for developers). It's a complete Wolfram Language engine that can be deployed on any system and called from any program, language, web server, or anything else...

The Wolfram Engine is the heart of all our software products. This is what implements the Wolfram language, with all its computational intelligence, algorithms, knowledge base and so on like that. This is what keeps our desktop products (including Mathematica), as well as our cloud platform. This is what sits inside Tungsten | alpha, as well as more and more main production systems in the world. And finally, we provide the opportunity to download this engine for free to solve problems use in their software development projects to all comers.

Wolfram Language Programming Language

Many people know about the language Wolfram Language (often only in the form of a Mathematica program) as a powerful system for interactive computing, as well as for scientific research in education, data processing, and the "Computational X" (computing area) for many X (knowledge areas). However, it is increasingly used without being brought to the fore as a key component in building production software systems. So what can the free Wolfram Engine library do for developers now? - It packs the language in such a way that it is convenient to insert it into many software environments and projects.

Let's pause here for some clarification. how I see the Wolfram Language in today's realities. (It should be noted that you can immediately run it online at Wolfram Language Sandbox). The most important thing is to realize that the Wolfram Language in its current form is really a fundamentally new software product, namely full-featured computational language. Today, it is extremely powerful (symbolic, functional, … ) is a programming language, but at the same time it is something much more because it has the unique feature that it has a huge number of computational knowledge bases built into it: knowledge about algorithms, knowledge about the surrounding world, knowledge about how to automate software products and processes.

Already over 30 years our company systematically develops everything that the Wolfram language is today. And I am especially proud of that (although it is quite difficult, for example, processing live video broadcasts!) how much uniform, elegant and stable software design we managed to embody in all language. Currently more than 5000 functions in the languagecovering almost all areas: from visualization until machine learning, numerical data processing (numerical calculations), graphic image processing, Geometry, higher mathematics, natural language recognition, as well as many other areas knowledge about the world (geography, medicine, arts, engineering, science etc.).

In recent years, we have also added many powerful programming features to the language - this is an instant cloud deployment, network programming, web interaction, database connection, import/export (more than 200 additional data formats), external process management, program testing, reporting, cryptography, Block etc. (the symbolic structure of the language makes them very visual and powerful).

The goal of the Wolfram Language is simple yet ambitious: everything that is needed should be built into the language and at the same time be as automated as possible.

For example: Required analyze image? Need geographical data? Sound processing? Solve the optimization problem? weather information? Create 3D object? Anatomical data? Natural Language Based Recognition (NLP)? Anomaly detection in time series? Send a message? Get a digital signature? All these tasks (and etc) are just functions that you can immediately call from any program written in the Wolfram Language. There is no need to look for specialized software libraries, and everything is immediately built into the language.

But let's go back to the moment of the birth of computer engineering - all that existed then was only machine code, then simple programming languages ​​​​appeared. And soon it could even be taken for granted that the computer had to come pre-installed with an operating system. Later, with the advent of networks, there was a user interface, then - means of connecting to the network.

I consider it my task, along with the Wolfram Language, to provide the user with a level of computational intelligence that actually contains all the computational knowledge about our entire civilization and allows people to take for granted that their computer will know how to recognize objects in the image, how to solve equations or calculate the population of any cities, as well as countless solutions to other useful problems.

Today, with the free Wolfram Engine for developers, we would like to make our product ubiquitous and quickly available to software developers.

Wolfram Engine

The free Wolfram Engine Developer Library implements the complete Wolfram Language as a software component that can be plugged straight into any standard software development stack. It can run on any typical system platform (Linux, Mac, Windows, raspberry pi,…; personal computer, server, virtual, distributed, parallel, embedded). You can use it directly from program code or from command line. You can call it from programming languages ​​(Python, Java, . NET, C / C ++,…) or from other programs such as Excel, Jupyter, Unity, Rhino etc. You can call it through various means of data transmission − sockets, ZeroMQ, MQTT or through your own built-in WSTP (Wolfram Character Transfer Protocol). It reads data and writes to hundreds of formats (CSV, JSON, XML,… etc.), connects to databases (SQL, RDF/SPARQL, Mongo, …) and can also call external programs (executable files, Library…), from browsers, mail servers, APIs, Devices, as well as languages ​​(Python, NodeJ, Java, . NET, R, …). In the near future, it will also be able to connect directly to web servers (J2EE, aiohttp, Django, ...). You can edit and manage your Wolfram Language code using standard IDEs, editors, and tools (Eclipse, IntelliJ IDEA, Atom, Vim, Visual Studio Code, Go and etc.).

The free Wolfram engine for developers has access to the entire database Wolfram Knowledge through free Wolfram Cloud Basic Subscription Plan. (If you don't need real-time data, everything can be cached and you can run the Wolfram Engine offline.) The basic Wolfram Cloud subscription also allows you to store your methods API in the cloud.

A key feature of the Wolfram Language is that you can run exactly the same code anywhere. You can run it interactively with wolfram documentson a personal computerof the the cloud or mobile phone. You can run it in the cloud API (or as a scheduled task, etc.), in Wolfram public cloud or private on-premises Wolfram Enterprise cloud. And now, with the Wolfram Engine, you can also easily run it inside any standard software development stack.

(Of course, if you want to use our entire "superarchitecture" spanning desktop, server, cloud, parallel, embedded, mobile - and interactive, development and production computing - then a good starting point for you is Wolfram|Onewhich is available as a free trial version).

Commissioning

So how does licensing the free Wolfram Engine developer library work? Over the past 30+ years, our company has had a very simple usage model: we have licensed our software for profit, which is what allows us to continue our long-term mission continuous, and vigorous scientific developments. We have also made many important programs available for free - for example, this is our main Wolfram|Alpha website, Wolfram Player and access to the Wolfram cloud with a basic subscription.

The free Wolfram Engine for Developers is designed to be used in the development of off-the-shelf software. You can use it to develop finished software products, both for yourself and for the company you work for. You can use it to develop personal projects at home, school or work. You can use it to learn the Wolfram Language for future software projects. (If you are interested in this link is available valid license).

If you have a finished software product (system) ready to run, you can also get license for production using the Wolfram Engine. How exactly this works will depend on what kind of software product you have created and offer. There are several options: for on-premise, for enterprise deployment, for distributing the Wolfram Engine library with software or hardware, for deployment on cloud computing platforms, and for deployment on Wolfram Cloud or Wolfram Enterprise Private Cloud.

If you are building a free and open source system, then you can apply for a free license to use the Wolfram Engine. Also, if you already have a license by Wolfram license type (of the type that is, for example, in most universities), you are free to use the Free Wolfram Engine for Developers for everything that is written in the license.

We haven't covered all the nuances of using the Wolfram engine yet, but we're committed to providing easy licensing for the long term (and we're working to ensure that the Wolfram Language is always available and works offline). At the moment, we have stable prices for all of our software products that have been created over 30+ years of hard work, and we would like to stay as far away as possible from the many options for advertising gimmicks, which, unfortunately, have recently become too common in software license areas.

Apply to health!

I'm very proud of what we've been able to build on top of the Wolfram Language, and it's been a pleasure to watch all the inventions, discoveries, and developments in education that our software product has made over the decades. In recent years, a fundamentally new level of more and more widespread use of the Wolfram Language in large-scale software projects has been identified. Sometimes the entire project is built in the Wolfram Language alone. Sometimes the Wolfram Language is introduced to bring some additional high-level computational intelligence to a specific location in a project.

The goal of the free Wolfram Engine for Developers is precisely to make it easier for every user to use the Wolfram Language in any software development project and when building systems that use its powerful computational capabilities.

Our team has worked hard to make the Free Wolfram Engine for developers as easy to use and deploy as possible. But if suddenly something does not work for you personally or in your project at work, then please send me an email! If everything is in order, use what we have developed for you and make something new based on what has already been created!

About transferTranslation of Steven Wolfram's post "Launching Today: Free Wolfram Engine for Developers
«.

I express my deepest gratitude Petr Tenishev и Galina Nikitina for their help in translating and preparing the publication.

Want to learn how to program in the Wolfram Language?
See weekly Webinars.
Register for new courses... Ready online course.
Order solutions in the Wolfram Language.

Source: habr.com

Add a comment