Sunday, 20 July 2014

Switching primary languages

Im on a roll here, three posts in one day, I have decided its time I switched primary launguage. I spent the eighties writting assembler and "C", the ninties writting "C++", and most of the noughties writting "PHP", so im due for another switch.

I have been looking at "go" the new systems language from google, and it meets all my needs, the depth and breadth of "C", the capabilities of "C++" and the rapid workflow i associate with "PHP". Im definatly going to have a long learning curve getting up to speed on it, so I have decided to set myself a task that I can start working towards and a schedule of two years with a prototype and then implememtation phase. I fully expect to throw all my initial work away and reimplement it properly once i know what I am doing.

The Task I have set myself is to build a 3D printer slicer and firmware set suitable for executing in an embeddeable computer. I will have to learn a bunch of techniques, but I have the required background and skills, for the last two years I have been building and operating 3d printers, and in the late 90's I specialised in building Postscript raster image processors for custom printers. At a push I can even build hardaware, im planning to initialy use  a small ARM board like a beagleboard black or one of the new Raspberry Pi's with the enhanced GPIO. But thats a choice I dont have to make yet. I want to abstract the higher level layers into a set of libraries, and leave the low level driver stages until I have a target built.

Im using the community version of the Jetbrains IDEA editor as my dev env, with the golang plugin which works really well, and is extreemly easy for me to use as I use thier PHPStorm Editor for all my PHP work, and the two are very simular. Im just looking at other tools now like dependancy managers, package managers and unitesting frameworks.

It will be fun, I am so looking forward to this.

Posted via Blogaway

1 comment:

Anonymous said...

Hello I am also interested in building a slicer in golang, have you already started out the project on github ? If so, do you have a link ?
Thank you.