$\require{cancel}$
Some Tools
- I will primarily focus on windows.
- I will comment on macos occasionally
- If you already use Linux, i shouldn't need to say anything.
- Nothing on chrome.
- You really need three tools
- A text editor.
- This is a tool that allows you to put text into a file.
- You will use this to create programs, data files and other items.
- A file transfer client.
- This is a tool that will allow you to transfer files from one computer to another.
- A terminal emulator.
- This is a tool that will allow you to issue commands on a remote machine.
- But note, visual studio code can do all of this.
- And there are other environments as well.
- You don't need to install this software on your personal machine
- It should be installed on all of the computers in our labs.
- But you will probably want to do this.
- GUI Text editors
- Note: Not a word processor.
- You need the ability to save just plain text.
- These are easy to learn, but will be difficult to use across the network
- The default workflow is to edit on the local computer and transfer the files to the remote computer
- This is annoying for minor changes in the file, which you will frequently have.
- But you have copies of your file on both the local and remote computer.
- Notepad would work, but it is very primitive.
- Notepad++ is a reasonable choice for windows.
- It is just a text editor.
- But specialized for programming.
- Easy to use
- Visual Studio Code
- Very up to date and modern
- Many extensions
- Works for MacOS, Windows and Linux.
- Integrated Gethub Copilot.
- If I were selecting one, this is probably what I would choose.
- Other choices exist
- I am told that bbedit on macs is good.
- Text based Text Editor
- These do not need a GUI, so they can work on the remote machine.
- They have a steeper learning curve.
- But I have used the same editor for quite a few years.
- vi
- Probably vim
- Perhaps neovim
- vi is available on all linux/unix machines by default. It is in some sense THE linux/unix editor.
- Others:
- nano, emacs, joe, .... (linux)
- Terminal emulator /ssh client
- SSH is secure shell
- It allows encrypted network communications.
- It is the way to work on a remote computer.
- putty
- download page
- is a reasonably good pseudo-terminal package.
- This is what I use in class.
- On linux and MacOS I just use a terminal.
- I understand that you can just use the command line on windows
- You will want to connect to cslab103.cs.edinboro.edu on port 22.
- File transfer client
- I use winscp on windows.
- Filezilla works, but is usually filled with adware.
- psftp is a command line verson from the putty people.
- mac and linux sftp is built in as a command line tool.
- What other options to I have?
- Visual studio code is a great option.
- It has all the pieces built in.
- But the learning curve is a little high (in my opinion)
- Dev-C++ is an option, but the c++ compiler is out of date
- As it is with mingw, the text based option here.
- For macos
- I think you can install gcc
- You can use visual c++ from microsoft, but I need it to compile with gcc
- Linux:
- Don't wipe out your primary machine and install linux.
- Just don't do it.
- If you have a spare machine, it can be quite old, you can install linux and use that.