-
Test driven development is a beast to tame. I like TDD but in the past it was quite difficult to achive, at least in a pure-consultant approach with a "turn key" framework behind.
There are two major concept often not grasped correctly.
Read More -
Modern computer are very very very fast. C/64 was about 1Mhz and you can hangs it just throwing a 10.000 cycle in interpreted BASIC v2 language.
Slowest computer today are clocked 3Ghz (3000Mhz!) and are super scalar: it means they can usually execute 2 or more instructions per core in parallel, and you get at least 2 cores on the tiny one (RasperryPi2 has 4 ARM cores, for instance). The sow Intel centrino has at least 2 ALU and can execute between one and two instruction in parallel (mostly arithmetic one).
Read More -
On these days I stumbled upon Forth, a 1970 programming language which is quite similar to HP48 internal programming language.
Like the HP48 language, Forth uses RPN, it is stack based and have some success for being tiny and easy to implement.
For a 6502 Forth compiler you can refer to https://github.com/piotr-wiszowaty/foco65
Read More -
I think constants are evil (just joking but….I will explain why).
I am tired of seeing a lot of Java classes filled with the same constants repeated over and over again, instead of collecting them in a common file, which in C Language was called include files (ooooah!).
Read More -
I have done a quick peek of the Rust Programming language: it is very popular on Internet, it rivals with Go on the popularity score.
Anyway, I find it too much “Haskell-like”, with heavy rules and concept.
-
Source: GraalVMGraalVM is a universal virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Kotli
n, Clojure, and LLVM-based languages such as C and C++.GraalVM removes the isolation between programming languages and enables interoperability in a shared runtime. It can run either standalone or in the context of OpenJDK, Node.js, Oracle Database, or MySQL.
Read More -
In the 1980 comments were used to reduce the “gap” between unstructured code and “rationale” behind the code.
- C/64 Peek and poke where oscure.
- Gosub on function pointed by numbers was bad
- 8-bit systems was tight on command names and so on (think to write a python interpreter in Arduino/bbc:Micro, or look at the memory consumed by the COMMAND STRINGS on C/64 Basic v2)
- C code was not expressive, but good code required little comment, as you can see here
- Comment obscure code -> instead of writing it better
- Comment caching code you will end up to commit breaking production ->instead of having a cache config to disable cache on dev machines
- Comment not working code will end up in production, producing functional breaks -> because you will forget it and commit the bad version
@Comment("Documentation of this class/method/function/closure") @Fixme("Reason") @Todo("Why", deadline=20230423)
Read More -
OOP is the your new legacy
Dec 19, 2016 · 2 min read ·
Today I took a light rail with my son, to bring him to school. That tram is 90 years old. It has been maintained for 90 years. Milan city sold some of them to San Francisco too.
Read More -
Erlang: a lesson to learn…again!
Jun 25, 2015 · 5 min read ·Erlang is a great language.
[2019-UPDATE] Erlang 22 is OUT, so I wanna to come to the party!
On April 2015, Erlang father’s Joe Armstrong give us a very interesting lesson I want to tell about.
There was a long thread titled “Erlang and Akka, The Sequel” on the erlang mailing list, reasoning about the need of some standard pattern on Promises and Future. A lot of JavaScript libraries deal about that (also jQuery has its implementation). I want to report the Joe Amstrong reply because it give us a very clear understanding on the reason Erlang is different and you should at least try it once.
Read More -
Tool Command Language: il papa’ di Java
Dec 21, 2012 · 5 min read ·In particolatre Tcl 8.6 introduce un motore “stackless”, integra nel linguaggio le estensioni OOP, ed aggiunge le coroutine.
Parliamo quindi diffusamente di Tcl, un linuaggio che ho sempre trascurato perché mi sembrava macchinoso e un po’ brutto/fatto male…ma mi sono dovuto ricredere.
Read More -
And so Java, the old old King is still alive.
After Scala, Clojure, NodeJS, and Dart, a new hero is knocking to its castle: Eclipse Xtend
Will he succeed? Hard to Say, but Xtend is very similar to CoffeScript: Xtend simplifies writing Java code, but it doesn’t aim take the grab the crown with a night ambush to the King’s IDE.
Read More -
I like a lot of programming languages. I do not love them with the same intensity.
I do not love Lisp for its ((syntax))), but Lisp rocks for its purity: in a tiny bag of concept, you get a lot of stuff.
This article, (How to Write a (Lisp) Interpreter (in Python)) show you how it is easy to write a lisp interpreter in python. It is 113 lines of code, and include the parser the executor and the basic functions to get started.
Read More -
Dart Sith move first
Oct 13, 2011 · 3 min read ·
So Dart Sith has just launched his first DeathStar, my young JavaScript fellow: a site devoted to the Dart language
Because I am a very old Jedi (1974, before ever the first WtartWars trilogy showdown) I had to rest a bit before talking about it, so the news is 4-days old I know. I needed to think, reflect and write down: but now I am ready, Read on…
Read More -
Be strong young Jedi. This war will begin shortly. You can try to keep you jdk under your pillow, but the html5 will hit you in the middle of the night. And a knife in the dark will rise from shadow: JavaScript
Read More -
This is the second article on functional programming. In the first one we talked about scala and the type inference system it brings in the Java Way of Life.
I played a bit with python functional howto, building a small game. Before starting I surfing for a bit of libraries and documentation.
Read More