it-swarm-eu.dev

Proč je tolik programovacích jazyků? Proč se stále vytvářejí nové jazyky?

Proč je tolik programovacích jazyků?

A co někoho přiměje k vytvoření programovacích jazyků, navzdory skutečnosti, že jiné jazyky již existují?

51
Moshe

Programovací jazyky se vyvíjejí

Nové programovací jazyky se často učí ze stávajících jazyků a přidávají, odebírají a kombinují funkce novým způsobem. Existuje několik různých paradigmat, jako je objektově orientovaný a funkční a mnoho moderních jazyky se snaží kombinovat funkce z obou.

Existují také nové problémy, které je třeba vyřešit, např. zvýšení vícejádrových procesorů. Nejběžnějším řešením jsou vlákna, ale některé programovací jazyky se snaží vyřešit problém souběžnosti jiným způsobem, např. herecký model. Viz Erlang - Software pro souběžný svět

37
Jonas

Je to cyklus. Začínáte s novým jazykem a můžete se zbavit všech špatných syntaxí a špatných rozhodnutí od svých předchůdců. Ve verzi 1 vypadá jazyk skvěle, protože nemá žádnou z těchto zavazadel a svou práci zvládne. Poté v novějších verzích začnete experimentovat s funkcemi, které nemusí fungovat, nebo přinášíte funkce z jiných novějších jazyků, které způsobují, že vaše syntaxe je trochu kludgey. Lo a hle, po několika dalších verzích si uvědomíte, že váš jazyk je nyní stejně komplikovaný jako ten, který jste nahradili, s hloupými problémy se syntaxí a starými zavazadly. A najednou si uvědomíte, že pokud jste vytvořili nový jazyk, můžete vše opravit ...

23
RationalGeek

Ze stejného důvodu existují kladiva, šroubováky, ruční pily, pásové pily, sbíječky, páčidla a řada dalších nástrojů: ne každý jazyk je ideální pro každý úkol. Některé jazyky jsou zaměřeny na specifické problémové oblasti: R je zvláště dobrá pro statistické analýzy, C je zvláště dobrá pro psaní jader operačního systému, Haskell je zvláště dobrá pro matematické výpočty nebo finanční výpočty, Erlang je zvláště dobrá při souběžném programování atd.

Také ze stejného důvodu, že košile přicházejí v různých barvách: někteří lidé stejně jako „styl“ jednoho jazyka před jiným.

A samozřejmě, pro mnoho programátorů je zábavné vymyslet nový jazyk, jen aby zjistili, co se stane, nebo snad proto, že mají nějaké znalosti o jazycích a chtějí ho poškrábat nebo vyzkoušet nějaké nápady.

11
mipadi

Protože všichni sají (tak či onak).

Právě jsme vytvořili asi 5000 jazyků pro popis přirozených problémů a žádný z nich není k dispozici pro psaní programů (příkladem by byla „angličtina“).

Dokud někdo nenajde způsob, jak vytvořit programovací jazyk, který dokáže vyjádřit to, co můžete vyjádřit větou v přirozeném jazyce, bude i nadále přicházet.

8
Aaron Digulla

Důležitou motivací pro vytvoření nového jazyka je samozřejmě dosažení něčeho lepšího, než již existující jazyky. A protože vždy existuje prostor pro zlepšení, vždy budou existovat nové jazyky.

Obchodní zájmy jsou dalším velkým důvodem. Věřím, že je například důležité, aby společnost Microsoft nabídla jazyk pro každou potřebu, aby společnosti a vývojáři dávali přednost jejich platformám.

6
Carlos

Starší kód. Pokud začnete nový jazyk, nemusíte při změně starého jazyka poslouchat/posuzovat všechny stížnosti. I když všichni souhlasí s tím, že nová implementace je lepší, nemůže starý kód rozbít. A tam je spousta starého kódu.

6
JeffO

protože je zábavné vytvářet nové jazyky i když nemají skutečné použití

Ezoterický programovací jazyk (někdy zkrácený na esolang) je programovací jazyk určený k testování hranic návrhu počítačového programovacího jazyka, jako důkaz konceptu nebo jako vtip.

4
jk.

Vytvoření programovacího jazyka je docela zábavné. Je to blízko k čisté tvůrčí práci, protože nejste omezeni na předchozí požadavky. Není to tak obtížné implementovat, protože vždy můžete kompilovat do C a kompilovat C kód pro dostatečný výkon, pokud píšete kompilátor na prvním místě.

Většina z nás samozřejmě má méně dobrých nápadů, než si myslíme, že máme, takže často končí zklamáním nebo jiným milováním někoho jiného než původního designéra.

Přemýšlejte o jakémkoli programovacím jazyce, který znáte. Můžete snadno přijít s několika věcmi, které se vám nelíbí, že? Máte pravděpodobně představy, jak je lze opravit. S trochou více podnětu, za předpokladu, že víte hodně o budování kompilátoru (a spousta lidí ano), můžete začít navrhovat a dokonce implementovat vlastní.

3
David Thornley

Rychlá krátká odpověď

Znovuobjevování kola ... Jaký je současný trend ...

nudná dlouhá odpověď

Mnoho lidí zapomíná, že „další podobný nový jazyk pro staré programátory“ je „prostý nový jazyk pro nové programátory“.

Co tím myslím?

No, pro "několik let" programátory, Java nebo C # mohou být další programovací jazyky k existujícím Cobolům, (OO/procedurální) Basic, C/C++, zatímco pro "nové" programátory = = Java nebo C # jsou nové jazyky, zatímco Cobol, (OO/Procedural) Basic, C/C++ pro ně neexistuje, takže objevování kola se stává běžnou věcí ...

A pokud existuje nový trend v technologii, lidé mohou vytvořit nový programovací jazyk založený na tomto trendu, jako je například ecmascript/javascript pro web a funkční programování ...

Na zdraví.

2
umlcat

nové programovací jazyky jsou vytvářeny z mnoha různých důvodů, většinou proto, že existuje nové programovací paradigma nebo kvůli pokroku v hardwaru lidé vytvářejí nový jazyk, aby využívali nové hardwarové funkce, jako je multitasking atd.

v mém případě obvykle stavím malé kompilátory (s novým programovacím jazykem) ze zvláštních důvodů. Pokud přidělím hry a věřím, že programovací jazyk vytvořený speciálně pro vývoj her bude mít za následek menší rychlejší kód a rychlejší vývoj, pak to budu stavět. a na konci se ukáže, že může být také použit pro jiné všeobecné programování.

Myslím, že většina lidí, kteří vytvářejí programovací jazyky, má na mysli specifický účel, jsou lidé, kteří je vytvářejí pro obecné účely od začátku. ale většina z nich není.

Mimochodem si myslím, že existuje příliš mnoho programovacích jazyků, ale stovky nových jazyků vždy vyjde. někteří z legrace, jiní ze zvláštního účelu, jako školní projekt, nebo ze stovek jiných důvodů. a dříve či později se stane populární nová. Jeho nikdy nekončí.

1
Sergio Fernandez

Existuje několik důvodů, většina z nich je proto, že si lidé myslí, že to, co existuje, neumožňuje vyřešit některé problémy. Některé jsou pouze pro zábavu nebo pro akademický zájem.

Myslím, že existuje solidní argument, že otázka, jak navrhujete dokonalý jazyk, není dosud vyřešena (a možná nikdy nebude). Dokud budou mít lidé nové nápady, co by udělalo skvělý jazyk, budou se lidé stále snažit. Některé z těchto pokusů zmapují skvělý nový prostor, jako je Erlang, a některé propadnou, ale pokud se něco naučí z flopu, je to také v pořádku.

0
Zachary K

Ze stejného důvodu existuje tolik <whatever> a stále vytváříme nový <whatever>

Existuje například tucet PHP rámců MVC), ale lidé vždy vytvoří nové, aby splnili specifické potřeby, aby se nestali závislými na nějakém jiném týmu, nebo jen aby se pokusili vytvořit něco lepšího. Totéž platí v podstatě pro všechny typy nástrojů nebo aplikací.

Je to velmi dobrá věc, podle mého názoru do značné míry oboustranně výhodná pro všechny.

0
Fosco

Univerzity přispívají mnoha programovacími jazyky, stejně jako velmi velké společnosti, jako je Ericsson (Erlang = jazyk Ericsson), Bell Labs (jazyky B a C), Google (jazyk Go od několika měsíců před). Mnoho z těch, které byly napsány jako součást univerzitního výzkumu, se příliš nepoužívá. Existuje však několik významných výjimek. Předpokládám, že psaní vlastního jazyka/kompilátoru je dobrým tématem pro dizertační práce lidí, kteří studují CS Teorii nebo příbuzné obory. Připadá mi, že Python je jeden z prvních jazyků, který se zrodil ze společného online úsilí různých programátorů kolem jediného nápadu).

0
ixtmixilix