-
X-Received: by 2002:a05:620a:567:: with SMTP id p7mr66792790qkp.232.1594498097321;
Sat, 11 Jul 2020 13:08:17 -0700 (PDT)
X-Received: by 2002:a05:620a:567:: with SMTP id p7mr66792790qkp.232.1594498097321;
Sat, 11 Jul 2020 13:08:17 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
e.net!feeder.erje.net!ecngs!feeder2.ecngs.de!78.46.58.241.MISMATCH!weretis.net!
feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATC
H!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googleg
roups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sat, 11 Jul 2020 13:08:16 -0700 (PDT)
In-Reply-To: <c...@g...com>
Complaints-To: g...@g...com
Injection-Info: google-groups.googlegroups.com; posting-host=37.47.234.248;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 37.47.234.248
References: <a...@g...com>
<r9o6rb$lp5$1@news.icm.edu.pl>
<1...@g...com>
<rassv4$9ti$1@news.icm.edu.pl>
<2...@g...com>
<rdhlvh$udp$1@news.icm.edu.pl>
<a...@g...com>
<rdl4s1$abp$1@news.icm.edu.pl>
<e...@g...com>
<rduo26$ofp$1@news.icm.edu.pl>
<c...@g...com>
<re1unm$8vq$1@dont-email.me>
<b...@g...com>
<rec454$cbq$1@news.icm.edu.pl>
<6...@g...com>
<c...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7...@g...com>
Subject: Re: C is number one (znowu)
From: g...@g...com
Injection-Date: Sat, 11 Jul 2020 20:08:17 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:215043
[ ukryj nagłówki ]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++)
Następne wpisy z tego wątku
- 11.07.20 23:26 Roman Tyczka
- 12.07.20 16:11 Roman Tyczka
- 12.07.20 21:00 Maciej Sobczak
- 13.07.20 16:17 g...@g...com
- 13.07.20 20:49 Maciej Sobczak
- 13.07.20 22:02 g...@g...com
- 14.07.20 12:01 g...@g...com
- 14.07.20 20:59 Maciej Sobczak
- 05.10.20 12:36 Sushi Master
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=