Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #30026 > unrolled thread
| Started by | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| First post | 2017-08-05 18:10 +0200 |
| Last post | 2017-08-09 06:50 -0700 |
| Articles | 20 on this page of 135 — 15 participants |
Back to article view | Back to pl.comp.programming
Rust Borneq <borneq@antyspam.hidden.pl> - 2017-08-05 18:10 +0200
Re: Rust w systemie siła 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-08-05 19:48 +0200
Re: Rust Borneq <borneq@antyspam.hidden.pl> - 2017-08-05 20:13 +0200
Re: Rust szykcech@gmail.com - 2017-08-06 02:54 -0700
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-06 03:03 -0700
Re: Rust Borneq <borneq@antyspam.hidden.pl> - 2017-08-07 13:02 +0200
Re: Rust szykcech@gmail.com - 2017-08-07 05:20 -0700
Re: Rust "AK" <nobody@nowhere.net> - 2017-08-08 19:49 +0200
Re: Rust Borneq <borneq@antyspam.hidden.pl> - 2017-08-07 13:04 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-07 14:58 +0200
Re: Rust Borneq <borneq@antyspam.hidden.pl> - 2017-08-09 21:52 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 22:16 +0200
Re: Rust Borneq <borneq@antyspam.hidden.pl> - 2017-08-10 07:48 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 08:57 +0200
Re: Rust godek.maciek@gmail.com - 2017-08-10 01:42 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 11:03 +0200
Re: Rust godek.maciek@gmail.com - 2017-08-10 02:34 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 14:51 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-10 03:17 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 14:56 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-10 06:25 -0700
Re: Rust Maciej Sobczak <see.my.homepage@gmail.com> - 2017-08-10 05:19 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 14:57 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-10 06:21 -0700
Re: Rust Maciej Sobczak <see.my.homepage@gmail.com> - 2017-08-11 02:40 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-07 14:43 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-08 02:48 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-08 14:17 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-08 06:25 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-08 15:56 +0200
Re: Rust "AK" <nobody@nowhere.net> - 2017-08-08 20:13 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-08 22:14 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-08 13:34 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 07:23 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-09 05:43 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 16:38 +0200
Re: Rust Adam M <amorawski@magna-power.com> - 2017-08-09 07:48 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 17:00 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-09 09:42 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 19:12 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-09 10:15 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 19:52 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 19:15 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-09 10:29 -0700
Re: Rust wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-08-09 19:32 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 19:53 +0200
Re: Rust wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-08-09 20:09 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 19:45 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-09 11:18 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 21:04 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-09 13:03 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 22:17 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 22:24 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 22:34 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 22:38 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-09 14:36 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 23:57 +0200
Re: Rust Roman Tyczka <noemail@because.no> - 2017-08-09 22:22 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-09 13:31 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-09 23:54 +0200
Re: Rust godek.maciek@gmail.com - 2017-08-09 13:48 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 00:08 +0200
Re: Rust godek.maciek@gmail.com - 2017-08-09 15:24 -0700
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-09 16:06 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 07:18 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 01:36 +0200
Re: Rust Borneq <borneq@antyspam.hidden.pl> - 2017-08-10 07:22 +0200
Re: Rust godek.maciek@gmail.com - 2017-08-09 23:28 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 09:13 +0200
Re: Rust godek.maciek@gmail.com - 2017-08-10 01:38 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 10:57 +0200
Re: Rust godek.maciek@gmail.com - 2017-08-10 02:04 -0700
Re: Ruststrukturalny jezy= "AK" <nobody@nowhere.net> - 2017-08-10 22:27 +0200
Re: Rust "AK" <nobody@nowhere.net> - 2017-08-10 18:06 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 20:39 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-10 12:20 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 22:06 +0200
Re: Rust "AK" <nobody@nowhere.net> - 2017-08-10 22:23 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 23:01 +0200
Re: Rust "AK" <nobody@nowhere.net> - 2017-08-10 22:18 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 22:27 +0200
Re: Rust Roman Tyczka <noemail@because.no> - 2017-08-11 09:58 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 22:36 +0200
Re: Rust szykcech@gmail.com - 2017-08-10 13:24 -0700
Re: Rust "AK" <nobody@nowhere.net> - 2017-08-10 22:32 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 22:56 +0200
Re: Rust Maciej Sobczak <see.my.homepage@gmail.com> - 2017-08-11 02:34 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-11 14:03 +0200
Re: Rust Maciej Sobczak <see.my.homepage@gmail.com> - 2017-08-11 05:34 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-11 14:43 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-11 14:55 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-11 06:15 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-11 15:17 +0200
Re: Rust kropelka@gmail.com - 2017-08-11 11:55 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-11 22:03 +0200
Re: Rust kropelka@gmail.com - 2017-08-11 13:43 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-12 07:04 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-12 07:25 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-11 22:13 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-11 15:27 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-11 05:53 -0700
Re: Rust Tomasz Kaczanowski <kaczus@poczta.onet.pl> - 2017-08-11 15:17 +0200
Re: Rust szykcech@gmail.com - 2017-08-12 06:59 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-12 19:08 +0200
Re: Rust Wojciech Muła <wojtek.mula@gmail.com> - 2017-08-12 11:17 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-12 20:27 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-12 20:41 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-12 20:46 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-12 20:26 -0700
Re: Rust Wojciech Muła <wojtek.mula@gmail.com> - 2017-08-12 21:01 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-13 07:29 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-12 20:53 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-12 20:56 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-12 20:57 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 22:45 +0200
Re: Rust szykcech@gmail.com - 2017-08-12 06:56 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 22:46 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 22:48 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-10 22:52 +0200
Re: Rust "AK" <nobody@nowhere.net> - 2017-08-08 19:57 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-08 12:52 -0700
Re: Rust "AK" <nobody@nowhere.net> - 2017-08-08 19:51 +0200
Re: Rust "AK" <nobody@nowhere.net> - 2017-08-08 19:45 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-08 20:45 +0200
Re: Rust "M.M." <mmarszik@gmail.com> - 2017-08-08 12:50 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-07 14:41 +0200
Re: Rust szykcech@gmail.com - 2017-08-07 07:28 -0700
Re: Rust slawek <fake@fakeemail.com> - 2017-08-07 22:42 +0200
Re: Rust Borneq <borneq@antyspam.hidden.pl> - 2017-08-08 07:46 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-08 09:12 +0200
Re: Rust Zenon Oktawiec <zenon@samm.com.pl> - 2017-08-08 11:41 +0200
Re: Rust slawek <fake@fakeemail.com> - 2017-08-08 14:14 +0200
Re: Rust Zenon Oktawiec <zenon@samm.com.pl> - 2017-08-08 14:18 +0200
Re: Rust "AK" <nobody@nowhere.net> - 2017-08-08 19:06 +0200
Re: Rust Adam M <amorawski@magna-power.com> - 2017-08-09 06:50 -0700
Page 1 of 7 [1] 2 3 4 5 6 7 Next page →
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2017-08-05 18:10 +0200 |
| Subject | Rust |
| Message-ID | <om4qli$mfm$1@node2.news.atman.pl> |
Jakie jest wasze zdanie na temat tego języka? Bardzo ciekawy, brakowało mi graficznego UI, ale jest teraz relm i conrod: http://relm.ml/relm-intro https://github.com/PistonDevelopers/conrod Czytałem że nie używa odśmiecania jak Go ale zupełnie inny sposób radzi sobie z wyciekami pamięci.
[toc] | [next] | [standalone]
| From | w systemie siła 'POPIS/EU <NOSPAMtestowanije@go2.pl> |
|---|---|
| Date | 2017-08-05 19:48 +0200 |
| Message-ID | <om50dm$rkv$4@node2.news.atman.pl> |
| In reply to | #30026 |
> Czytałem że nie używa odśmiecania jak Go ale zupełnie inny sposób radzi > sobie z wyciekami pamięci. kurde zwracam Ci honor - ty jednak jesteś prawdziwy rzetelny solidny powski ekspert... pamiętam ze studiów jak to chłopaki dyskutowali merytorycznie o wyciekach pamięci - to były czasy... widzę, że chyba wracają - przypomnę - 43 kandydatów na miejsce na pw...
[toc] | [prev] | [next] | [standalone]
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2017-08-05 20:13 +0200 |
| Message-ID | <om51sr$tl2$1@node2.news.atman.pl> |
| In reply to | #30026 |
W dniu 05.08.2017 o 18:10, Borneq pisze:
> Jakie jest wasze zdanie na temat tego języka?
> Bardzo ciekawy, brakowało mi graficznego UI, ale jest teraz relm i conrod:
Wchodzę na stronę https://www.rust-lang.org/pl-PL/
Jest tam teraz wersja Rust 1.19.0.
Przyjmuję domyślne ustawienia instalacji C:\Users\<username>\.cargo\bin
i dodawany jest do PATH.
Deinstalacja poprzez rustup self uninstall. Otrzymaliśmy 7 identycznych
plików pod róznymi nazwami.
Dla Windows Rust wymaga narzędzi budowania C++ dla Visual Studio co
najmniej 2013.
Przykładowo w katalogu D:\code\rust\ tworzymy podakatalog hello_world
cargo init - tworzy nam strukturę projektu wraz z pustym projektem git.
W podaktalogu src tworzy plik źródłowy biblioteki, ale zmienimy na main.rs:
fn main() {
println!("Hello, world!");
}
rustc src\main.rs tworzy w katalogu głównym exe a cargo build tworzy
podkatalog target gdzie oprócz
exe są pliki pomocnicze.
Pora na coś większego: Z githuba ściągamy git clone
https://github.com/PistonDevelopers/conrod.git
Będąc w katalogu D:\code\rust\conrod\examples\ wołamy rustc hello_world.rs
This example requires the `winit` and `glium` features. Try running
`cargo run --release --features="winit glium" --example <example_name>`
cargo run --release --features="winit glium" --example hello_world
Ładuje się co trzeba. Ale podczas kompilacji błąd: eksperymentalna składnia
rustup show pokazuje 1.16.0
rustup update do 1.19.0
Powstał plik wielkości 1.2 MB dający okienko Hello World
Wszystko prawie dobrze, choć wyświetla się konsola wraz z okienkiem:
należy mając wersję >= 1.18
na początku crate (pliku źródłowego) napisać: #![windows_subsystem =
"windows"]
[toc] | [prev] | [next] | [standalone]
| From | szykcech@gmail.com |
|---|---|
| Date | 2017-08-06 02:54 -0700 |
| Message-ID | <85e6f08f-e313-430d-af76-d33d78b917c1@googlegroups.com> |
| In reply to | #30026 |
Język jest sprawą drugorzędną. Ważniejsze są algorytmy oraz dostępne biblioteki. Jeśli chodzi o język to główne kryterium jest takie: czy jest kompilowany czy nie. Bo to ma największy wpływ na wydajność. A ponieważ C++ już został wynaleziony i rozpowszechnił się, to moim zdaniem należy się skupić właśnie na nim...
[toc] | [prev] | [next] | [standalone]
| From | "M.M." <mmarszik@gmail.com> |
|---|---|
| Date | 2017-08-06 03:03 -0700 |
| Message-ID | <af6ade50-aca1-4ccd-9845-83c43041fbae@googlegroups.com> |
| In reply to | #30029 |
On Sunday, August 6, 2017 at 11:54:21 AM UTC+2, szyk...@gmail.com wrote: > Język jest sprawą drugorzędną. Ważniejsze są algorytmy oraz dostępne biblioteki. Generalnie dostępne narzędzia: środowiska, edytory, kompilatory, optymalizatory, itd. > Jeśli chodzi o język to główne kryterium jest takie: czy jest kompilowany czy nie. Nie zgodzę się że to jest główne kryterium. Wyobraź sobie język taki jak C++ który jest interpretowany? Ktoś chciał używać takiego języka? > Bo to ma największy wpływ na wydajność. A wydajność to już masz rację, że stanowi jedno z (czasami) ważnych kryteriów i tak samo masz rację, że kompilowanie wpływa na wydajność. > A ponieważ C++ już został wynaleziony i rozpowszechnił się, to moim zdaniem należy się skupić właśnie na nim... Moje zdanie jest podobne, ale przeciwko Javie nic nie mam, przeciwko nowym językom kompilowanym o składni podobnej do C++ i Java też nic nie mam. Pozdrawiam
[toc] | [prev] | [next] | [standalone]
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2017-08-07 13:02 +0200 |
| Message-ID | <om9hbk$4up$1@node2.news.atman.pl> |
| In reply to | #30030 |
W dniu 06.08.2017 o 12:03, M.M. pisze: > Generalnie dostępne narzędzia: środowiska, edytory, kompilatory, > optymalizatory, itd. Jest wtyczka RustDT do Eclipse. Pięknie podświetla składnię. Pod Linuxem dodatkowo (jeszcze nie sprawdzałem) jest nawet możliwość debugowania. Pod Windows są na razie problemy, bo wtyczka chce Gnu Debugger a binaria mają informacje w formacie Visual Studio. Ale jak wtyczka RustDT zacznie obsługiwać cdb.exe to już będzie całkiem świetnie.
[toc] | [prev] | [next] | [standalone]
| From | szykcech@gmail.com |
|---|---|
| Date | 2017-08-07 05:20 -0700 |
| Message-ID | <3573ecaa-7ea2-4463-96d1-d790c8d94edc@googlegroups.com> |
| In reply to | #30031 |
> Ale jak wtyczka RustDT zacznie > obsługiwać cdb.exe to już będzie całkiem świetnie. Co w tym świetnego?!? w Borland Turbo C++ debuger był w 1990 roku (pewnie jeszcze Cię wtedy nie było :0 ). To co teraz należy wymagać to dobry profiler i informowanie o wyciekach pamięci. Profiler Gnu ma, ale jakiś bardzo dziwny - potrafi czasem wyświetlić kilka razy informacje na temat danego konstruktora (co mi przeszkadzało gdyż zrobiłem sprytny skrypt który analizował plik profilera i miał pokazywać wycieki pamięci: http://szyk.jcom.pl/leakckr.html). Natomiast w VS jest profiler ale w wersji płatnej. W VS jest też wykrywanie wycieków pamięci ale z jakichś bliżej mi nie znanych powodów nie wyświetla jakich obiektów to dotyczy (a przecież jest coś takiego jak RTTI).
[toc] | [prev] | [next] | [standalone]
| From | "AK" <nobody@nowhere.net> |
|---|---|
| Date | 2017-08-08 19:49 +0200 |
| Message-ID | <omctkl$fij$1@node1.news.atman.pl> |
| In reply to | #30033 |
Użytkownik <szykcech@gmail.com> napisał: > Ale jak wtyczka RustDT zacznie > obsługiwać cdb.exe to już będzie całkiem świetnie. > Co w tym świetnego?!? w Borland Turbo C++ debuger był w 1990 roku (pewnie jeszcze Cię wtedy nie > było :0 ). Potwierzdam w 100% . W niczym inym nie pracowalo mi sie tak dobrze jak w srodowiskach Borlanda za czasow TC/TC++/TPascal/TProlog czyli /TV PS: Okienkowy ObjectVision juz nie byl taki "poreczny"/wiele zepsul. AK
[toc] | [prev] | [next] | [standalone]
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2017-08-07 13:04 +0200 |
| Message-ID | <om9hfe$4up$2@node2.news.atman.pl> |
| In reply to | #30030 |
W dniu 06.08.2017 o 12:03, M.M. pisze: > Moje zdanie jest podobne, ale przeciwko Javie nic nie mam, przeciwko > nowym językom kompilowanym o składni podobnej do C++ i Java też nic > nie mam. Moje pierwsze wrażenia: bardzo trudno na początku jest skompilować aby nie było błędów czasu kompilacji. Ale to dobrze, bo w Rust więcej niż w innych językach zależy od kompilacji, aby nie było gorszych błędów czasu wykonania.
[toc] | [prev] | [next] | [standalone]
| From | slawek <fake@fakeemail.com> |
|---|---|
| Date | 2017-08-07 14:58 +0200 |
| Message-ID | <almarsoft.4379586069345250783@news.v.pl> |
| In reply to | #30032 |
On Mon, 7 Aug 2017 13:04:17 +0200, Borneq <borneq@antyspam.hidden.pl> wrote: > nie było błędów czasu kompilacji. Ale to dobrze, bo w Rust więcej niż w > innych językach zależy od kompilacji, aby nie było gorszych błędów czasu > wykonania. Nie wiem czemu, ale od lat 60-tych ta złota myśl powraca... i okazuje się że ludzie generalnie wolą mniej bezpieczeństwa a więcej kreatywności. Na przykład: pliki BAT w ekosystemie MS. Toż to skrypty nijak nie kompilowane. Powinno tego nie być. Przecież gdy powstawał DOS to Pascal był już dojrzałym językiem. A jednak wygrało wyjątkowe niechlujstwo. Albo ECMA Script. Typowanie to jeszcze nie największa tragedia. Gorzej jest, bo zmienne niezadeklarowane mogą przypadkiem być takie jak globalne i wtedy robi się totalnie kuku. A jednak trudno upierać się że Javascript jest niepopularny and/or nielubiany. Z drugiej strony Ada. Szalenie popularna nie jest.
[toc] | [prev] | [next] | [standalone]
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2017-08-09 21:52 +0200 |
| Message-ID | <omfp58$92v$1@node1.news.atman.pl> |
| In reply to | #30037 |
W dniu 07.08.2017 o 14:58, slawek pisze:
> Nie wiem czemu, ale od lat 60-tych ta złota myśl powraca... i okazuje
> się że ludzie generalnie wolą mniej bezpieczeństwa a więcej kreatywności.
> Z drugiej strony Ada. Szalenie popularna nie jest.
Rust ma coś z Ady, bo skoncentrowany jest na sprawdzaniu poprawności
składniowej i semantycznej.
Ale to dobrze:
"Im więcej potu na poligonie tym mniej krwi w boju".
Tylko że czasem nie daje się czegoś skompilować:
pub type wchar_t = u16;
pub type WCHAR = wchar_t;
pub const LF_FACESIZE: usize = 32;
struct LOGFONTW {
otherField: u8,
lfFaceName: [::WCHAR; LF_FACESIZE],
}
pub type LPLOGFONTW = *mut LOGFONTW;
use std::mem;
fn main() {
unsafe {
let mut font_struct: LOGFONTW = mem::uninitialized();
let face_name_ptr =
(&font_struct.lfFaceName).as_mut_ptr();//<--ERROR
}
}
Chcę zmieniać pole dotyczące nazwy fontu, które jest typem WCHAR*
Nie daje się pobrać wskaźnika mutowalnego. A tymczasem struktura
font_struct w całości jest mutowalna!
Zaczynam podejrzewać aż błąd w kompilatorze Rustc.
[toc] | [prev] | [next] | [standalone]
| From | slawek <fake@fakeemail.com> |
|---|---|
| Date | 2017-08-09 22:16 +0200 |
| Message-ID | <almarsoft.1791787467869614906@news.v.pl> |
| In reply to | #30089 |
On Wed, 9 Aug 2017 21:52:07 +0200, Borneq <borneq@antyspam.hidden.pl> wrote: > "Im więcej potu na poligonie tym mniej krwi w boju". A konkretnie jak to się koreluje? Bo ruskie strasznie lubią saunę, więc wylewają hektolitry potu. I armia Saddama też pewnie pociła się okrutnie. A z drugiej strony dronik, drink z palemką i klima w czołgach.
[toc] | [prev] | [next] | [standalone]
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2017-08-10 07:48 +0200 |
| Message-ID | <omgs3i$s8o$1@node2.news.atman.pl> |
| In reply to | #30091 |
W dniu 09.08.2017 o 22:16, slawek pisze: > On Wed, 9 Aug 2017 21:52:07 +0200, Borneq <borneq@antyspam.hidden.pl> > wrote: >> "Im więcej potu na poligonie tym mniej krwi w boju". > > A konkretnie jak to się koreluje? Czepiasz się powiedzenia a nie odnosisz się do meritum. Automatyczne sprawdzanie poprawności to "święty Graal" informatyki. Co prawda udowodniono matematycznie że nie może istnieć maszyna Turinga sprawdzająca poprawność innej maszyny Turinga, ale z jednej strony w Javie stosuje się system asercji czy unit testy, w C++ jest biblioteka GSL i odpowiedni plugin sprawdzający zgodność z nią. A Rust wymusza swoje reguły. Trudno początkującemu w Rust jest wręcz nieraz dla pewnych przypadków napisać kod który się skompiluje (te problemy z mutualnością) ale to jest wymuszone automatycznie, nie musi tego sprawdzać programista i czegoś przeoczyć.
[toc] | [prev] | [next] | [standalone]
| From | slawek <fake@fakeemail.com> |
|---|---|
| Date | 2017-08-10 08:57 +0200 |
| Message-ID | <almarsoft.6715716353244429192@news.v.pl> |
| In reply to | #30108 |
On Thu, 10 Aug 2017 07:48:34 +0200, Borneq <borneq@antyspam.hidden.pl> wrote: > Czepiasz się powiedzenia a nie odnosisz się do meritum. Nie czepiam się. Po prostu jest to przysłowie ludowe, które być może nijak ma się do faktów. Warto czasem przemyśleć. > Automatyczne sprawdzanie poprawności to "święty Graal" informatyki. Nie. Święty Graal to przenośność. > Co prawda udowodniono matematycznie że nie może istnieć maszyna Turinga > sprawdzająca poprawność innej maszyny Turinga, Jest gorzej: udowodniono że nie da się udowodnić aksjomatów. Patrz twierdzenie Goedela. (Genialne jest że Goedel wymyślił digitalizację twierdzeń w czasach gdy nie było komputerów.) > Javie stosuje się system asercji czy unit testy, w C++ jest biblioteka > GSL i odpowiedni plugin sprawdzający zgodność z Trochę mylisz pojęcia. Asercje nijak nie są automatyczne, bo jak ich nie napiszesz, to ich nie masz. (W swoim kodzie.) Podobnie testy jednostkowe - nie sprawdzają czy wynik jest poprawny, ale tylko czy jest zgodny z oczekiwaniami - i tak samo trzeba je napisać. Zapomniałeś (?) o lint i innych podobnych, np. PMD. Zapomniałeś o sprawdzaniu składni w trakcie edycji. > A Rust wymusza swoje reguły. Trudno początkującemu w Rust jest wręcz > nieraz dla pewnych przypadków napisać kod który się skompiluje (te > problemy z mutualnością) ale to jest wymuszone automatycznie, nie musi > tego sprawdzać programista i czegoś przeoczyć. To trochę brzmi jak idealny język dla biurokratów. Wszystko jest wymuszone, zgodne ze standardami i procedurami, jedynie słuszne. W latach 70-tych były dwa modne języki programowania: C i Pascal. Pascal znacznie lepiej sprawdza to co uznaje za poprawność. C ma filozofię "róbta co chceta". Cytując klasyka "grzeczne panienki idą do nieba, niegrzeczne tam gdzie chcą". Obecnie Pascal w pierwotnej formie nie jest używany. Jest jakieś Delphi, jest Lazarus z FPC. Natomiast klasyczne C trzyma się całkiem dobrze, a nawet przeżywa drugą młodość na MCU.
[toc] | [prev] | [next] | [standalone]
| From | godek.maciek@gmail.com |
|---|---|
| Date | 2017-08-10 01:42 -0700 |
| Message-ID | <808d7d53-82c5-4d05-b988-ed1f1fd5a0a9@googlegroups.com> |
| In reply to | #30110 |
W dniu czwartek, 10 sierpnia 2017 08:57:51 UTC+2 użytkownik slawek napisał: > W latach 70-tych były dwa modne języki programowania: C i Pascal. > Pascal znacznie lepiej sprawdza to co uznaje za poprawność. C ma > filozofię "róbta co chceta". Cytując klasyka "grzeczne panienki idą > do nieba, niegrzeczne tam gdzie chcą". Popularność C nie wzięła się stąd, że można w nim pisać niepoprawny kod, tylko z dostępności UNIXa. Najpierw się dowiedz, a potem powiedz.
[toc] | [prev] | [next] | [standalone]
| From | slawek <fake@fakeemail.com> |
|---|---|
| Date | 2017-08-10 11:03 +0200 |
| Message-ID | <almarsoft.3683386177419370701@news.v.pl> |
| In reply to | #30113 |
On Thu, 10 Aug 2017 01:42:47 -0700 (PDT), godek.maciek@gmail.com wrote: > Popularność C nie wzięła się stąd, że mo= > żna w nim pisać niepoprawny kod, > tylko z dostępności UNIXa. A masz coś na poparcie swojej tezy? Nota bene Uniksa według ciebie to w COBOLU pisali czy jednak w Lisp?
[toc] | [prev] | [next] | [standalone]
| From | godek.maciek@gmail.com |
|---|---|
| Date | 2017-08-10 02:34 -0700 |
| Message-ID | <7dc0e193-d7ae-4df4-afb7-607dc0ec4250@googlegroups.com> |
| In reply to | #30110 |
W dniu czwartek, 10 sierpnia 2017 08:57:51 UTC+2 użytkownik slawek napisał: > Jest gorzej: udowodniono że nie da się udowodnić aksjomatów. Patrz > twierdzenie Goedela. Aksjomatów z definicji się nie udowadnia, i to nie od czasów Gödla, tylko Euklidesa. Naprawdę byłoby fajnie, gdybyś -- przed wypowiedzeniem się -- przeczytał chociaż pobieżnie (np. na Wikipedii) na temat, na który chcesz się wypowiedzieć.
[toc] | [prev] | [next] | [standalone]
| From | slawek <fake@fakeemail.com> |
|---|---|
| Date | 2017-08-10 14:51 +0200 |
| Message-ID | <almarsoft.209493114330604222@news.v.pl> |
| In reply to | #30117 |
On Thu, 10 Aug 2017 02:34:32 -0700 (PDT), godek.maciek@gmail.com wrote: > Naprawdę byłoby fajnie, gdybyś A mi szczerze wisi co steruje bramą od garażu: może być nawet Proust a nie Rust.
[toc] | [prev] | [next] | [standalone]
| From | "M.M." <mmarszik@gmail.com> |
|---|---|
| Date | 2017-08-10 03:17 -0700 |
| Message-ID | <c0532652-1286-4182-89de-cecc6312c964@googlegroups.com> |
| In reply to | #30108 |
On Thursday, August 10, 2017 at 7:48:35 AM UTC+2, Borneq wrote: > Co prawda udowodniono matematycznie że nie może istnieć maszyna Turinga > sprawdzająca poprawność innej maszyny Turinga, A matematycy potrafią sprawdzać. Czy to by oznaczało, że człowiek jest komputerem lepszej jakości niż MT? Moim zdaniem może sprawdzać, co łatwo udowodnić: Na nieskończonej taśmie MT mamy pary uporządkowanie (X,Y), gdzie: X) ciąg instrukcji Y) zero lub jedynka (lub informacje o problemie stopu, itd) Pary są oddzielone symbolem specjalnym, który nie pojawia się w żadnym programie. Przykładowo, rozpatrujemy programy o N instrukcjach, więc zero to jest symbol N+1, jedynka N+2, symbol specjalny N+3. Pary na taśmie są uporządkowane według programów, tzn kolejne programy z taśmy po zdekodowaniu są kolejnymi liczbami naturalnymi. Zadajemy MT ciąg instrukcji. Maszyna dekoduj go na liczbę, następnie omija tyle znaków specjalnych, ile równa jest ta liczba. Innymi słowy: odszukuje zadany ciąg instrukcji. Po odnalezionym ciągu instrukcji znajduje zero lub jedynkę lub jeszcze jakieś inne ciekawe informacje. Jeśli znalazła zero, to daje odpowiedź że program jest niepoprawny. Jeśli znalazła jedynkę, to daje odpowiedź że ciąg instrukcji jest poprawny (w jakimś sensie). MT może udzielać odpowiedzi czy program jest poprawny, czy nie, w czasie wykładniczym względem ilości instrukcji w programie. Gdyby na MT można było zaimplementować hash-table, to by mogła udzielać odpowiedzi w czasie O(1), ale z tego co wiem, na taśmie nie można. Poza tym można zdefiniować minimalną i maksymalną pozycję głowicy. Jeśli głowica przekroczy którąś z tych pozycji, to program uznajemy za niepoprawny. W ramach zakresu od min do maks może istnieć skończona ilość stanów, równa N ^ (max-min+1), gdzie N to ilość symboli. Na drugiej maszynie można każdemu stanowi przypisać zero lub jedynkę. Druga maszyna może symulować pierwszą maszynę dla skończonej ilości danych wejściowych. Gdy pierwsza maszyna chociaż dla jednych danych osiągnie stan z tabeli oznaczony zerem, to druga maszyna udzieli odpowiedzi że program jest niepoprawny. Podobnie, jeśli pierwsza maszyna chociaż dla jednych danych przekroczy zakres <min,max>, to też druga udzieli odpowiedzi że program jest niepoprawny. Druga maszyna w trakcie symulowania zapamiętuje stany pierwszej maszyny, które nie są zdefiniowane. Jeśli któryś ze stanów powtórzy się, to druga maszyna udzieli odpowiedzi, że pierwsza maszyna się pętli w nieskończoność dla przynajmniej jednego zestawu danych wejściowych. Czyli dużo można, ale są to zazwyczaj możliwości teoretyczne, bo wymagają czasu wykładniczego. Poza tym jest drugi problem: skąd wziąć maszynę z odpowiedziami który stan jest poprawny, albo który ciąg instrukcji jest poprawny? Niemniej, to że nie umiemy podać takiego programu z odpowiedziami, nie uprawnia nas do mówienia że W OGÓLE nie można automatycznie weryfikować. > ale z jednej strony w > Javie stosuje się system asercji czy unit testy, w C++ jest biblioteka > GSL i odpowiedni plugin sprawdzający zgodność z nią. > A Rust wymusza swoje reguły. Trudno początkującemu w Rust jest wręcz > nieraz dla pewnych przypadków napisać kod który się skompiluje (te > problemy z mutualnością) ale to jest wymuszone automatycznie, nie musi > tego sprawdzać programista i czegoś przeoczyć. Ja bym chciał jakiś tego typu język, ale żeby można było go całkowicie skompilować do kodu maszynowego i żeby dostępne optymalizatory generowały tak wydajny kod jak dla C++. Pozdrawiam
[toc] | [prev] | [next] | [standalone]
| From | slawek <fake@fakeemail.com> |
|---|---|
| Date | 2017-08-10 14:56 +0200 |
| Message-ID | <almarsoft.1677533104175402746@news.v.pl> |
| In reply to | #30118 |
On Thu, 10 Aug 2017 03:17:44 -0700 (PDT), "M.M." <mmarszik@gmail.com> wrote: > A matematycy potrafią sprawdzać. Nie potrafią. Patrz tw. Goedela. Muszą być aksjomaty. A tych się nie da sprawdzić. Nie dlatego że starożytni Grecy zrobili tabu, ale dlatego że nie jest to możliwe.
[toc] | [prev] | [next] | [standalone]
Page 1 of 7 [1] 2 3 4 5 6 7 Next page →
Back to top | Article view | pl.comp.programming
csiph-web