-
121. Data: 2017-08-12 19:08:26
Temat: Re: Rust
Od: slawek <f...@f...com>
On Sat, 12 Aug 2017 06:59:25 -0700 (PDT), s...@g...com wrote:
> co jest nie tak z C++
Brak odśmiecania. Konieczność pisania Foo foo = new Foo::Foo(Foo::f).
Friends. Brak standardów co do GUI. Utrudnienia w Windows, jakich nie
ma C#. Brak możliwości definiowania funkcji wewnątrz funkcji. Dryf
standardu zmuszający do kupowania nowych wersji kompilatora.
Niekonsekwencja co do wyjątków. Głupie switch nie rozumiejące np.
napisów (np. case "opt"). Niemożność for (int i = 1, size_t x =1;...
;...)
-
122. Data: 2017-08-12 20:17:06
Temat: Re: Rust
Od: Wojciech Muła <w...@g...com>
On Saturday, August 12, 2017 at 7:08:30 PM UTC+2, slawek wrote:
> On Sat, 12 Aug 2017 06:59:25 -0700 (PDT), s...@g...com wrote:
> > co jest nie tak z C++
>
> Brak odśmiecania.
std::shared_ptr i masz odśmiecanie przez zliczanie referencji;
co prawda gorliwe i wolne, ale jest.
> Konieczność pisania Foo foo = new Foo::Foo(Foo::f).
auto foo = new ...
> Friends. Brak standardów co do GUI.
Przecież są: Qt, WinAPI, gtk. Do wyboru, do koloru. Jeszcze by
brakowało, żeby komitet się za to zabrał.
> Utrudnienia w Windows, jakich nie ma C#.
WTF?
> Brak możliwości definiowania funkcji wewnątrz funkcji.
Są lambdy. Lokalne funkcje są przereklamowane, BTW.
void foo() {
auto bar = []() {
};
bar();
}
> Dryf standardu zmuszający do kupowania nowych wersji kompilatora.
To się nazywa rozwój; czasem w głupią stronę, nie przeczę.
> Niekonsekwencja co do wyjątków.
To znaczy co?
> Głupie switch nie rozumiejące np. napisów (np. case "opt").
No straszne.
> Niemożność for (int i = 1, size_t x =1;... ;...)
Zdaje się C++17 to dodał - kompletny idiotyzm. Zwartość
zapisu nie jest żadną wartością. Jest zachętą do szybkiego
pisania nieczytelnego kodu.
w.
-
123. Data: 2017-08-12 20:27:47
Temat: Re: Rust
Od: slawek <f...@f...com>
On Sat, 12 Aug 2017 11:17:06 -0700 (PDT), Wojciech
Muła<w...@g...com> wrote:
> std::shared_ptr i masz odśmiecanie
I tak, i nie.
Piękno odśmiecania np. w Javie (w C# jest gorzej, bo da się to
obejść) polega na tym, że w momencie gdy np. będzie wyjątek nie
musisz się zastanawiać jak zwolnić zasoby i czy przypadkiem ktoś
gdzieś użył zwykłego wskaźnika. Masz pewność że nawet jak jakiś
fragment napisał jakiś lamer to i tak będzie ok.
W C++ są smart pointers, a nawet (w dialekcie) gcnew. Ale czy ktoś
ich użył czy nie - to zagadka.
-
124. Data: 2017-08-12 20:41:52
Temat: Re: Rust
Od: slawek <f...@f...com>
On Sat, 12 Aug 2017 11:17:06 -0700 (PDT), Wojciech
Muła<w...@g...com> wrote:
> Przecież są: Qt, WinAPI, gtk. Do wyboru, do koloru. Jeszcze by
> brakowało, żeby komitet się za to zabrał.
Qt nie jest free w tym stopniu w jakim jest C++.
Rozwiązania z MS Windows nie są przenośne.
GTK i podobne - nie żartuj.
-
125. Data: 2017-08-12 20:46:58
Temat: Re: Rust
Od: slawek <f...@f...com>
On Sat, 12 Aug 2017 11:17:06 -0700 (PDT), Wojciech
Muła<w...@g...com> wrote:
> Są lambdy. Lokalne funkcje są przereklamowane,
No popatrz, jednak w nowym C++ dodano lambdy (jak już były w Javie i
C#).
A czy definiowanie funkcji w funkcjach w funkcjach jest aż tak trudne
skoro miał je m.i. Pascal, jakby nie było język z lat 70-tych?
Nawet jeżeli akurat ty nie potrzebujesz, to co szkodziłoby? Jakie
fundamentalne fundamenty runęłyby gdyby to zrobić?!
-
126. Data: 2017-08-12 20:53:11
Temat: Re: Rust
Od: slawek <f...@f...com>
On Sat, 12 Aug 2017 11:17:06 -0700 (PDT), Wojciech
Muła<w...@g...com> wrote:
> > Dryf standardu zmuszający do kupowania
> To się nazywa rozwój; czasem w głupią stronę,=
> nie przeczę.
To się nazywa cwaniactwo.
W Javie jest uczciwie - o nowej wersji Javy dowiaduję się
równocześnie z darmowym update. Nie muszę za nic płacić. Ani czekać
aż dane features ktoś zaimplementuje np. w GCC.
-
127. Data: 2017-08-12 20:56:30
Temat: Re: Rust
Od: slawek <f...@f...com>
On Sat, 12 Aug 2017 11:17:06 -0700 (PDT), Wojciech
Muła<w...@g...com> wrote:
> > Głupie switch nie rozumiejące np. napisów
> No straszne.
Straszne? Nie. Niepraktyczne? Tak.
A w takim np. Matlabie rozumie. Duża wygoda.
-
128. Data: 2017-08-12 20:57:59
Temat: Re: Rust
Od: slawek <f...@f...com>
On Sat, 12 Aug 2017 11:17:06 -0700 (PDT), Wojciech
Muła<w...@g...com> wrote:
> Jest zachętą do szybkiego
> pisania nieczytelnego kodu.
To można napisać o całym C++ jako takim.
-
129. Data: 2017-08-13 05:26:08
Temat: Re: Rust
Od: "M.M." <m...@g...com>
On Saturday, August 12, 2017 at 8:47:01 PM UTC+2, slawek wrote:
> On Sat, 12 Aug 2017 11:17:06 -0700 (PDT), Wojciech
> Muła<w...@g...com> wrote:
> > Są lambdy. Lokalne funkcje są przereklamowane,
>
>
> No popatrz, jednak w nowym C++ dodano lambdy (jak już były w Javie i
> C#).
>
> A czy definiowanie funkcji w funkcjach w funkcjach jest aż tak trudne
> skoro miał je m.i. Pascal, jakby nie było język z lat 70-tych?
>
> Nawet jeżeli akurat ty nie potrzebujesz, to co szkodziłoby? Jakie
> fundamentalne fundamenty runęłyby gdyby to zrobić?!
Definiowanie funkcji w funkcji ma zaletę: wiadomo od razu że
funkcja jest użyta tylko tam gdzie została zdefiniowana. Gdy
siadamy do nowego kodu, to nie boimy się czegoś zmieniać. Tę
samą zaletę mają metody prywatne.
Pozdrawiam
-
130. Data: 2017-08-13 06:01:14
Temat: Re: Rust
Od: Wojciech Muła <w...@g...com>
On Sunday, August 13, 2017 at 5:26:09 AM UTC+2, M.M. wrote:
> > Nawet jeżeli akurat ty nie potrzebujesz, to co szkodziłoby? Jakie
> > fundamentalne fundamenty runęłyby gdyby to zrobić?!
>
> Definiowanie funkcji w funkcji ma zaletę: wiadomo od razu że
> funkcja jest użyta tylko tam gdzie została zdefiniowana. Gdy
> siadamy do nowego kodu, to nie boimy się czegoś zmieniać. Tę
> samą zaletę mają metody prywatne.
Prywatną metodę da się przetestować, ale funkcji już nie.
w.