Wpis z mikrobloga

Rust, an Anti-Sloppy Programming Language

Several new programming languages emerged recently. Among them, Rust particularly interests me. In this blog, I’m going to share my impressions of Rust, and compare it with some other programming languages.

https://arthurtw.github.io/2014/12/21/rust-anti-sloppy-programming-language.html

http://en.wikipedia.org/wiki/Rust_%28programming_language%29

http://www.rust-lang.org/

#programowanie #rustlang

#msqspam
  • 12
@msq: Strasznie podoba mi się Rust, lubię zarówno motyw programowania funkcyjnego na poziomie systems programming jak i statycznie weryfikowane podejście do zarządzania pamięcią (ichniejsze lifetimes).

Zdecydowany #1 na liście nowych języków do poznania!
@moon_bluebird: Jedną z ciekawych rzeczy w obecnym rozwoju Rusta jest to, że właściwie od samego początku prowadzony jest równolegle duży projekt w Ruście - Servo, czyli silnik webowy "następnej generacji", który być może w przyszłości zastąpi Gecko w produktach Mozilli. Sporo zmian w samym języku wyszło właśnie podczas pisania Servo.

https://github.com/servo/servo/

@aseeon:

Dla mnie właśnie Rust ma o wiele większe szanse niż D. D miał być po prostu lepszym C++
@Rev: niemal nikt nie reklamuje podejścia funkcyjnego jako największego ficzera rusta, także wymienianie go za największą barierę jest dla mnie co najmniej dziwne. Rust nie zmusza, ani nawet specjalnie nie promuje podejścia funkcyjnego. A poza tym, pozostaje posiedzieć i zobaczyć co z tego wyjdzie. Ja po prostu dzielę się tym co mi szklana kula pokazała :)
niemal nikt nie reklamuje podejścia funkcyjnego jako największego ficzera rusta, także wymienianie go za największą barierę jest dla mnie co najmniej dziwne. Rust nie zmusza, ani nawet specjalnie nie promuje podejścia funkcyjnego.


@aseeon

wat?! O tym samym języku mówimy? Gdzie w kod servo nie spojrzysz to pierwsze co rzuca się w oczy to pattern matching, traitsy, typy algebraiczne, immutability by default, option types, makra, inferencja. To dość nietypowe konstrukcje jak na typowy
@Rev: Po prostu jest to symbol nowych czasów. Właśnie brak NULLa jest największą zaletą Rusta jako języka do programowania systemowego. Option oraz Result razem z pattern matchingiem to rozwiązanie idealne, bo daje Ci możliwość zwracania "wyjątków" na najniższym możliwym poziomie bez śledzenia stacktrace czy innych skomplikowanych bzdur jak w C++ (np. niektóre projekty mają całkowity zakaz używania wyjątków jako, że nie są wszędzie wspierane).

Co do immutablity by default to może
@archlinuxuser: każdy język ma wady. Co do tego, że "nie da się pisać ładnego kodu" to 2 rzeczy:

- kwestia gustu

- wymaga przyzwyczajenia

Co do pożyczania, etc. to jak wyżej, trzeba się przyzwyczaić i jest wtedy łatwo (zwłaszcza, że kompilator podpowiada co i jak).
@Hauleth: Dzięki, na razie nie planuję się "zniżać" do niskiego poziomu, ale jak powiedziałem: Rust wygląda rewelacyjnie.

A szczególnie filozofia w stylu: jeśli coś działa wolniej niż w c, to znaczy, że jest to błąd.