Maybe freestanding programs, but what about hosted programs? There is definitely an expectation of some basic facilities available to your code.
There is a very useful kernel module which does nothing but allocate some memory. That's all it does.:)
Yes, and in the case of kernel modules, there's a part of the kernel that acts as a substitute for a runtime you'd expect available for user-space programs. Surely the allocation, for example, is not performed by means of some magical CPU instruction that knows all the right things to do so that other modules know about the allocation.
Runtime is the thing that your programs need to perform the most basic operations that most or all programs written in the language in question always need to do. By necessity, that involves things that form a part of the standard library.
Julia has generic functions, which are pretty much the CLOS superset of the single dispatch model at heart of Smalltalk-inspired OO languages. Is that why you're confused?
Nah, C# with they yield style of automatically doing multi-threading
I know next to nothing about C#, but I was under the impression that this was a concurrency mechanism - basically a control flow construct - not a parallelism feature. Did something change?
But for a 200,000+ line project written by a team, with coders coming and going during the project, Python is a very poor choice. "Quick and easy" doesn't scale. For big projects you need rigid type checking, complex data structures, fine tuned encapsulation, compile time error checking, static and dynamic analysis, verifiable memory allocation and release, etc. C++ has all of that, Python does not.
C++ definitely lacks "rigid type checking" and "compile time error checking" in any practical sense, otherwise people would not be hunting (or exploiting) memory errors in C++ code all the time, since these features (actually present in languages like Ada or Modula or Oberon) would strictly prevent them. Whether Python lacks "complex data structures" is debatable; if you're referring to standard library deficiencies, you may be right, but nothing prevents you from implementing anything you want.
Scripting languages, basically do not do threading, of any kind, at all. They're too slow to synchronize across threads, which makes invoking threads inside them fruitless
Bullshit. You CAN do asynchronously loading of assets with JavaScript.
Asynchronous and multithreaded programming are two different things. Concurrency is NOT the same thing as parallelism.
The common meaning of the word "environment" implies that "runtime" includes "runtime envuronment", as in the *environment* (set of objects or bindings) available at program's *run time*. If the environment is null, then there's no runtime enviroment, but that is mostly not the case even with C programs.
"Intelligence" may very well involve just using environments that can figure out themselves what to compile, and when. (And don't need to be spoon-fed like C compilers.)
"Zero-G.I.s"?
Make Astronauts Get Armaments?
It is...if you are Russian!
I have asked a simple question about reversing characters in a string in place (no copying to a new string)
But UTF-8 and Unicode make it a distinctly non-simple question. Or did you restrict the question to ISO-8859-1 only?
I guess the problem is that not all "characters" are actually characters these days.
You're supposed to have already seen this a looong time ago. The fact that you haven't is not my problem.
So is a computer more than the sum of its transistors. Uhh...checkmate St Augustine, I guess?
Non sequitur? How do you jump from potential communication to causing cancer?
Different people have different definitions
Buuuulshit. Words mean what they mean. *Especially* technical words.
Correctly reversing an UTF-8 string with combining diacritical marks and embedded RTL substrings and other features could be quite fun, though.
Junk DNA is features like YES-OR-NO-P or the ~R/~:R/~@R/~:@R formatting directives.
Only for standalone programs, though
Maybe freestanding programs, but what about hosted programs? There is definitely an expectation of some basic facilities available to your code.
There is a very useful kernel module which does nothing but allocate some memory. That's all it does. :)
Yes, and in the case of kernel modules, there's a part of the kernel that acts as a substitute for a runtime you'd expect available for user-space programs. Surely the allocation, for example, is not performed by means of some magical CPU instruction that knows all the right things to do so that other modules know about the allocation.
Runtime is the thing that your programs need to perform the most basic operations that most or all programs written in the language in question always need to do. By necessity, that involves things that form a part of the standard library.
Self 91/93 did that long before LLVM, though.
Julia has generic functions, which are pretty much the CLOS superset of the single dispatch model at heart of Smalltalk-inspired OO languages. Is that why you're confused?
...seriously?
So the rest of the program is expected to bring its own runtime and OS interface?
Nah, C# with they yield style of automatically doing multi-threading
I know next to nothing about C#, but I was under the impression that this was a concurrency mechanism - basically a control flow construct - not a parallelism feature. Did something change?
I have one character for you ")"
That's not a character, that's a SIMPLE-STRING of length 1. ;)
C++ doesn't have them by default either. Not much difference here.
But for a 200,000+ line project written by a team, with coders coming and going during the project, Python is a very poor choice. "Quick and easy" doesn't scale. For big projects you need rigid type checking, complex data structures, fine tuned encapsulation, compile time error checking, static and dynamic analysis, verifiable memory allocation and release, etc. C++ has all of that, Python does not.
C++ definitely lacks "rigid type checking" and "compile time error checking" in any practical sense, otherwise people would not be hunting (or exploiting) memory errors in C++ code all the time, since these features (actually present in languages like Ada or Modula or Oberon) would strictly prevent them. Whether Python lacks "complex data structures" is debatable; if you're referring to standard library deficiencies, you may be right, but nothing prevents you from implementing anything you want.
Scripting languages, basically do not do threading, of any kind, at all. They're too slow to synchronize across threads, which makes invoking threads inside them fruitless
Bullshit. You CAN do asynchronously loading of assets with JavaScript.
Asynchronous and multithreaded programming are two different things. Concurrency is NOT the same thing as parallelism.
The common meaning of the word "environment" implies that "runtime" includes "runtime envuronment", as in the *environment* (set of objects or bindings) available at program's *run time*. If the environment is null, then there's no runtime enviroment, but that is mostly not the case even with C programs.
Norvig doesn't laugh.
"Intelligence" may very well involve just using environments that can figure out themselves what to compile, and when. (And don't need to be spoon-fed like C compilers.)