konto usunięte

Temat: Rynek IT z C C++

Szymon Kubisiak:
Jezyk C nie wspiera nawet programowania obiektowego przez co nie pisze sie w nim tak wygodnie. Po co sie wiec meczyc?

Tu się całkowicie nie zgodzę.

OK, moze powinienem napisac "Jezeli chodzi o programowanie obiektowe, to C nie daje dobrego wsparcia w tym zakresie", ale nie sadzilem, ze ktos zacznie mnie lapac za slowa :) Z drugiej strony nawet do tak sformulowanego zdania mozna sie przyczepic.
Obiektowość to stan umysłu i język nie ma tu nic do rzeczy.

Dokladnie tak napisalem wczesniej - programowanie obiektowe to sztuka pewnego sposobu myslenia. Nie zgodze sie natomiast, ze jezyk nie ma tu nic do rzeczy. Nie chcialbym jednak prowadzic tej dyskusji w nieskonczonsc wiec przyjmijmy, ze masz racje ;)
Szymon Kubisiak

Szymon Kubisiak Developer aplikacji
mobilnych Android

Temat: Rynek IT z C C++

No, faktycznie, _wspieranie_ to to nie jest.
Po prostu mnóstwo ludzi pisze nieobiektowo i nieproceduralnie w wyższych językach. Stąd moje (duże uproszczenie) że "język nie ma znaczenia".

konto usunięte

Temat: Rynek IT z C C++

Szymon Kubisiak:
No, faktycznie, _wspieranie_ to to nie jest.
Po prostu mnóstwo ludzi pisze nieobiektowo i nieproceduralnie w wyższych językach. Stąd moje (duże uproszczenie) że "język nie ma znaczenia".

No ok :)

konto usunięte

Temat: Rynek IT z C C++

Właśnie się nawracam na C++.
Szkoda że tak mało się dzieje w samym języku (przynajmniej z mojego małego doświadczenia w C/C++), a komitety skupiają się raczej na STLu.

To mógłby być fajny język.

A tak mam teraz zgryz: Obiekt*, Obiekt&, auto_ptr, czy może smart_ptr? Jeden prosty temat - pointery - wg mnie rozwala cały język.

Java czy C# na pewno są mniej patogenne (znam z widzenia), ale szkoda trochę tych cykli CPU jak się coś chce wydajnego zrobić.

Najnowsza Java nie jest wcale taka zła, ale do pewnych rzeczy (zwłaszcza sprzętowych) po prostu się nie nadaje.

http://www.kano.net/javabench/
http://osnews.com/story/5602/Nine_Language_Performance...

Jeśli chodzi o GUI desktopowe to wg mnie można tylko rozważać C# czy Delphi. Visual Basic jak ktoś nie lubi programować. Delphi ostatnie dorobiło się nawet namiastki szablonów (keep going!).

konto usunięte

Temat: Rynek IT z C C++

Piotr Likus:
Właśnie się nawracam na C++.
Szkoda że tak mało się dzieje w samym języku (przynajmniej z mojego małego doświadczenia w C/C++), a komitety skupiają się raczej na STLu.
To mógłby być fajny język.
Wszyscy javowcy i tacy tam narzekaja na brak bibliotek w c++.
Ty narzekasz na biblioteke dlatego, ze jest?
A tak mam teraz zgryz: Obiekt*, Obiekt&, auto_ptr, czy może smart_ptr? Jeden prosty temat - pointery - wg mnie rozwala cały język.
Ha ha ha ha.... nie podoba ci sie to co jest najwieksza sila c++.
Swoja droga to nie jest wcale takie skomplikowane, a ze daje wiele wariantowych mozliwosci to znowu jest oznaka sily jezyka.

Jeśli chodzi o GUI desktopowe to wg mnie można tylko rozważać C# czy Delphi.
A Qt? Radze sie zapoznac (http://trolltech.com).
Qt: oparte na klasach, eleganckie, bardzo szybkie, dajace potezne mozliwosci, multiplatformowosc (Linux, Mac, Winda), natywna obsluga grafiki w roznych systemach operacyjnych.
Darek Ś.

Darek Ś. Senior Software
Engineer, Splunk

Temat: Rynek IT z C C++

Piotr Likus:
Szkoda że tak mało się dzieje w samym języku (przynajmniej z mojego małego doświadczenia w C/C++), a komitety skupiają się raczej na STLu.

to prowokacja czy zart? ;)
A tak mam teraz zgryz: Obiekt*, Obiekt&, auto_ptr, czy może smart_ptr? Jeden prosty temat - pointery - wg mnie rozwala cały język.

:))) przeciez bez wskaznikow to bylaby kolejna Java czy C#

Poza tym niestety taki juz jest ten C++ - nie ma jedynej slusznej drogi (dotyczy to zarowno kwestii wyboru roznych konstrukcji jezyka jak i bibliotek) ;)))
Jeśli chodzi o GUI desktopowe to wg mnie można tylko rozważać C# czy Delphi.

aha czyli np. Visual Studio, Office, Adobe Acrobat, Opera, Firefox czy Photoshop itd sa pisane w C# lub Delphi? O mniej popularnym oprogramowaniu inzynierskim (CAD, EDA itd) nie wspominajac ;)))

pozdrawiam,
DarekDarek S. edytował(a) ten post dnia 29.09.08 o godzinie 20:51

konto usunięte

Temat: Rynek IT z C C++

Piotr Likus:
Właśnie się nawracam na C++.
Szkoda że tak mało się dzieje w samym języku (przynajmniej z mojego małego doświadczenia w C/C++), a komitety skupiają się raczej na STLu.

W samym jezyku też będą zmiany, poczytaj o drafcie nowego standardu, można już się pobawić. Ale w samym języku zmian jakoś specjalnie mi nie potrzeba. A rozwój STL i innych(Boost) jest super. Podoba się to używamy, nie to nie.

To mógłby być fajny język.
Niebezpieczne stwierdzenie na grupie C++ :) Pewnie wiekszość członków raczej lubi tu C++.
A tak mam teraz zgryz: Obiekt*, Obiekt&, auto_ptr, czy może smart_ptr? Jeden prosty temat - pointery - wg mnie rozwala cały język.

Przecież to fundament, zreszta nie ma tu nic trudnego. O auto_ptr zapominasz, zawsze smart_ptr. Referncji używasz ile się da, jak się nie da to zostaje pointer. Prosta konwencja sprawdza się z 80% przypadków.
Piotr Pszczolkowski:
A Qt? Radze sie zapoznac ( http://trolltech.com).
Qt: oparte na klasach, eleganckie, bardzo szybkie, dajace potezne >mozliwosci, multiplatformowosc (Linux, Mac, Winda), natywna >obsluga grafiki w roznych systemach operacyjnych.

Dokładnie tak, super sprawa. Pan Piotr o ile sie nie mylę popełnił kilka programów w QT(designer, manager plikow...) :)
QT rozwija się bardzo szybko, jest świetna integracja z Eclipse CDT, Visual Studio. Do tego światowej klasy dokumentacja.Przemysław O. edytował(a) ten post dnia 29.09.08 o godzinie 20:49
Tomasz Kaczanowski

Tomasz Kaczanowski Ot, programista

Temat: Rynek IT z C C++

Piotr Pszczolkowski:
Jeśli chodzi o GUI desktopowe to wg mnie można tylko rozważać C# czy Delphi.
A Qt? Radze sie zapoznac (http://trolltech.com).
Qt: oparte na klasach, eleganckie, bardzo szybkie, dajace potezne mozliwosci, multiplatformowosc (Linux, Mac, Winda), natywna obsluga grafiki w roznych systemach operacyjnych.

A właśnie, jeśli chodzi o QT, to czy ktoś kupował może licencję? Interesuje mnie jakiego rzędu jest to cena. GPL-owa licencja w grę nie wchodzi, żeby uprzedzić jakieś dowcipne odpowiedzi, że nic nie kosztuje. Jest projekt, gdzie by się pewnie wpasowała, ale tu dużo zależy od ceny. Niestety na stronie trolltechu nie ma o tym ani słowa.

konto usunięte

Temat: Rynek IT z C C++

Tomasz Kaczanowski:
licencję? Interesuje mnie jakiego rzędu jest to cena. GPL-owa licencja w grę nie wchodzi, żeby uprzedzić jakieś dowcipne odpowiedzi, że nic nie kosztuje. Jest projekt, gdzie by się pewnie wpasowała, ale tu dużo zależy od ceny. Niestety na stronie trolltechu nie ma o tym ani słowa.

Mam ten sam problem. Wyslalem zapytanie do Trolltecha.
Wlasnie dostalem w tej sprawie odpowiedz.
Pytalem o licencje dla super bardzo malej :) firmy (jednoosobowej).
Chodzilo mi o licencje linux+winda.
Cytat z odpowiedzi:

"Unfortunately, we do not have the Small Business Program any longer so a Qt Desktop license for Multiple Targets (you get Win, Lin and Mac at the same time) costs
4 195 Euros the first year and then 1 300 euros per year after the first year to renew support and maintenance."

Ale byc moze sie cos zmieni.
Nokia po przejeciu chce cos tu zmienic, i ponoc w pazdzierniku maja sie pojawic nowe ceny. Czy nizsze to sie okaze :)

konto usunięte

Temat: Rynek IT z C C++

Przemysław O.:
Dokładnie tak, super sprawa. Pan Piotr o ile sie nie mylę popełnił kilka programów w QT(designer, manager plikow...) :)

:) no tak sie zlozylo :)

konto usunięte

Temat: Rynek IT z C C++

Przemysław O.:
A tak mam teraz zgryz: Obiekt*, Obiekt&, auto_ptr, czy może smart_ptr? Jeden prosty temat - pointery - wg mnie rozwala cały język.

Przecież to fundament, zreszta nie ma tu nic trudnego. O auto_ptr zapominasz, zawsze smart_ptr. Referncji używasz ile się da, jak się nie da to zostaje pointer. Prosta konwencja sprawdza się z 80% przypadków.

Czy dopuszczalne są funkcje, które mają mieszaną typy w liście argumentów?
np.

foo(const Obiekt &input1, Obiekt *input2);


Dlaczego zapominam o auto_ptr? On chyba sam wyłazi z niektórych funkcji.
Piotr Pszczolkowski:
A Qt? Radze sie zapoznac ( http://trolltech.com).
Qt: oparte na klasach, eleganckie, bardzo szybkie, dajace potezne >mozliwosci, multiplatformowosc (Linux, Mac, Winda), natywna >obsluga grafiki w roznych systemach operacyjnych.

Dokładnie tak, super sprawa. Pan Piotr o ile sie nie mylę popełnił kilka programów w QT(designer, manager plikow...) :)
QT rozwija się bardzo szybko, jest świetna integracja z Eclipse CDT, Visual Studio. Do tego światowej klasy dokumentacja.

Już wybrałem wxWidgets, chyba bardziej przenośne. Zobaczymy jak mi pójdzie. Qt jest chyba bardziej rozbudowane, ale czy potrafi pokazać natywne kontrolki (np. Win32)?Piotr Likus edytował(a) ten post dnia 30.09.08 o godzinie 09:47
Darek Ś.

Darek Ś. Senior Software
Engineer, Splunk

Temat: Rynek IT z C C++

Piotr Likus:
Czy dopuszczalne są funkcje, które mają mieszaną typy w liście argumentów?
np.

foo(const Obiekt &input1, Obiekt *input2);

tak
zastanawia mnie skad takie pytanie? hmmm :)

Przy okazji w wielu firmach spotkalem sie z taka konwencja, ze najpierw przekazuje sie inputy (tylko do odczytu jako const albo const & ), pozniej inouty, a na koncu outputy (jako wskazniki). Bodajze w ksiazce CodeComplete tez sugerowano taka konwencje.
Dlaczego zapominam o auto_ptr? On chyba sam wyłazi z niektórych funkcji.

mi sie zdarza spotkac/uzyc auto_ptr
ale czesciej jednak scoped_ptr z boost'a
Już wybrałem wxWidgets, chyba bardziej przenośne. Zobaczymy jak mi pójdzie. Qt jest chyba bardziej rozbudowane, ale czy potrafi pokazać natywne kontrolki (np. Win32)?Piotr Likus edytował(a) ten post dnia 30.09.08 o godzinie 09:47

Qt korzysta z natywnych kontrolek systemu - na windzie wyglada jak aplikacja windziana, na mac'u jak mac'owa, a na unixach jak X-windows.

Qt jest rozbudowane, ale nic nie stoi na przeszkodzie, zeby uzywac tej biblioteki tylko do samego GUI. Nie jest to "ciezki framework" w stylu "wszystko albo nic".

pozdrawiam,
Darek
Darek Ś.

Darek Ś. Senior Software
Engineer, Splunk

Temat: Rynek IT z C C++

Piotr Pszczolkowski:
[...]
Wlasnie dostalem w tej sprawie odpowiedz.
Pytalem o licencje dla super bardzo malej :) firmy (jednoosobowej).
Chodzilo mi o licencje linux+winda.
Cytat z odpowiedzi:

"Unfortunately, we do not have the Small Business Program any longer so a Qt Desktop license for Multiple Targets (you get Win, Lin and Mac at the same time) costs
4 195 Euros the first year and then 1 300 euros per year after the first year to renew support and maintenance."

Ale byc moze sie cos zmieni.
Nokia po przejeciu chce cos tu zmienic, i ponoc w pazdzierniku maja sie pojawic nowe ceny. Czy nizsze to sie okaze :)

Hmmm no to dziwne, wlasnie przed przejeciem przez Nokie Trolltech mial taki program dla malych firm/startup'ow. Koszt licencji byl nizszy o kilkadziesiat procent (nie pamietam dokladnie bodajze rabat wynosil jakies 60%) i mozna bylo wybrac wersje tylko dla tych systemow, ktore nas interesowaly.

Poza tym kiedys ceny byly oficjalnie 'wywieszone' na stronce.

Co do przejecia przez Nokie to wciaz chyba sa watpliwosci czy aby wersja desktopowa Qt nie zostanie jednak nieco zaniedbana ;)

pozdrawiam,
DarekDarek S. edytował(a) ten post dnia 30.09.08 o godzinie 10:19

konto usunięte

Temat: Rynek IT z C C++

Darek S.:
Hmmm no to dziwne, wlasnie przed przejeciem przez Nokie Trolltech mial taki program dla malych firm/startup'ow. Koszt licencji byl nizszy o kilkadziesiat procent (nie pamietam dokladnie bodajze rabat wynosil jakies 60%) i mozna bylo wybrac wersje tylko dla tych systemow, ktore nas interesowaly.
Tak bylo. Niestety w czasie przeszlym.
Poza tym kiedys ceny byly oficjalnie 'wywieszone' na stronce.
Tak bylo :)

Co do przejecia przez Nokie to wciaz chyba sa watpliwosci czy aby wersja desktopowa Qt nie zostanie jednak nieco zaniedbana ;)
Mysle, ze niekoniecznie.
Z tego co widac trolltech dziala, prawie, jak samodzielna firma.

Ale kto miesza w cenach i licencjach to jest pytanie.
Od odpowiedzi zaleza przyszle ceny.

konto usunięte

Temat: Rynek IT z C C++

Darek S.:
Piotr Likus:
Czy dopuszczalne są funkcje, które mają mieszaną typy w liście argumentów?
np.

foo(const Obiekt &input1, Obiekt *input2);

tak
zastanawia mnie skad takie pytanie? hmmm :)

Przy okazji w wielu firmach spotkalem sie z taka konwencja, ze najpierw przekazuje sie inputy (tylko do odczytu jako const albo const & ), pozniej inouty, a na koncu outputy (jako wskazniki). Bodajze w ksiazce CodeComplete tez sugerowano taka konwencje.

Ta kolejność to standard wśród wielu języków, zwłaszcza tych które mają parametry z wartościami domyślnymi (które de facto kolidują z tym standardem) :)

konto usunięte

Temat: Rynek IT z C C++

Piotr Likus:
Ta kolejność to standard wśród wielu języków, zwłaszcza tych które mają parametry z wartościami domyślnymi (które de facto kolidują z tym standardem) :)
Zauwazmy, ze ta kolejnosc to zaden standard.
To tylko i wylacznie konwencja, i dlatego nie moze miec nic wspolnego ze standardami jezykow (z wyjatkiem parametrow domyslnych).
Rozne firmy programistyczne moga stosowac rozne (wlasne) konwencje.
Konwencje sa bardzo istotne pod warunkiem, ze sa konsekwentnie stosowane.
Ulatwia to poprostu czytanie nie swojego kodu.Piotr Pszczolkowski edytował(a) ten post dnia 30.09.08 o godzinie 10:40

konto usunięte

Temat: Rynek IT z C C++

Jeśli wolisz słowo "konwencja" to OK, niech tak będzie.
Szymon Kubisiak

Szymon Kubisiak Developer aplikacji
mobilnych Android

Temat: Rynek IT z C C++

Przemysław O.:

Przecież to fundament, zreszta nie ma tu nic trudnego. O auto_ptr zapominasz, zawsze smart_ptr. Referncji używasz ile się da, jak się nie da to zostaje pointer. Prosta konwencja sprawdza się z 80% przypadków.

Hy hy hy. Dokładnie na odwrót. Pointerów zawsze gdy nie ma innej konieczności, smartów gdy nie wiadomo kiedy przestaną być potrzebne a referencji tylko gdy absolutnie musisz mieć własny operator - czyli niemal nigdy : )

konto usunięte

Temat: Rynek IT z C C++

Szymon Kubisiak:
... a referencji tylko gdy absolutnie musisz mieć własny operator - czyli niemal nigdy : )

Zdecydowanie nie.
Referencje maja absolutne pierwszenstwo przed pointerami.
Pointera powinienes uzywac tylko i wylacznie w sytuacjach gdy inaczej sie nie da. Np. do funkcji nalezy wyslac 'nic' czyli NULL, referencja tego sie nie da zrobic (no chyba, ze przyslesz referencje klasy, ktora ma zaimplementowana fukcje np. valid() ).Piotr Pszczolkowski edytował(a) ten post dnia 30.09.08 o godzinie 15:57

konto usunięte

Temat: Rynek IT z C C++

Szymon Kubisiak:
być potrzebne a referencji tylko gdy absolutnie musisz mieć własny operator
Sprawa operatorow. Tez nie jest tak.
Prawie w kazdej klasie trzeba napisac swoj operator przypisania i konstruktor kopiujacy. Mozesz tego nie robic tylko w klasie niedziedziczacej (podstawowej) a i to tylko wtedy, gdy zawiera proste typy numeryczne. Czyli prawie nigdy :)

A jak nie potrzebujesz operatora to i tak powinienes zadeklarowac go jako prywatny bez definicji.
Aby program byl mniejszy i bezpieczniejszy.Piotr Pszczolkowski edytował(a) ten post dnia 30.09.08 o godzinie 16:15

Następna dyskusja:

Co sie dzieje w Polsce (ryn...




Wyślij zaproszenie do