Poszukuję bibliotek GUI dla C++

Yuri nie obrażaj ślązaka, bo nim jestem.

Tak wolałbym żeby programy/gry były by pisane w asemblerze, były by szybsze, miały by mniejsze wymagania itp.

a po za tym, twój tani dobry produkt, tani nie jest, u mnie tanie zaczyna się dopiero od 20 zł,

niekiedy ten twój produkt kosztuje 100 zł po wprowadzeniu.

A jak płace to wymagam.

Przeszedłem z wyniku pracy, a nie z własnej woli.

Jeśli chodzi o system to jakikolwiek linux jest napisany C/C++,

C jest napisane w asemblerze, więc wszystko co jest napisane w C jest napisane w asemblerze.

Czemu? Bo jak widzisz kompilatory prze kompilują kod na asemblera, więc C jest tylko zbędną nakładką.

No tak ale czemu ludzie piszą w C? A no bo za nich kompilator odwala czarną robotę.

To teraz gdy kompilator przemienia kod C na kod asemblera, to robi naprawdę wiele zbędnych rzeczy ,

których człowiek by nie zrobił.

Czyli o czym my rozmawiamy, skoro wszsycy ostatecznie programujemy w asm?

PS. Jestem ślązakiem.

A Książka pod mikroskopem elektronowym jest czytelna.

Bo programowanie musi być trudne, skomplikowane i nieosiągalne dla zwykłych śmiertelników! :evil:

I byłyby wydawane 50 lat po zapowiedzi (jak dobrze pójdzie) i kosztowałyby tysiące dolarów.

Nieprawda. C jest napisane w języku angielskim http://www.open-std.org/JTC1/SC22/WG14/ … /n1570.pdf :stuck_out_tongue:

Natomiast kompilatory C są pisane w C i C++.

#-o A wszystko co zostało wykopane łopatą zostało wydłubane szpilką.

To, że coś jest napisane w C i można skompilować do asemblera nie oznacza, że jest napisane w asemblerze. Prawda? :?

C jest aż niezależną od architektury (czyli asemblera) nakładką. Taka była jego główna przyczyna powstania. Poza tym dzisiejsze kompilatory potrafią tak optymalizować kod, że nawet radzieckim uczonym się o tym nie śniło (https://en.wikipedia.org/wiki/Optimizing_compiler), więc nie nazywałbym tego “zbędnym”.

I bardzo dobrze =D> Człowiek robi wszystko żeby nie robić nic. Dlatego stworzył kompilator, żeby odwalał za niego czarną robotę i sam mógł się zająć rzeczami na wyższym poziomie abstrakcji.

Przykład plz? ![-o<

Dodatek na deser: http://susepaste.org/59209693 - ten kod asemblerowy powstał z jednej funkcji szablonowej z biblioteki standardowej C++ (troszkę go zaciemniłem zmieniając pewne nazwy na “bar” i “cux” żeby nie było zbyt łatwo). Zgadnij co to jest. (Odpowiedź dla niecierpliwych jest załączona pod linkiem “RE: Untitled”).

@Yuri20:

Sam nie wiem, ale niestety prawie zawsze dochodzi do takich spięć między programistami niskiego a wysokiego poziomu programowania. :frowning:

@etam:

A co to ma do tamtego? Super przykład. =D>

Człowiek na dzień dzisiejszy ogarnia asemblera i jeśli się postara i skupi to potrafi w nim programować.

Więc nie pisz że to niemożliwe.

E tam, 50 lat to o wiele za dużo, a z kasą też za wysoko wycelowałeś.

Hehe… czepiasz się szczegółów?

Może i tak, ale pierwszy kompilator języka C od którego wszystko się wywodzi, został napisany w asemblerze.

Kod C jest kompilowany na kod w asemblerze i dopiero na kod maszynowy.

Optymalizować? Chyba nakładać na niego niepotrzebny kod.

Tu może masz rację, ale pomyśl że kiedyś programistą skończą się pomysły na nowe programy,

no i co wtedy? Chyba nie będą pisać po raz kolejny Total Comandera, tylko z inną nazwą i z niby większą liczbą funkcji, bo to się to po prostu nie sprzeda.

Więc co zrobią by przekonać kupujących do kupienia akurat ich programu?

Spróbują stworzyć najszybszy i najbardziej wydajny program tego typu.

Będą optymalizować kod, aż w końcu dojdą do wniosku że napiszą go w asemblerze bo będzie on wtedy najlepszym programem tego typu na rynku, no i to tak będzie trwać aż do kodu maszynowego.

Widzę, że rozgorzała duża dyskusja. Widzę, że dużo z was pisało o bibliotece QT. Może ktoś z was podać linka do kursu QT. Szukałem na goolglach, ale za dobrych nie znalazłem.

Proszę, masz tu główną stronę https://qt-project.org/, tutaj wideo kursik https://www.youtube.com/playlist?list=PLpaHkU0enYedhNlnyOoGMLjd1JxBSTi-t.

@elik1028:

Kiedyś też byłem tak głupi. Potem trochę poczytałem i stwierdziłem że na x86 pisanie w assemblerze to strata czasu. Kompilator wygeneruje lepszy, względnie bezawaryjny (błąd na poziomie C++ łatwiej zdiagnozować i naprawić niż na poziomie ręcznie dłubanego Asma) i dzisiejszy kod. Chcesz mi powiedzieć, że piszesz jeden program osobno pod 2 różne architektury x86? I pod różne modele osobno? Osobno pod C2D i i7 i potrafisz sam zadbać o pełne wykorzystanie możliwości tych architektur? 

I jeszcze umiesz zagwarantować poprawność kodu (a tu trzeba myśleć o każdym rejestrze) na poziomie dziesiątek czy nawet setek tysięcy linii? Nie, nikt nie jest w stanie zagwarantować bezbłędności nawet w języku najwyższego poziomu, a nie musi dbać nawet o to, że dzielenie zniszczy mu dane w rdx, albo spushował najpierw rax, a nie rbx.

Jestem ciekaw ile godzin zajmie ci rozpracowanie tego prostego kodu w Asmie ARMa (dużo prostszy od x86): http://pastebin.com/CZy1xVwe .

W ASMie to można pisać wstawki, GCC ładnie to w 4.8 rozwiązało umożliwiając pisanie w jednym pliku źródłowym wstawek dla różnych architektur.

Trzeba mieć odrobinę rozsądku, nie klepać dosłownie wszystkiego na najniższym poziomie, bo to jest cholernie kosztowne i po prostu głupie. Sam lubię klepać w niskim poziomie, ale nie jestem masochistą żeby wszystko w tym pisać, bo bym się zajechał!

@karton16:

Qt, nie QT. Kursy:

– oficjalna dokumentacja z przykładami

http://cpp0x.pl/kursy/Kurs-Qt-C++/503

Po prostu tworzysz, a jak czegoś nie wiesz – szukasz na google’u.

A widzisz, ja 10-lat temu byłem taki głupi że myślałem że C/C++ to zmiana na dobre, a tu się poczytało i po programowało w C, no i się w końcu przestało tak myśleć.

C/C++ jak i asembler nie dają nam 100% możliwości działania na każdej architekturze, więc nie wiem co to ma do rzeczy.

Dlatego programista programujący w asemblerze, musi trzeźwo myśleć.

Praca to praca, to nie zabawa.

Czy chirurg może zrobić sobie nacięcie pacjentowi piłom mechaniczną bo tak będzie szybciej? Nie, bo by zabił pacjenta.

Niektórzy wrócą padnięci z pracy, a i tak jutro muszą do niej wstać.

Niekiedy robotnikom na budowie strzeli coś w stawie, i co wtedy zostaną w domu bo ich coś boli? Nie bo by ich szef wylał.

Każdy programista musi trzeźwo myśleć i nie walić asma gdzie się tylko da tylko dlatego że jest szybszy, tylko czasem napisać coś „wyżej” i mieć bezpieczniejszy kod łatwiejszy w dalszej rozbudowie i zrozumiany dla reszty zespołu z miejsca, a nie godzinach analizy. Nadal nie rozszyfrowałeś tych 2 asmów, czyżby to takie proste było, że nie chcesz pokazać jakie to banalne?

Twój przykład z wygenerowanym kodu jest wręcz genialny: pokazujesz użycie biblioteki C w C i użycie systemowych wywołań (+ komentarze i zbędne metadane samego kompilatora). Różnica jest taka, że tego Assemblera musisz napisać pod każdy system i pod każdą architekturę osobno (tworzy się ładny iloczyn kartezjański, jakby tak teraz brać pod uwagę x86, x86-64, ARM i ARM64), a C zadziała na każdym, jeśli jest na niego kompilator i sportowana biblioteka C (a chyba na każdy ważniejszy jest jakiś). Pisanie to czas, a czas to pieniądz. A kod to nie tylko wywołania systemowe, które akurat w ASMie są bardziej bezpośrednie, to też obliczenia i dziesiątki sytuacji w których możesz popełnić masę błędów albo nie zauważyć możliwości prostszego sposobu obliczenia (polecam prześledzić LLVM-bytecode, bardzo ładny Intermediate Language w postaci SSA). Może teraz swoim sposobem wypisz jakąś liczbę zmiennoprzecinkową?

Może nie zawodowo (bo tam klepię w Javie i Pythonie na razie), ale hobbistycznie „trochę” siedzę w Technikach Kompilacji. Mam w planach na inżynierkę napisać środowisko uruchomieniowe swojego bytecode’u z JITem na ARMa (i na razie bez JITa na cokolwiek innego).

Masz rację, idą na drugi dzień do roboty, mają 40% wydajności przez następne 2 tygodnie i zniszczone zdrowie, w końcu z powodu (nieudokumentowanego) kalectwa dochodzi do wypadku. A czegoś takiego jak „kodeks pracy” nie ma, BHP to chory wymysł, pracownik jest absolutnym niewolnikiem który dla pracy ma poświęcić całe swoje zdrowie i życie, nigdy się nie skarżyć na nic nawet jeśli przez to jego wydajność wynosi 10% i stwarza przez to zagrożenie dla siebie i innych, liczy się tylko to że pracuje i jego efekty są „dobre”.

Można wiedzieć gdzie pracujesz albo nad jakimi projektami? Bo to co wygadujesz brzmi jak assemblerowy nazizm.

@topic:

Jeszcze jedna bardzo przydatna stronka: http://www.devqt.pl/viewpage.php?page_id=1

Bo myślisz że mi się chce, mam to gdzieś co mi każecie, żeby pokazać swoją genialność i uświadomić mi że jestem w błędzie, a jak nie chce zmienić zdania to takiego po prostu nawalać mnie głupimi komentarzami.

Program napisany w C nie zadziała na każdej architekturze, jeśli chcesz wiedzieć. :expressionless:

Powodzenia! :slight_smile:

A myślisz że oni tam zwracają uwagę na BHP, mają to gdzieś, zatrudnią na okres pracy i mogą cię zwolnić kiedy chcą. Wiem bo kolega pracował.

Wywalą to wywalą. Oskarżysz to się wyprą, a po za tym drogą prawną to na nich niema sposobu, bo wykorzystają każdy kruczek przeciwko tobie.

Wiesz, a ty mi wyglądasz na rasiste wysokiego poziomu programowania.

PS: Jeśli jeszcze coś to pisz na PW bo zaśmiecamy temat.