Atom or IntelliJ for Rust?


#41

We have a feature similar in spirit, but which work a bit differently.

To create a new file, you type mod foo; in the parent file and then hit Alt+Enter. This creates a new foo.rs files and places cursor inside it. It also changes parent file from bar.rs to bar/mod.rs if necessary.


#42

in spirit?


#43

Hm, I still find myself needing to switch between CLion and VSCode on my large workspace project, where IntelliJ Rust’s cargo check analysis doesn’t show anything. (I do have a cargo check --all run configuration, but it just isn’t the same…)

Granted, VSCode + RLS doesn’t show anything either when you open it on an entire workspace… but I think what it really boils down to is the configuration model:

  • in VSCode, I can symlink all my subcrates’ .vscode folders to one directory and then do code src/some/crate.
  • in CLion, I can symlink all my subcrates’ .idea folders to one directory, do clion src/some/crate, and then live in constant fear that everything is going to blow up in my face.

#44

I use CLion with the Rust plugin. Does anyone happen to know how to get the Run button to launch the current configuration in release mode and the Debug button to do the same in debug mode?


#45

I’ve only personally used intellij-rust with PyCharm. I’ve used CLion a lot for C++ development, however.

I know there are some issues with CLion integration and intellij-rust (namely that CLion assumes the CMake project model). You probably need to make two configurations for it to work correctly in CLion (one with --release for release), but I don’t think the CLion Release of Debug buttons would work as you’re expecting because they are instructing CMake, and I don’t think they don’t tell anything special to Cargo?

@matklad?


#46

It’s not possible at the moment: Rust’s run configurations are not CMake based, so you have to create configurations with and without --debug flag yourself. The convenient way to do so is Ctrl+Shift+A > “Run Cargo command” > “type in your command”.


#47

I never lloked too much into Kotlin, is it really that much better than Java ?
I’ve recently seen an increasing number of projects done with this language, I’m curious to know how it is.


#48

I never lloked too much into Kotlin, is it really that much better than Java ?

Yes. What’s more, it’s strictly not worse than Java (unlike, for example, Scala, Clojure or Groovy, which have both good and less good parts), which means there’s almost no reason not to use Kotlin, if you are already using Java. Try it out!


#49

Well, I’m actually using Rust for my own projects and C++ and C# at work :confused:. Plus, at school, they make us use java 7 (last year they even forced us to use Java 6).
I guess I will keep this in mind for personnal projects in the fucture.


#50

Just curious. What is less good in scala?


#51

I haven’t written a ton of code in Scala, but some reasons I hear cited else where are slow compile times, pains of Java -> Scala interop, some “strange” features (xml literals, control flow via exceptions), and tendency of some parts of the community to create overly abstract code. This is drifting off topic though :slight_smile:


#52

Yes, drifting off the topic :slight_smile:

Overall, my recommendation for anyone looking into Kotlin is to not reject Scala, at least without familiarizing a little bit with it. It really depends on the philosophical position, which is really well put in the first few comments here.

Yes, compile times are slower but really fast in-flight compilation in Intelij plugin is available. Java -> Scala calls are not intuitive due to name mangling, but there are ways around it and it is very rarely used anyway. XML literals as many other domain specific languages, which you can create yourself, are optional libraries. It is just more power available when needed. Control flow via exceptions depends on attitude, same as in Java or any other exception capable language, no best practice is encouraging it. Tendency of the community for overly abstract code - yes, seen some libraries like this, which I avoided to use. There is always good and bad code around in any language.

For people coming into Big Data analytics, Scala is inevitable choice due to Apache Spark (yes, there are other language bindings for Spark, but they all way behind in ergonomics and performance).


#53

So this is now becoming a why X and not Y language thread :joy:


#54

No worries. Let’s stop.

PS: I guess Atom or IntelliJ topic is not so much confrontational. So we thought to make it a bit hotter discussion :crazy_face::fire:


#55

Advanced Discourse lesson time! :woman_teacher:
Simply click on the post age, select “+ new topic” to “reply as linked topic”, continue there :slight_smile:

(Although “scala Vs Kotlin” might be off-forum on the users.Rust-lang.org. but I couldn’t find the “reply as new forum” link :wink: )


#56

We can do rust Vs Scala or rust Vs kotlin :smile::laughing:


#57

I think it is fine now :slight_smile:

rust

And if you leave it without type it will know the correct one:

rust

But I still believe Atom is better, and more informative:

I’ve the below code with the ever paining error made by all developer, that is missing; at the first line:

        sql::put_data()
        output.into_inner();

Below how Atom catch it:


And below the message got by IntlliJ, which is not releated: