internetWiadomość główna

NSA sponsoruje prace nad językiem, który połączy wszystkie inne języki programowania

Tworzenie witryn i aplikacji sieciowych nie jest łatwym kawałkiem chleba. Nie ułatwia tego konieczność korzystania z wielu języków programowania, niedoskonałych frameworków czy zmaganie się z niekompatybilnymi przeglądarkami. Na szczęście istnieje instytucja, która poda pomocną dłoń w potrzebie. Trzymajcie się mocno, ponieważ instytucją tą jest NSA.

Nie, to nie żart – NSA rzeczywiście sponsoruje prace nad nowym językiem oprogramowania o nazwie Wyvern. Ma to być język, który pomoże deweloperom w pisaniu aplikacji i witryn bez konieczności korzystania z mieszanki JavaScriptu, HTML, CSS, PHP, XML czy SQL. Język ostateczny, język języków.

Jak tłumaczy jeden z głównych twórców Wyvern, Jonathan Aldrich z Carnegie Mellon University:

„Współczesne aplikacje sieciowe pisane są przy pomocy słabo skoordynowanej mieszanki artefaktów napisanych w różnych językach, wykorzystujących różne technologie i formaty plików. Aplikacja może na przykład wykorzystywać JavaScript po stronie klienta, HTML do opisania struktury, CSS do jej prezentacji, XML do komunikacji ajaksowej oraz mieszaniny Javy, plików konfiguracyjnych w czystym tekście i oprogramowania bazodanowego po stronie serwera. Ta różnorodność zwiększa koszty opanowania niezbędnych technik programistycznych, utrudniając jednocześnie zabezpieczenie całości oprogramowania.”

Wyvern ma być inny. Ma działać jako jednolity pośrednik pomiędzy programistą, a pisanym przez niego kodem. Język ma automatycznie ustalać, z jakiego podjęzyka ma korzystać na podstawie typu danych używanych w danej chwili przez programistę. Mogą być to zarówno proste ciągi alfanumeryczne, liczby zmiennoprzecinkowe, ale też bardziej złożone struktury danych, takie jak strony WWW czy zapytania do baz danych. Twórcy Wyvern porównują go do wytrawnego dyplomaty, który płynnie posługuje się różnymi językami obcymi w zależności od tego, z kim aktualnie rozmawia.

Co ciekawe użytkownicy mają mieć możliwość definiowania nowych podjęzyków, z których mógłby korzystać Wyvern. Teoretycznie więc aplikacja statystyczna pisana za jego pomocą, powinna móc korzystać z możliwości specjalistycznego języka R, a aplikacja z modułem sztucznej inteligencji powinna móc korzystać z Prologu.

Zaletą języka Wyvern ma być bezpieczeństwo. Jeden język ma ułatwić zabezpieczanie aplikacji, a mechanizmy w niego wbudowane mają automatycznie eliminować takie zagrożenia, jak na przykład podatność na taki typu SQL Injection.

Po co jednak NSA, agencja która zajmuje się inwigilowaniem praktycznie wszystkich, miałaby wspierać tworzenie języka bezpiecznego a do tego rozwijanego na licencji GPLv2? Oficjalnie zadaniem agencji nie jest jedynie szpiegowanie internautów, powinna się ona zajmować także dbaniem o cyfrowe bezpieczeństwo USA. Tu można byłoby szukać źródeł tego swoistego rozdwojenia jaźni, którego podobnym przejawem było sponsorowanie rozwoju Tora przez Marynarkę Wojenną USA. Tego samego, z którym dziś NSA stara się walczyć. Choć co bardziej podejrzliwe osoby stwierdzą prawdopodobnie, że Wyvern, który do działania wymaga zainstalowanej Javy 8, będzie służył NSA do tego, by wykorzystywać jej luki.

Tak czy inaczej finansowane przez NSA prace nad językiem Wyvern trwają nadal, a stabilna wersja języka powinna być gotowa przed końcem tego roku.

Zdjęcie: Flickr/Snapshooter46


podobne treści