How does one do work on Windows?


#1

I’ve used Linux for years and have just had a Windows drive just to run games. But now I want to write introductory tutorial(s) for new programmers to experiment with my software on windows and test out my software on Windows. So I want to be able to work in Windows, using the same work flow /tools as my potential users / collaborators.

So off the top of my head I want to be able to use sbt / mill, the scala repl, git, github, eclipse, editors.

Should I use the command prompt, powershell, bash on windows, the Ubuntu Linux install or something else? If it was just for myself I would install Ubuntu on Windows, kde for windows and try and get as close to my Kubuntu environment as possible. However I don’t want to ask the novice programmer to download a hundred and one tools and applications, just so as they can try out my “special snow flake” project. Just getting people to use Scala and a build tool is a big step in itself.

So what are most C/ C++ Java/ Javascript programmers on Windows using these day?


#2

I use ConEmu and bash that comes with https://gitforwindows.org/ and it provides a basic “Linux-like terminal” experience. IntelliJ IDEA for Scala editing, and an interactive sbt session in the terminal for compiling/running code.

For more serious Linux-stuff you can use Windows Subsystem for Linux (WSL) which works pretty nicely and gives you all the usual tools.

To get started, users need to install JDK 8+ and sbt.


#3

I’ll second ConEmu. It’s so much better than the standard ConHost window. Console2 is another option.

The standard Windows shell is also unsuitable for serious work. PowerShell is popular with Windows admins but I don’t know any (cross-platform) developers who use it. For a long time your choices were Cygwin and MSYS but nowadays WSL has matured far enough and is the official solution. ConEmu has direct support for WSL to use a decent Unix-like terminal emulation. By default it’s designed to be used from ConHost.


#4

As a single data point, I’m a C# dev for my day job. In scala I work in the shell that comes with git for Windows, and use sublime as an editor, except for git commit messages, where I use vim.


#5

Thanks for the replies, sounds like ConEmu is probably the way to go. Although I wonder do most Gihub users use ConEmu or do many try to escape the terminal altogether.


#6

Terminals are very much a matter of taste. I avoid them whenever possible and use JetBrains IDEA.