Hoj nevíte někdo v čem se píšou programovací jazyky? Taky v nějakym jazyku? Potřeboval bych si jeden jednodušší napsat.
Fórum › Offtopic
Jak psát programovací jazyk
Jazyk se vlastně ani nepíše. Maximálně tak dokumentace, nejlépe poznámkový blok, Word, Writer.
Poté si musíš napsat kompilátor - tzn. nutná znalost Asm, procesoru a podobných věcí.
MImo jiné k čemu nový jazyk potřebuješ?
A otázka na závěr: Všimni si, že už dlouho nebyl vyvinut nový prog. jazyk, možná jenom drobné nástavby. Čím to asi bude?
To yaqwsx : Tak to je jasný, není třeba, ale já to chtěl pro kamaráda. Ten je na low levelu v IT a tak jsem mu chtěl ulehčit život, tak mi doporuč nějakej jazyk, kde by pochopil snadno základy. Určitě nechci volit Pascal, ten by byl pro něho docela dosti složitej. Tak poraď...
Sice nejsem yaqwsx, ale doporučím do začátku Python a perfektní kurz od geona :smile1: Mimochodem, vývoj vlastního jazyka by ti zabral asi tolik času, že by kamaráda přešla chuť, nebo by se spíš naučil nějaký sám od sebe:D
selkir
Potřeboval bych si jeden jednodušší napsat.
Pokud nevíš, jak by se to dalo udělat, doporučuji ti, abys na to rovnou zapomněl, přinejmenším alespoň odložil na dobu, kdy vědět budeš. V životě programátora přijde hodně chvil, kdy by znovuvynalézat kolo. A ano, je to dobré -- hodně se tím naučíš (a zjistíš, že to povětšinou nemá smysl dělat, že je mnohem lepší se k někomu přidat a pomoci s již rozjetým projektem). Z podobného soudku je např. začít stavět svůj vlastní operační systém, či u linuxu velice oblíbené téma -- vlastní distribuce --, u PHP je to zase svůj vlastní, jedinečný a mnohem-lepší-než-všechny-ostatní framework. Ale věř mi, že pokud nemáš dost píle na to, aby sis o tom něco našel sám, nikdo jiný to za tebe neudělá.
U jazyka si nejdříve musíš rozmyslet, k čemu bude sloužit (systémové věci, web, skriptovní a prototypování...), na jakém principu bude založen (imperativní, funkcionální, deklarativní), jakou bude mít syntaxi. Až to budeš mít, musíš zapřemýšlet nad tím, jaké pro něj uděláš nástroje -- jestli bude kompilovaný, nebo interpretovaný. Jestli bude kompilovaný, musíš logicky udělat kompilátor. Buď můžeš postavit svůj vlastní, nebo ho postavit na jiném dostupném -- např. jako další front-end pro gcc. Či některé jazyky využívají překlad do jiného jazyku, pro který kompilátory jsou (myslím, že jsou některé takové kompilátory pro Lisp, Scheme, nejspíš budou i další). Pokud je jazyk interpretovaný, situace je trochu jednodušší -- interpret (program vykonávající příkazy jazyka, spracovávající jazyk) naváže akce jazyka na své. Takový interpret může být napsán v jakémkoli jazyku -- kompilovaném (např. interprety Perlu, PHP, Python...), a dokonce i v jiném interpretovaném (HotRuby (http://hotruby.accelart.jp/)). Psaní jazyka je běh na dlouhou trať a jak poznamenal yaqwsx: "Všimni si, že už dlouho nebyl vyvinut nový prog. jazyk, možná jenom drobné nástavby. Čím to asi bude?"
Taky nejsem yaqwsx, ale...
ale já to chtěl pro kamaráda. Ten je na low levelu v IT a tak jsem mu chtěl ulehčit život
"je na low levelu v IT"? Co je tím myšleno? Nic ve zlém, ale myslím si, že bys napsáním nového jazyka kamarádovi život moc neulehčil :)
tak mi doporuč nějakej jazyk, kde by pochopil snadno základy
Jazyk se nejlépe učí tak, že něco chceš programovat, a tak to taky začneš programovat. Proto záleží, co tvého kamaráda zajímá, co chce dělat. Dám příklad. Já jsem chtěl dělat dynamické stránky spolupracující se serverem. Proto jsem se začal učit PHP. A nějaké ty základy jsem tam určitě pochytil.
Kdysi jsem se (nejen) tady dotazoval na zdroje týkající se tvroby kompilátorů/parserů a musím říct, že je to velice zajímavé čtení. Pokud máš alespoň trochu zájem o tom něco vědět, tak doporučuji dohledat.
selkir napsal:
Hoj nevíte někdo v čem se píšou programovací jazyky? Taky v nějakym jazyku? Potřeboval bych si jeden jednodušší napsat.
Na LUA a myslim ze i python jsou volne dostupne interpretery treba pro c++, nemas lepsi pouzit ty?
To selkir : Jak někteří říkali, že bys k tomu nutně potřeboval ASM, není to pravda - pokud by byl jazyk interpretační. Stejně však stále zbývá nelehká úloha (samozřejmě relativně nelehká - když se zamyslíš, určitě to vymyslíš :smile1: ) - napsat parser (algoritmus, který rozdělí kód na jednotlivá slova). Nevidím však důvod, proč psát programovací jazyk pro kamaráda, když existuje Python, Pascal a jiné, velmi jednoduché, jazyky. Pokud je kamarád takovej BFU, že nezvládne ani Pascal, pak těžko říct, jestli má hned začínat s programováním :smile1: . A pokud má kamarád problém s anglickými klíčovými slovy a názvy funkcí, jednoduše můžeš napsat nějaký malý framework/knihovnu, která bude obsahovat "české aliasy" k běžným funkcím...
To Colpik : jo to s těmy aliasy to je dobrá věc, asi ho odkážu na Python
Keď ide o jazky, ktory ma byť jednoduchý, tak prečo by mal byť priamo pri assembleri ? čo tak ho kompilovať 2x :-)
najskor do c++ alebo ineho znameho jazyka a potom ho nechať už vytvorenemu kompileru. Potom by to nebolo až take vzdialene.
Imho. ak je kamaratovi nutne vyvinuť jazyk, tak asi pre ňeho programovanie veľmi nebude. Ja mam tiež snahu potlačiť kamarátov k programovaniu, ale keď to nejde tak to nejde. Tento topic svedčí o tom, že nás prgramátorov je málo na km^2 :-/
V Javě s využitím generátoru JavaCC si můžeš udělat vlastní interpretační překladač za pár hodin. Tady si můžeš mrknout na můj jednoduchý překladač, co jsem vytvořil:
http://blog.mynameisearl.cz/clanek/interpretacni-prekladac-implementovany-v-jave-s-vyuzitim-javacc/
mephi
najskor do c++ alebo ineho znameho jazyka a potom ho nechať už vytvorenemu kompileru.
Taky již několik takových kompilátorů existuje, jak jsem psal.
<OT>
Tento topic svedčí o tom, že nás prgramátorov je málo na km^2 :-/
A ty myslíš, že je to špatně? Víš, jak by se špatně sháněla práce, kdyby byl každý druhý programátor? :)
</OT>
selkir
Pokud bys přeci jen uvažoval o napsání toho jazyka, doporučuji ti se podívat na seriál jazyky a překladače na abclinuxu.cz (http://www.abclinuxu.cz/serialy/jazyky-a-prekladace). Ale pokud to opravdu píšeš kvůli tomu, aby se na tom kamarád učil, ne jen proto, aby sis to zkusil napsat, radši bych být tebou kamaráda nasměroval na nějaký již "zaběhlý" jazyk. Nic proti, ale na nějakém rychlokvašeném jazyku urobeném doma na koleně se toho moc nenaučí.
To bukaj : jo to je pravda asi ho zkusím nasměřovat na Python. Ten snad musí pochopit každej, a když to nevijde tak to asi bude muset vzdát.
Keď mu je ťažko s Visual Basicom alebo Pascalom, lze ho označiť za BFU a keď požaduje vlstný programovací jazyk, tak programovanie rozhodne nie je pre neho. Pokiaľ sa chce naučiť programovať, musí si určiť, aký typ aplikácií chce vyvíjať. Ak pre neho budeš robiť nejaký nový jazyk na mieru, nič sa nenaučí a nebude schopný sa uplatniť na trhu. To je môj skromný názor. Nemusíte ho brať vážne :)
Jj :DDavMar napsal:
To Jasper : Jj, předmět PJP, že? :smile1:
Proxymus napsal:
Pro úplné začátečníky v programování bych doporučil Petříka nebo Baltíka, bez znalosti jakéhokoliv jazyka pochopí strukturu programování. Pak stačí jen přejít na nějaký jazyk jako C, PHP, Python aj. a naučit se jeho syntax.
Toto se tu ale neřeší :)
DavMar napsal:
To Jasper : Já jsem z něj jen trochu čerpal, ale opravdu jen trochu, takže díky, že si umožnil jej nechat stáhnout. Ale Běhálek byl vpoho. Sry za offtopic ...
Je vpoho, ale opakoval jsem ten předmět :D Loni jsem nějak nestihl ten projekt :D A navíc jsem nepsal ten zápočtový test, co letos už zrušili, protože jsem měl zlomenou ruku :(
Doporučuju Baltíka :smile5: Pokud je to podobný vemeno na IT stejně jako moji přátelé :smile5:
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Programovací jazyk E — založil Nikol
Programovaci jazyk — založil marfik
Programovací jazyk — založil Itej
Programovací jazyk — založil Dalibor
Programovací jazyk R — založil Martin
Moderátoři diskuze