Please note that everything written below is just my personal observations, reasoning and conclusions. It may be useful to you, but do not consider it at as verified knowledge source, as information here may be incomplete or mistaken.
How did I come to this?
I’ve spent last 5 years working a java developer (trainee, junior, mid) and although I definitely didn’t reach any significant hights in my career I feel that I need something else to try. Java is great language. I really like a lot of language features and huge variety of applications for it, enormous amount of books/documentation/articles/frameworks, but I’m kinda tired of facing all the same tasks again and again. All of them usually boil down to gluing together frameworks and polishing rough solution with best practices until it shines.
That’s why I want a little bit more of “pure” programming. I want to be a software engineer, not just a java coder. I want to recall some fundamentals I’ve learned in the past and hopefully something new, to see other paradigms, approaches, workflows, pros and cons and so on. And one of the ways to “breath in” something new is to learn new programming language, and that’s what I’d like to do.
Well, frankly saying it was partially a blind choice. But only partially, as there were other reasons:
- It’s quite popular. Probably less than Java, but still it would be nice to have it in my resume.
- Comparing to Java it seemed not too different(like Lisp) and not too similar(like Scala), though providing something I wanted to try, like weak typing or using interpreted language.
- As far as I know Python shines in a little bit different tasks, like machine learning. Not like I’m ready to be an expert in this, but this sounds promising.
I’ve already wrote intro post for this blog, but this one seems to me very much like first one, except this one is less philosophical. I would say that it’s intro to technical branch, to understand myself a little bit better and figure out what I’m going to write here. My plan is to make a review of small (or not) parts of information I’ve learned. Hopefully it will let me understand this information better and deeper, will simplify process of recalling something I forgot, but I would be glad if it would help someone else.