|
|
|
|
|
by davesque
1654 days ago
|
|
Fe founder here. I'm not currently actively working on the project and haven't been for a while. That being said, a useful bit of context is that Fe was also originally conceived as a response to Vyper. In fact, it used to be called "Rust-Vyper." Vyper was just like what you say; a python-looking smart contact language that didn't work much different from Solidity. However, it actually explicitly removed certain features in the name of security. I felt like some of what was removed was actually pretty useful and their removal might have actually decreased security (imports, multiple contracts per file, and so on). So some of what I felt Fe should do was just add those things back in. Vyper also had other issues such as (IMHO) its choice of implementation language which led to a lot of internal tech debt. Also, at the time I was working on Vyper, it actually used Python's standard parser library and so we often had to shoehorn language features into the Python syntax. Vyper may have corrected those things since then but I don't know. In any case, I eventually just decided to start over in my spare time using Rust as an implementation language. There was other work planned for Fe such as providing a "strict" compiler mode that would facilitate formal verification of contracts written in Fe (that was basically a goal of Vyper). Also, we planned to provide a thorough specification and semantics for the language also for that purpose. I believe a lot of those plans are still in place but the current team should probably comment. As you say, I think part of the issue is that things are still very early. The core devs are always figuring out useful things to add along the way that end up differentiating the language from its competitors. I'd say more but I'm on my phone :). |
|