6 ms·
From Pythonista to Rustacean
- sintezcs 4y agoI thought the post is about an excellent iOS App - Pythonista, a Python IDE and at the same time a collection of Python wrappers over iOS APIs that gives you the possibility to create custom actions and automations right on your iPhone
- dec0dedab0de 4y agoPythonista is what python developers call themselves. At least the ones active in the community. Rustacean is the equivalent for Rust.
- jimbob45 4y agoI would assume Pythonista is the feminine version and Pythonist is the masculine version. Although, in practice, I would just say "Python user".
- dochtman 4y agoYou assume wrongly, Pythonista has been in use for both genders for a long time (more than a decade).
- Tao3300 4y agolike Sandinista or Fashionista
- kazinator 4y agoThere isn't a productive -ista suffix in English; it occurs in loanwords, or words created to ironically mimic a foreign language in the Romance family ("fashionista"). The -ista suffix in some European languages which have it is not universally feminine. English Slovak Italian (m) (f) (m) (f) fascist fašista fašistka fascista fasciste racist rasista rasistka razzista razziste See here: https://www.etymonline.com/word/-ist https://www.etymonline.com/word/-ist https://en.wiktionary.org/wiki/-ista https://en.wiktionary.org/wiki/-ista The -ista suffix from Latin, where it is a masculine, appearing in that form in a number of Romance languages, and in French as -iste, is masculine. The English -ist comes from the Latin -ista.
- mb7733 4y agoI've always wondered... Do people really say these words out loud? I've never heard anyone describe themselves as a "Pythonista","Gopher", "Rustacian" etc IRL. But I also don't work a ton with those languages.
- gpm 4y agoI've heard all 3 spoken.
- nomel 4y ago> Pythonista is what python developers call themselves. Just curious, where have you seen this exactly? I think I heard it once in real life, over the last decade, used by a non-technical manager. I’ve only read it a few times, online, also mostly by non-python users. I’ve never called myself a pythonista, and I’ve never known anyone who has. But, I also have never been in a group with individuals that know, or identifies as, a single language.
- sophacles 4y agoI've heard it at pycon and at the local python user's group. I've seen it on blogs for years.
- lynndotpy 4y agoI'm a big Python advocate. I'd never call myself a "Pythonista" if asked to describe myself, but I do see "Pythonista" as something that describes me. In this sense, as someone who is casually interested in learning Rust, the title "From Pythonista to Rustacean" told me this repo is very relevant for me! :)
- dec0dedab0de 4y agoI heard it more often circa 2010 when I was active in my local python user group. Usage has definitely waned along with some more of the cute aspects of pythonic culture, like referring to pypi as the cheese shop. I think it's because more and more companies started hiring specifically for python, and it became something developers were forced to use, as opposed to something that people chose to use because they loved it.
- evilduck 4y agoThe iOS app came after the Python community had adopted the term.
- valarauko 4y agoI've used it in the past, but it hasn't seen updates for over 2 years now. Does the app still work with iOS 16?
- ultrasounder 4y agoSerendipity is when you look for how to learn Rust from a Python developers perspective and the first post is on how to migrate from Python to Rust
- epage 4y agoWhile some things are a little stale, this is great! I wish this existed for more languages.
- metadat 4y agoCan you specify which parts have gone stale? I wonder if rochacbruno will accept a PR.
- epage 4y agoIt says the Org for it is Mozilla Research when its now the Rust Foundation. It mentions cobalt for an SSG. While I'm flattered (as the maintainer) atm zola would be a better recommendation until I can find more time to devote to cobalt. Those were from just a quick scan. Unsure what else there might be.
- nicolashahn 4y agoAbsolutely ancient in Rust's timeline (2019) but I wrote a thing on coming from Python and learning Rust (and Go): https://www.nicolas-hahn.com/python/go/rust/programming/2019/07/01/program-in-python-go-rust/ https://www.nicolas-hahn.com/python/go/rust/programming/2019... I actually don't write any of these languages anymore day to day, but not by choice (doing a lot of Kotlin and Typescript, both are fairly decent languages IMO)
- FerociousTimes 4y agoOT: Was Rustafarian taken or was it just you are not you when you're hungry?
- Jemaclus 4y agoI know you're being funny, but Rustacean is the (un)official name for Rust programmers and has been for years: https://rustaceans.org/ https://rustaceans.org/
- joaquincabezas 4y agoI am really curious about Rust after looking for API proxies (in particular Linkerd2 - https://github.com/linkerd/linkerd2-proxy https://github.com/linkerd/linkerd2-proxy). Can anyone share her/his experience on going from Python to Rust? (bonus point if related to API :lol:)
- masklinn 4y agoDrawbacks: the learning curve is steep, the compiler is not forgiving, the pre-debugging throughput is low, you start missing many APIs when you have to go back to Python, missing some useful niceties (keyword & default parameters, comprehensions, generators, ...), harder to do quick experiment or lookey (no REPL, no -i). Advantages: many APIs are stellar, way less runtime debugging (you actually get benefits from the unforgiving compiler), a sense of control, great performances For APIs: Serde is an absolute banger. Less clear: significant reliance on crates (third-party library). They're much easier to use than in Python (`cargo doc` in particular helps a lot as it provides a one-stop shop offline API documentation of all your dependencies as well as your own project) and there's more flexibility, but a 0-dep project is not going to be easy if that's your ideal. Then again if you're doing API stuff it probably is not as python's stdlib is quite crummy when it comes to web applications.
- mijamo 4y agoCargo docs is a bit of a curse for me. A lot of crates have docs only through that mean and think just having a few lines of intro is enough and then we'll good luck understanding the library. I love the docs in the Python ecosystem as a lot of them contain guides, examples on how to use the library is real world context. Rust library documentation often feels like if someone gave you a schema of all the components in your car, but not a driver's manual.
- insane_dreamer 4y agoHow's testing in Rust compared to Python?
- 4y ago
- Dowwie 4y agoI do not recommend this README be used as a reference for onboarding. People need to stop upvoting this post.
- d0mine 4y agoYour comment could benefit from some specifics and/or a link to the better (in your opinion) guide.
- hotfixguru 4y agoWho said it’s for onboarding? It contains good resources, a quick overview of some crates and tools and shows some quick comparison examples - all good things for people who haven’t really touched rust. It won’t shape a developer for life, or even a week for that matter.
- jstx1 4y agoGenerally I don't care for these lists because the best way to learn something doesn't change depending on your background as much as people think it does. But I do like the list of roughly equivalent tools/frameworks.
- nomel 4y ago> because the best way to learn something doesn't change What do you consider the best way?
- letwhile 4y agonot op, but i often see people trying to push their old mindset on a language they are learning, which is a bad approach. maybe i miss sth, but i don't see how any knowledge from python is applicable to rust. so it may be beneficial to clear your mind and go from zero.
- qwertox 4y agoIt's not that different. You'll obviously have to learn about how Rust uses variables and how to do the error handling, but it's not like Rust gives you some freedom in how you do it. It either compiles because you did it right, or it won't compile. It's really strict about it. Of course reading about the differences is important since things like "move" don't exist in Python, but it's great if you have something which is working in Python and start coding a Rust version of it. What does it even mean to "start from zero" if you've learned so much about programming, be it on using databases or sockets or merging downloaded map tiles. Read the book? Yes, that should be done.
- sbf501 4y agoAlso not OP, but I find the best way to learn a new language is to attempt a project using just the documentation. In my mind, the documentation for the language should provide methods, paradigms, and patterns required to think in that language (and get the benefits). E.g., Starting as complete noob and following the rules as written by the language itself. This is a different approach from: how do I turn some code I wrote in language X to language Y? Similar to transliterating a spoken language versus learning it from the ground-up. Going from Spanish to Italian, you can kindof get away with word-for-word replacement in the same order and get the gist. You can't really do that with, say, Japanese, where there are far more rules not just of grammar but of register and assembly which are nonexistent in romantic languages. In other words, you might learn some vocabulary, but you'll face a big challenge to learning the language with this approach. Both approaches are completely valid, but you'll get further (farther?) with one than the other. You may also realize you are using the wrong language for the project in the process. For example, when I first started heavily using PERL in the mid-90's, and then switched back to C, I was really frustrated I couldn't operate with strings and regexes so recklessly like I did in PERL, but that's because I was using the wrong language (C) for something that should have stayed in PERL.
- drexlspivey 4y agoI found that co-pilot really helps with Rust, it saves me many minutes trying to get small 3-4 line functions right.
- ilovefood 4y agoThis has been a great help to get started but was missing the "guide me through it" part for me. I wrote an article with some code samples for writing Rust code coming from a Python background (data engineering). It's great to see many "Pythonistas" getting interested / curious about Rust. I'm certain there is a lot of good things in both languages even though the onboarding experience is a bit more hands on with Python. Might be helpful for someone, my small contribution to how to get started with Rust by "keeping it close to Python" https://karimjedda.com/carefully-exploring-rust/ https://karimjedda.com/carefully-exploring-rust/
- nu11ptr 4y agoI think things like this are great, but you have to keep in mind WHAT they are good for. This is NOT going to teach you Rust. What it is going to do is very quickly get you familiar with the ecosystem and relate it to something you know already. This can be helpful as you are learning to help you feel less inundated by all the new concepts and crates. It also will give you a quick and dirty on how a basic concept maps between what you know (Python) and what you don't yet (Rust). In no way does this take the place of a good tutorial or book on Rust for learning the language, but instead I would equate this more with a reference book which you use for targeted inquiries, not ground up learning.
- jak6jak 4y agoWhat would you recommend for ground up learning?
- whoooooo123 4y agoIt's hard to go wrong with the book The Rust Programming Language. https://doc.rust-lang.org/stable/book/ https://doc.rust-lang.org/stable/book/
- gary17the 4y agoRead the official, free Rust Book[1]. Rust is easy to learn by reading (in order to understand programming concepts unique to the language, such as the borrow checker and lifetimes), but Rust is hard to learn by experimentation alone (trying 100 different syntax variations to see what compiles). If you want to understand what Rust is mostly about, perhaps watch the "Firehose of Rust, for busy people who know some C++" video[2]. [1] https://doc.rust-lang.org/book/ https://doc.rust-lang.org/book/ [2] https://www.youtube.com/watch?v=FSyfZVuD32Y https://www.youtube.com/watch?v=FSyfZVuD32Y
- vonseel 4y agoI'm mostly a Python programmer (10 years), and spent a night last week reading the first ~8 chapters of the Rust book, and working slowly through the rest. I confirm that it's a great book, easy to read, even if reading isn't usually your style of learning. Or you can jump in and look at the Rust by Example book. I wanted to read through at least the bits that would be totally new and confusing to me in Rust - ownership, variable lifetime, references, etc. I'm finishing up Chapter 10 and probably getting to the point where I'll need to start actually using the language to learn it, knowing there will be gaps to fill in later. I think Rust is such a broad language that it's probably better to start coding and cementing the basics instead of trying to learn everything all at once.
- n8henrie 4y agoI'm also familiar with the term but was hoping the post was about the app -- or rather about a rust equivalent to the app!
- the__alchemist 4y agoAnecdote: I find my Rust code doesn't resemble the syntax examples in the article. Why am I using Rust? Because it's fast, is good at interacting with hardware, and is suitable for certain domains where there aren't many alternatives (and it happens to have key advantages over the alternatives). Ie: Embedded, and computer graphics. In the former, there's (by default, and often good reason to maintain this) no allocator, so the allocator-based-collections used as the backbone of the article don't apply. In the latter, there's still a lot of manipulating byte arrays etc, as that's the interface between CPU and GPU. Related to both domains: The article is about data structure manipulation, but in general, when I choose Rust, it's to interact with hardware. That's the magic; that's where the language transcends syntax differences. Ie various MCU peripherals, communication lines and buses, passing data to a GPU etc. I think that would be an interesting comparison to highlight. I'm not disparaging the text, but pointing out that its general title hides its narrow scope.
- adsharma 4y agoA pythonista can also learn rust by using a transpiler: https://github.com/py2many/py2many/ https://github.com/py2many/py2many/