Srovnání Pythonu a Wolfram Language

Srovnání programovacích jazyků Python a Wolfram Language From Wikipedia, the free encyclopedia

Remove ads
Související informace naleznete také v článcích Python, Wolfram Language a Syntaxe a sémantika programovacího jazyka Wolfram Language.

Tato stránka podává srovnání základních funkcí programovacích jazyků Python a Wolfram Language. Python je široce rozšířený[1] open source programovací jazyk vytvořený v roce 1991 nizozemským programátorem Guido van Rossumem. Wolfram Language (dále jen WL) je programovací jazyk, jenž je jako součást komerční aplikace Mathematica od roku 1988 vyvíjen společností Wolfram Research vedenou Stephenem Wolframem.

Python i Wolfram Language jsou multiplatformní multiparadigmatické programovací jazyky, jejichž funkčnost zahrnuje mnoho oblastí matematiky, statistiky, zpracování a vizualizace dat, numerické simulace, práce se soubory, komunikace přes síť atd. Jejich vnitřní struktura a principy, na kterých jsou založeny, jsou však dramaticky odlišné. Python je založený na objektově orientovaném přístupu a dává přednost procedurálnímu programování, zatímco základní stavební kameny WL jsou výrazy a jejich úprava pomocí vzorů, přičemž preferované je programování funkcionální. Python využívá mutabilních datových struktur a jeho moto zní: "Vše je objekt."[2]. Naproti tomu WL používá téměř výhradně struktury imutabilní a za jeho moto lze vzít: "Vše je výraz."[3] S těmito odlišnostmi souvisí i syntaxe a základní funkce obou jazyků, kvůli čemuž nelze ke každému objektu v jazyce jednom přiřadit jeho ekvivalent z jazyka druhého. Ačkoli i ve WL lze emulovat objektově orientované programování a v Pythonu lze implementovat vzory, jedná se až o druhotné konstrukty, jež nejsou plně integrovány do jazyka.

Z výše uvedených důvodů je následující srovnání spíše orientační. Je porovnávána především funkčnost obsažená v základní verzi Pythonu bez dodatečných balíků s obdobnou funkčností ve WL. Předpokládá se přitom jistá znalost Pythonu a důraz je při popisu kladen spíše na WL neboť se jedná o méně rozšířený jazyk. Některé důležité oblasti jsou z důvodu odlišných přístupů obou jazyků vynechány úplně či zmíněny jen velmi letmo. Jedná se především o objektově orientované programování v případě Pythonu a o vzory a nahrazovací pravidla v případě WL. Nad rámec tohoto článku je též srovnání možností, které Python a WL nabízejí v oblasti matematiky. Historicky byl WL určen především pro práci s matematickými výrazy, pročež je podpora této oblasti ve WL velmi široká. Jako alternativu Python nabízí mnoho knihoven jako SciPy, SymPy či NumPy.

Srovnání je tematicky rozděleno do celků a prezentováno jako tabulky o dvou sloupcích, kde snahou bylo dát pokud v co nejvíce případech související kód na řádky o stejných pořadových číslech. Pokud není výslovně uvedeno jinak jsou v následujících tabulkách použity verze Python 3.8.10[4] a Wolfram Language 13.1.0[5].

Remove ads

Obecné

Další informace Python 3, Wolfram Language ...
Remove ads

Řetězce

Další informace Indexování začíná od nuly. Při indexování od konce se začíná od ...
Remove ads

Základní práce s čísly

Další informace Poslední výraz je roven součtu druhých mocnin ...
Remove ads

Logické operace

Další informace Python 3, Wolfram Language ...
Remove ads

Datové struktury

Další informace Python 3, Wolfram Language ...
Remove ads

Cykly a iterátory

Následující srovnání není zcela ekvivalentní, protože WL upřednostňuje funkcionální přístup. Ačkoli tedy WL obsahuje například for cykly, je snaha se těmto vyhýbat a místo nich používat mapování funkcí pomocí funkce Map či jí příbuzných funkcí. Pro tvorbu polí je též místo for cyklů často využíváno funkcí Table a Array. Dále je třeba mít na paměti, že WL indexuje od jedničky a nabízí zkrácenou syntaxi pro případy, kdy sčítací indexy skutečně od jedničky začínají. V rámci zachování konzistence mezi Pythonským a WL kódem ale v následujícím vynucujeme indexování od nuly.

Další informace Python 3, Wolfram Language ...
Remove ads

Funkce

Další informace Python 3, Wolfram Language ...
Remove ads

Výjimky

Další informace Python 3, Wolfram Language ...
Remove ads

Odkazy

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads