Skip to content

nodrygo/GoClock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

splash image

GoClock

another clock in Golang
only tested on Linux Mint 19 64b

mouse Button 3 open POPUP menu

Goal

check complexity against other same clocks I have wrote in Racket Clock and Julia Clock

Go is a very basic and archaic language compared to Racket and Julia
Julia is a very good language and Luxor is a great help where Go need basic Cairo API
Racket is easy to write (event when not using htdp)
Racket come with everything include and with very good portability

DOC

Julia and Racket come with excellent DOC well integrated in IDE (little plus for Julia/Atom)
Go have good doc but most of modules are juste basic API desc.

REFACTORING and Source referencing

Julia and Racket are excellent (little plus for Julia/Atom)
Go with LiteIDE limited (not Tested Visual studio/Go)

Compilation AOT

Julia is very very slow to compile and the binaries are very big (>300Mo) including lot of shared lib
Julia start time is slow Julia portability between same OS but different processor seem problematic julia Gtk not well finished, my integration of Luxor in Gtk is ugly hack

Racket is slow to compile and binary size is correct (~18Mo) with required shared lib on linux
Racket start time is good
Racket portability on Windows is very easy and you can create full autonomous exe including everything

Go portability: not easy to install and distribute on Windows (see all bin.zip dll needed)
Go is fast to compile and binary size is correct (~16Mo Linux 24Mo Windows)
Go start time is fast
Go Gtk I have used gotk3 good but need more demos ;-)
Go not tested cross compilation Go provide full stand alone program with no need for shared lib for pure Go program

my TOOLS

for Julia I use Atom : excellent with Julia
for Racket I use DrRacket : good
for Go I use LiteIDE X : not so bad (better than Atom/Go in my point)

Conclusion

As a pleasant language I prefer largely Julia just followed by Racket (and Common Lisp)
Go is very basic language with no REPL, no Live code
Go error handle is very very anoying and too much verbose Go func does not permit keys parameters (except bad trick with Map)
Go have not Macros
Go by construct is not functional and I love functional programming ;-)

for portability Racket is the best one, no need to struggle for installation everything come from installation including Gui

but for tools chain, building, compilation AOT I prefer Go

Go use the less memory ~40Mo and is the fastest
Racket compiled run with ~ 160Mo memory
Julia run need ~300Mo of memory

Will try to rewrite another with the promising V when ui avalaible ;-)

TO DO

change alarm sound set duration for alarm

Releases

No releases published

Packages

No packages published

Languages