-
61. Data: 2017-08-09 22:48:39
Temat: Re: Rust
Od: g...@g...com
W dniu środa, 9 sierpnia 2017 21:04:51 UTC+2 użytkownik slawek napisał:
> C kompilowany, a C# będący jego
> ulepszeniem
Może na przyszłość zanim się wypowiesz, spróbuj chociaż coś poczytać
w temacie, na który się chcesz wypowiedzieć.
-
62. Data: 2017-08-09 23:36:02
Temat: Re: Rust
Od: "M.M." <m...@g...com>
On Wednesday, August 9, 2017 at 10:38:49 PM UTC+2, slawek wrote:
> On Wed, 9 Aug 2017 13:03:50 -0700 (PDT), "M.M." <m...@g...com>
> wrote:
> > w Javie call zawsze będzie wolne.
>
> Zobacz jak jest zrobiona najnowsza JVM w Androidzie i nie pisz głupot.
WIdzę że masz na ten temat dobrą wiedzę, ja przyznaję, że Javy po
prostu używam, bebechów nie znam - wiec powiedz Ty jak jest tam
zrobiona. Faktem jest, że często czytałem w
różnych źródła, że call jest wolne, logika podpowiada też że
możliwości call jakie ma Java też za wydajnością nie będą przemawiały, a i
gdy robiłem pomiary czasu wykonania, to call był wolny - nie mówię o
wywołaniu statycznych-prywatnych metod, ale tego chyba się domyśla
każdy. Ale skoro mówisz że jest szybkie, to słucham.
Pozdrawiam
-
63. Data: 2017-08-09 23:54:48
Temat: Re: Rust
Od: slawek <f...@f...com>
On Wed, 9 Aug 2017 13:31:16 -0700 (PDT), "M.M." <m...@g...com>
wrote:
> Jeśli zawęzimy tylko do przypadków sensownych, to i podzia=
> ł na
> kompilowane i interpretowane ma sens, bo inaczej projektuje się
> język pod kompilowanie i inaczej pod interpretowanie.
Jeszcze raz. Tym razem będzie nie o rowerach.
Setki lat uważano że elektryczność bursztynu i magnetyzm to zupełnie
dwie różne rzeczy. A tu nagle kaboom: Amper, Faraday i Maxwell. I
nagle nie ma możliwości oddzielenia magnetyzmu od elektryczności. Jak
nie wierzysz, sprawdź rachunki młodego Einsteina. Dlatego upieranie
się że potarty bursztyn wytwarza wyłącznie pole elektrostatyczne jest
błędem - wystarczy inny układ odniesienia i będzie pole magnetyczne.
Przez kilkadziesiąt lat języki dzielone na kompilowane i
interpretowane. Ale to nie ma dziś sensu. Bo język to gramatyka, a
nie kompilator/interpreter. Ba! Można wyobrazić sobie język
programowania który nie ma jeszcze implementacji. Np. na jakimś
wczesnym etapie projektowania. Albo taki jak w podręczniku Knutha.
Ok. Może być tak, że coś da się łatwo zrobić interpreterem, a w kij
trudne przy kompilacji do natywnego. Ale nie ma znaczenia
trudne-łatwe. Przykładem nowe maszyny Javy dla Androida. Mają nie
tylko robić JIT, ale także generować natywny. No łatwe to nie jest.
Ale biorąc po uwagę tzw. potrzeby ludzkości ma to sens.
Tyle że bebechy implementacji to akurat nic a nic nie powinny wpływać
na składnię. Bo język przyzwoicie wysokiego poziomu to nie Asembler.
Kolejna rzecz to features które nie są potrzebne w pewnym kontekście,
czy przy pewnym stylu programowania. Na przykład - z mojego punktu
widzenia - operator += jest redundantny. Ale nie obrażam się na
języki w których on jest. Podobnie wskaźniki. Można lubić. Można nie
lubić. Jednak domaganie się aby nie było ich w C to trochę spóźnione
jest. Gdzieś tak o pół stulecia.
-
64. Data: 2017-08-09 23:57:16
Temat: Re: Rust
Od: slawek <f...@f...com>
On Wed, 9 Aug 2017 14:36:02 -0700 (PDT), "M.M." <m...@g...com>
wrote:
> Ale skoro mówisz że jest szybkie, to słucham.
Poczytaj sobie na początek to:
https://en.m.wikipedia.org/wiki/Android_Runtime
-
65. Data: 2017-08-10 00:08:06
Temat: Re: Rust
Od: slawek <f...@f...com>
On Wed, 9 Aug 2017 13:48:39 -0700 (PDT), g...@g...com wrote:
> Może na przyszłość
No ale konkretne to co ci nie pasuje?
Że C# wywodzi się z C, czy że kompiluje się do MSIL, a do natywnego
przez JIT?
Jeżeli masz jakąś inną wiedzę w temacie to podziel się nią na forum.
Dowiemy się czegoś ciekawego.
-
66. Data: 2017-08-10 00:24:10
Temat: Re: Rust
Od: g...@g...com
W dniu czwartek, 10 sierpnia 2017 00:08:10 UTC+2 użytkownik slawek napisał:
> > Może na przyszłość
>
> No ale konkretne to co ci nie pasuje?
Stwierdzenie, że "C# jest ulepszeniem C".
Tak samo można by powiedzieć, że Java jest ulepszeniem C.
Albo że JavaScript jest ulepszeniem C.
Zasadniczo C i C# mają ze sobą wspólną pierwszą literę nazwy.
Poza tym to są zupełnie różne języki o zupełnie różnych założeniach
służące do zupełnie różnych rzeczy. Tak naprawdę C# i Java
mają ze sobą dużo więcej wspólnego, niż C i C#. I to nie jest
jakaś "sekretna wiedza" -- dla każdego, kto zna C i kto choć
raz robił coś w C#, to raczej oczywiste.
Z ciekawostek, natrafiłem ostatnio na wpis na Wikipedii:
James Gosling, who created the Java programming language
in 1994, and Bill Joy, a co-founder of Sun Microsystems,
the originator of Java, called C# an "imitation" of Java;
Gosling further said that "[C# is] sort of Java with reliability,
productivity and security deleted." Klaus Kreft and Angelika Langer
(authors of a C++ streams book) stated in a blog post that
"Java and C# are almost identical programming languages.
Boring repetition that lacks innovation," "Hardly anybody will
claim that Java or C# are revolutionary programming languages
that changed the way we write programs," and "C# borrowed a lot
from Java - and vice versa. Now that C# supports boxing and unboxing,
we'll have a very similar feature in Java."[1]
Dorośli ludzie (& poważne źródło wiedzy)
[1] https://en.wikipedia.org/wiki/C_Sharp_%28programming
_language%29
-
67. Data: 2017-08-10 01:06:58
Temat: Re: Rust
Od: "M.M." <m...@g...com>
On Thursday, August 10, 2017 at 12:24:11 AM UTC+2, g...@g...com wrote:
> W dniu czwartek, 10 sierpnia 2017 00:08:10 UTC+2 użytkownik slawek napisał:
>
> > > Może na przyszłość
> >
> > No ale konkretne to co ci nie pasuje?
>
> Stwierdzenie, że "C# jest ulepszeniem C".
> Tak samo można by powiedzieć, że Java jest ulepszeniem C.
> Albo że JavaScript jest ulepszeniem C.
>
> Zasadniczo C i C# mają ze sobą wspólną pierwszą literę nazwy.
> Poza tym to są zupełnie różne języki o zupełnie różnych założeniach
> służące do zupełnie różnych rzeczy. Tak naprawdę C# i Java
> mają ze sobą dużo więcej wspólnego, niż C i C#. I to nie jest
> jakaś "sekretna wiedza" -- dla każdego, kto zna C i kto choć
> raz robił coś w C#, to raczej oczywiste.
>
> Z ciekawostek, natrafiłem ostatnio na wpis na Wikipedii:
>
> James Gosling, who created the Java programming language
> in 1994, and Bill Joy, a co-founder of Sun Microsystems,
> the originator of Java, called C# an "imitation" of Java;
> Gosling further said that "[C# is] sort of Java with reliability,
> productivity and security deleted." Klaus Kreft and Angelika Langer
> (authors of a C++ streams book) stated in a blog post that
> "Java and C# are almost identical programming languages.
> Boring repetition that lacks innovation," "Hardly anybody will
> claim that Java or C# are revolutionary programming languages
> that changed the way we write programs," and "C# borrowed a lot
> from Java - and vice versa. Now that C# supports boxing and unboxing,
> we'll have a very similar feature in Java."[1]
>
> Dorośli ludzie (& poważne źródło wiedzy)
>
> [1] https://en.wikipedia.org/wiki/C_Sharp_%28programming
_language%29
Mam kilka pytań przy okazji, będę wdzięczny jeśli ktoś udzieli
odpowiedzi:
1) Jaką wydajność osiąga C# względem C++ w testach (przy dostępnych
optymalizatorach) ?
2) Na jakie platformy sprzętowo-systemowe można przenosić programy
napisane w C# (przy obecnie dostępnych narzędziach) ?
3) Czy można C# całkowicie skompilować do kodu maszynowego (przy
obecnie dostępnych narzędziach)? Jeśli tak, to na jakie platformy?
Pozdrawiam
-
68. Data: 2017-08-10 01:36:14
Temat: Re: Rust
Od: slawek <f...@f...com>
On Wed, 9 Aug 2017 15:24:10 -0700 (PDT), g...@g...com wrote:
> Poza tym to są zupełnie różne języki o zupełn=
> ie różnych założeniach
Masz rację: znaczenie nawiasów klamrowych jest zupełnie różne.
Inaczej działa break w case. No i typ double jest tylko w C. A bym
zapomniał: potrzeba co najmniej dwóch lat aby ktoś znający C napisał
program w C# - tak bardzo się różnią. Zupełnie jak niemiecki i
austriacki.
-
69. Data: 2017-08-10 07:18:05
Temat: Re: Rust
Od: slawek <f...@f...com>
On Wed, 9 Aug 2017 16:06:58 -0700 (PDT), "M.M." <m...@g...com>
wrote:
> 1) Jaką wydajność osiąga C# względem C++ w testach=
Przyzwoitą. Uważać trzeba na sposób uruchomienia - odpalenie z IDE
domyślnie włącza debugowanie i drastycznie spowalnia.
Kluczowa jest ilość pamięci: na dzień dobry ponad gigabajt może być
potrzebne dla .NET - czyli system lepiej jak 64 bitowy jest. Inaczej
dla programu może zostać np. pół giga, co bywa czasem trochę mało.
> 2) Na jakie platformy sprzętowo-systemowe można przenosić pr=
> ogramy
> napisane w C# (przy obecnie dostępnych narzędziach) ?
Jest Mono. Ale .NET to platforma MS. Czyli wychodzi że MS Windows.
Dlatego Java (lub Python) lepsze.
> 3) Czy można C# całkowicie skompilować do kodu maszynowego
C# kompiluje się do kodu maszynowego JIT.
-
70. Data: 2017-08-10 07:22:00
Temat: Re: Rust
Od: Borneq <b...@a...hidden.pl>
W dniu 10.08.2017 o 01:36, slawek pisze:
> Masz rację: znaczenie nawiasów klamrowych jest zupełnie różne. Inaczej
> działa break w case. No i typ double jest tylko w C. A bym zapomniał:
> potrzeba co najmniej dwóch lat aby ktoś znający C napisał program w C# -
> tak bardzo się różnią. Zupełnie jak niemiecki i austriacki.
Moim zdaniem C# jest ulepszeniem Javy, nie C. C i Pascal mają wiele
wspólnego, mimo że jeden ma nawiasy klamrowe a drugie begin-end,
natomiast C różni się od Javy/C# znacznie.