In My Opinion, Source Code Should'nt *Need* to be Compiled to binary in order to run.

9 replies [Last post]
cochranizer
Offline
Joined: 12/03/2017

In one article about RMS I read in a GNU/Linux magazine, I had read that during his early days computing, there was no such thing as compilers, or binaries, etc. If you had the source code, you would run it into the computer, and it would run just fine, or with errors if you're still working on it. This is how the TI-83 would run programs, and this is how BASH would run programs. Plain and simple. But then Microsoft and Apple started inventing "compilers" to make things very complex, thus the rise of proprietary garbage.

Honestly this very concept is the reason why I am constantly seeking shell scripts, batch scripts, etc, and other compiler-less interpreters and code for that.

onpon4
Offline
Joined: 05/30/2012

Compilers were not invented to make things complex. Compilers exist to enable easier programming without a substantial loss of speed. They also weren't invented by Apple or Microsoft.

And you're wrong about the past. Every computer understands only a sequence of 1s and 0s. Even Assembly is an abstraction of this.

But if you want to use an OS written entirely in assembly, and thus tie yourself to one particular platform (note the story RMS tells about the death of the hacker community along with the only hardware their software worked on), go ahead.

jxself
Offline
Joined: 09/13/2010

"Honestly this very concept is the reason why I am constantly seeking shell scripts, batch scripts, etc, and other compiler-less interpreters and code for that."

And what do you suppose to the BASH interpreter is? A binary! Oh, the irony.

loldier
Offline
Joined: 02/17/2016

Compilers were introduced when they moved over to higher programming languages away from instructions that talked with the hardware directly.

UNIX was one of the first portable hardware independent platforms.

Before UNIX was a thing, they would need a new operating system every time the hardware architecture changed. Everything had to be started from scratch all over again.

nadebula.1984
Offline
Joined: 05/01/2018

If this is what the magazine you read says, trash the magazine and study the basic principles of computing from the beginning.

cochranizer
Offline
Joined: 12/03/2017

Okay, so it seems that last night I was posting what I was TRYING to recall from the article. First off, I don't remember which article I read, and which magazine it came from. So I give you credit for pointing that out.

Also, I was EXTREMELY tired when I wrote this, so sorry about my assumption that MS and Apple invented compilers.

But my main point I was REALLY trying to make was that if Free Software is supposed to be modified, then hackers shouldn't have to strain their eyes editing large binary code. EDIT: Unless if the hacker finds it fun to do.

jxself
Offline
Joined: 09/13/2010

The first compiler was in 1951: https://en.wikipedia.org/wiki/History_of_compiler_construction#First_compilers
Apple and Microsoft didn't even exist.

Also, there is a practical benefit to compiling: interpreted things run more slowly than things compiled into native machine language. To work around this, some interpreters will actually compile the code they're running. This is called "just-in-time compilation": https://en.wikipedia.org/wiki/Just-in-time_compilation So, depending on the interpreter, you may end up with compiling happening anyway. So: Ha! :)

"But my main point I was REALLY trying to make was that if Free Software is supposed to be modified, then hackers shouldn't have to strain their eyes editing large binary code."

Yeah, people don't generally do that. I'm not sure why you would think they would. People usually edit the source code (and then recompile if it's a compiled thing.) In fact, availability of the source code is a prerequisite to be free software in the first place. See freedoms 1 and 3 at https://www.gnu.org/philosophy/free-sw.html

"In order for freedoms 1 and 3 (the freedom to make changes and the freedom to publish the changed versions) to be meaningful, you must have access to the source code of the program. Therefore, accessibility of source code is a necessary condition for free software. Obfuscated "source code”"is not real source code and does not count as source code."

So if there's only a binary and no source code then it's automatically non-free, regardless of what the license might say.

cochranizer
Offline
Joined: 12/03/2017

>So if there's only a binary and no source code then it's automatically non-free, regardless of what the license might say.

Well, the good news is...my JC-DOS is just the AUTOEXEC.BAT and HELP.BAT files, and you could access FreeDOS's source code anywhere. So it's automatically free. :D

gd_scania
Offline
Joined: 09/13/2017

So that's just why Qt5-WebEngine is still blacklisted against Parabola, in short it's dependent on "Pepper" Flash plugin that's obviously no sources, but also nonfree services recommendations (no sources available, esp from Google) those are also found in Chromium. Fortunately Qt5-WebEngine uses free cores that's in fact just semi-nonfree, hence to be liberated by removing these nonfree deps. The free cores of Qt5-WebEngine are Qt5 and WebKit, in fact the core behind Google Chromium, Blink web engine, is also a WebKit fork, but dependent on nonfree Google services, so remaining semi-nonfree.

gd_scania
Offline
Joined: 09/13/2017

Yes being dependent on bins you're somewhat passive that you must trust free software only vendors like Parabola and Trisquel and GuixSD, in short bins are not to be easily amended. You should mostly go to their sources and their official websites to try to build them from sourcs.
In contrary, by installing sth from source using certain git services then you're free to liberate anything (w/o waiting for bins packagers) then upload as your new project using certain git services. :)