konto usunięte

Temat: Rynek IT z C C++

Szymon Kubisiak:
Ups, zapomniałem napisać co jest moją opinią a co Brajana : P
No to dosyc istotne :)

konto usunięte

Temat: Rynek IT z C C++

Piotr Likus:
Na szczęście IDE które używam coś z nowości juz ma - TR1 (VS 2008 SP1).
Sorry, wycofuje ponizszy tekst. Chyba zawezylem pojecie IDE do edytora.
Moj blad. Sorry.

-------------------------
xxxxxxxxxxxxxxxxxxxxxxxxx
------------------------Piotr Pszczolkowski edytował(a) ten post dnia 01.10.08 o godzinie 11:01
Darek Ś.

Darek Ś. Senior Software
Engineer, Splunk

Temat: Rynek IT z C C++

Piotr Pszczolkowski:
Nie wiem co ludzie maja do wskaznikow. Naprawde.
Czy tego nie idzie zrozumiec?
Az takie trudne i skomplikowane?
Mnie dopiero zaczynaly meczyc gdy mialem wskaznik do tablicy ze wskaznikami, ktore dalej cos wskazywaly, co tez bylo wskaznikiem.

Zdecydowana wiekszosc populacji nie rozumie roznych teorii/zjawisk opisywanych przez nauke zwana fizyka. Nieco podobna sytuacja jest ze wskaznikami, operacjami/arytmetyka na nich itd. ludziom trudno zrozumiec, ze w C/C++ taki kod jak ponizej to błąd na błędzie ;)))

char* str;
int result;
str = "hello world";
result = str != "hello world";
result = str == "hello world";

Poniewaz jednak bylo duze zapotrzebowanie na programistow to latwiej bylo wymyslic jezyki programowania bez wskaznikow zamiast edukowac tudziez sklonowac tych, ktorzy je rozumieja ;)))

pozdrawiam,
Darek Slusarczyk

konto usunięte

Temat: Rynek IT z C C++

Piotr Pszczolkowski:
Nie, w standardzie jezyka C++ nie znajdziesz czegos takiego jak wyrazenie regularne.
Juz w bibliotekach C byly funkcje dotyczace wyrazen regularnych standardu POSIX.

Pisalem o standardzie jezyka :)

konto usunięte

Temat: Rynek IT z C C++

Tomasz Krzos:
Juz w bibliotekach C byly funkcje dotyczace wyrazen regularnych standardu POSIX.

Pisalem o standardzie jezyka :)
To nie bylo, nie ma i chyba nie bedzie :)
To zawsze bedzie w jakiejs bibliotece.

Temat: Rynek IT z C C++

Piotr Pszczolkowski:
Tomasz Krzos:
Juz w bibliotekach C byly funkcje dotyczace wyrazen regularnych standardu POSIX.

Pisalem o standardzie jezyka :)
To nie bylo, nie ma i chyba nie bedzie :)
To zawsze bedzie w jakiejs bibliotece.
Nie bylo, nie ma, ale moze byc. W TR1 jest i dziala juz chocby w VC9 SP1.

konto usunięte

Temat: Rynek IT z C C++

Szymon Kubisiak:
Jasne, tylko złośliwy idiota podaje NULLa do funkcji przyjmującej referencje.


void f(int &i)
{
}

int main()
{
f(NULL);
return 0;
}


Taki kod u mnie w ogole sie nie kompiluje(VC++ 2003 Std). Mam wiec watpliwosci czy wg. standardu mozna przekazac NULLa do funkcji przyjmujacej referencje. Bede musial kiedys o tym poczytac.
Referencja zaciemnia kod, gdyż wewnątrz nie wiadomo czy się pracuje na kopii czy na oryginale.

Wewnatrz funkcji? Prawde mowiac to zalezy od widzimisia. Wg. mnie, konstrukcje typu:

*costam = wartosc;

bardziej zaciemniaja kod niz uzycie referencji. Tym bardziej, ze czasem tych gwiazdek w wyrazeniu pisze sie wiecej niz jedna a jak dojda do tego nawiasy to juz w ogole masakra.
Przykład:
int iCostam = 5;
SiakasFunkcja(iCostam);


Powiedzcie mi teraz, jaką teraz wartość ma iCostam ? W kodzie bez referencji widzisz to co powyżej albo:
InnaFunkcja(&iCostam);
I od razu wiadomo co jest co.

Moze w typach prostych tak. W innych wypadkach nie jest to juz takie oczywiste. Sam fakt, ze ktos przekazuje adres do funkcji nie oznacza, ze chce cos modyfikowac, wiec dalej nie bedziesz wiedzial co dzieje sie w przypadku drugiej konstrukcji.

konto usunięte

Temat: Rynek IT z C C++

Piotr Pszczolkowski:
Tomasz Krzos:
Juz w bibliotekach C byly funkcje dotyczace wyrazen regularnych standardu POSIX.

Pisalem o standardzie jezyka :)
To nie bylo, nie ma i chyba nie bedzie :)
To zawsze bedzie w jakiejs bibliotece.

Tak jak napisal Maciej regex ma byc w standardzie C++0x. Zdaje sie, ze wczesniej(w tym samym watku) pisal o tym Bronek Kozicki.Tomasz Krzos edytował(a) ten post dnia 01.10.08 o godzinie 20:12

konto usunięte

Temat: Rynek IT z C C++

Maciej Siniło:
Piotr Pszczolkowski:
Tomasz Krzos:
Juz w bibliotekach C byly funkcje dotyczace wyrazen regularnych standardu POSIX.

Pisalem o standardzie jezyka :)
To nie bylo, nie ma i chyba nie bedzie :)
To zawsze bedzie w jakiejs bibliotece.
Nie bylo, nie ma, ale moze byc. W TR1 jest i dziala juz chocby w VC9 SP1.

TR1 to nie czesc jezyka.
To biblioteka szablonow, ktora jest przedsionkiem do STL.

konto usunięte

Temat: Rynek IT z C C++

Tomasz Krzos:
Mam wiec watpliwosci czy wg. standardu mozna przekazac NULLa do
funkcji przyjmujacej referencje.
Nie. Nie mozna.
Nie moze istniec referencja do niczego. Kompilator nie przepusci.
Jest to podstawowa cecha referencji.

konto usunięte

Temat: Rynek IT z C C++

Tomasz Krzos:
Tak jak napisal Maciej regex ma byc w standardzie C++0x.
Jezyk to gramatyka i semantyka.
Algorytmy i funkcjie sa w bibliotekach.
Nawet printf nie jest czescia jezyka, jest w bibliotece.
Tak bylo, jest i zapewne bedzie.

konto usunięte

Temat: Rynek IT z C C++

Piotr Pszczolkowski:
Jezyk to gramatyka i semantyka.

Czulem, ze tak napiszesz. Prawde mowiac to nie wiem, czy biblioteka standardowa nie wchodzi czasem w sklad standardu jezyka, dlatego nie bede polemizowal.
Algorytmy i funkcjie sa w bibliotekach.

Moze powinienem napisac, ze wyrazenia regularne beda w bibl. std. jezyka C++ :)Tomasz Krzos edytował(a) ten post dnia 01.10.08 o godzinie 20:36

konto usunięte

Temat: Rynek IT z C C++

Piotr Pszczolkowski:
Nie. Nie mozna.

Tak myslalem :)

konto usunięte

Temat: Rynek IT z C C++

Tomasz Krzos:
Piotr Pszczolkowski:
Jezyk to gramatyka i semantyka.

Czulem, ze tak napiszesz.
:)

konto usunięte

Temat: Rynek IT z C C++

Co do NULL:

Do niedawna nie wiedziałem, że NULL to takie wielkie halo.
Ale ponoć dopiero nullptr ma być wskaźnikiem "do niczego" a NULL często jest definiowany jako zero(int):


#define NULL 0


tak więc może to i zgodnie ze wskaźnikami, ale na pewno nie z referencjami.

Referencje są dla mnie lepsze, bo wymuszają lepszą semantykę zarządzania pamięcią (samo się gdzieś tam zwalnia). W przypadku wskaźników nigdy nie wiadomo.

konto usunięte

Temat: Rynek IT z C C++

Piotr Likus:
Referencje są dla mnie lepsze, bo wymuszają lepszą semantykę zarządzania pamięcią (samo się gdzieś tam zwalnia). W przypadku wskaźników nigdy nie wiadomo.
Referencja nic nie alokuje i nic nie zwalnia (pamieci).
Mozna jej tylko przypisac adres istniejace juz obiektu.
Ale czas zycia obiektu nie zalezy od zmiennej zawierajacej referencje.
Zmienna referencyjna (globalnego obiektu) moze byc zdefiniowana wewnatrz funkcji, po wyjsciu z funkcji zmienna przestaje istniec. Obiekt do ktorego zawierala referencje (czyli krotko mowiac adres) moze itsniec dalej

Swoja droga, to po kompilacji referencja i pointer to to samo.
Tylko jak to powiedziales semantyka inna.

Temat: Rynek IT z C C++

Piotr Pszczolkowski:
Tomasz Krzos:
Tak jak napisal Maciej regex ma byc w standardzie C++0x.
Jezyk to gramatyka i semantyka.
Algorytmy i funkcjie sa w bibliotekach.
Nawet printf nie jest czescia jezyka, jest w bibliotece.
Tak bylo, jest i zapewne bedzie.
W takim ujeciu Python nie ma wlasciwie niczego, bo wszystko siedzi w modulach. Wszystko co jest opisane w standardzie jest dla mnie czescia jezyka. regex tam niedlugo bedzie.

konto usunięte

Temat: Rynek IT z C C++

Maciej Siniło:
Piotr Pszczolkowski:
Tomasz Krzos:
Tak jak napisal Maciej regex ma byc w standardzie C++0x.
Jezyk to gramatyka i semantyka.
Algorytmy i funkcjie sa w bibliotekach.
Nawet printf nie jest czescia jezyka, jest w bibliotece.
Tak bylo, jest i zapewne bedzie.
W takim ujeciu Python nie ma wlasciwie niczego, bo wszystko siedzi w modulach. Wszystko co jest opisane w standardzie jest dla mnie czescia jezyka. regex tam niedlugo bedzie.
No to w takim razie wyrazenia regularne sa czescia C i tym samym C++ od
zawsze. Patrz regexp.hPiotr Pszczolkowski edytował(a) ten post dnia 01.10.08 o godzinie 22:07

konto usunięte

Temat: Rynek IT z C C++

.Piotr Pszczolkowski edytował(a) ten post dnia 01.10.08 o godzinie 22:06
Tomasz Kaczanowski

Tomasz Kaczanowski Ot, programista

Temat: Rynek IT z C C++

Piotr Pszczolkowski:
Maciej Siniło:
Piotr Pszczolkowski:
Tomasz Krzos:
Tak jak napisal Maciej regex ma byc w standardzie C++0x.
Jezyk to gramatyka i semantyka.
Algorytmy i funkcjie sa w bibliotekach.
Nawet printf nie jest czescia jezyka, jest w bibliotece.
Tak bylo, jest i zapewne bedzie.
W takim ujeciu Python nie ma wlasciwie niczego, bo wszystko siedzi w modulach. Wszystko co jest opisane w standardzie jest dla mnie czescia jezyka. regex tam niedlugo bedzie.
No to w takim razie wyrazenia regularne sa czescia C i tym samym C++ od
zawsze. Patrz regexp.h[edited]Piotr Pszczolkowski edytował(a) ten

Nie - w standardzie - oznacza, że każda pełna implementacja posiada taką bibliotekę i to z takim a nie innym API. Czyli pisząc aplikacje przenośną, używając biblioteki standardowej mam zagwarantowane, że jeśli jest tam kompilator języka C/C++ to skompiluje to bez problemów.

Następna dyskusja:

Co sie dzieje w Polsce (ryn...




Wyślij zaproszenie do