Code-Building Platforms
Pre-Installed
The easiest way to start making a program super-quick might be to utilize some software that is already installed on a computer, often pre-installed as part of an operating system. What options pre-exist will naturally vary between different types of computers.
For instance, OpenBSD typically comes bundled with PERL, while that is not typically pre-bundled with Microsoft Windows operating systems.
Here is some information about some of the options for some popular platforms:
- Microsoft Windows Pre-Built Options
-
Some options may include:
- Windows Script Host
-
andCScript
are programs that can run programs written in supported languages. It was true, and may still be, that default supported languages include JScript and VBScript. PERL is another language that can probably be supported when the right add-on software is added.WScript
(More related information may be at: WSH: Windows Script(ing) Host.)
(more info may be added here later...)
- .NET
-
There may be multiple options that enable creating some programs using C#, Visual Basic, and/or Java.
It is recommended to consider whether using .NET is worth the costs. For instance, the .NET standard may be a bit less easily ported to some platforms. While .NET may now be supported under Linux-based operating systems, is it available for BSD-based systems, BSD, Android, iOS, and/or OSX? Using more standardized code may result in some more flexibility.
To see what is available, try looking under C:\Windows\Microsoft.NET\Framework\ (or
%windir%
\ instead of C:\Windows\ if you are using a less common setup).From there, see which sub-directories have any ??c.exe files in it.
For example, on a Windows 10 system, directories included v1.0.3705 and v1.1.4322 and v3.0 which did not have a csc.exe file, but the following files did exist:
-
v2.0.50727\
csc.exe -
v2.0.50727\
jsc.exe -
v2.0.50727\
vbc.exe -
v3.5\
csc.exe -
v3.5\
vbc.exe -
v3.5\
csc.exe -
v3.5\
vbc.exe -
v4.0.30319\
csc.exe -
v4.0.30319\
jsc.exe -
v4.0.30319\
vbc.exe
On the same system (perhaps after installing a .NET SDK of some sort) there was:
C:\Program Files\dotnet\sdk\3.1.411\FSharp\
fsc.exe- Sample Using C#
-
Make a hello.cs file which says:
using System;
// C# program to print Hello World!
class AnyName
// Class declaration, using whatever custom name you like
{
//optional:instead: static void Main(string[] args)
//optional:then run return;
}
(The above is a slightly-simplified version of the sample code at GeeksForGeeks.org: Hello World in C#)
Then you may be able to run something like:
/?C:\Windows\Microsoft.NET\Framework\v2.0.50727\
csc.exe
/nologoC:\Windows\Microsoft.NET\Framework\v2.0.50727\
csc.exehello.cs
dir
hello.exe
-
- PowerShell
- (more info may be added here later...)
- Batch
- (more info may be added here later...)
Adding Coding Environments
- Adding Coding Environments to Microsoft Windows
-
- Busybox for Microsoft Windows
-
While “Windows Subsystem for Linux” may be installed with some software that comes with the operating system, it is notably larger than Busybox for Microsoft Windows, and the capabilities have changed (so systems running older code might be lacking a number of features). At least the first versions of WSL were marked as experimental.
However, if you want an environment that provides compatibility with a shell with compatibility with numerous programs that help to provide a “Unix” feel, check out Busybox for Microsoft Windows. In a single executable file which, as of the year 2020, was a little over half a megabyte and provided support for approximately 170 commands, numerous available features include the following (and quite a bit more)...
the basic “Bourne Shell” (see “
”) and the popular “Bourne Again Shell” (see “ash
”), numerous Userland software (likebash
,ls
,cp
,rm
,mkdir
,rmdir
,cut
,grep
,less
,sort
, some other very popular software (dd
,sed
,awk
), and even some data archive/compression software (vi
,tar
,bzip2
, and a version ofgzip
which decompresses but doesn't compress),xz
and othersha512sum
commands, and even some networking software (*
sum
(not supporting HTTPS or CGI),httpd
(Netcat),nc
,wget
,ftpget
).ftpput
- WSL
-
This likely provides some options. More details may be added here later.
- AHK
-
Some people may not consider this to be a “serious” programming language, but it is arguably quick to install, easy (involving a learning curve which isn't extremely high), and certainly can be useful in some situations.
- [#mingwins]: MinGW (Installation)
-
For details about MinGW, see: “coding” section, sub-section about “MinGW”.
Note that there may be some different variations. Before proceeding to install a variation of MinGW, know that you may have some cause to be choosy about which MinGW variation to be using. For instance, after Johannes Peter's “Installing clang++ to compile and link on Windows” (article from September 2015) Part 1 (of 3), the next page, Johannes Peter's “Installing clang++ to compile and link on Windows” (article from September 2015) Part 2, points out instructions to download is a guide that may be too outdated to be generally recommended (providing details about some older software versions). However, that guide did point out instructions to install the 64-bit variation with support for Posix Threads and Structured Exception Handling (“SEH”). (Using the Posix Thread model is apparently a variation that is different from using the Win32 Thread Model.) This can be obtained from MinGW-w64: Toolchains targetting Win64: Personal Builds, MinGW Builds, and choosing a version number, and choosing options related to POSIX and Structured Exception Handling (“SEH”).
https://glizda.wordpress.com/2021/05/19/compiling-programs-for-windows-95-and-pentium-in-2021/ indicated that MinGW created executable files more compatibly than MinGW-w64.
Here is a process. This isn't to necessarily saying that this is the only process.
- Getting the installer
-
- Getting the “7-Zipped” file
-
- Go to SF.net: MinGW-w64 Toolchains targetting Win64, Personal MinGW Builds, and then
-
Download the file, by:
-
Either finding the text “x84_64-posix-seh” (which may be easier to find using the Ctrl-F keystroke combination supported by many web browsers).
- Note: The first occurrence may be a hyperlink to the x86_64-posix-seh variation of the latest version of the software, but other versions may also show up on the web page so you may wish to be at least just a tiny tad bit careful here...
- or: Find the file a bit more manually, by choosing the version number and then choosing “threads-posix” and then “seh”.
-
Either finding the text “x84_64-posix-seh” (which may be easier to find using the Ctrl-F keystroke combination supported by many web browsers).
When checked on 2022-July-8, the latest version of MinGW-w64 under https://www.mingw-w64.org/downloads/ had version 12.1 released.
- Rename the downloaded file
-
The website is likely to recommend that the web browser store the downloaded file with a name like “x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z”. If you may keep this file, and prefer not to wonder what this is months later, you may wish to rename it to something more identifying, like the even longer name of “mingw-w64_x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z”.
- Extract the file
-
(Some software from http://7-zip.org can help with this. An executable file from Freeexe may also assist.)
- Install
- Post-installation
-
- (This might only apply if installing MinGW after LLVM and wanting to use LLVM?)
- get setgcc64.bat and setgcc32.bat (make them if needed, see: http://blog.johannesmp.com/2015/09/01/installing-clang-on-windows-pt2/ and right-click on the "view raw" hyperlinks. With Google Chrome, would then choose "Save lin_k_ as".)
- Run that batch file as needed