smalltalk
Tips for making the most of 64-bit architectures in langage design, libraries or garbage collection
Sonntag, Benoît, Colnet, Dominique
The 64-bit architectures that have become standard today offer unprecedented low-level programming possibilities. For the first time in the history of computing, the size of address registers far exceeded the physical capacity of their bus.After a brief reminder of the possibilities offered by the small size of addresses compared to the available 64 bits,we develop three concrete examples of how the vacant bits of these registers can be used.Among these examples, two of them concern the implementation of a library for a new statically typed programming language.Firstly, the implementation of multi-precision integers, with the aim of improving performance in terms of both calculation speed and RAM savings.The second example focuses on the library's handling of UTF-8 character strings.Here, the idea is to make indexing easier by ignoring the physical size of each UTF-8 characters.Finally, the third example is a possible enhancement of garbage collectors, in particular the mark \& sweep for the object marking phase.
What is Artificial Intelligence? Definition, History and Types - projectcubicle
Artificial intelligence (AI) is the practice of simulating of human intelligence in machines that are coded to think like people with the help of software tools. The concept is applicable to any type of machine that demonstrates skills related to human mind. Simply put, Artificial Intelligence (AI) is a way of associating features such as learning, motion, creativity, reasoning, social intelligence, etc. that human beings possess with a computer or a computer-controlled robot. Designing a computer, robots, and computer software are the outcomes of the term "Artificial Intelligence". It is achieved by working on the human brain and examining the process of brain cognition.
Motivation
The user experiences of functional programming languages sucks. No doubt, this is a sad but true story for most functional programming (FP) languages. I personally thought that FP languages like Haskell offers a very unified and pure programming concepts (i.e. However, Haskell syntax is a mess (take a look at the grammar), there are a lot of edge cases (e.g. Of course this problem is not only limited to Haskell, similar problems can also be found in other FP languages like Erlang, F#, OCaml etc.
Object Detection with TensorFlow and Smalltalk
In a previous post we saw basic object recognition in images using Google's TensorFlow library from Smalltalk. This post will walk you step by step through the process of using a pre-trained model to detect objects in an image. It may also catch your attention that we are doing this from VASmalltalk rather than Python. Check out the previous post to see why I believe Smalltalk could be a great choice for doing Machine Learning. We provide a collection of detection models pre-trained on the COCO dataset, the Kitti dataset, the Open Images dataset, the AVA v2.1 dataset and the iNaturalist Species Detection Dataset. These models can be useful for out-of-the-box inference if you are interested in categories already in those datasets.
Recognizing objects in images with TensorFlow and Smalltalk
In this post, I will be showing a simple example of object recognition in images using the TensorFlow library from Smalltalk. Whenever you start entering the world of AI and Machine Learning you will notice immediately that Python has been widely accepted as the "default" programming language for these topics. I am not against Python and I believe that people are using it for a reason. However, I do believe that providing alternatives is a good thing, too. And Smalltalk could be that alternative you are looking for.
The Quest to Make Code Work Like Biology Just Took A Big Step
In the early 1970s, at Silicon Valley's Xerox PARC, Alan Kay envisioned computer software as something akin to a biological system, a vast collection of small cells that could communicate via simple messages. Each cell would perform its own discrete task. But in communicating with the rest, it would form a more complex whole. "This is an almost foolproof way of operating," Kay once told me. Computer programmers could build something large by focusing on something small.