4 ms·
I agree with most of what you said, but Go is not a scripting language. The defining characteristic of scripts is that they are interpreted. Go compiles ahead o
by dcposch 12y ago
I agree with most of what you said, but Go is not a scripting language. The defining characteristic of scripts is that they are interpreted. Go compiles ahead of time to a statically linked binary.
- jerf 12y ago"Scripts are interpreted" is a bit 1990s; as the Scripting 1.0 languages have tried to squeeze every last bit of performance out of the constraints they labor under this is less true than it used to be. And more to the point, rather than a binary distinction like you could have claimed in 1995, it's much, much more a continuum now, and with computers running a bazillion times faster, much less important. I'm not that worried about applying a useless criterion to languages that dates from an era whose desktop computers would aspire to keep up with a low-end 'feature' phone.
- laumars 12y agoI think the former poster meant that scripts are JIT compiled rather than interpreted. But either way, with scripting languages, you redistribute the source code. With AOT compiled languages such as Go and Rust, you redistribute the binary (albeit some will always prefer to compile on the target PC). That's not to say that I think Go and Rust are the same classification of languages though. I think "scripting vs compiled" is an overly simplistic view. Go compares better against the byte-code AOT compiled languages such as C# and Java. These kind of languages are also seen in some traditionally scripting-dominated markets (eg web development) while still being used as systems languages as well.
- Xixi 12y agoScripting language doesn't imply at all "interpreted". Otherwise you would just say that: interpreted. "Scripting language" denotes a strong tie between a system and the language used to script it. In other words you will often have to use a given scripting language because it is the interface to the system you want to script. We should really always say: "scripting language of X". "Fortran and Cobol were the scripting languages of early IBM mainframes. C was the scripting language of Unix, and so, later, was Perl. Tcl is the scripting language of Tk. Java and Javascript are intended to be the scripting languages of web browsers." (from Being popular, http://www.paulgraham.com/popular.html http://www.paulgraham.com/popular.html)