Thread View: pl.comp.programming
67 messages
67 total messages
Page 2 of 2
Started by Maciej Sobczak
Sat, 09 May 2020 21:08
Page 2 of 2 • 67 total messages
Re: C is number one (znowu)
Author: slawek
Date: Mon, 06 Jul 2020 08:56
Date: Mon, 06 Jul 2020 08:56
12 lines
1457 bytes
1457 bytes
godek.maciek@gmail.com Wrote in message: > W powtarzaniu klas w gimnazjum to na pewno. Nie ukończyłem jeszcze gimnazjum. Nawet nie zaczęłem do takowego uczęszczać. Przemyśl to sobie, najlepiej dwa razy, przy twoim IQ rozwiązanie tej zagadki może sprawiać problemy. ----Android NewsGroup Reader---- http://usenet.sinaapp.com/
Re: C is number one (znowu)
Author: slawek
Date: Sat, 11 Jul 2020 10:26
Date: Sat, 11 Jul 2020 10:26
35 lines
3142 bytes
3142 bytes
godek.maciek@gmail.com Wrote in message: > Język C jest językiem systemowym - został stworzony do napisania UNIXa przenośnego pomiędzy różnymi zestawami instrukcji, i z tego względu jest często określany mianem "przenośnego asemblera". Hmmm, jesteś pewien że C został zrobiony " na zamówienie" Uniksa? Czyli najpierw był pomysł AT&T, a to wymusiło zrobienie nowego języka? Czy raczej język C był zrobiony niezależnie, jako upgrade BCPL i twórcy Uniksa chwycili go - bo był tym czego potrzebowali? A że Unix potem był idealnym POSIX-systemem itd. to oczywiste. Anyway, obecnie GNU akceptuje C++, podobnie Windows nie jest (chyba już) robione w C, ale C++. Nawet Arduino to C++ tylko udające C. > Język C++ to trochę dziwadło. Niespecjalnie. Są głupsiejsze języki. Np. Julia - fajny język którego nikt nie chce (bo i po co, skoro i tak w użyciu jest Matlab). Tcl - niby jest, ale po co? Pisze się (teraz) coś w tym? VBA... porzucony przez sam MS. > Jeżeli idzie o C#, to on nie jest "językiem systemowym", tylko "językiem aplikacji". W przeciwieństwie do C, nie ma w nim wskaźników (są specjalne mechanizmy do pracy z kodem w C/C++). Są. Tak samo jak w Javie. Tyle że nie wypada o tym mówić. Nie ma arytmetyki wskaźników. Nie ma redefinicji operatorów. Nie ma r-references. Szablonów nie ma. Preprocesora nie ma. Nawet unique_ptr nie ma. > Twórca języka C# twierdzi, że C++ był dla niego dużą inspiracją, ale jest tajemnicą Poliszynela, że C# to właściwie taka Java od Microsoftu - język działający na maszynie wirtualnej, która zapewnia bezpieczeństwo w dostępie do zasobów. To tak pokrótce. Towarzysz Poliszynel zeznał też że Java to miało być takie lepsze C++. ----Android NewsGroup Reader---- http://usenet.sinaapp.com/
Re: C is number one (znowu)
Author: godek.maciek
Date: Sat, 11 Jul 2020 16:49
Date: Sat, 11 Jul 2020 16:49
60 lines
4619 bytes
4619 bytes
W dniu sobota, 11 lipca 2020 12:26:45 UTC+2 użytkownik slawek napisał: > > Język C jest językiem systemowym - został stworzony do napisania UNIXa przenośnego pomiędzy różnymi zestawami instrukcji, i z tego względu jest często określany mianem "przenośnego asemblera". > > Hmmm, jesteś pewien że C został zrobiony " na zamówienie" Uniksa? Tak. > Czyli najpierw był pomysł AT&T, a to wymusiło zrobienie nowego > języka? Czy raczej język C był zrobiony niezależnie, jako upgrade > BCPL i twórcy Uniksa chwycili go - bo był tym czego potrzebowali? Nie. Znam dwa źródła historyczne, które stwierdzają, że C powstał, żeby przenosić UNIXa. Jednym jest niedawny wywiad Kernighana z Thompsonem: https://youtu.be/EY6q5dv_B-o Drugim jest pejper Dennisa Ritchie o historii C (łatwy do wyguglania) > Anyway, obecnie GNU akceptuje C++, podobnie Windows nie jest > (chyba już) robione w C, ale C++. Nawet Arduino to C++ tylko > udające C. Mówisz teraz o dupie słonia. Ja mówię o całym słoniu. > > Język C++ to trochę dziwadło. > > Niespecjalnie. Są głupsiejsze języki. Tyle się na ten temat nagadałem, że już mi się nie chce. https://www.quora.com/Why-do-some-coders-dislike-c-coding/answer/Panicz-Godek https://www.quora.com/Why-is-C-used-more-than-C-in-system-programming-since-C-has-more-features-and-is-more-flexible/answer/Panicz-Godek https://www.quora.com/Is-it-still-worthwhile-to-learn-C-given-that-C-can-do-almost-everything-better/answer/Panicz-Godek > > Jeżeli idzie o C#, to on nie jest "językiem systemowym", tylko "językiem aplikacji". W przeciwieństwie do C, nie ma w nim wskaźników (są specjalne mechanizmy do pracy z kodem w C/C++). > > Są. Tak samo jak w Javie W Javie nie ma. W C# jest marshalling, ale poza tym zmienne mają typ referencji. > Tyle że nie wypada o tym mówić. Nie ma > arytmetyki wskaźników. W arytmetyce wskaźników i operacji dereferencji oraz pobrania adresu obiektu zawiera się istota tego, czym jest wskaźnik. > > Twórca języka C# twierdzi, że C++ był dla niego dużą inspiracją, ale jest tajemnicą Poliszynela, że C# to właściwie taka Java od Microsoftu - język działający na maszynie wirtualnej, która zapewnia bezpieczeństwo w dostępie do zasobów. To tak pokrótce. > > Towarzysz Poliszynel zeznał też że Java to miało być takie lepsze C++. Nie do końca. Target Javy to byli programiści aplikacyjni C++. C++ to wielki zwierz, obejmujący zastosowaniem zarówno oprogramowanie aplikacyjne jak i systemowe. Java może konkurować z C++ np. tam, gdzie się pisze programy w Qt. Minecraft mógł powstać w Javie, ale taki Unreal Engine już raczej nie.
Re: C is number one (znowu)
Author: Maciej Sobczak
Date: Sat, 11 Jul 2020 18:45
Date: Sat, 11 Jul 2020 18:45
28 lines
3789 bytes
3789 bytes
> > Tyle że nie wypada o tym mówić. Nie ma > > arytmetyki wskaźników. > > W arytmetyce wskaźników i operacji dereferencji oraz pobrania adresu obiektu zawiera się istota tego, czym jest wskaźnik. Nie. Arytmetyka wskaźników to cecha właściwie wyłącznie języków asemblerowych, do których C, właśnie z powodu tej arytmetyki, można zaliczyć. Właściwie powód dla którego C ma arytmetykę wskaźników i nie ma prawdziwych tablic, jest ten sam. Przykładowo, Ada, która jak najbardziej jest językiem systemowym i która powstała z myślą o systemach wbudowanych, arytmetyki wskaźników nie ma. Tzn. można się naszarpać z rzutowaniem do typu arytmetycznego, na którym od biedy da się coś dodać albo odjąć, ale konieczność tego szarpania to właśnie przejaw braku arytmetyki na właściwych wskaźnikach. Zauważ też, że w C++ istnieje wiele standardowych typów pełniących funkcję wskaźnika (smart pointery) i one też nie mają arytmetyki - w dodatku nie przez przeoczenie, tylko celowo. > Nie do końca. Target Javy to byli programiści aplikacyjni C++. Ciekawe, że pojęcie "aplikacji" się rozmyło w świecie internetu. Pojęcie "serwera aplikacji" czy też "serwera aplikacyjnego" jest tego objawem. > Java może konkurować z C++ np. tam, gdzie się pisze programy w Qt. Może, ale wcale nie tam odniosła sukces. Głównym targetem Javy stał się serwer. No i, co ciekawe, Android. Ja nie kojarzę obecnie żadnego sensownego programu w Javie, który nazwałbym "aplikacją" w sensie aplikacji desktop. Eclipse, choć się narzuca jako kandydat, to raczej przykład na to, że Javie nie udało się tego zrobić. Dlatego nie widzę Javy w tym samym miejscu, co Qt. > Minecraft mógł powstać w Javie A pomogłoby mu to w czymś? A może by zaszkodziło? -- Maciej Sobczak * http://www.inspirel.com
Re: C is number one (znowu)
Author: godek.maciek
Date: Sat, 11 Jul 2020 20:08
Date: Sat, 11 Jul 2020 20:08
43 lines
4995 bytes
4995 bytes
W dniu sobota, 11 lipca 2020 20:45:20 UTC+2 użytkownik Maciej Sobczak napisał: > > > Tyle że nie wypada o tym mówić. Nie ma > > > arytmetyki wskaźników. > > > > W arytmetyce wskaźników i operacji dereferencji oraz pobrania adresu obiektu zawiera się istota tego, czym jest wskaźnik. > > Nie. Arytmetyka wskaźników to cecha właściwie wyłącznie języków asemblerowych, do których C, właśnie z powodu tej arytmetyki, można zaliczyć. Właściwie powód dla którego C ma arytmetykę wskaźników i nie ma prawdziwych tablic, jest ten sam. > > Przykładowo, Ada, która jak najbardziej jest językiem systemowym i która powstała z myślą o systemach wbudowanych, arytmetyki wskaźników nie ma. Tzn. można się naszarpać z rzutowaniem do typu arytmetycznego, na którym od biedy da się coś dodać albo odjąć, ale konieczność tego szarpania to właśnie przejaw braku arytmetyki na właściwych wskaźnikach. O, właśnie w owym "można się naszarpać" jest pies pogrzebany. W Adzie można się naszarpać. W Javie nie można. Java ma inny model pamięci niż C. W C pamięć to ciąg bajtów, a w Javie to zbiór obiektów. > Zauważ też, że w C++ istnieje wiele standardowych typów pełniących funkcję wskaźnika (smart pointery) i one też nie mają arytmetyki - w dodatku nie przez przeoczenie, tylko celowo. Powoływanie się na "smart pointery" w dyskusji o wskaźnikach to trochę jak rozważanie zakupu roweru stacjonarnego na wycieczki rowerowe albo do poruszania się po mieście. Niby też rower, ale jednak nie do końca. Smart pointerom bliżej koncepcyjnie do referencji, niż do wskaźników. > > Nie do końca. Target Javy to byli programiści aplikacyjni C++. > > Ciekawe, że pojęcie "aplikacji" się rozmyło w świecie internetu. Pojęcie "serwera aplikacji" czy też "serwera aplikacyjnego" jest tego objawem. > > > Java może konkurować z C++ np. tam, gdzie się pisze programy w Qt. > > Może, ale wcale nie tam odniosła sukces. Głównym targetem Javy stał się serwer. > No i, co ciekawe, Android. > Ja nie kojarzę obecnie żadnego sensownego programu w Javie, który nazwałbym "aplikacją" w sensie aplikacji desktop. Eclipse, choć się narzuca jako kandydat, to raczej przykład na to, że Javie nie udało się tego zrobić. > Dlatego nie widzę Javy w tym samym miejscu, co Qt. Zgadzam się. Ale wydaje mi się, że taki był pierwotny plan. Wydaje mi się, że trochę C# rywalizuje, albo przynajmniej jeszcze parę lat temu rywalizował z Qt przy tworzeniu aplikacji okienkowych (tam było coś takiego, jak Windows Forms, zastąpione później chyba trochę przeinżynierowanym "Windows Presentation Foundation") > > Minecraft mógł powstać w Javie > > A pomogłoby mu to w czymś? A może by zaszkodziło? Tzn. ściśle rzecz biorąc, to Minecraft powstał w Javie, więc chyba pomogło mu to w ogóle powstać. (Nie zaszkodziło mu to też potem w byciu przepisanym na C++)
Re: C is number one (znowu)
Author: slawek
Date: Sun, 12 Jul 2020 12:58
Date: Sun, 12 Jul 2020 12:58
11 lines
1961 bytes
1961 bytes
godek.maciek@gmail.com Wrote in message: > Ja nie kojarzę obecnie żadnego sensownego programu w Javie, który nazwałbym "aplikacją" w sensie aplikacji desktop. Eclipse, choć się narzuca jako kandydat, to raczej przykład na to, że Javie nie udało się tego zrobić. STM32CubeMX jest IMHO na Javie. NetBeans też. FreeRouting. Z gier 3D FPS polska gra Chrome. Podsumowując: język jak język. ----Android NewsGroup Reader---- http://usenet.sinaapp.com/
Re: C is number one (znowu)
Author: slawek
Date: Sun, 12 Jul 2020 14:08
Date: Sun, 12 Jul 2020 14:08
8 lines
1650 bytes
1650 bytes
Java wyparła Delphi. Skutecznie. Java jest nadal jedynym sensownym wyborem jak appka ma być WORA. Java to nie tylko sam jezyk, to cała platforma. ----Android NewsGroup Reader---- http://usenet.sinaapp.com/
Re: C is number one (znowu)
Author: Roman Tyczka
Date: Sun, 12 Jul 2020 14:11
Date: Sun, 12 Jul 2020 14:11
12 lines
2133 bytes
2133 bytes
On Sun, 12 Jul 2020 16:08:53 +0200 (GMT+02:00), slawek wrote: > Java wyparła Delphi. Skutecznie. Tak, a TIRy, wyparły auta sportowe. hint: Delphi to desktop, Java to server side. -- pozdrawiam Roman Tyczka
Re: C is number one (znowu)
Author: slawek
Date: Sun, 12 Jul 2020 14:38
Date: Sun, 12 Jul 2020 14:38
26 lines
2486 bytes
2486 bytes
Roman Tyczka <noemail@because.no> Wrote in message: > Delphi to desktop, Java to server side. Java jest teraz niszczona przez Oracle (cyrk z wersjami), ale nadal jest na lepszej licencji niż leśnodziadkowe Delphi. Ok, jest jeszcze Lazarus/FPC, tyle że choć sympatyczny to nie zachwyca. Nikt nie broni używania Javy na desktopie. Jest do tego znacznie lepsza niż Delphi. (Historia Borlanda to epicki fail.) Owszem, są kłopoty z embeded - trzeba płacić, a skompilowane C++ jest za darmo. Java jest językiem ogólnego pzeznaczenia. A co do systemów operacyjnych... da się Linuksa przenieść na ECMA Script. Delphi jest passe. To język leśnych dziadków kurczowo trzymających się popłuczyn po Turbo Pascalu i z nabożeństwem czytającym Wirtha. Negujących istnienie Ady i ogólnie nie rozumiejących że programowanie to nie kończy się na wstawianiu kontrolek w formatki. ----Android NewsGroup Reader---- http://usenet.sinaapp.com/
Re: C is number one (znowu)
Author: Maciej Sobczak
Date: Sun, 12 Jul 2020 19:00
Date: Sun, 12 Jul 2020 19:00
18 lines
2966 bytes
2966 bytes
> Powoływanie się na "smart pointery" w dyskusji o wskaźnikach to trochę jak rozważanie zakupu roweru stacjonarnego na wycieczki rowerowe albo do poruszania się po mieście. Niby też rower, ale jednak nie do końca. https://en.wikipedia.org/wiki/Pointer_(computer_programming) "In computer science, a pointer is an object in many programming languages that stores a memory address." Wytłumacz mi teraz, dlaczego "smart pointer" to nie jest "pointer". > Smart pointerom bliżej koncepcyjnie do referencji, niż do wskaźników. To na czym polega różnica? Niektóre języki nazywają wskaźniki referencjami dla zmylenia przeciwnika, żeby się źle nie kojarzyło. Niektóre języki używają obydwu pojęć na różne rzeczy. Ale jeśli mówimy o koncepcjach, to na czym polega różnica? -- Maciej Sobczak * http://www.inspirel.com
Re: C is number one (znowu)
Author: godek.maciek
Date: Mon, 13 Jul 2020 14:17
Date: Mon, 13 Jul 2020 14:17
35 lines
4052 bytes
4052 bytes
W dniu niedziela, 12 lipca 2020 21:00:37 UTC+2 użytkownik Maciej Sobczak napisał: > > Powoływanie się na "smart pointery" w dyskusji o wskaźnikach to trochę jak rozważanie zakupu roweru stacjonarnego na wycieczki rowerowe albo do poruszania się po mieście. Niby też rower, ale jednak nie do końca. > > https://en.wikipedia.org/wiki/Pointer_(computer_programming) > > "In computer science, a pointer is an object in many programming languages that stores a memory address." > > Wytłumacz mi teraz, dlaczego "smart pointer" to nie jest "pointer". Jeśli chcesz dyskutować o tym, czy rower stacjonarny to też rower, albo czy motorower to też rower, albo czy hulajnoga to też rower, albo czy hulajnoga elektryczna to motorower, to musisz znaleźć sobie innego kompana do rozmowy, bo ja niestety nie mam na to czasu. > > Smart pointerom bliżej koncepcyjnie do referencji, niż do wskaźników. > > To na czym polega różnica? > > Niektóre języki nazywają wskaźniki referencjami dla zmylenia przeciwnika, żeby się źle nie kojarzyło. Niektóre języki używają obydwu pojęć na różne rzeczy. > > Ale jeśli mówimy o koncepcjach, to na czym polega różnica? Jeżeli naprawdę Cię to interesuje, to na tej stronie, do której podlinkowałeś, jest odpowiedź. Na przykład, jak sobie zerkniesz sekcję dotyczącą Javy, to tam przeczytasz: "Unlike C, C++, or Pascal, there is no explicit representation of pointers in Java. Instead, more complex data structures like objects and arrays are implemented using references. The language does not provide any explicit pointer manipulation operators." gdzie słowo "references" prowadzi do strony https://en.wikipedia.org/wiki/Reference_(computer_science) na której możesz wyczytać, m.in. "[...] reference is often erroneously confused with a pointer or address, and is said to "point to" the data. However, a reference may also be implemented in other ways [...]"
Re: C is number one (znowu)
Author: Maciej Sobczak
Date: Mon, 13 Jul 2020 18:49
Date: Mon, 13 Jul 2020 18:49
26 lines
3861 bytes
3861 bytes
> > Wytłumacz mi teraz, dlaczego "smart pointer" to nie jest "pointer". > > Jeśli chcesz dyskutować o tym, czy rower stacjonarny to też rower, [...] To poszukam na grupie rowerowej. Natomiast tutaj pytałem o to, dlaczego smart pointer nie jest pointerem, bo zdaje się tak właśnie to określiłeś. > "Unlike C, C++, or Pascal, there is no explicit representation of pointers in Java. [...] A coś o smart pointerach tam jest? > "[...] reference is often erroneously confused with a pointer or address, and is said to "point to" the data. However, a reference may also be implemented in other ways [...]" Świetnie. Ale na stronie o pointerach jest, że to taki obiekt, który *zawiera* (ang. "stores") adres pamięci. Więc smart pointer, który *zawiera* adres, to według tej definicji pointer. Zgadzamy się? I czy różnica pomiędzy wskażnikiem a referencją sprowadza się do tego, że "may be implemented in other ways"? To słabo. Bo te pojęcia to są koncepty i nie powinno się ich uzależniać od tego, jak są zaimplementowane. Bo jeden język może mieć różne implementacje (łącznie z tak odległymi, jak interpreter vs. kompilator) i trochę głupio by było twierdzić, że w jednej Javie jest referencja a w drugiej Javie jest wskaźnik, podczas gdy dokładnie ten sam kod źródłowy robi to samo w obu Javach. Więc jak to jest? Kiedy jest wskaźnik a kiedy referencja? Aby wyjść do przodu z tą dyskusją, chętnie podrzucę, że to co w C++ jest nazywane referencją, bardziej zasługuje na nazwę alias. Wtedy oczyścimy pole do bardziej wyrafinowanego rozróżnienia pomiędzy wskaźnikiem a referencją. W szczególności zarówno jedno jak i drugie można skopiować, zachować lub przekazać. Ale czym się różnią? -- Maciej Sobczak * http://www.inspirel.com
Re: C is number one (znowu)
Author: godek.maciek
Date: Mon, 13 Jul 2020 20:02
Date: Mon, 13 Jul 2020 20:02
43 lines
4829 bytes
4829 bytes
W dniu poniedziałek, 13 lipca 2020 20:49:14 UTC+2 użytkownik Maciej Sobczak napisał: > > > Wytłumacz mi teraz, dlaczego "smart pointer" to nie jest "pointer". > > > > Jeśli chcesz dyskutować o tym, czy rower stacjonarny to też rower, > [...] > > To poszukam na grupie rowerowej. Jeszcze po drodze możesz zahaczyć o grupę języka polskiego, żeby wypytać, czym jest analogia. > Natomiast tutaj pytałem o to, dlaczego smart pointer nie jest pointerem, bo zdaje się tak właśnie to określiłeś. Z dokładnie tych samych powodów, dla których rower stacjonarny to nie rower. Oczywiście jeżeli chcesz zająć stanowisko przeciwne, to masz do tego prawo. Słowa mają taki sens, jaki im nadamy. Jeżeli masz powody, żeby uznać, że rower stacjonarny to też rower, nie będę Ci stawał na przeszkodzie, bo mam lepsze rzeczy do roboty. > > "Unlike C, C++, or Pascal, there is no explicit representation of pointers in Java. > [...] > > A coś o smart pointerach tam jest? > > > "[...] reference is often erroneously confused with a pointer or address, and is said to "point to" the data. However, a reference may also be implemented in other ways [...]" > > Świetnie. Ale na stronie o pointerach jest, że to taki obiekt, który *zawiera* (ang. "stores") adres pamięci. Więc smart pointer, który *zawiera* adres, to według tej definicji pointer. > Zgadzamy się? Nie. Smart pointer to taki obiekt, który *zawiera* *wskaźnik*. O rowerze czasem się mówi "dwa kółka". Ale to nie oznacza, że rower stanowi zbiór dwóch kółek. Rower zawiera również inne istotne komponenty, bez których nie byłby rowerem. To zjawisko językowe nazywa się ogólnie metonimią, a nieco bardziej konkretnie - synekdochą. > I czy różnica pomiędzy wskażnikiem a referencją sprowadza się do tego, że "may be implemented in other ways"? To słabo. Bo te pojęcia to są koncepty i nie powinno się ich uzależniać od tego, jak są zaimplementowane. Nie. Referencja jest ogólniejszym pojęciem. Wskaźnik jest bardzo konkretnym pojęciem technicznym, silnie związanym z liniowością adresów na architekturze von Neumanna. Można powiedzieć, że pamięć adresowana liniowo stanowi ramę pojęciową dla wskaźnika. Bardziej zwariowany przykład referencji można znaleźć tutaj: https://www.youtube.com/watch?v=gG7uCskUOrA Aminokwasy niesione przez tRNA w cytoplazmie stanowią referencję odpowiednich trypleów zakodowanych w łańcuchu DNA/mRNA. Ale tutaj nie ma liniowych adresów. Rolę magistrali pełni cytoplazma, natomiast w charakterze adresowania masz przyciągania jonów i tego rodzaju mechanizmy.
Re: C is number one (znowu)
Author: godek.maciek
Date: Tue, 14 Jul 2020 10:01
Date: Tue, 14 Jul 2020 10:01
20 lines
3369 bytes
3369 bytes
W dniu poniedziałek, 13 lipca 2020 20:49:14 UTC+2 użytkownik Maciej Sobczak napisał: > [...] > > A coś o smart pointerach tam jest? Wszystko tam jest. Wystarczy przeczytać. Na podlinkowanej przez Ciebie stronie wiki. Wskaźniki vs. referencje: "A pointer is a simple, more concrete implementation of the more abstract reference data type. Several languages, especially low-level languages, support some type of pointer, although some have more restrictions on their use than others. While "pointer" has been used to refer to references in general, it more properly applies to data structures whose interface explicitly allows the pointer to be manipulated (arithmetically via pointer arithmetic) as a memory address, as opposed to a magic cookie or capability which does not allow such" Wskaźniki vs. smart pointery: "Since C++11, the C++ standard library also provides smart pointers (unique_ptr, shared_ptr and weak_ptr) which can be used in some situations as a safer alternative to primitive C pointers" gdzie "smart pointers" przenosi nas do odrębnej strony na wiki, gdzie można przeczytać: "In computer science, a smart pointer is an abstract data type that simulates a pointer while providing added features, such as automatic memory management or bounds checking"
Re: C is number one (znowu)
Author: Maciej Sobczak
Date: Tue, 14 Jul 2020 18:59
Date: Tue, 14 Jul 2020 18:59
23 lines
3823 bytes
3823 bytes
> Nie. Smart pointer to taki obiekt, który *zawiera* *wskaźnik*. Tego nie możemy zakładać, bo to szczegół implementacyjny. Smart pointer może sobie zawierać adres w jakiejś innej postaci, niż wskaźnik. Nie musi wskaźnika zawierać. To, co chciałem zaznaczyć odnosząc się do Twojej definicji, to fakt, że smart pointer też jest pointerem. Bo spełnia jego funkcjonalną definicję. Dlatego też analogia rowerowa była chybiona. > Nie. Referencja jest ogólniejszym pojęciem. Słusznie. > Wskaźnik jest bardzo konkretnym pojęciem technicznym, silnie związanym z liniowością adresów na architekturze von Neumanna. Można powiedzieć, że pamięć adresowana liniowo stanowi ramę pojęciową dla wskaźnika. Nie szedłbym tak daleko. W ogóle nie rozumiem, po co mieszasz tutaj architekturę von Naumanna. Na harwardzkiej nie ma wskaźników? Są. Liniowa pamięć też nie ma tutaj związku. W nieliniowej nie ma wskaźników? Są. Cytujesz losowe pojęcia. Rozróżnienie wskaźników od referencji jako ich bardziej niskopoziomowe wcielenie jest użyteczne (np. referencje w Javie mogą odnosić się do zdalnych obiektów, nie tylko do lokalnych i to sprawia, że referencje w Javie są konstruktem wyższego poziomu, niż wskaźniki w C). Ale w tych abstrakcyjnych definicjach nie widzę sensu odmawiania smart pointerom ich pointerowej "duszy" (nie żebym coś tam nawiązywał :-D ). Inaczej, krócej: jeżeli podzielimy te wszystkie obiekty na pointery i referencje, to smart pointery są w tej pierwszej grupie. -- Maciej Sobczak * http://www.inspirel.com
Re: C is number one (znowu)
Author: Sushi Master
Date: Mon, 05 Oct 2020 10:36
Date: Mon, 05 Oct 2020 10:36
11 lines
1840 bytes
1840 bytes
Sat, 11 Jul 2020 11:45:19 -0700 (PDT) Maciej Sobczak <see.my.homepage@gmail.com> napisał(a): > Ja nie kojarzę obecnie żadnego sensownego programu w Javie, który nazwałbym "aplikacją" > w sensie aplikacji desktop. Eclipse, choć się narzuca jako kandydat, to raczej przykład > na to, że Javie nie udało się tego zrobić. Z tej samej działki aplikacje JetBrains typu PHPStorm? SushiMaster
Page 2 of 2 • 67 total messages
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads