axde
2019-07-25 09:22
[Beginning Rust From Novice to Professional, Milanesi, Carlo napisał(a)]

When you access an item in an array or in a vector, which type should have the index? You could think that, if you have a small array, you could use an i8 value or a u8 value, while if you have a somewhat larger array it would be required to use instead an i16 value or a u16 value. It isn’t so. It comes out that the most efficient type to use as index of an array or of a vector:

• on 16-bit computers, it is an unsigned 16-bit integer;
• on 32-bit computers, it is an unsigned 32-bit integer;
• on 64-bit computers, it is an unsigned 64-bit integer.

In other words, the index of an array or vector should be unsigned, and it should have the same size of a memory address. At present, Rust is not supported for 16-bit systems, but it is both for 32-bit systems and for 64-bit systems. And so, which type should we use, to write some source code that should be optimal both on 32-bit computers and on 64-bit computers? Notice that it is not relevant on which system the compiler runs, but on which system the program generated by the compiler will run. Actually, by a so-called “cross-­compilation”, a compiler can generate machine code for a system having a different architecture from the one where the compiler is run. The system for which machine code is generated is named “target.” So there is a need to specify an integer numeric type having a size dependent on the target, which is a 32-bit integer if the target is a 32 bit system, and a 64-bit integer if the target is a 64-bit system.

Beginning Rust - From Novice To Professional, Using Primitive Types, Pages: 68-69

#rust

axde

Oczywiście. Zapomniało mi się ale nie widzę problemu w dopisaniu gdy ktoś zapyta ;-)

hauleth

Ale nie za bardzo rozumiem kontekst, przecież Rust ma taki typ danych i nazywa się usize.

DevEnv
2018-12-27 09:15

Rust – Ownership – Po co nam ta własność?
Ownership jest głównym mechanizmem języka Rust, który umożliwia uzyskanie gwrancji bezpieczeństwa pamieci już na etapie kompilacji. Co jest w nim takiego unikalnego? Jak może nam pomóc w codziennej pracy programisty? Co nam tak naprawdę gwarantuje?

#devenv #blog #technicalblog #rust

Dregorio

@DevEnv: Nie wiem dlaczego, ale czytając miałem wrażenie jakby coś zostało wycięte z paragrafu Poznać Ownership, ale może to tylko moje odczucie. Dodatkowo mam wrażenie lania wody, a mało mięska :( możliwe że jestem roszczeniowy :P

DevEnv

Dzięki za pomoc i uwagi
@cerrato: niezamierzona literówka.
@Patryk27: Faktycznie chodziło mi o typ :) Faktycznie użycie stwierdzenia "własny" jest niefortunne, bardziej odpowiednie byłoby unikalny.

Co do stwierdzenia "nie zwalnia programisty z konieczności posprzątania" bardziej chodziło mi o dobrą praktykę i fakt, że może dojść do sytuacji wycieku pamięci w tych językach. Zbytnie uproszczenie. Przeformatuje to.
Ze względu na charakter tekstu nie chciałem odnosić się do usingów, Disposable oraz unsafe. GC w większości przypadków w końcu się aktywuje lub mu w tym pomożemy robiąc to ręcznie lub skończy się pamięć :)

W Ruście faktycznie występuje mechanizm bazujący na zliczaniu odwołań. Nie chciałem wrzuczać tego do wora GC znanego mi z C# i Javy.

@Dregorio: Niestety to jest wstęp za tydzień wrzucę drugą część z kilku. Ownership okazał się bardziej złożonym tematem, na więcej niż jeden artykuł.

micfil94
2018-12-21 12:48

Święta tuż tuż, ale nie zwalniam tempa i podrzucam Wam Prasówkę Technologiczną. 25 wartościowych materiałów do poczytania w przerwie świątecznej :)

01) W jaki sposób #google śledzi Twoje dane osobowe? Ciemniejsza strona marketingu w wyszukiwarkach. Autor twierdzi, że wszystko zaczęła się w 2000 roku, kiedy to -- w zamian za dostęp do spersonalizowanych usług -- zgodziliśmy się udostępniać informacje o nas.
Link: https://medium.com/s/story/th[...]oogle-tracks-you-3c3abc10781d

02) W życiu projektowym czasem dochodzi do sytuacji, gdzie nic nie idzie zgodnie z planem. Przez “nic” mam na myśli wszystko. Kontekst jest taki: przeciągający się projekt ma wiele niedoskonałości, jesteśmy kilka miesięcy po deadlinie, analitycy ciągle coś nowego wymyślają, a kierownictwo wariuje, bo końca nie widać.
Link: https://geek.justjoin.it/poli[...]iwalowa-upadajacym-projekcie/

03) Początkowo było gorzej niż po odstawieniu nikotyny i kawy, gorzej niż brak ciepłej wody i konieczność brania zimnego prysznica w połowie stycznia. Co się stało, gdy Keri pozbyła się internetu domowego i dlaczego już do niego nie wróciła?
Link: https://medium.com/@kerisavoc[...]my-home-internet-1bbf834f7c50

04) Kończy się złoty wiek #iphone, bo rynek mocno się zmienił. Konkurencja sprawiła, że różnice między technikaliami stały się mniejsze, niż gdy iPhone wchodził na rynek. Czy wraz ze zmianą rynku smartfonów Apple straci przewagę?
Link: https://medium.com/s/the-upgr[...]iphone-is-ending-15f673ba70d8

05) — W tym roku giganci technologiczni, rząd, a nawet branża blockchain pokazała, że nie możemy nikomu zaufać, jeśli chodzi o przechowywanie naszych prywatnych danych — piszą autorzy FastCompany, którzy przygotowali podsumowanie roku wpadek dotyczących bezpieczeństwa danych użytkowników.
Link: https://geek.justjoin.it/najw[...]oku-podsumowanie-fastcompany/

06) Czy #bootcamp to faktycznie tylko sposób na przeniesienie pracowników nietechnicznych do technologii? Ile wart jest programista po kursie? Na te pytania stara się odpowiedzieć autor artykułu o przewrotnym tytule: You Can’t Build an iPhone With Python.
Link: https://medium.com/s/story/yo[...]hone-with-python-ad690e5b2164

07) Chciałeś banana a otrzymałeś goryla z bananem w dłoni oraz całą dżunglę. Co jest nie tak z programowaniem obiektowym? Tekst na podstawie historii developera, który zarzuca programowaniu obiektowemu wiele.
Link: https://medium.com/@cscalfani[...]nted-programming-a59cda4c0e53

08) Media społecznościowe są do bani, ale czy nie jest to najlepsze narzędzie propagandowe, jakie kiedykolwiek mieli socjaliści? Analiza tego, w jaki sposób łatwo wykorzystać np. Facebooka do pozyskania wyborców i nie tylko.
Link: https://medium.com/jacobin/un[...]-we-cant-log-off-bcf035cb4770

09) Analiza upadku IMAX VR. Dlaczego znakomita kanadyjska firma oferująca rozrywkę w wirtualnej rzeczywistości nie przetrwała? IMAX VR zamyka trzy oddziały: w Los Angeles, w Bangkoku i Toronto.
Link: https://medium.com/@philsiarr[...]emise-of-imax-vr-e050c0cc14fc

10) Idea, że #ai musi być w pełni możliwe do interpretacji, pojawiła się, gdy ludzie zobaczyli, że ich systemy popełniają błędy. Chcieli zrozumieć, dlaczego tak się działo. Autor uważa jednak, że AI wcale nie musi być w pełni interpretowalne.
Link: https://towardsdatascience.co[...]ly-interpretable-4767b110dc1e

11) Rust 2018 wypuszczone! Jakiś czas temu zespół #rust ogłosił pierwszą sporą edycją Rust od 1.0. Co zawiera?
Link: https://www.c-sharpcorner.com/news/rust-2018-released

12) Oracle ogłasza #cloud Native Framework -- natywne rozwiązanie w chmurze, które obejmuje chmury publiczne, lokalne i hybrydowe wdrożenia w chmurze.
Link: https://www.c-sharpcorner.com[...]ounces-cloud-native-framework

13) #hyperledger Ursa dołącza do rodziny produktów Hyperledger. Ursa jest modularną, elastyczną biblioteką kryptograficzną, która pozwala innym korzystać z istniejących, sprawdzonych w czasie i zaufanych bibliotek kryptograficznych, ale także opracowywać nowe implementacje bibliotek kryptograficznych.
Link: https://www.c-sharpcorner.com[...]s-hyperledger-products-family

14) #javascript i V8. Obszerny artykuł o wszystkim tym, co powinieneś wiedzieć o JavaScripcie.
Link: https://codability.in/over-explained-javascript-and-v8/

15) Dokładność czasu w JavaScript. John Resing opisuje dwa wydarzenia, które ostatnio go zaniepokoiły.
Link: https://johnresig.com/blog/accuracy-of-javascript-time/

16) Niezmienność w JavaScript. Dlaczego korzystanie z Niezmienności jest w dzisiejszych czasach tak potrzebne i jakie przynosi korzyści?
Link: https://medium.zenika.com/imm[...]ty-in-javascript-7e1a19b45615

17) Piszesz już jakiś czas w #python, ale Twój kod nie wygląda tak jak trzeba? Oto jak napisać piękny kod #python za pomocą PEP 8: https://realpython.com/python-pep8/

18) Wypuszczono Qt dla Python 5.12. Alex Blasche wyjaśnia co zawiera wydanie oraz mówi o przyszłości projektu.
Link: http://blog.qt.io/blog/2018/12/18/qt-python-5-12-released/

19) [Video] Seria kilku filmów z Niną Zakharenko i Carltonem Gibson, w której wyjaśniają jak zbudować i uruchomić aplikację Django za pomocą Visual Studio Code i Azure Web Apps, konfigurację protokołów CI/CD z Azure Piplines i uruchamianie bezserwerowych aplikacji Django z Azure Functions.
Link: https://www.youtube.com/playl[...]D0HtieHjQMK-jWHRy3aHGLhbAFqbR

20) Poznaliśmy ją w 2018. Czy w 2019 to Julia będzie wymiatała w dziedzinie uczenia maszynowego?
Link: https://www.techrepublic.com/[...]ule-machine-learning-in-2019/

21) Czy Facebook będzie miał własną kryptowalutę? Facebook agresywnie rekrutuje developerów blockchain, dodatkowo w kwietniu 2018 utworzył swoją jednostkę blockchain. Czego możemy się spodziewać?
Link: https://www.ccn.com/facebook-[...]nching-cryptocurrency-report/

22) [Video] Wykład, w którym omówiono cztery nowe konstrukcje, które prawdopodobnie będą częścią Scala 3 i które wpłyną na funkcjonalny styl programowania.
Link: https://www.youtube.com/watch[...]6YHc8faw&feature=youtu.be

23) 5 trików w #ruby, których prawdopodobnie nie znasz!
Link: https://medium.com/@farsi_meh[...]obably-dont-know-76fee34cfd0c

24) Jeśli myślisz o nauce nowego języka programowania w 2019, to powinieneś rozważyć F#. Obszerny artykuł na temat zalet i funkcji języka F#
Link: https://dusted.codes/why-you-should-learn-fsharp

25) Michał Gacka, nasz dzisiejszy rozmówca, znalazł pracę za granicą, choć w kraju jej nie brakuje. Wyjechał jednak do Danii, by poznać bliżej świat programowania w ciekawym projekcie. Jego pasja do programowania zaczęła się w gimnazjum, ale została przerwana na studiach. — Brakowało mi po prostu kogoś, kto wszedłby do klasy, pokazał swoją pasję i zaangażowanie. Kogoś, kto przez to, że sam jara się tym, co robi, zajarałby też mnie — wspomina.
Link: https://geek.justjoin.it/pitt[...]nhagi-historia-michala-gacki/

#naukaprogramowania #programowanie #programista15k #technologia #informatyk #ciekawostki

siloam

"Qt dla Python 5.12". O ile mi wiadomo, Python jeszcze nie dobił nawet do wersji 4.

micfil94
2018-11-29 15:42

Siemanko! 🔥 Co ciekawego na dzisiejszym live? 🎙

➡ o języku #Rust, którego uczy się Bartek, trudny na początku, wiele osób porównuje go do #Go, choć wg niego jest lepiej zaprojektowany i subiektywnie - najlepszy język na świecie

➡ Bartek pracuje jako Core Tem Member toola, który nazywa się OpenFaaS i jest jednym z największych narzędzi open source do serverlessa

➡ sporo na temat systemów rozproszonych/ cloud native

➡ Open Source w VMware - jaka jest rola jego działu i dlaczego nie musi on bezpośrednio zarabiać?

➡ Kariera programisty, jak dostać się do VMware, czy warto, etc.

Staay Tuneed! 🔥🔥 Będzie ciekawie ✌😉

Dzisiaj na FB i na YT, godzina 20:00:
https://www.youtube.com/watch?v=YBIOdIOfsvY

Aryman1983

Bartkowi yt przycina, pewnie @Clarc youtuba także zapchał :-)

DevEnv
2018-11-02 09:52

RUST - kiedy warto?

Żyjemy w erze, kiedy nowe języki, frameworki, miodne biblioteki pojawiają się jak grzyby po deszczu. Nauka nowego języka wymaga inwestycji czasu. Jak w kontekście powyższego przedstawia się RUST? Czy i kiedy warto po niego sięgnąć?

#devenv #technicalblog #rust #blog

Patryk27

Ayy - jak na artykuł techniczny, sporo w nim nieścisłości.

Rust jest językiem funkcyjnym

Rust jest językiem wieloparadygmatowym.

kompilator zadba o brak występowania wyścigów.

Nie do końca - Rust zapewnia bezpieczeństwo przed data race, co nie oznacza, że nie można w nim zrobić np. deadlocka (bo można i nie jest to specjalnie trudne).

Jeśli programujesz w językach takich jak C# czy Java, mających wbudowany mechanizm garbage collector (..)

https://words.steveklabnik.co[...]d-the-generational-hypothesis

Struktury nie mogą dziedziczyć po innych strukturach. Nie ma sposobu, aby zdefiniować strukturę, która dziedziczy pola i implementację metod struktury nadrzędnej.

W takim razie w jaki sposób działa Box? :-)

Minusem może być, że język nie wymusza struktury, więc każdy programista może sobie zdefiniować, rozszerzyć cokolwiek potrzebuje w dowolnym miejscu.

Nieprawda: https://doc.rust-lang.org/stable/error-index.html#E0116.

Jest optymalizowany pod kątem architektury, na której działa kompilator.

Nieprawda: Rust (wykorzystujący pod spodem LLVM) jak najbardziej umożliwia cross-compiling, gdzie np. binarka ARM produkowana i optymalizowana jest na hoście x86.

Kompilator podobnie (jak w przypadku ownershipu) nie pozwoli, by aplikacja się skomplikowała, jeśli może dojść do jakichkolwiek negatywnych zjawisk.

Nieprawda: w runtime może dojść np. do deadlocka (liczy się jako negatywne zjawisko, prawda?).

DevEnv

Hej @Patryk27 Dzięki za pomoc ;-) Jak najbardziej masz rację. Niektóre z tych rzeczy to były skróty myślowe, a niektóre to moje zaniedbania lub niewiedza ( czytałem LLVM, ale dzięki tej wskazówce będę mógł pogłębić wiedzie w tym zakresie, a E0116 to moja niewiedza ). Dzięki tobie będę mógł ulepszyć artykuł.

Tenonymous
2018-10-14 00:50

Całkiem fajny jest ten #Swift od Apple. Pobawiłem się i bardzo fajnie. Jako nieposkromiony fan wszystkiego co szybkie, muszę zapytać - jak ten język wypada na tle #C++ #Golang #Rust pod względem prędkości? Ma ktoś jakieś stosunkowo bliskie prawdy benchmarki?

https://benchmarksgame-team.p[...]chmarksgame/faster/swift.html ten chyba był tutaj swego czasu mocno krytykowany.

Tenonymous

Dla fana Go, ten język to nieco bardziej rozbudowany Golang :D nawet jest func i brak nawiasów przy ifach, forach, etc :D

Hispano-Suiza

@Tenonymous: "Fanatyka". Coś jak pasta o fanatyku wędkarstwa :-D