• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Kod bajtowy Javy



    Podstrony: [1] [2] 3 [4] [5]
    Przeczytaj także...
    Perl – interpretowany język programowania autorstwa Larry’ego Walla początkowo przeznaczony głównie do pracy z danymi tekstowymi, obecnie używany do wielu innych zastosowań. Wzorowany na takich językach jak C, skryptowe: sed, awk i sh oraz na wielu innych.Adobe ColdFusion – pierwsza i najczęściej spotykana implementacja języka programowania ColdFusion Markup Language (CFML), który jest używany w tworzeniu dynamicznie generowanych stron internetowych. Początkowo był to produkt firmy Allaire, w 2001 roku firma ta została zakupiona przez firmę Macromedia, która została w 2005 roku włączona do korporacji Adobe Systems. ColdFusion bazuje na specyfikacji języka ECMAScript, ale nie jest z nią w pełni zgodny.
    Uruchamianie kodu[ | edytuj kod]

    Kod bajtowy Javy zaprojektowany został, aby go uruchamiać na wirtualnej maszynie Javy.

    Aby wygenerować kod maszynowy, można użyć aplikacji GCJ z pakietu GNU Compiler Collection.

     Zapoznaj się również z: Wirtualna maszyna Javy.

    Obsługa języków dynamicznych[ | edytuj kod]

    JVM obecnie nie ma wbudowanej obsługi języków o dynamicznym systemie typów. Ponieważ istniejący zestaw instrukcji dla JVM jest w statycznym systemie typów, co oznacza, że wywołania metod mają przypisane sygnatury typów sprawdzane podczas kompilacji, bez mechanizmu odraczania sprawdzania do czasu uruchomienia kodu lub wybrania metody wysyłki przez alternatywny typ.

    Przyrostek (sufiks) – w językoznawstwie jest to każdy fragment wyrazu (jego morfem), o ile jest dodany po jego rdzeniu (czyli podstawie słowotwórczej) i jednocześnie ma własności słowotwórcze (czyli nie jest końcówką fleksyjną, przy czym rozróżnienie na "sufiks" jako element słowotwórczy i "końcówkę" jako wykładnik fleksyjny typowe jest wyłącznie dla polonistyki i slawistyki, a nie jest stosowane w innych filologiach, stąd na przykład w angielskiej i niemieckiej wersji tego artykułu "sufiks" jest egzemplifikowany w pierwszym rzędzie jako wykładnik deklinacyjny). Danemu wyrazowi może towarzyszyć jeden sufiks, kilka lub żaden.Kod bajtowy (ang. bytecode) – nazwa reprezentacji kodu używanej przez maszyny wirtualne oraz przez niektóre kompilatory. Kod składa się z ciągu instrukcji (których kody operacji mają zwykle długość jednego bajta, stąd nazwa), które nie odpowiadają bezpośrednio instrukcjom procesora i mogą zawierać instrukcje wysokiego poziomu (takie jak np. stwórz obiekt klasy X, połącz dwa łańcuchy itd.), jednak w przeciwieństwie do kodu źródłowego wymagają analizy tylko pojedynczych poszczególnych operacji.

    JSR 292 Supporting Dynamically Typed Languages on the JavaTM Platform (z ang. Obsługa języków o dynamicznym systemie typów na platformie JavaTM) dodaje nową instrukcję invokedynamic, która umożliwia wywołanie metody opierając się na dynamicznym sprawdzaniu typów (zamiast istniejącej funkcji invokevirtual, która opiera się na statycznym sprawdzaniu typów).

    W językach programowania system typów może być zdefiniowany jako system klasyfikacji wyrażeń w zależności od rodzajów wartości, jakie one generują. Każdej obliczonej wartości przypisywany jest pewien typ, który jednoznacznie definiuje, jakie operacje można na niej wykonać. Śledząc przepływ wartości, system typów stara się udowodnić, że w programie występuje poprawne typowanie, tzn. nie dochodzi do sytuacji, w której na wartości określonego typu próbujemy wykonać niedozwoloną operację.Programowanie proceduralne to paradygmat programowania zalecający dzielenie kodu na procedury, czyli fragmenty wykonujące ściśle określone operacje.

    Lista języków kompilowanych do kodu bajtowego Javy[ | edytuj kod]

    Implementacje istniejących języków[ | edytuj kod]

    Języki zaprojektowane dla kompilacji do kodu bajtowego Javy[ | edytuj kod]

  • Alef++, język programowania zainspirowany językami Perl i Lisp,
  • Ateji PX,
  • BBj, obiektowy język programowania zaprojektowany do pisania aplikacji biznesowych,
  • BeanShell, język skryptowy podobny w składni do Javy,
  • Ceylon,
  • ColdFusion, język skryptowy używany na serwerze aplikacji ColdFusion,
  • CAL, zainspirowany językiem Haskell funkcjonalny język programowania,
  • kod języka E może być kompilowany do kodu bajtowego Javy,
  • Fantom,
  • Flow Java,
  • Fortress, język zaprojektowany przez Sun, jako następca dla języka Fortran,
  • Frink,
  • Gosu, rozszerzalny język, którego kod jest kompilowany do kodu bajtowego Javy,
  • Hecl,
  • Ioke, język przypominający język Io, z podobieństwami do języka Ruby, Lisp i Smalltalk,
  • KBML,
  • Jabaco,
  • Jaskell, inspirowany językiem Haskell,
  • Jelly,
  • Join Java, język będący pochodną Javy,
  • Joy,
  • Judoscript,
  • Mirah, język programowania ze składnią przypominającą Ruby,
  • N.A.M.E. Basic,
  • NetLogo,
  • Nice,
  • Noop,
  • ObjectScript,
  • PHP.reboot język, który przypomina język PHP,
  • Pizza, pochodna języka Java ze wskaźnikami i algebraicznymi typami danych,
  • Pnuts,
  • Scala
  • Stab, w którym sposób programowania podobny jest do tego w języku C Sharp,
  • Sleep, proceduralny, skryptowy język programowania zainspirowany językami Perl i Objective-C.
  • kod języka V może być kompilowany do kodu bajtowego Javy,
  • X10, język stworzony przez firmę IBM,
  • Yeti, funkcjonalny język programowania.

  • C# (C Sharp, dosłownie "C-krzyżyk", "cis") – obiektowy język programowania zaprojektowany przez zespół pod kierunkiem Andersa Hejlsberga dla firmy Microsoft.PHP – obiektowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym.


    Podstrony: [1] [2] 3 [4] [5]



    w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Warto wiedzieć że... beta

    Stos (ang. Stack) – liniowa struktura danych, w której dane dokładane są na wierzch stosu i z wierzchołka stosu są pobierane (bufor typu LIFO, Last In, First Out; ostatni na wejściu, pierwszy na wyjściu). Ideę stosu danych można zilustrować jako stos położonych jedna na drugiej książek – nowy egzemplarz kładzie się na wierzch stosu i z wierzchu stosu zdejmuje się kolejne egzemplarze. Elementy stosu poniżej wierzchołka można wyłącznie obejrzeć, aby je ściągnąć, trzeba najpierw po kolei ściągnąć to, co jest nad nimi.
    Asembler (z ang. assembler) – termin informatyczny związany z programowaniem i tworzeniem kodu maszynowego dla procesorów. W języku polskim oznacza on program tworzący kod maszynowy na podstawie kodu źródłowego (tzw. asemblacja) wykonanego w niskopoziomowym języku programowania bazującym na podstawowych operacjach procesora zwanym językiem asemblera, popularnie nazywanym również asemblerem. W tym artykule język programowania nazywany będzie językiem asemblera, a program tłumaczący – asemblerem.
    Przedrostek, prefiks – w językoznawstwie jest to fragment wyrazu (tzw. morfem) dodawany po lewej stronie do słowa podstawowego lub jego rdzenia (czyli do podstawy słowotwórczej), służący tworzeniu wyrazów pochodnych. Wyraz może nie posiadać żadnego prefiksu, może posiadać jeden lub więcej prefiksów.
    Scala − język programowania łączący cechy języków funkcyjnych i obiektowych. Scala działa na Wirtualnej Maszynie Javy, a także na Java Platform, Micro Edition Connected Limited Device Configuration i platformie .NET. Nazwa ma za zadanie podkreślać skalowalność języka, stąd Scala ("scalable language").
    NetLogo to język programowania i zintegrowane środowisko modelowania matematycznego. Język NetLogo został zaprojektowany na bazie języka Logo. Jego twórcy kierowali się zasadą niski próg i brak sufitu: język ma umożliwić łatwą pracę nowicjuszom a jednocześnie sprostać potrzebom zaawansowanych użytkowników. Ma wbudowaną obszerną bibliotekę modeli z różnych dziedzin, takich jak ekonomia, biologia, fizyka, chemia, psychologia i wiele innych. NetLogo jest wykorzystywane także w celach edukacyjnych.
    Ruby to interpretowany, w pełni obiektowy i dynamicznie typowany język programowania stworzony w 1995 roku przez Yukihiro Matsumoto (pseudonim Matz). W języku angielskim ruby oznacza rubin.
    Kod operacji (ang. opcode) – w informatyce jest to liczba, będąca fragmentem rozkazu przekazywanego do wykonania do procesora, która informuje jaka operacja ma być wykonana. Każde polecenie assemblera jak add, sub, itd. posiada swój numer, na który jest zamieniane podczas kompilacji do kodu maszynowego. Zbiór kodów dla danego procesora jest określany w jego modelu programowym.

    Reklama

    Czas generowania strony: 0.018 sek.