Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 22 reacties
Submitter: PM_Petrol

Wolfram Alpha heeft de komst van een nieuwe programmeertaal aangekondigd. Wolfram Language moet eenvoudig te gebruiken zijn en complexe functies bevatten. Ook wordt de Programming Cloud aangekondigd, waarin apps kunnen worden gebouwd en uitgerold.

Wolfram Alpha, de onlinedienst die gegevens opzoekt, analyseert en ze begrijpelijk presenteert, kondigt een nieuwe, eigen programmeertaal aan, zo schrijft The Verge. De taal, genaamd Wolfram Language, moet gemakkelijk te gebruiken worden en overweg kunnen met complexe functies. De taal wordt een evolutie van de Mathematica-software, die van dezelfde maker is als Wolfram Alpha. Het is nog onduidelijk wanneer de programmeertaal gepresenteerd wordt. Meer updates en informatie van het project zijn voor de komende maanden beloofd.

De taal van Wolfram wordt een general-purpose language, wat betekent dat er allerlei soorten applicaties mee gebouwd kunnen worden, zoals voor beeldverwerking, grafieken tekenen en natuurlijke taal begrijpen. In tegenstelling tot de meeste andere talen zal Wolfram Language niet zwaar leunen op het gebruik van libraries. In plaats daarvan worden veel functies direct in de taal ingebouwd.

Wolfram Alpha: Something's big is coming

Naast de nieuwe programmeertaal is ook de Programming Cloud aangekondigd. Hiermee krijgen ontwikkelaars de mogelijkheid om apps in Wolfram Language via het web te bouwen en uit te brengen. De taal is vrij high-level en daardoor wellicht niet snel. Waarschijnlijk wil Wolfram de cloud gebruiken om de snelheid te verbeteren. Overigens zal het mogelijk zijn om ook desktopapplicaties met Wolfram Language te maken.

Ten slotte zal de nieuwe programmeertaal voordelen bieden voor de Mathematica-software, zo stelt Wolfram. Onder meer komt er Mathematica Online aan, waarmee complete sessies in de browser uitgevoerd kunnen worden.

Moderatie-faq Wijzig weergave

Reacties (22)

Als je geïnformeerd wil worden zodra bekend is wanneer dit uitgebracht wordt, kun je je hier aanmelden:
http://www.wolframcloud.com/
Even voor de duidelijkheid: mathematica bevat ook al reeds een programmeertaal en wolfram alpha was half bedoeld als marketing voor mathematica. Relatief snel maakte ze mogelijk om alle informatie die in wolfram alpha zat en nog niet in mathematica (vooral dus (gevulde/live) databases) ook vanuit mathematica aan te spreken. Het idee is nu om Mathematica, Wolfram | Alpha en CDF en meer kennis die ze hebben opgedaan dat die allemaal terug zou moeten komen in deze nieuwe taal. Het idee van het plaatje in het artikel bijvoorbeeld is dat Mathematica redelijk gericht was, Wolfram | Alpha breder werd en dat deze taal nog breder zou zijn (meer unified zoals Wolfram zou zeggen :P )

In ieder geval, wat me persoonlijk nogal zorgen baart dat ze hebben besloten om een framework taal te bouwen. Wat ik daar mee bedoel is dat de taal niet alleen de basis is waar applicaties op draaien, maar dat ze ook direct min of meer een framework erbij leveren met het idee dat je dat geen externe libraries nodig hebt (zoals progress/openedge en coldfusion). Het leuke daarvan is dus dat je simpele dingen erg snel kunt doen en ook complexe dingen die passen in hun doelstellingen... maar zodra het net te veel afwijkt zul je relatief vaak hacks moeten gebruiken om dat voor elkaar te krijgen wat je wilt of totale libraries zelf bouwen. Wat mij betreft was het een stuk beter geweest hadden ze een serie libraries gemaakt voor een bestaande taal, niet omdat ik er iets op tegen heb een nieuw taal te leren, maar omdat je nu een combinatie krijgt zit je zowel vast aan een taal en aan een groot aantal libraries die je mogelijk niet eens wilt gebruiken.

Hoe dan ook, dat haalt niet weg dat sommige van de gasten daar tussen de meest geniale mensen waar dan ook zitten. Of dat betekend dat ze een goed product zullen afleveren? Geen flauw idee, maar het is zeker iets om te bekijken als het uitkomt :D

Edit: submite per ongeluk halverwege m'n post

[Reactie gewijzigd door David Mulder op 15 november 2013 15:54]

Denk eerder dat het de bedoeling is dat het eenvoudiger wordt. Als je weet hoeveel extra functies een CPU heeft om bepaalde taken te versnellen, daarnaast ook nog eens rekening houden met multi-core, en last but not least ondersteund mathematica ook nog eens OpenCL en Cuda (nvidia).

Om het eenvoudiger te houden kun je de functies centraal stellen en kijken of het concept werkt, en achteraf eventueel optimalisaties gebruiken die processoren kunnen bieden om berekeningen te versnellen.
Niet zwaar leunen op libraries? Functies al in de taal aanwezig?
Hoe vaak is het niet dat mensen zelf een library aanleggen, omdat de programmeertaal die ze gebruiken niet toereikend is. Ik probeer zo veel mogelijk gebruik te maken van standaarden in de programmeertaal die ik gebruik, maar wat er niet is moet ik toch zelf bouwen.
Ik denk dat Wolfram de bibliotheek aan functies / "taal" die ze in de loop der jaren voor Mathematica hebben ontwikkeld hiermee wat verder willen uitbouwen, en daar kun je al echt gruwelijk veel mee. Als je een beeld wil hebben wat er nu al zoal mogelijk dan zou je eens door de documentatie kunnen klikken van Mathematica 9
De vraag is meer wat je onder libraries ziet. Zie je de de .net linq of list als library, of als onderdeel van de taal? In feite zijn het .net libraries, voor mijn gevoel en in mijn gebruik zijn het een onderdelen van C#.

Overigens, als de programmeertaal niet toerijkend is kun je af en toe beter overwegen om een andere programmeertaal te gebruiken. Libraries schrijven voor semi-triviale dingen wordt op ten duur vervelend.
Dus als je 3D acceleratie wilt in een programma, ga je eerst een eigen OpenGL implementatie in elkaar hacken?

Iedereen gebruikt libaries, als je dat niet doet, ben je het wiel eindeloos opnieuw aan het uitvinden. Meestal heb je geeneens de skills om het wiel rond te krijgen.
Niet alleen dat ... ookal heb je de skills, we zitten hier op miljoenen manuren aan functionaliteit.
Wat een gemiste kans trouwens wat betreft de naam; Wolflang :+

Maar inderdaad, veel ingebouwde functies is de nummer één manier om je taal aan de man te brengen. Als er al veel functionaliteit in zit is het makkelijk om wat te maken. Het nadeel is, dat je bij eventuele veranderingen en nieuwe versies, altijd met de oude apps/codebase/etc. zit. Vernieuwen en verbeteren kan dan heel moeilijk zijn.

Aan de andere kant, het betreft een online dienst die dit voor gebruik binnen de dienst ontwikkelt. Dus kader je al een heleboel problemen en issues af, waardoor het gemiddeld gezien een goede oplossing is.
Vandaar dat je als je een nieuwe programmeertaal ontwikkeld groots moet inzetten op schaalbaarheid en modulariteit. Java is daar heel langzaam heen aan het evalueren (e.g. superpackages). Maar daar heb je natuurlijk wel al dingen als OSGi dat zelfs de module-structuur tijdens runtime aan houdt. Dingen als versioning moeten bij het uitbrengen al gestandaardiseerd zijn. Een programmeertaal is al lang niet meer een definitie van syntax; tegenwoordig moet je echt een omgeving opzetten, het liefst met een IDE. Helaas hebben veel makers van talen dat nog niet helemaal door.

Laatst ben ik door een presentatie modular Scala gegaan waar ze niet verder kwamen dan hun object oriented structuur. Dan zie je naar mijn mening het hele plaatje nog niet. Een duidelijke onderverdeling van de standaard functionaliteit in een boomstructuur is een must, evenals versioning op tenminste de interface van modules.
Inderdaad. Wat is je punt?

De standaard dingen zijn nu in de taal ingebouwd. Voor wat er niet is veranderd er niets, dat moet je nog steeds zelf bouwen en dat mag in een library.
Zal deze taal gaan concurreren met Matlab? Ik ben erg benieuwd!
Matlab is een kleine subset van Mathematica (Mathematica kan alles wat Matlab kan en nog VEEL meer) en Mathematica zou een subset moeten worden bijna van dit... dus nee, een concurrent zou ik het niet noemen :P
Hmm, de performance van Matlab is vele malen hoger dan die van Mathematica. Mathematica is veel beter in abstract redeneren en werken met formules, Matlab is veel beter te scripten en rekent veel sneller. Het heeft elk zijn eigen toepassing, dus zoals je het hier stelt is niet helemaal eerlijk.
"performance van Matlab is vele malen hoger" hangt volledig af van wat je specifiek doet, maar ik heb even rondgekeken en heb 3 tests gevonden van zo maar mensen met zo maar een scenario (eentje met het sorteren van matrices ofzo, 1tje met iets van inverse matrices en 1tje die ik helemaal niet volgde :+ ), in 2 d'rvan scoorde mathlab marginaal beter en in 1 scoorde ze gelijk. Haalt niet weg dat Mathlab wel beter zal scoren als je puur numeriek (compupter precision) bezig bent, want Mathlab hoeft geen rekening te houden met complexere getallen en daar komt waarschijnlijk ook dat marginale verschil vandaan.

"Matlab is veel beter te scripten" Matlabs manier van scripten is traditioneler terwijl die van Mathematica... naja, op z'n minst apart te noemen is :P

"rekent veel sneller" zie hierboven

"Het heeft elk zijn eigen toepassing, dus zoals je het hier stelt is niet helemaal eerlijk."

Hoe dan ook, een aanrader om te bekijken is deze Q&A
Ik denk niet dat dit bedoeld als een concurrent van Matlab.

Meneer Wolfram wil iets heel anders, een volledig nieuw niveau in very high level programming heb ik het idee. Ik ben zelf erg benieuwd. Ik ga er zeker mee experimenteren.
Ik vind het toch een vreemd dat ze ervoor gekozen hebben om het high level te maken. Het voordeel van weinig libraries en veel directe functies valt dan een beetje weg. Als je puur voor de snelheid gaat dan.

Toch ben ik stiekem wel benieuwd, ze hebben mooie andere producten
Juist niet lijkt me. Als je libraries bouwt dan programmeer je dus functies door gebruik te maken van de 'native' functies van die taal (weet even de juiste term niet, ben geen programmeur...). Als de 'native' functies van die taal al vrij complex zijn dan worden de functies in je library écht traag. Door veel native functionaliteit in de taal te stoppen kun je hem nog een beetje rap houden (de native functies kunnen immers in een snelle, low level taal geschreven worden). Maar misschien is dat mijn amateur-programmeur-idee...
Mathematica is al best uitgebreid. Benieuwd wat dit gaat bieden.

En het formuliertje voor Wolfram Language:
http://www.wolfram.com/wolfram-language/

[Reactie gewijzigd door -RetroX- op 15 november 2013 15:11]

Wolfram Alpha schijnt ene vrij dubieus stuk software te zijn tav copyright.
How Wolfram Alpha could change software
The upstart "computational knowledge engine" claims its results are original works, raising important questions about software and intellectual property
Matlab staat voor Matrix Labratory en is uitmuntend geoptimaliseerd voor array en matrix berekeningen. Dus de performance van Matlab en mathematica vergelijken is appels en peren vergelijken.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True