Kto sie bawi C++

HellHax
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 13 wrz 2004, o 10:14
Lokalizacja: Mars

Kto sie bawi C++

Post autor: HellHax »

Witam jestem tu nowy pozdro dla wszystkich...

Szukam chętnych do dyskusji na temat C++... Czy ktoś siętym zajmuje?
Moze jest ktos kto programuje w innym języku obiektowym?
Skrzypu
Użytkownik
Użytkownik
Posty: 1146
Rejestracja: 18 maja 2004, o 22:15
Płeć: Mężczyzna
Lokalizacja: Kraków
Pomógł: 18 razy

Kto sie bawi C++

Post autor: Skrzypu »

Ja się bawię w C++
Gambit
Użytkownik
Użytkownik
Posty: 123
Rejestracja: 8 wrz 2004, o 22:17
Płeć: Mężczyzna
Lokalizacja: Łowicz
Podziękował: 2 razy

Kto sie bawi C++

Post autor: Gambit »

HellHax pisze: Moze jest ktos kto programuje w innym języku obiektowym?
Nawet bardziej objektowym niż C++ - ja programuje w Java.
O czym konkretnie chcesz dyskutować?
Gerwazy
Użytkownik
Użytkownik
Posty: 34
Rejestracja: 2 wrz 2004, o 23:05

Kto sie bawi C++

Post autor: Gerwazy »

Gambit pisze:Nawet bardziej objektowym niż C++ - ja programuje w Java.
A potrafi to to przeciążać operatory?

.
Gambit
Użytkownik
Użytkownik
Posty: 123
Rejestracja: 8 wrz 2004, o 22:17
Płeć: Mężczyzna
Lokalizacja: Łowicz
Podziękował: 2 razy

Kto sie bawi C++

Post autor: Gambit »

Gerwazy pisze:
Gambit pisze:Nawet bardziej objektowym niż C++ - ja programuje w Java.
A potrafi to to przeciążać operatory? :D

.
Nie, ale ma za to wbudowaną wielowątkowość, garbage colector, dzięki czemu nie musisz się martwić o zwalnianie pamięci, ma wpełni zintegrowane wyjątki, jest wpełni dynamicznie typowana, jest w pełni przenośna i bezpieczna dzięki maszynie wirtualnej. W _standardowej_ bibliotece Javy jest ponad 3000 klas i interfejsów (niemówiąc już o całych tonach darmowych biblitek w sieci np. od jakarta.apache.org) - od nieblokowalnego IO po obsług baz danych, które są świetnie udokumentowane dzięki javadoc'owi. Ponadto Java ciągle się rozwija, a nie stoi w miejscu jak C++ (pętla for each z najnowszej Javy rządzi :) ). A jeżeli już zależy Ci na przeciążaniu operatorów to możesz użyć (już niedługo jak sądze oficjalnego) języka skryptowego dla Javy - Groove (), którego to można kompilować do normalnego bytecode'u Javy. Mam pisać dalej? :)
Skrzypu
Użytkownik
Użytkownik
Posty: 1146
Rejestracja: 18 maja 2004, o 22:15
Płeć: Mężczyzna
Lokalizacja: Kraków
Pomógł: 18 razy

Kto sie bawi C++

Post autor: Skrzypu »

Tak, prosimy
Gambit
Użytkownik
Użytkownik
Posty: 123
Rejestracja: 8 wrz 2004, o 22:17
Płeć: Mężczyzna
Lokalizacja: Łowicz
Podziękował: 2 razy

Kto sie bawi C++

Post autor: Gambit »

Skrzypu pisze:Tak, prosimy
Java sprawdza czy nie wychodzisz poza indeks tablic, niepozwala używać niezainicjowanych zmiennych. Ma bezpieczny typowo enum. Ma świetnie zorganizowany standard nazewnictwa i przestrzeni nazw. Dzięki kompilatorowi JIT w _niektórych_ przypadkach może być nawet szybsza od C++, a w zwykłych przypadkach powoduje że Java nieodbiega szybkością od C++. Niezawodność i bezpieczeństwo Javy powoduje, że sprawdza się świetnie w aplikacjach server-side. Jako ciekawostkę mogę powiedzieć, że Java była na Marsie (Interfejs komunikacji między łazikiem marsjańskim, który jakiś czas temu wylądował na czerwonym globie, a ziemią był napisany w Javie).
Gerwazy
Użytkownik
Użytkownik
Posty: 34
Rejestracja: 2 wrz 2004, o 23:05

Kto sie bawi C++

Post autor: Gerwazy »

Hihi.
Widzę Gambit, że podłapałeś przynętę . A to było tylko jedno niewinne zdanie...
No ale mów jeszcze i jeszcze i jeszcze. Bo widzisz, zgadzam się z tobą niemal w 100%, ale opowiedz coś, o czym mało kto wie .
Albo może jednak nie... bo temat miał być o C++.

A btw, tym razem bez trollowania. Jak u siebie rozwiązujesz brak przeciążania operatorów? Np. mnożenie (obiektów) macierzy albo wyrażeń RPN. Poprzez dodatkowe metody?

.
Gość

Kto sie bawi C++

Post autor: Gość »

Gerwazy pisze:Hihi.
Widzę Gambit, że podłapałeś przynętę :D. A to było tylko jedno niewinne zdanie...
[/qute]
W sumie masz rację - nie potrzebnie dałem się sprowokować.

[qute="Gerwazy"]
A btw, tym razem bez trollowania. Jak u siebie rozwiązujesz brak przeciążania operatorów? Np. mnożenie (obiektów) macierzy albo wyrażeń RPN. Poprzez dodatkowe metody?
.
Osobiście nigdy nie zajmowałem się większymi rzeczami matematycznymi w Javie, czy innym języku, ale w takim przypadku niestety trzeba używać półśrodków w postaci metod typu add(), div(), times() itp. Przeciążanie operatorów to fajna sprawa (oczywiście w odpowiednich rękach - słyszałem że przez osoby nadużywające przeciążania operatorów kod C++ może wyglądać strasznie), ale nie jest to niezbędne - o tym chyba wiedzą najlepiej programiści prekursora C++, w którym to jest cała masa programów matematycznych, bibliotek 3D (e.g. OpenGL) itp.
Warto wspomnieć, że w Javie 5 zostały przeciążone operatory dla objektów reprezentujących typy proste (np. Integer dla int, Double dla double) - zawsze to jakiś początek ;) Jeżeli jednak naprawdę potrzebowałbym przeciążania operatorów użyłbym Groovy'ego, o którym wspominałem wcześniej.
Gambit
Użytkownik
Użytkownik
Posty: 123
Rejestracja: 8 wrz 2004, o 22:17
Płeć: Mężczyzna
Lokalizacja: Łowicz
Podziękował: 2 razy

Kto sie bawi C++

Post autor: Gambit »

Sorry, zapomniałem się zalogować - powyższy post to oczywiście mój.
Gerwazy
Użytkownik
Użytkownik
Posty: 34
Rejestracja: 2 wrz 2004, o 23:05

Kto sie bawi C++

Post autor: Gerwazy »

Tak sobie przeczytałem jeszcze raz post 1. i 3. i zauważyłem drobną nieścisłość, ktora mi poprzednio umknęła. Chodzi o nazywanie C++ językiem obiektowym.
Java jest językiem obiektowym, C++ natomiast jest zorientowany obiektowo.
To tak gwoli ścisłości.
Gambit
Użytkownik
Użytkownik
Posty: 123
Rejestracja: 8 wrz 2004, o 22:17
Płeć: Mężczyzna
Lokalizacja: Łowicz
Podziękował: 2 razy

Kto sie bawi C++

Post autor: Gambit »

Gerwazy pisze: Java jest językiem obiektowym, C++ natomiast jest zorientowany obiektowo.
"Język objektowy" i "język zorientowany objektowo" to to samo.
Gerwazy
Użytkownik
Użytkownik
Posty: 34
Rejestracja: 2 wrz 2004, o 23:05

Kto sie bawi C++

Post autor: Gerwazy »

Gambit pisze:"Język objektowy" i "język zorientowany objektowo" to to samo.
Jeśli naprawdę tak myślisz, to niestety jesteś w błędzie. Jest to bardzo częste nieporozumienie.
Dodatkowo powiem, że w C++ można programować w stylu zorientowanym obiektowo, jak i w stylu bazującym na obiektach. Ten drugi jest najczęściej stosowany przez osoby przechodzące właśnie z C lub w początkowym etapie nauki C++ od podstaw.

PS. obiektowy, nie objektowy
.
Gambit
Użytkownik
Użytkownik
Posty: 123
Rejestracja: 8 wrz 2004, o 22:17
Płeć: Mężczyzna
Lokalizacja: Łowicz
Podziękował: 2 razy

Kto sie bawi C++

Post autor: Gambit »

Gerwazy pisze:
Gambit pisze:"Język objektowy" i "język zorientowany objektowo" to to samo.
Jeśli naprawdę tak myślisz, to niestety jesteś w błędzie. Jest to bardzo częste nieporozumienie.
Dodatkowo powiem, że w C++ można programować w stylu zorientowanym obiektowo, jak i w stylu bazującym na obiektach. Ten drugi jest najczęściej stosowany przez osoby przechodzące właśnie z C lub w początkowym etapie nauki C++ od podstaw.
Masz jakieś materiały na potwierdzenie tego? (np. powierzchownie przeglądając wikipedie [ i ... g_language] nie znalazłem nic takiego.)
Gerwazy pisze: PS. obiektowy, nie objektowy
.
Sorki za błąd za dużo pisałem to słowo w wersji angielskiej i mi to "j" jakoś utkwiło
Gerwazy
Użytkownik
Użytkownik
Posty: 34
Rejestracja: 2 wrz 2004, o 23:05

Kto sie bawi C++

Post autor: Gerwazy »

Trudno znaleźć coś w Sieci o rozróżnieniu na język obiektowy i zorientowany obiektowo, bo są ze sobą utożsamiane i raczej stosuje się określenie 'zorientowany obiektowo'. Lecz są osoby, które to rozróżniają. Już nie pamiętam gdzie ja to słyszałem bądź czytałem. Ja też to rozróżniam:
- język obiektowy, jak Java, w całości oparty na obiektach
- język zorientowany obiektowo, jak C++, w którym programowaniu obiektowemu (nieobowiązkowemu) towarzyszy strukturalno-proceduralne pochodzące z C. Możliwe jest również ograniczenie do programowania bazującego na obiektach.

Pokrewne linki jakie znalazłem, to (ostatni na stronie) z na pclc i [url=http://klub.chip.pl/b.krzemien/c++-faq-pl/big-picture.html#faq-6.8]rozdział 6.8[/url] w [url=http://klub.chip.pl/b.krzemien/c++-faq-pl/]FAQu[/url] do C++.

Poza tym na pclc całkiem ciekawe dyskusje się toczą, jak np. [url=http://groups.google.com/groups?hl=pl&lr=&ie=UTF-8&th=8a029c4c2bc43058&rnum=2]ta[/url], [url=http://groups.google.pl/groups?hl=pl&lr=&ie=UTF-8&th=947c4fa8b3fcaa88&seekm=3981.00000c63.3eafd100%40newsgate.onet.pl#link1]ta[/url] i [url=http://groups.google.com/groups?hl=pl&lr=&ie=UTF-8&th=9ce1812dfe529fa8&seekm=78aejh%24g1f%241%40polonez.man.lodz.pl#link17]tu[/url] dwie wypowiedzi.

Co do paradygmatów programowania to na Wikipedii można coś znaleźć: [url=http://en.wikipedia.org/wiki/Programming_paradigm]paradygmaty programowania[/url] i [url=http://en.wikipedia.org/wiki/Object-oriented_programming]programowanie orientowane obiektowo[/url]

Co do poprzedniej wypowiedzi, to może nie tyle jesteś w błędzie, co jest to nieścisłe i rodzi nieporozumienia. Ja jednak uważam, że należy to rozróżnić, bo jest to błąd. Tzn. rodzaje języków, nie style programowania.

Jako ciekawostka, istnieją inne definicje języka obiektowego (a może języka obiektów?): [url=http://www.britannica.com/eb/article?tocId=9056649&query=null&ct=null]taka[/url] i [url=http://www.hyperdictionary.com/dictionary/object+language]taka[/url].
ODPOWIEDZ