Oprogramowanie używane na naszych komputerach powstaje przez pracę tysięcy ludzi na całym świecie korzystających z różnych języków oprogramowania - interpretowanych, kompilowanych do maszyn wirtualnych albo kompilowanych na naszą maszynę. Dzisiaj porozmawiamy troszkę o interpreterach.
Jak działają języki skryptowe?
Zwykły język programowania (kompilowany) konwertuje kod ludzki do kodu zrozumiałego przez maszyny. Może o tym kiedyś porozmawiamy ;)
Języki skryptowe są interpretowane czyli tłumaczone. Gotowa aplikacja zwana interpreterem analizuje kod napisany przez człowieka i linijka po linijce wykonuje je. Daje nam to parę ciekawych właściwości (niektóre pożądane, niektóre nie).
Kod jest niezależny często od maszyny, na której jest wykonywany. Najważniejszym oprogramowaniem jest tutaj interpreter, który musi być przygotowany dla danej maszyny, jednakże poza nim kod może wykonywać nawet nasz telefon (potencjalnie).
Jednakże kod interpretowany jest wolniejszy od kompilowanego, gdyż ten drugi jest kompilowany na kod zrozumiały przez komputer, a ten pierwszy wykonywany w locie. Wydajność kodu interpretowanego jest średnio 1000 razy niższa niż takiego "gotowego".
Same języki skryptowe chyba powoli dominują mimo swoich wad - w Pythonie można w sumie stworzyć wszystko, od gier po aplikacje czy strony internetowe, są więc dość uniwersalne ... oczywiście to samo można stworzyć w każdym innym języku (często?), chociaż nie jest to wygodne - bo nie ma przeciwwskazań by zrobić serwer w C++, który wysyła HTML, a to co dostaje od użytkownika to parsuje i wykonuje.
Ogólne przeznaczenia różnych języków
- Część języków skryptowych jest skierowana do tworzenia stron internetowych - PHP tutaj wiedzie prym, po części Javascript (NodeJS).
- Python często służy do tworzenia aplikacji (najczęściej Linuksowych) - od prostych gier po instalatory poprzez wtyczki do aplikacji.
- Interpretery Shellowe umożliwiają na tworzenie prostych skryptów dla systemów Uniksowych i Linuksowych, które automatyzują pewne rzeczy w systemie (np. robią backup codziennie).
Czy można przyspieszać działanie języków skryptowych?
Niektórych tak konwertując do "bytecode", czyli kodu "skompilowanego" do szybszego uruchomienia przez interpreter. Nie wszystkie jednak języki taką opcję mają, więc starają się optymalizować swoje interpretery. W Debianie skrypty systemowe są uruchamiane przez "Dash" zamiast cięższego "Bash", co zwiększa prędkość wykonywania o 30% w porównaniu z cięższym bratem.
Niestety pewnych granic nie przeskoczymy.
@fervi w sumie to czemu tego nie wrzucasz na dblog?:)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
A co daje dblog poza darmowym upvotem? :D
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
No masz jakos sensownie zorganizowany zbior swoich postow, a tutaj za 2 dni nikt nie bedzie tego widzial :P
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit