Development Environment for Small Laptop

111 views
Skip to first unread message

Peter Wolf

unread,
Jan 13, 2017, 12:16:55 PM1/13/17
to scala-user
Hello, 

I am teaching Scala to a remote developer who likes command line tools and text editors.  He likes the text editor MD and debugs with print statements.  His Linux laptop only has 4G of memory.  I think he will have a miserable time trying to work with Scala code.

The rest of my team uses IntelliJ on machines with 8G or 16G or memory.  This will not work for him

Can anyone recommend good Scala tools for small machines?

Thanks
P

Rex Kerr

unread,
Jan 13, 2017, 12:35:05 PM1/13/17
to Peter Wolf, scala-user
I have a wonderful time with Scala code without big bloated IDEs, and find print statements perfectly adequate for most debugging tasks.

I'm not familiar with MD, but any decent text editor should do.  I'm partial to Sublime Text, but I've even used Kate in the past and not had serious complaints.  I'm not sure whether ENSIME with emacs or something is lightweight enough--I don't use it.

The one thing that the remote developer should do that maybe the rest of you don't so much is make heavy use of the REPL.  It's way faster to work out problems and explore them there than try to wade through an IDE with debugger.  Embedding Ammonite can be very powerful as an upgrade from println: http://www.lihaoyi.com/Ammonite/#Embedding

  --Rex


--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Vincent Marquez

unread,
Jan 17, 2017, 12:40:27 AM1/17/17
to Rex Kerr, Peter Wolf, scala-user
I use Vim with the Conque plugin, running  Ammonite REPL exclusively for both my full time job as well as when I am working on Scalaz.  My work machine is quite powerful, but I use the same setup in my older model Macbook Air (4 gb of ram) and it works just fine. 

--Vincent

El-Hassan Wanas

unread,
Jan 17, 2017, 6:51:51 AM1/17/17
to scala...@googlegroups.com
I second Rex on that. Actually there's nothing wrong with using a decent text editor and Ensime(http://ensime.org/). I've used ensime across editors(atom, vim) and build tools(sbt, gradle) and it was more performant and lightweight than using intellij.

Also in order to get good hints like intellij does for users, there are lots of extensions that can be integrated into gradle or sbt, some examples:
https://github.com/HairyFotr/linter linter plugin
https://github.com/wartremover/wartremover another linter plugin
https://github.com/scalastyle/scalastyle for style checking, output is textual
http://scoverage.org/ For coverage report generation without IDE

Wanas
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.

Andrew Gaydenko

unread,
Jan 17, 2017, 8:28:52 AM1/17/17
to scala-user
I would not define ENSIME as lightweight as far as it runs own server eager for RAM. So, ENSIME + dedicated SBT session for each open project can be heavy to suit into 4 GB.

(In other ways, yes, ENSIME is the way, I do use it during two years or so)

Stephen Compall

unread,
Mar 4, 2017, 9:28:19 PM3/4/17
to scala...@googlegroups.com
On 1/17/17 8:28 AM, Andrew Gaydenko wrote:

> I would not define ENSIME as lightweight as far as it runs own server
> eager for RAM. So, ENSIME + dedicated SBT session for each open
> project can be heavy to suit into 4 GB.
>
> (In other ways, yes, ENSIME is the way, I do use it during two years
> or so)

If the developer in question likes text editors as they are, I don't
think they'll necessarily be interested in "smart" editor features. I
sympathize; often, this stuff makes it too hard for me to think, and I
have to turn it off anyway, so I do without most of the time.

For the OP: I've done this kind of thing on 2 GB machines just fine,
with editor + a running sbt repl, usually in ~compile to give me
feedback when I save. 2 GB is plenty for that, especially on GNU/Linux,
unless the project is very, very large and needs a big -Xmx to JVM in
order to compile. (Individual subproject size is the relevant factor,
here; splitting a big project into subprojects cuts the max scalac
memory down nicely.) With 4 GB, such concerns are moot; the main use of
more is to be able to comfortably run multiple sbt jobs at the same time.

--
Stephen Compall

Reply all
Reply to author
Forward
0 new messages