Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #33919 > unrolled thread

C is number one (znowu)

Started byMaciej Sobczak <see.my.homepage@gmail.com>
First post2020-05-09 14:08 -0700
Last post2020-07-06 10:56 +0200
Articles 20 on this page of 67 — 11 participants

Back to article view | Back to pl.comp.programming


Contents

  C is number one (znowu) Maciej Sobczak <see.my.homepage@gmail.com> - 2020-05-09 14:08 -0700
    Re: C is number one (znowu) Emru <emruemru1@gmail.com> - 2020-05-10 08:55 +0000
    Re: C is number one (znowu) fir <profesor.fir@gmail.com> - 2020-05-10 03:48 -0700
      Re: C is number one (znowu) godek.maciek@gmail.com - 2020-05-11 00:49 -0700
        Re: C is number one (znowu) fir <profesor.fir@gmail.com> - 2020-05-11 04:04 -0700
          Re: C is number one (znowu) godek.maciek@gmail.com - 2020-05-11 05:05 -0700
            Re: C is number one (znowu) godek.maciek@gmail.com - 2020-05-11 05:09 -0700
            Re: C is number one (znowu) fir <profesor.fir@gmail.com> - 2020-05-11 06:26 -0700
              Re: C is number one (znowu) Bischoop <Bischoop@vimuster.net> - 2020-05-11 23:58 +0000
          Re: C is number one (znowu) Luke <luke@luke.net> - 2020-05-13 18:38 +0200
            Re: C is number one (znowu) godek.maciek@gmail.com - 2020-05-14 11:47 -0700
              Re: C is number one (znowu) Luke <luke@luke.net> - 2020-05-14 21:05 +0200
                Re: C is number one (znowu) godek.maciek@gmail.com - 2020-05-14 13:34 -0700
                  Re: C is number one (znowu) fir <profesor.fir@gmail.com> - 2020-05-14 23:48 -0700
                    Re: C is number one (znowu) queequeg@trust.no1 (Queequeg) - 2020-05-15 07:56 +0000
                  Re: C is number one (znowu) queequeg@trust.no1 (Queequeg) - 2020-05-15 07:54 +0000
                    Re: C is number one (znowu) godek.maciek@gmail.com - 2020-05-15 01:25 -0700
                  Re: C is number one (znowu) Luke <luke@luke.net> - 2020-05-15 11:23 +0200
                    Re: C is number one (znowu) godek.maciek@gmail.com - 2020-05-15 02:43 -0700
                    Re: C is number one (znowu) Bischoop <Bischoop@vimuster.net> - 2020-05-16 10:22 +0000
    Re:C is number one (znowu) slawek <x.y@org.org> - 2020-05-16 10:04 +0200
      Re: C is number one (znowu) godek.maciek@gmail.com - 2020-05-16 08:02 -0700
      Re: C is number one (znowu) Maciej Sobczak <see.my.homepage@gmail.com> - 2020-05-16 14:32 -0700
        Re: C is number one (znowu) godek.maciek@gmail.com - 2020-05-17 13:26 -0700
          Re: C is number one (znowu) Maciej Sobczak <see.my.homepage@gmail.com> - 2020-05-18 12:26 -0700
        Re: C is number one (znowu) slawek <x.y@org.org> - 2020-05-30 08:03 +0200
          Re: C is number one (znowu) godek.maciek@gmail.com - 2020-06-04 02:59 -0700
            Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-01 11:45 +0200
              Re: C is number one (znowu) godek.maciek@gmail.com - 2020-07-01 15:02 -0700
                Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-02 19:17 +0200
                  Re: C is number one (znowu) godek.maciek@gmail.com - 2020-07-03 22:54 -0700
                    Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-06 10:40 +0200
                      Re: C is number one (znowu) godek.maciek@gmail.com - 2020-07-06 14:33 -0700
                        Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-07 01:51 +0200
                          Re: C is number one (znowu) godek.maciek@gmail.com - 2020-07-06 23:52 -0700
                            Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-07 10:31 +0200
                              Re: C is number one (znowu) godek.maciek@gmail.com - 2020-07-07 03:14 -0700
                                Re: C is number one (znowu) Roman Tyczka <noemail@because.no> - 2020-07-07 14:48 +0200
                                  Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-07 18:15 +0200
                                Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-07 17:38 +0200
                                  Re: C is number one (znowu) godek.maciek@gmail.com - 2020-07-07 11:10 -0700
                                    Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-09 11:03 +0200
                                      Re: C is number one (znowu) godek.maciek@gmail.com - 2020-07-10 14:01 -0700
                                        Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-11 09:43 +0200
                                          Re: C is number one (znowu) Roman Tyczka <noemail@because.no> - 2020-07-11 11:35 +0200
                                            Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-11 12:32 +0200
                                              Re: C is number one (znowu) Roman Tyczka <noemail@because.no> - 2020-07-11 23:26 +0200
                                          Re: C is number one (znowu) godek.maciek@gmail.com - 2020-07-11 10:25 -0700
                                            Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-12 14:32 +0200
                        Re: C is number one (znowu) Gazu <gazu@netia.net> - 2020-07-07 13:52 +0000
                          Re: C is number one (znowu) godek.maciek@gmail.com - 2020-07-07 09:10 -0700
                            Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-11 12:26 +0200
                              Re: C is number one (znowu) godek.maciek@gmail.com - 2020-07-11 09:49 -0700
                                Re: C is number one (znowu) Maciej Sobczak <see.my.homepage@gmail.com> - 2020-07-11 11:45 -0700
                                  Re: C is number one (znowu) godek.maciek@gmail.com - 2020-07-11 13:08 -0700
                                    Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-12 14:58 +0200
                                    Re: C is number one (znowu) Maciej Sobczak <see.my.homepage@gmail.com> - 2020-07-12 12:00 -0700
                                      Re: C is number one (znowu) godek.maciek@gmail.com - 2020-07-13 07:17 -0700
                                        Re: C is number one (znowu) Maciej Sobczak <see.my.homepage@gmail.com> - 2020-07-13 11:49 -0700
                                          Re: C is number one (znowu) godek.maciek@gmail.com - 2020-07-13 13:02 -0700
                                            Re: C is number one (znowu) Maciej Sobczak <see.my.homepage@gmail.com> - 2020-07-14 11:59 -0700
                                          Re: C is number one (znowu) godek.maciek@gmail.com - 2020-07-14 03:01 -0700
                                  Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-12 16:08 +0200
                                    Re: C is number one (znowu) Roman Tyczka <noemail@because.no> - 2020-07-12 16:11 +0200
                                      Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-12 16:38 +0200
                                  Re: C is number one (znowu) Sushi Master <su@shi.master> - 2020-10-05 12:36 +0200
                    Re: C is number one (znowu) slawek <x.y@org.org> - 2020-07-06 10:56 +0200

Page 3 of 4 — ← Prev page 1 2 [3] 4  Next page →


#34056

Fromgodek.maciek@gmail.com
Date2020-07-07 11:10 -0700
Message-ID<a734ec5d-9858-4d8f-ba68-5787e53b0e86o@googlegroups.com>
In reply to#34053
W dniu wtorek, 7 lipca 2020 17:38:19 UTC+2 użytkownik slawek napisał:
> 
> 
> Większość ludzi nie zmienia mechatroniki na filozofię po 4 i pół
>  roku studiowania. Aby ostatecznie znaleźć swoje miejsce w
>  informatyce. Co tam u Wielkiego Niebieskiego? A... skończyło się,
>  no i NDA? Też uważam że embeded to przyszłość.

O, widzę, że znalazłeś w internecie informacje na mój temat, które tam umieściłem.
Jestem pod wrażeniem. Umiesz korzystać z wyszukiwarki.
Myślę, że gimnazjum to byłaby dla Ciebie pestka.
(Tylko pamiętaj, żeby nie kopiować artykułów z Wikipedii na wypracowania, bo nauczyciele raczej się kapną)

> Co do publikowania - sprawdź skąd się bierze nazwa "test
>  Studenta". Tak, od faceta który publikował pod pseudonimem.
>  Myślisz że Bolesław Prus naprawdę nazywał się Prus? No coż, życie
>  bywa trochę bardziej skomplikowane.

Owszem, zdarzają się i takie przypadki.

Ale jeżeli idzie o kolesi, którzy przechwalają się w Internecie, czego to oni nie osiągnęli, to ich "tajemniczość" bierze się raczej zazwyczaj stąd, że po prostu niewiele osiągnęli.

I nie ma nic złego w tym, że się nic nie osiągnęło.
Ja sam raczej niewiele osiągnąłem. Dużo mniej, niż bym chciał.

Raczej chodzi o to, że niepotrzebnie się przechwalają.

Ludzie, którzy robią coś sensownego ze swoim życiem, nie mają czasu na takie przechwałki, i nie mają takiej potrzeby.

[toc] | [prev] | [next] | [standalone]


#34057

Fromslawek <x.y@org.org>
Date2020-07-09 11:03 +0200
Message-ID<re6mhb$uaj$1@news.icm.edu.pl>
In reply to#34056
godek.maciek@gmail.com Wrote in message:
> Ale jeżeli idzie o kolesi, którzy przechwalają się w Internecie [...]

Myk w tym że ja się nie przechwalam. Fakt, znam naście języków
 programowania. W sensie że napisałem w nich jakieś programy
 których potem ktoś używał. Ale sam ten fakt jest neutralny, może
 budzić zazdrość tylko u ludzi w ogóle nie mających pojęcia o
 programowaniu, a takich tu nie ma.

Jak sam widzisz, gdy piszę o większym stażu to po prostu jest to
 fakt, bo nawet jeżeli pisałeś programy już w przedszkolu to i tak
 ja mam większy. Tak samo z doświadczeniem - zawodowym i życiowym
 - trochę czasu a będziesz miał go tyle co i ja.


----Android NewsGroup Reader----
http://usenet.sinaapp.com/

[toc] | [prev] | [next] | [standalone]


#34058

Fromgodek.maciek@gmail.com
Date2020-07-10 14:01 -0700
Message-ID<9392a3f9-2163-41fc-859a-1c71597b8af1o@googlegroups.com>
In reply to#34057
W dniu czwartek, 9 lipca 2020 11:03:41 UTC+2 użytkownik slawek napisał:
 
> Jak sam widzisz, gdy piszę o większym stażu to po prostu jest to
>  fakt, bo nawet jeżeli pisałeś programy już w przedszkolu to i tak
>  ja mam większy. Tak samo z doświadczeniem - zawodowym i życiowym
>  - trochę czasu a będziesz miał go tyle co i ja.

Tzn. to Ty twierdzisz, że to jest fakt.

Ale nie dostarczasz na to żadnego świadectwa. A to, którego dostarczasz,
tzn. odzywki na poziomie gimnazjum, i absolutny brak linków do konkretnego kodu, czy w zasadzie jakichkolwiek konkretów, raczej wydają się temu przeczyć.

Ponadto to nie jest tak, że doświadczenie się zdobywa wraz z upływem czasu.
Tzn. owszem, kiedy zdobywamy doświadczenie, czas upływa. Ale może też upływać bez zdobywania doświadczenia. Zdobywanie doświadczenia wymaga podejmowania wyzwań. Bez tego człowiek tylko się starzeje.

A bycie starym nie jest samo w sobie przesadnie imponujące.

[toc] | [prev] | [next] | [standalone]


#34059

Fromslawek <x.y@org.org>
Date2020-07-11 09:43 +0200
Message-ID<rebqk0$ul4$1@news.icm.edu.pl>
In reply to#34058
godek.maciek@gmail.com Wrote in message:
> absolutny brak linków do konkretnego kodu, czy w zasadzie jakichkolwiek konkretów, raczej wydają się temu przeczyć.

Po pierwsze, zrozum że nikt nie ma obowiązku dawać ci kodu
 źródłowego, jakiś linków, danych, czegokolwiek. Po drugie, akurat
 w tym wątku byłem jedynym który napisał fragment kodu źródłowego.
 Po trzecie, swego czasu dałem na tym forum całkiem długi przykład
 (w JS), jak pamiętam Fir się dopraszał i dostał więcej może niż
 chciał.

> Zdobywanie doświadczenia wymaga podejmowania wyzwań. Bez tego człowiek tylko się starzeje.A bycie starym nie jest samo w sobie przesadnie imponujące.

Pitu pitu, gadka motywacyjna. Co do starzenia - fakt - ludzie się
 starzeją - Kolumbie, odkryłeś Amerykę.


----Android NewsGroup Reader----
http://usenet.sinaapp.com/

[toc] | [prev] | [next] | [standalone]


#34060

FromRoman Tyczka <noemail@because.no>
Date2020-07-11 11:35 +0200
Message-ID<pdrk22axqlai$.dlg@tyczka.com>
In reply to#34059
On Sat, 11 Jul 2020 09:43:54 +0200 (GMT+02:00), slawek wrote:

> Po pierwsze, zrozum że nikt nie ma obowiązku dawać ci kodu
>  źródłowego, jakiś linków, danych, czegokolwiek. Po drugie, akurat

Nie jakiś tylko jakichś, panie prof. dr hab. Sławku.

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [next] | [standalone]


#34062

Fromslawek <x.y@org.org>
Date2020-07-11 12:32 +0200
Message-ID<rec4f3$cbu$1@news.icm.edu.pl>
In reply to#34060
Roman Tyczka <noemail@because.no> Wrote in message:
> Nie jakiś tylko jakichś

Coż, czyżbyś była młodą nauczycielką języka polskiego?


----Android NewsGroup Reader----
http://usenet.sinaapp.com/

[toc] | [prev] | [next] | [standalone]


#34068

FromRoman Tyczka <noemail@because.no>
Date2020-07-11 23:26 +0200
Message-ID<wllk87adwg31$.dlg@tyczka.com>
In reply to#34062
On Sat, 11 Jul 2020 12:32:03 +0200 (GMT+02:00), slawek wrote:

>> Nie jakiś tylko jakichś
> 
> Coż, czyżbyś była młodą nauczycielką języka polskiego?

Nie, w jakiś sposób zdałem maturę... 

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [next] | [standalone]


#34065

Fromgodek.maciek@gmail.com
Date2020-07-11 10:25 -0700
Message-ID<1192227a-7c0f-4df6-9860-16efb6f8ee80o@googlegroups.com>
In reply to#34059
W dniu sobota, 11 lipca 2020 09:44:01 UTC+2 użytkownik slawek napisał:
> > absolutny brak linków do konkretnego kodu, czy w zasadzie jakichkolwiek konkretów, raczej wydają się temu przeczyć.
> 
> Po pierwsze, zrozum że nikt nie ma obowiązku dawać ci kodu
>  źródłowego, jakiś linków, danych, czegokolwiek.

Ja to rozumiem. Nikt nie ma obowiązku kontrybuowania na forach internetowych w pozytywny sposób. Na niemoderowanych forach trolowanie i kozaczenie są dozwolone. Co nie zmienia faktu, że nic dobrego z takich postaw nie wynika.

[toc] | [prev] | [next] | [standalone]


#34069

Fromslawek <x.y@org.org>
Date2020-07-12 14:32 +0200
Message-ID<reevtb$230$1@news.icm.edu.pl>
In reply to#34065
godek.maciek@gmail.com Wrote in message:
> W dniu sobota, 11 lipca 2020 09:44:01 UTC+2 użytkownik slawek napisał:> > absolutny brak linków do konkretnego kodu, czy w zasadzie jakichkolwiek konkretów, raczej wydają się temu przeczyć.> > Po pierwsze, zrozum że nikt nie ma obowiązku dawać ci kodu>  źródłowego, jakiś linków, danych, czegokolwiek.Ja to rozumiem. Nikt nie ma obowiązku kontrybuowania na forach internetowych w pozytywny sposób. Na niemoderowanych forach trolowanie i kozaczenie są dozwolone. Co nie zmienia faktu, że nic dobrego z takich postaw nie wynika.

Chyba masz rację, w końcu na podstawie własnych doświadczeń piszesz.
-- 


----Android NewsGroup Reader----
http://usenet.sinaapp.com/

[toc] | [prev] | [next] | [standalone]


#34052

FromGazu <gazu@netia.net>
Date2020-07-07 13:52 +0000
Message-ID<re1unm$8vq$1@dont-email.me>
In reply to#34046
On 2020-07-06, godek.maciek@gmail.com <godek.maciek@gmail.com> wrote:
>> 
>> Python wyraźnie jest różny od C/C++ co do "filozofii"
>
> C też jest wyraźnie różny od C++ co do filozofii.
> C# jest również wyraźnie różny od C i C++ co do filozofii.
>

A filozowicznie rzecz biorac to jak sie roznia.

[toc] | [prev] | [next] | [standalone]


#34054

Fromgodek.maciek@gmail.com
Date2020-07-07 09:10 -0700
Message-ID<ba5d1b36-f368-4f7b-8a29-8d2de299f3b3o@googlegroups.com>
In reply to#34052
W dniu wtorek, 7 lipca 2020 15:52:56 UTC+2 użytkownik Gazu napisał:

> >> 
> >> Python wyraźnie jest różny od C/C++ co do "filozofii"
> >
> > C też jest wyraźnie różny od C++ co do filozofii.
> > C# jest również wyraźnie różny od C i C++ co do filozofii.
> >
> 
> A filozowicznie rzecz biorac to jak sie roznia.

To dość proste.

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".

Język C++ to trochę dziwadło. Sam jego twórca często porównuje go do słonia, który dla jednego jest trąbą, dla drugiego uchem, a dla trzeciego dupą ze zwisającymi jajcami. Oryginalnie był prostym preprocesorem języka C, który rozszerzał go o "mechanizmy obiektowości" znane z języka Simula.

Finalnie został rozszerzany o kolejne mechanizmy, w tym preprocesor szablonów, który przypadkiem okazał się "Turing-complete".

Jakiś czas temu napisałem taką charakterystykę:

https://www.quora.com/If-you-are-going-to-write-a-book-named-C-the-good-parts-what-will-be-in-that-book/answer/Panicz-Godek

W każdym razie twórcy języka C raczej nie lubią C++ (filozoficznie).

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++).

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.

[toc] | [prev] | [next] | [standalone]


#34061

Fromslawek <x.y@org.org>
Date2020-07-11 12:26 +0200
Message-ID<rec454$cbq$1@news.icm.edu.pl>
In reply to#34054
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/

[toc] | [prev] | [next] | [standalone]


#34064

Fromgodek.maciek@gmail.com
Date2020-07-11 09:49 -0700
Message-ID<6faa1120-6d95-4171-b43f-c8a86c135be6o@googlegroups.com>
In reply to#34061
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.

[toc] | [prev] | [next] | [standalone]


#34066

FromMaciej Sobczak <see.my.homepage@gmail.com>
Date2020-07-11 11:45 -0700
Message-ID<c06d7176-4b51-406d-9b25-137730f5af47o@googlegroups.com>
In reply to#34064
> > 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

[toc] | [prev] | [next] | [standalone]


#34067

Fromgodek.maciek@gmail.com
Date2020-07-11 13:08 -0700
Message-ID<7be60910-7941-4e71-9438-3ba0fc2ccff7o@googlegroups.com>
In reply to#34066
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++)

[toc] | [prev] | [next] | [standalone]


#34070

Fromslawek <x.y@org.org>
Date2020-07-12 14:58 +0200
Message-ID<ref1ea$a0$1@news.icm.edu.pl>
In reply to#34067
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/

[toc] | [prev] | [next] | [standalone]


#34074

FromMaciej Sobczak <see.my.homepage@gmail.com>
Date2020-07-12 12:00 -0700
Message-ID<dfbe51a1-5416-48c1-850c-8695a7ec37e4o@googlegroups.com>
In reply to#34067
> 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

[toc] | [prev] | [next] | [standalone]


#34075

Fromgodek.maciek@gmail.com
Date2020-07-13 07:17 -0700
Message-ID<36da3f68-dee5-412f-a1e1-f5c76c338884o@googlegroups.com>
In reply to#34074
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 [...]"

[toc] | [prev] | [next] | [standalone]


#34076

FromMaciej Sobczak <see.my.homepage@gmail.com>
Date2020-07-13 11:49 -0700
Message-ID<ecf47492-7c3e-4c78-84f3-9685ed338681o@googlegroups.com>
In reply to#34075
> > 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

[toc] | [prev] | [next] | [standalone]


#34077

Fromgodek.maciek@gmail.com
Date2020-07-13 13:02 -0700
Message-ID<e2a871c1-4afb-43f8-99b5-1544398d3defo@googlegroups.com>
In reply to#34076
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.

[toc] | [prev] | [next] | [standalone]


Page 3 of 4 — ← Prev page 1 2 [3] 4  Next page →

Back to top | Article view | pl.comp.programming


csiph-web