Ten uczuć, gdy piszesz parser drzewa AST w #cpp i zajmuje to 3 dni (z czego masę czasu zajmuje szukanie i kompilowanie odpowiednich bibliotek), a potem robisz to samo w #csharp i zajmuje to 3 godziny <3 Bogowie, czemu ja się jeszcze nie nauczyłem, że #csharp == szybciej i prościej? (╥﹏╥)
@dagon_666: @user84328: @sathra: jestem samoukiem i jeśli czegoś jeszcze nie znam, nie umiem, to uczę się, tworze koło na nowo tylko po to, by rozumieć jak to działa pod spodem - antlr będzie następny, do szybszego osiągnięcia tego, ale pierwej muszę wiedzieć jak to działa. Zawsze to dodatkowa wiedza :333
@losiul: nope, jestem gdzieś dalej za środkiem. ot, jeśli nie używa się boosta, tylko szuka i używa jak najmniej złożonych bibliotek, wtedy tak długo zajmuje tworzenie projektu. porównaj sobie kiedyś napisanie bardziej złożonego programu (w tym przypadku konsolowego) o tych samych możliwościach w obu językach, gdzie dozwolone jest Ci użyć zewnętrznych bibliotek tylko wtedy, gdy biblioteki standardowe języka nie posiadają takich ficzerów ;*
@PsichiX: Hmm - a tak nie jest w każdym projekcie? A tak BTW: boost to de facto standardowa biblioteka C++, jeśli postanowiłeś szukać jakiejś wspaniałej alternatywnej, to jesteś sam sobie winien.. : > : *
@PsichiX: A, jeszcze jedno - na mikrokontrolery to programujesz? To że binarka C# ma 1kb wcale nie oznacza, że po załadowaniu tyle pamięci zjada program. Pisząc VM w czymkolwiek z GC skończysz parsując ręcznie tablicę bajtów : >. I znowu nawet mi Cię nie żal ; P.
@losiul: jestem tu już tyle czasu, a nadal zastanawiam się, skąd ten jad w wypokowych programistach :> Spokojnie misiu, ja wiem, że 1kb binarki c# nie przekłada się na 1kb pamięci używanej. to się tyczy każdego języka. Ja wiem, że panuje hejt na GC i ja też go hejcę, ale spokojnie, znam metody na redukowanie balastu z tytułu użycia GC.
@PsichiX: No dobra, to żeby nie było tylko hate'u, patrzyłeś na tą bibliotekę? https://github.com/ColinH/PEGTL Nie umiem sobie wyobrazić szybszego parsera niż to co ona produkuje ; ).
@losiul: to jest czysto templatkowa biblioteka, paczyłem na nią, właśnie dlatego odpadła - do moich potrzeb wymagałem bibliotekę nie-templatkową, która ma możliwość generowania zasad dynamicznie (ładowanie reguł z pliku).
@losiul: ah, jeszcze jedno: gdy będę robił już konkretny kompilator języka wysokopoziomowego, wtedy użyję PEGTL, póki co muszę mieć sam generator drzewa AST, bo toolset ma mieć tez możliwość kompilacji do asma z drzewa AST. ten parser to tylko opcja, serio nie jest głównym obiektem toolsetu kompilatora.
Bogowie, czemu ja się jeszcze nie nauczyłem, że #csharp == szybciej i prościej? (╥﹏╥)
#gorzkiezale #nieprogramowanie #gamedev #intuicio #ptakopysk #xenoncore3
import ast( ͡° ͜ʖ ͡°)źródło: comment_2wGTWhQYihJ59DURwIxPc8hd6NWIIXRO.jpg
Pobierz: *
Hallo World, który wykorzystuje, którą podbibliotekę swoją drogą?..
Pisząc VM w czymkolwiek z GC skończysz parsując ręcznie tablicę bajtów : >. I znowu nawet mi Cię nie żal ; P.
Spokojnie misiu, ja wiem, że 1kb binarki c# nie przekłada się na 1kb pamięci używanej. to się tyczy każdego języka. Ja wiem, że panuje hejt na GC i ja też go hejcę, ale spokojnie, znam metody na redukowanie balastu z tytułu użycia GC.
redukowanie balastu != optymalna wydajność
C++ bez Boost'a != efektywne programowanie w C++
To tak żebyśmy mieli jasność.
https://github.com/ColinH/PEGTL
Nie umiem sobie wyobrazić szybszego parsera niż to co ona produkuje ; ).