Article View: pl.comp.lang.delphi
Article #346843Re: Nowe Delphi
From: wloochacz
Date: Wed, 14 Nov 2018 16:02
Date: Wed, 14 Nov 2018 16:02
84 lines
6264 bytes
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-mailReferences:
<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