March 08, 2018
I’m going to give Safari a try as my default browser for a while. Chrome is a little bit weird at the moment, Firefox is fine, but the memory usage is ridiculous and it looks like shit.
What are the programming languages I’m interested in, or are using in
Python, Node and C# are my go to languages when I’m going to write a backend. What I’m going with depends on a number of factors. But I mostly go with Python and Django for personal stuff, because I know it so well and I think it is a lot of fun to work with. I often go with Node if I’m going to write something small and single purpose, because of how small and fast it is. And I think C# and .NET Core is a great option when you want the safety of a strong type system.
For basic scripting my go to tools bare shell scripting and Python. I use plain shell scripting when I just want to build an abstraction for some complex commands or series of commands, and I got with Python for anything more complex.
I’m digging more and more into Swift as I’m getting serious about native App Development again. I like it a lot. And I enjoy it way more than I ever did with Objective-C. The strong type system makes it a lot easier to catch stuff under development time. But I’m not a huge fan of Xcode.
Knowing how to use plain SQL is the smartest thing I ever did. It was the second real programming thing I learnt, after PHP. It is a fantastic tool to have in your tool belt for when you need to run plain sql to fix stuff, read stuff straight out of the database or to clean stuff up. Or even if you don’t want to introduce a ORM to your project.
LISP. I have developed a real interest in LISP and Scheme over the last year and a half. And I love how elegant and fun it is. I use it all the time to extend Emacs / Spacemacs.
What are the languages I’m going to look into in 2018:
ReasonML. I’m going to play around with this on some small front end projects. And I might introduce it at work if I like what I see.
LISP. I’m probably going to play a lot more with emacs lisp and chicken scheme. Because the elegance is too much fun
If I find the time I’m also going to take a look at GoLang
I fucking hate working form home when there are other people here.
Editing files with Emacs and Tramp over SSH is freaking awesome. Where have this been my whole life?
Awesome Clojure book I’ve been reading for the last few days : Clojure for the brave and true
I’ve changed the Overcast playback settings back to 1x, after using the max playback speeds for years.
Why? I’m trying to be more intentional on what I do and how I do it this year.
When you choose what programming languages to use for your project you should take in to consideration if developer productivity or reliability is more important.
For example if I develop the backend in Python and Django I’m much more productive, but if I use a programming language such as Java or C# I get a much stronger type system, which are catching more potential problems during compile time (if you are using it correct).
Having a strong type system can help you a lot, which means that it helps you to make sure that you don’t add a number to a string variable. But that means that you need to use more time declaring what type a variable has. But on the other side you often have to add more code to make sure that your data structures have the correct content in dynamic languages like Python.
And having a strong type system is also very helpful when you refactor code.
On the other hand, languages like Python often requires far less code than C# does.
It doesn’t matter that much on the end result, but my experience is that having solid automated tests are very important when you use dynamic languages. And I think there are something very comforting about letting the compiler doing the first round of validation.
This is by the way one of the big advantages of using Swift instead of Objective C.