Skip to content

Commit 4fb9049

Browse files
authored
Update about-hackeros.html
1 parent 626ab3c commit 4fb9049

File tree

1 file changed

+130
-47
lines changed

1 file changed

+130
-47
lines changed

about-hackeros.html

Lines changed: 130 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,63 @@
290290
bottom: 0;
291291
width: 100%;
292292
}
293+
/* Improved styles for programming languages section */
294+
.nested-tabs-container {
295+
background-color: #1A1A1A;
296+
border-radius: 12px;
297+
padding: 20px;
298+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
299+
margin-top: 20px;
300+
}
301+
.nested-tab-menu ul {
302+
display: flex;
303+
justify-content: center;
304+
list-style: none;
305+
padding: 0;
306+
margin-bottom: 20px;
307+
border-bottom: 2px solid #2F3A44;
308+
}
309+
.nested-tab-menu li {
310+
padding: 12px 24px;
311+
cursor: pointer;
312+
font-size: 18px;
313+
font-weight: bold;
314+
color: #B0B0B0;
315+
transition: color 0.3s, border-bottom 0.3s;
316+
border-bottom: 2px solid transparent;
317+
}
318+
.nested-tab-menu li:hover {
319+
color: #FFFFFF;
320+
}
321+
.nested-tab-menu li.active {
322+
color: #FFFFFF;
323+
border-bottom: 2px solid #55AAFF;
324+
}
325+
.lang-tab-pane {
326+
display: none;
327+
}
328+
.lang-tab-pane.active {
329+
display: block;
330+
}
331+
.lang-tab-pane h3 {
332+
color: #55AAFF;
333+
margin-bottom: 15px;
334+
}
335+
.lang-tab-pane p, .lang-tab-pane ul, .lang-tab-pane ol {
336+
margin-bottom: 15px;
337+
}
338+
.lang-tab-pane ul li {
339+
list-style-type: disc;
340+
margin-left: 20px;
341+
}
342+
.lang-tab-pane ol li {
343+
margin-left: 20px;
344+
}
345+
.lang-tab-pane .emoji-header {
346+
font-size: 20px;
347+
color: #00FF00;
348+
margin-top: 20px;
349+
}
293350
</style>
294351
<script>
295352
document.addEventListener('DOMContentLoaded', () => {
@@ -453,6 +510,8 @@ <h3>Edycja Xfce</h3>
453510
<p>Jest to to samo co edycja Official, ale ze środowiskiem graficznym Xfce.</p>
454511
<h3>Edycja LTS</h3>
455512
<p>Edycja LTS to to samo co edycja Official, ale zamiast Debiana Testing używa Debiana Stable.</p>
513+
<h3>Edycja Atomic</h3>
514+
<p>Edycja Atomic bazuje na gałęzi Debiana stabilnego lub na gałęzi Debiana testowego. Edycja Atomic jest okrojona z narzędzi HackerOS oraz posiada własne narzędzie do instalacji aktualizacji pakietów - hammer. UWAGA: Aktualnie edycja Atomic jest w fazie pre-release. Użyj 'hammer issue', aby zgłosić błąd (mogą być ogromne problemy z ogólnym działaniem narzędzia).</p>
456515
</div>
457516
<div id="games" class="tab-pane">
458517
<h2>Gry HackerOS</h2>
@@ -492,14 +551,14 @@ <h2>Granie na HackerOS</h2>
492551
</div>
493552
<div id="programming-languages" class="tab-pane">
494553
<h2>Języki programowania HackerOS</h2>
495-
<div class="nested-tabs-container" style="display: flex; flex-direction: column; align-items: center;">
496-
<div class="nested-tab-menu" style="width: 100%; max-width: 300px; margin-bottom: 20px;">
497-
<ul style="display: flex; justify-content: space-around; list-style: none; padding: 0;">
498-
<li class="lang-tab-link active" data-tab="hacker-lang" style="cursor: pointer; padding: 10px; border-radius: 5px; transition: background-color 0.3s;">Hacker Lang</li>
499-
<li class="lang-tab-link" data-tab="hacker-script" style="cursor: pointer; padding: 10px; border-radius: 5px; transition: background-color 0.3s;">HackerScript</li>
554+
<div class="nested-tabs-container">
555+
<div class="nested-tab-menu">
556+
<ul>
557+
<li class="lang-tab-link active" data-tab="hacker-lang">Hacker Lang</li>
558+
<li class="lang-tab-link" data-tab="hacker-script">HackerScript</li>
500559
</ul>
501560
</div>
502-
<div class="nested-tab-content" style="width: 100%;">
561+
<div class="nested-tab-content">
503562
<div id="hacker-lang" class="lang-tab-pane active">
504563
<h3>Język Programowania Hacker Lang</h3>
505564
<p>Opis składni:</p>
@@ -559,48 +618,72 @@ <h3>Język Programowania Hacker Lang</h3>
559618
<div id="hacker-script" class="lang-tab-pane">
560619
<h3>Język programowania HackerScript</h3>
561620
<p>Przykładowa składnia:</p>
621+
<div class="emoji-header">Zarządzanie Pamięcią:</div>
622+
<ul>
623+
<li>--- automatic ---: (Domyślne) Pamięć zarządzana przez Python GC.</li>
624+
<li>--- manual ---: Aktywuje dostęp do libc i bezpośrednią alokację (wymaga ctypes).</li>
625+
</ul>
626+
<div class="emoji-header">Importy Systemowe i Zewnętrzne:</div>
627+
<ul>
628+
<li>import &lt;core:moduł&gt;: Standardowe biblioteki (np. import &lt;core:math&gt;).</li>
629+
<li>import &lt;virus:pkg&gt; lub &lt;vira:pkg&gt;: Automatyczne pobieranie statycznych bibliotek .a przez narzędzie hspm.</li>
630+
<li>&lt;rust:crate=wersja&gt;: Integracja z Cargo – kompilator automatycznie doda zależność do backendu Rust.</li>
631+
<li>&lt;c:ścieżka&gt;: Dynamiczne ładowanie bibliotek współdzielonych (.so / .dll).</li>
632+
</ul>
633+
<div class="emoji-header">Modułowość:</div>
634+
<ul>
635+
<li>require &lt;plik.hcs&gt;: Rekurencyjne włączanie kodu źródłowego (odpowiednik #include).</li>
636+
</ul>
637+
<div class="emoji-header">Zmienne, Typy i Super-obliczenia</div>
638+
<p>HackerScript 2026 stawia na wysoką wydajność obliczeniową:</p>
639+
<ul>
640+
<li>Typowanie: Dynamiczne z silną inferencją (Inferred).</li>
641+
<li>Struktury danych:</li>
642+
<ul>
643+
<li>tekst = "Hacker" (String)</li>
644+
<li>liczba = 100 (Int)</li>
645+
<li>lista = ["a", "b"] (Standardowa tablica)</li>
646+
</ul>
647+
<li>Obliczenia Macierzowe (Native Support):</li>
648+
<ul>
649+
<li>tensor / matrix / vector: Zmienne automatycznie konwertowane na obiekty NumPy.</li>
650+
<li>zeros(shape) / ones(shape): Szybka inicjalizacja struktur.</li>
651+
<li>dot: Operator mnożenia macierzowego (mapowany na @).</li>
652+
</ul>
653+
<li>Interpolacja: "V: {zmienna}" – automatyczne formatowanie f-string.</li>
654+
</ul>
655+
<div class="emoji-header">High-Performance Functions</div>
656+
<p>To unikalna cecha najnowszej wersji, widoczna w kompilatorze:</p>
657+
<ul>
658+
<li>fast func nazwa(p) [...]: Funkcja dekorowana przez Numba (@njit). Jest kompilowana do kodu maszynowego przy pierwszym uruchomieniu, oferując prędkość zbliżoną do C.</li>
659+
<li>func nazwa(p) [...]: Standardowa funkcja interpretowana.</li>
660+
<li>Bloki kodu: Zawsze zamknięte w nawiasach kwadratowych [...].</li>
661+
</ul>
662+
<div class="emoji-header">Programowanie Obiektowe (OOP)</div>
663+
<p>HackerScript używa słowa kluczowego object zamiast tradycyjnego class:</p>
664+
<ul>
665+
<li>Definicja: object Nazwa [ ... ]</li>
666+
<li>Metody: Zawsze przyjmują self jako pierwszy parametr.</li>
667+
<li>Inicjalizacja: obj = new Nazwa() (mapowane na standardowy konstruktor klasy).</li>
668+
</ul>
669+
<div class="emoji-header">Kontrola Przepływu i System</div>
670+
<ul>
671+
<li>Warunki: if expr [...] else if expr [...] else [...].</li>
672+
<li>Pętle: for element in kolekcja [...].</li>
673+
<li>Obsługa Błędów: ] except Exception [...] (specyficzna składnia zamykająca blok i otwierająca handler).</li>
674+
<li>Shell Integration:</li>
675+
<ul>
676+
<li>sh [ komenda ]: Bezpośrednie wywołanie systemowe.</li>
677+
<li>Obsługuje zmienne: val_zmienna wewnątrz bloku sh jest automatycznie wstrzykiwane do powłoki.</li>
678+
</ul>
679+
</ul>
680+
<div class="emoji-header">System Kompilacji (Backend)</div>
681+
<p>Twój kod jest procesowany przez star, który wykonuje następujące kroki:</p>
562682
<ol>
563-
<li>Struktura i Importy
564-
<ul>
565-
<li>Dyrektywy: --- automatic --- (domyślne zarządzanie pamięcią) lub --- manual ---.</li>
566-
<li>Importy: import <c:stdio> (biblioteki systemowe C).</li>
567-
<li>import <virus:nmap> (lokalne moduły .hcs).</li>
568-
</ul>
569-
</li>
570-
<li>Zmienne i Typy
571-
<ul>
572-
<li>Typowanie: Dynamiczne/Inferred (kompilator sam zgaduje typy: int, char*, Array, struct).</li>
573-
<li>Literały: tekst = "Hacker" (Stringi).</li>
574-
<li>liczba = 100 (Integery).</li>
575-
<li>lista = ["a", "b"] (Tablice).</li>
576-
<li>Interpolacja: "Wartość: {zmienna}" (Automatyczne formatowanie tekstu).</li>
577-
</ul>
578-
</li>
579-
<li>Programowanie Obiektowe (OOP)
580-
<ul>
581-
<li>Klasy: Definiowane za pomocą class Nazwa [ ... ].</li>
582-
<li>Metody: Pierwszy parametr to zawsze self.</li>
583-
<li>Tworzenie obiektów: obj = new Klasa().</li>
584-
<li>Dostęp do pól: self.pole = wartość (Działa jak struktury w C).</li>
585-
</ul>
586-
</li>
587-
<li>Kontrola Przepływu
588-
<ul>
589-
<li>Bloki kodu: Zawsze w nawiasach kwadratowych [...].</li>
590-
<li>Instrukcje warunkowe: if expr [...] else if expr [...] else [...].</li>
591-
<li>Pętle: for element in kolekcja [...] (Iteracja po tablicach).</li>
592-
</ul>
593-
</li>
594-
<li>Funkcje i System
595-
<ul>
596-
<li>Definicja: func nazwa(paramy) [ return wartość ].</li>
597-
<li>Funkcja Main: func main(args) [...] – punkt startowy programu.</li>
598-
<li>Wbudowane:</li>
599-
<li>log "msg" – Wypisywanie do konsoli.</li>
600-
<li>curl_get(url) – Żądania HTTP.</li>
601-
<li>allocate(size) / deallocate(ptr) – Zarządzanie pamięcią.</li>
602-
</ul>
603-
</li>
683+
<li>Translation: Zamiana .hcs na zoptymalizowany kod Pythona (logic.py) z obsługą numba i numpy.</li>
684+
<li>Rust Wrapping: Wygenerowanie kodu w Rust, który inicjalizuje maszynę wirtualną Pythona (PyO3).</li>
685+
<li>Static Linking: Jeśli użyto import &lt;virus:...&gt;, kompilator generuje plik build.rs i linkuje biblioteki .a bezpośrednio do końcowej binarki.</li>
686+
<li>Final Binary: Wynikiem jest pojedynczy, szybki plik wykonywalny, który nie wymaga zainstalowanego Pythona w systemie (dzięki izolowanemu venv wewnątrz cache).</li>
604687
</ol>
605688
<p>Narzędzia/komendy:</p>
606689
<ul>

0 commit comments

Comments
 (0)