Talking with Machines: Computer Programming as Language
The proliferation of different types of computing machines in the 1950s enabled—or perhaps forced—the creation of programming languages.
By: Danny Robb
New Blog Post. It is about my ISTE (international society of technology in education) RFP to present. I'd love it if people would look at my proposal and see if I have any mistakes. Also, I have a new friend. Alonso Martinez. He works at Google AI and is an artist. I recommended him to present a keynote at ISTE.
http://edtechman.blogspot.com/2023/09/iste-proposal-and-alonso-martinez.html
@donwatkins @funnymonkey @mguhlin @philshapiro @hlseward
@education @edutooters @FrankKruse
@scerruti @[email protected] #ISTE #education #Pixar #Google #AI #coding #computer_programming #teaching #learning #Python #turtle #papert #syntax #opensource #open_source
Python has a lot of libraries available, but not nearly as many as either R or MATLAB.
Julia, being the newcomer, has the fewest libraries by far.
So in terms of libraries, Julia is worst, followed by Python and MATLAB, with R the best.
Overall, there are many steps, complexities and assumptions made during hot code upgrades, which is ultimately why they are not provided by Elixir out of the box. However, hot code upgrades can still be achieved by teams who desire to implement those steps on top of mix release in their projects or as separate libraries.
Erlang and Elixir are sometimes known for the capability of upgrading a node that is running in production without shutting down that node. However, this feature is not supported out of the box by Elixir releases.
Releases are well integrated with umbrella projects, allowing you to release one or more subsets of your umbrella children. The only difference between performing a release in the umbrella project compared to a regular application is that umbrellas require you to explicitly list your release and the starting point for each release.
Releases also supports custom mechanisms, called config providers, to load any sort of runtime configuration to the system while it boots. For instance, if you need to access a vault or load configuration from a JSON file, it can be achieved with config providers. The runtime configuration outlined in the previous section, which is handled by the Config.Reader provider. See the Config.Provider module for more information and more examples.
In order for runtime configuration to work properly (as well as any other "Config provider" as defined next), it needs to be able to persist the newly computed configuration to disk. The computed config file will be written to "tmp" directory inside the release every time the system boots. You can configure the "tmp" directory by setting the RELEASE_TMP environment variable, either explicitly or inside your releases/RELEASE_VSN/env.sh (or env.bat on Windows).
You can change the path to the runtime configuration file by setting :runtime_config_path inside each release configuration. This path is resolved at build time as the given configuration file is always copied to inside the release.