In the last few weeks that I’ve spent learning Scala I’ve discovered several amazing online resources. So much so that it made it difficult to justify purchasing a book, even though I did buy the much-recommended Programming in Scala title. Every time I needed help in figuring out how to do something, the following websites were indispensable.
Some of these sites are no longer active, but the information they provide is still very much relevant to new and experienced Scala programmers. Continue reading “The Best Scala Programming Resources”
I’ve been working a lot with Scala in the last few weeks. It is an amazing programming language, to say the least. It’s terse, intuitive, unambiguous. And a real treat when you want to do stuff. It’s the programming language of the future. If only it would get more support and momentum going for it. Plus, the quantity of online resources available is just mind boggling.
Below are my N reasons why Scala is the best JVM language. Continue reading “Four reasons to try Scala and love it”
Coding exercises are one of the best ways to improve your programming skills. In recent weeks, I’ve done several exercises on a couple of online websites. Those being CodinGames and HackerRank; you can follow my progress here and here. Coding exercises are great for improving your coding skills. But it’s also a chance to spend time in minimising the code you generate.
I’ve been focusing on learning Scala, a JVM-based function programming language. It’s a magnificent language with a rich streaming library perfect for this sort of thing. But as anyone who has done any of these challenges, it often involves a lot of algebra. And sometimes trigonometry. Although I’m okay at assembling my own formulas for solving problems. But solving for x can sometimes be a tad challenging when the formula is a bit complex. Continue reading “Good programmers should have great math skills”
Ever wish you could test a snippet of code? Online. Like now! Or focus on improving an algorithm in isolation. Or have a moment of clarity and need to write a piece of code lickety-split. Yesterday, I found this online tool to do just that. That’s good for me, as I don’t have to create a whole new project in IntelliJ IDEA or use the CLI tools.
CodePad supports several of the most used programming languages. Unfortunately, it doesn’t support Haskell, a language I’d like to tackle this year. But for Scala, it’s really good.
The tool itself is easy to use and the compiler quick enough. In my case, I was using it to optimise a piece of Scala code to submit for an online coding exercise.
Learning to program in a new language can often be difficult. First, you have to learn the basics to code “Hello World”. Then comes the challenge of learning to use the advanced features. And finally, the challenge of using the language the way the creator had intended.
The challenge is finding exciting exercises and projects to tackle. Something big enough to sink your teeth in. Yet not so big that the challenge seems impossible. Continue reading “How to become the best mad skills programmer”
I find that anything worth learning should be done by jumping in head first. Then find something halfway challenging and go to it. Hence, this is how I went about learning Scala. I’ve recently learned to program in Groovy to develop Spock based unit tests. Groovy was the first JVM language I learned outside of Java. And being pleasantly surprised, I decided to try my hand at Scala.
Why I Chose Scala
My reasoning for wanting to learn Scala is to get into artificial intelligence without straying away from the JVM. I have played around with Python which I really liked. But embarking on Python would take me into a whole new ecosystem. And although I would love to get involved in Python and its data science tools, I think that long term Scala may be the better option. Continue reading “Why I decided to learn Scala”
It’s amazingly interesting what you learn when you’re in the throws of unit testing code. It particular when you’ve written more code than you’ve written unit tests. Yeah, yeah, I know, unit tests should be written with the code as you go; TDD. But let’s face it sometimes you just need to get stuff done. Until you get to the point where you think that now’s a good time to unit test everything.
I spent the whole afternoon, up until 11:30pm writing unit tests. Refactoring some code to make some of it easy to mock. And other parts I rewrote simply because it’s the right thing to do for OOP’s sake. It’s fun. Not everyone likes to unit test, but I love it. It gives me that satisfaction that my code is well written. Especially that feeling you get when you know the architecture you designed is solid. And the libraries you’ve chosen haven’t failed you. Plus learning something new about Java 8. Continue reading “Startup Project – Part 3 : Testing, Mocking and Learning”