🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #346843

Re: Nowe Delphi

#346843
From: wloochacz
Date: Wed, 14 Nov 2018 16:02
84 lines
6264 bytes
W dniu 13.11.2018 o 15:23, immo pisze:
> W dniu wtorek, 13 listopada 2018 12:09:14 UTC+1 użytkownik Roman Tyczka napisał:
>> No zaraz. Wyjaśnij co miałeś w tym wypadku na myśli? Bo skoro w C# string
>> to klasa to oczywiste jest, że ma metody. Ale przez fakt bycia klasą ma też
>> większy narzut na zasoby.
> 
> No właśnie. Ale nie dotyczy to wszystkich typów ale niektórych. I tak w przypadku stringa wolałbym, żeby domyślnie był klasą :)
Po co?
Ile razy dziedziczyłeś z typu prostego w C#?
No to ta "pełna obiektowość" nie zawsze jest potrzebna i przydatna (tak, 
tak - wiem co napisałem).

Tak czy siak, na pewno nigdy nie dziedziczyłeś ze stringa w C#, bo się 
nie da (klasa string jest sealed). Ale da się użyć dla niej Extension 
Methods, a to taki delphiowy class helper - ale lepszy ;-)

> Nie podoba mi się składniowo length(s) czy writeln(s) gdzie funkcja jest oderwana od klasy. Ot obiektowość pełna a nie częściowa :) Oczywiście to powyżej to tylko przykład jednego typu danych.
To teraz Tobie powiem - widziałeś Ty nowe Delphi?
Bo gdybyś widział, to byś wiedział że:
Length(s) = s.Length;

>> lżejszy, a dzięki helperom można go używać wygodnie jak obiektu, dla mnie
>> to zaleta nad cięższym stringiem obiektowym.
> 
> Ale trzeba je zrobić i nie ma standardu, bo każdy robi jak chce i co chce. W tym kontekście ujednolicenie ma sens taki, ze bez kombinacji i wymyślania co autor miał na myśli, domyślne działanie typu byłoby takie same.
Nie rozumiem co napisałeś.
A w C# i jego Extension Methods nie można robić co się chce i jak chce?
No można.
Jak ktoś zaprojektuje (albo i nie) API z czapy, to potem faktycznie 
trzeba się domyślać...

>> A czy nie ma sensu niczego robić? Jest, choćby te helpery rozwinąć, żeby
>> można ich było kilka naraz używać. I żeby się dało pisać helpery do
>> interfejsów. Itd.
O to, to!

> No ok, co do tego to się zgadzam. Ale helpery które dają wiele możliwości, dają też możliwość przesady i przy okazji braku jednolitości (patrz wyżej). 
> Dla mnie to byłoby wadą. 
Czyli co konkretnie?
Dostęp do sekcji i danych chronionych w klasie, o to Ci chodzi?
Nie wiem co prawda od kiedy, ale to nieaktualne.
W wersji 10.2 na pewno class helper pod kątem dostępu do metod/pól klasy 
jest równoważny z dziedziczeniem.
A więc nie ma dostępu do sekcji private, a jest dla protected, ale nie 
ma do strict protected.

> Z drugiej strony, gdyby były tak rozbudowane jak sugerujesz, to inne zmiany nie miały by sensu, bo można by sobie je samemu napisać, ze wszystkimi związanymi z tym problemami i wadami rozwiązania.
Ale co on sugeruje?
Se możesz napisać i nadpisać; w Delphi ostatni załadowany class helper 
przykrywa wszystkie wcześniejsze.
Trochę to słabe, ale od biedy można wykorzystać jak się wie co się robi.

>> Pascal był wymyślony jako jzyk edukacyjny, w takim kontekście masz rację.
>> Ale tak się (nie)szczęśliwie potoczyło, że stał się językiem produkcyjnym i
>> z tego tytułu wymagania wobec niego są zupełnie inne. Dla mnie te ficzery
>> są praktyczne. A dla przeciwników zawsze pozostaje opcja kompatybilności
> 
> Jestem otwarty na wszelkie ficzery i zmiany które niosą ze sobą wartość dodaną dla języka/środowiska, ale co do deklaracji zmiennych nie ma argumentu który by mnie do tego przekonał. Rozwiązanie wprowadziłoby niepotrzebny zamęt i zaczerniłoby, bardzo jasny do tej pory kod w Delphi.
E tam.
Można deklarować zmienne po staremu?
No można.
To używajata starej konwencji, a ja się zastanowię :)

> Jeśli by EMB zrobiło ankietę za takim rozwiązaniem, to nie jestem przekonany czy zostałoby ono wprowadzone (oczywiście pod warunkiem że osoby używające pakiet, w których interesie byłoby lub nie wprowadzenie tego ficzera oddałyby głos w tej ankiecie).
Demokracja to jest jednak najgorszy możliwy ustrój, gdzie większość "ma 
racje" ;-)

> ze
>> starą składnią, nikt nie narzuca siłą nowej. Wilk syty i owca niewydymana.
> 
> A ja Ci powiem inaczej, jeśli chcesz zmian które nie są zgodne z podstawowymi założeniami języka, to można zmienić język, ten pozostawiając go tym, którzy chcą go takiego jak jest w zakresie podstaw.
> To nie problem przenieść składnie z C# czy logikę działania. Tylko po co? Skoro jest C# sam w sobie i można go równie łatwo używać?
OK, można i tak.
A co zrobić z założeniami takiego zgnilca jak Pascal, który ma wiek 
emerytalny?
Przecież te podstawowe założenia języka była projektowane  w zupełnie 
innej rzeczywistości. Wtedy nawet internet nie istniał w podstawowych 
założeniach :D

To i ja Ci powiem inaczej - albo będziesz się rozwijał i dostosowywał, 
albo czas umierać Pascalu.

-- 
wloochacz
Technical Details
Message-ID: <5bec46fc$0$474$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <7376c5jxe41w$.dlg@tyczka.com> <d60ae831-92ca-4e7f-8a06-29012c3ac596@googlegroups.com> <5bcrkgobe6zx$.dlg@tyczka.com> <4c6fd33a-9017-465a-bb5b-dfad7f9840eb@googlegroups.com> <6j84isupoi1q.dlg@tyczka.com> <9039a778-744d-44b5-a8cd-2701f52b3187@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Subject: Re: Nowe Delphi
Newsgroups: pl.comp.lang.delphi
References: <7376c5jxe41w$.dlg@tyczka.com> <d60ae831-92ca-4e7f-8a06-29012c3ac596@googlegroups.com> <5bcrkgobe6zx$.dlg@tyczka.com> <4c6fd33a-9017-465a-bb5b-dfad7f9840eb@googlegroups.com> <6j84isupoi1q.dlg@tyczka.com> <9039a778-744d-44b5-a8cd-2701f52b3187@googlegroups.com>
From: wloochacz <wloochacz@no.spam.gmail.com>
Date: Wed, 14 Nov 2018 17:02:03 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.0
MIME-Version: 1.0
In-Reply-To: <9039a778-744d-44b5-a8cd-2701f52b3187@googlegroups.com>
Lines: 84
Message-ID: <5bec46fc$0$474$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.23.77.204
X-Trace: 1542211324 unt-rea-a-01.news.neostrada.pl 474 83.23.77.204:56459
X-Complaints-To: abuse@news.neostrada.pl
X-Received-Bytes: 6015
X-Received-Body-CRC: 647540694
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit