Digia ogłosiła wydanie Qt 5.2.1, zestawu przenośnych bibliotek i narzędzi programistycznych dedykowanych językowi C++. Ich podstawowym składnikiem są klasy służące do budowy graficznego interfejsu programów komputerowych, począwszy od wersji Qt 4.0, biblioteka zawiera też narzędzia do tworzenia programów konsolowych i serwerów. Zoptymalizowano wydajność JavaScript i QML, dzięki nowemu silnikowi Qt Quick Engine. Naprawiono sporo błędów na iOS i Androidzie. Pojawiła się paczka, używająca Apple iOS 7.0 SDK.
Zna ktoś jakąś sensowną aplikację na androida korzystającą z Qt?
Może być np. z Polski? https://play.google.com/store/apps/details?id=com.trismer.matchville
Jest sporo specjalizowanych aplikacji, do sterowania, wizualizacji, często poza app store. Autorzy zresztą nie wspominają o Qt, pewnie po to, by nie ułatwiać życia konkurencji
niestety nie jest zgodna z żadnym moim urządzeniem.
Michał Olber liked this on Facebook.
A teraz tylko porządny binding do D, Javy czy jakiegoś innego sensownego języka i popularność murowana ;)
Jest porządny binding do Pythona. Aktualizacja do Qt 5.2.1 powinna wyjść lada dzień.
Pyotherside jest fajny. Ma całkiem inne podejście.
masz na myśli PySide, czy PyQt ? Czy jest jeszcze coś innego?
PyQt. PySide nadal koncentruje się wyłącznie na Qt4.
C++ jest sensownym językiem. A używając Qt, nie bardzo jest potrzeba używać szablonów i innych zaawansowanych funkcji.
Jak powiedział twórca C++ – to dobry język do prostych abstrakcji i infrastruktury aplikacji. To wina programistów, że robią z niego wielkie niezrozumiałe, ciężkie i powolne monstra.
Powiedział? Swojego czasu promował wielokrotne dziedziczenie jako rozwiązanie problemu traitów :D
C++ nie jest inny niż dowolny inny imperatywny język obiektowy: będzie dobry projekt → będzie czytelny kod. Inne jest tylko zarządzanie pamięcią, ale w C++11 jest to już jednak znacznie prostsze.
Pokaż mi taki dobry projekt :-)
Pokazać? Proszę: Qt. Dogłębnie przemyślana i starannie zaprojektowana biblioteka C++.
Naprawdę, nie wiem co tu dużo mówić. Programowanie obiektowe będzie wyglądać wszędzie podobnie: interfejsy, implementacje, dziedziczenie, polimorfizm. Albo ktoś chce i potrafi wskazać sensowne klasy abstrakcji (vide Qt) albo nie.
„C++ nie jest inny niż dowolny inny imperatywny język obiektowy:”
Nie widzisz różnic? Konieczność zachowania zgodności z C oraz fakt, że ten język powstał już dawno, a musiał zachować kompatybilność wsteczną niestety nie pomógł. Przyjrzyj się innym językom takim jak D, Go czy Vala. Na prawdę jest różnica. Jedyny powód, aby pisać w C++ to wyłącznie fakt, że istnieje masa kodu w nim napisana. Zmiany w C++11 to dalsze nakładanie protez, które mogą tylko utrudnić czytanie i zrozumienie kodu.
Ok, D może być lepszym językiem ─ ale co z tego skoro kompilator jest słaby, bibliotek nie ma i mało kto go zna? C++ może być gorsze, ale nie jest, aż tak złe jak niektórzy chcą widzieć ten język i ma biblioteki, ma kompilatory i wszyscy go znają. I na dodatek, można dobrze programować w C++ i nie wymaga to odprawienia mrocznych rytuałów.
Serio, C++ nie jest fundamentalnie inny od takiego D, nawet pomimo braku GC.
” Programowanie obiektowe będzie wyglądać wszędzie podobnie: interfejsy, implementacje, dziedziczenie, polimorfizm.”
A JavaScript nie jest obiektowy? A jednak programowanie w nim jest nieco inne. Podobnie inna filozofia obiektowości jest w Objective-C
„C++ może być gorsze, ale nie jest, aż tak złe jak niektórzy chcą widzieć
ten język i ma biblioteki, ma kompilatory i wszyscy go znają. I na
dodatek, można dobrze programować w C++ i nie wymaga to odprawienia
mrocznych rytuałów.”
Przecież nie mówię, że jest aż taki zły. Mówię tylko, że ciężko jest wrócić do niego jak się posmakuje innych języków. Natomiast może nie jest to mroczny rytuał, ale przepisywanie osobnych plików nagłówkowych jest dość dziwnym i męczącym rytuałem ;)
„Serio, C++ nie jest fundamentalnie inny od takiego D, nawet pomimo braku GC.”
Zależy co rozumieć przez fundamentalnie. Jasne, że w porównaniu do Smalltalka różnice wydają się drobne.
JavaScript nie jest obiektowy. Rozne biblioteki dodaja taka psdudobiektownosc. A Objective-C to juz wogole inna historia (;.
Ja ostatniało zaczełem znowy troche programować w C++. Wczesniej uzywalem glownie C#.
Z odpowiednia biblioteka, programowanie w C++ nie jest złe. Powiem wiecej! Jest całkiem przyjemne. Tak pliki nagłówkowe moga naprawde wkurzyc, ale jesli ich nie liczyć, to nie czuje jakiegoś wielkogo dyskomfortu w porownaniu z C#.
„JavaScript nie jest obiektowy.”
Widocznie nie znasz dobrze JavaScriptu. JS jest w pełni obiektowy choć ta obiektowość w porównaniu do C++ jest realizowana trochę inaczej.
„Tak pliki nagłówkowe moga naprawde wkurzyc, ale jesli ich nie liczyć”
Każdą zmianę w nazwie musisz zmieniać dwukrotnie to jest bardzo wkurzające, ale najgorsze że nie wiem gdzie pisać komentarze co do tego co robi funkcja :) (wiem, najlepiej dawać nazwy samokomentujące kod ;) )
„to nie czuje jakiegoś wielkogo dyskomfortu w porownaniu z C#”
Jak napiszesz, coś większego z dynamicznym alokowaniem pamięci, którą przekazujesz miedzy obiektami to poczujesz dyskomfort i będziesz zmuszony valgrind ;)
Poużywaj trochę jakiegoś innego języka do większego projektu, to zobaczysz jak boli powrót do C++.
Ale faktycznie Qt bardzo zmniejsza ten ból dzięki gotowym bibliotekom.
Język to nie tylko składnia i biblioteka standardowa, ale cały system zbudowany wokół niego…
To w takim znaczeniu C++ jest bardzo ubogim krewnym Javy ;)
To dość oczywiste, że dobry język to za mało jeśli nie posiada bibliotek, dobrego IDE oraz szeregu narzędzi.
Co do D to ciekawe, że inżynierowie Facebooka postanowili napisać aplikację do backendu właśnie w tym języku. Widocznie jest wystarczająco dojrzały do określonego typu projektów. Go też coraz częściej wykorzystywany, głównie w programowaniu sieciowym mimo, że nie dorobił się nawet Generics. A inżynierowie Mozilli pracują nad Rust. Jak widać C++ nie jest zbyt lubiany, choć ciągle jest i długo będzie liderem w pewnych zastosowaniach.
No niestety java rządzi. :(
Jeśli D się przyjmie: super.
Takie moje 3 grosze jako nie programisty:
Kiedyś próbowałem podejść do C++ (nawet przeczytałem „Symfonie C++” – swoja droga dla laika naprawdę przystępna książka) ale programowanie obiektowe w tym stylu jakoś mi się nie podobało. Obecnie po wielu latach wróciłem do tego jako hobby ale na szczęście napotkałem coś takiego jak python. W związku z czym preferuję:
C – żeby wiedzieć jak procesor / komputer naprawdę działa i ten sposób programowania mi się najbardziej podoba w szczególności do „migania diodkami”.
Python – prosty, przejrzysty i bardzo uniwersalny. Napisze sie w nim i strone i skrypt i aplikacje desktopowa (ostatniego nigdy nie robilem ale pewnie uzylbym do tego czegos w rodzaju PyQT). Jako duży + łatwo go powiązać z C dzięki python extensions.
Do C++ to mnie już i wołami nie zaciągną, chociaż QT pewnie prędzej czy później sprawdzę. Tak z czystej ciekawości.
Nie wiem czy tylko ja mam takie wrażenie – znam i piszę w Object Pascalu (jakoś lubię ten język) i Javie (głównie aplikacje mobilne- kiedyś J2ME, teraz Android) i C++ co prawda poznałem, coś w nim napisałem, ale zawsze wydawał mi się „połatany” i wiele rzeczy sprawiało wrażenie absurdalnych (np. osobne pliki nagłówkowe, czy nazwy funkcji/klas oderwane od reszty języków).
Zresztą C++ pomimo łatania nowymi standardami wciąż sprawia wrażenie jakby był całkowicie z poprzedniej epoki…
C++ jest taki trochę old schoolowy. Ale lubię ten język, więc go bronię ;-)
Krzysztof Zubik liked this on Facebook.