There has been a lot of discussions about the superiority of statically typed programming languages in recent years. Many great minds have contributed arguments for both sides of the discussion/argument. I’m not a programming language designer myself, so I won’t go over the finer points and benefits of a powerful type system. Be sure to check out the links above though as they are a really interesting read.
It is believed that a static type system will help you more than it will get in your way. While my favourite JVM language is Clojure, I feel to be at my most productive in Java. Mostly because of the experience I have in writing it. I really want to show you some of the situations where a dynamic language is preferable over a static one and try to make you actually think about the choice more carefully, the next time you encounter a problem that requires whipping up some code quickly.
How do ZT Engineers keep up with the latest technologies and developments while also keeping their personal presentation skills so high?
Earlier this year, we released our annual Developer Productivity report. It was based off a performance survey which collected responses from over 1500 developers, testers, architects, and many more interestingly named job titles. The great news is we gave $0.50 for every completed survey to a great charity called Dogs for Good (formerly Dogs for the Disabled), which provide assistance dogs to disabled children.
As with all problems which have many solutions, it can often be tricky to determine which is the best solution for you. What works for other people may not work for you. When it comes to profilers, there are many on the market, and it’s often tough to determine what the differences are and which is best for your application.
This blog post looks at some of the report insights and answers the following questions:
- Which tools find the highest number of bugs?
- Should I be using more than one tool?
Let’s look at the results!
The latest Virtual JUG session was all about performance, specifically, how to write Java code to leverage low-level dynamics making your code run faster. It was presented by the notorious Java performance expert and Java consultant John Davies.
In his own words, John is an entrepreneur, father, CTO/co-founder of C24, a fast data company that helps enterprises rapidly adopt messaging standards and optimize in-memory computing solutions, a photographer, über-geek, traveller and a frequent conference speaker. His “old-school” software engineering background often helps to resolve the most complicated performance issues and he did amazing job sharing this knowledge with us.
In this post I’ll try to share the highlights of the session and describe what I learned listening to John present. Here’s the recording of the session if you want to watch it in full.
The answer to that is simple: fibers are threads. Simple as that: sequential processes that we can spawn and synchronize with others. However, usually when we say “thread” we mean those threads implemented by the operating systems, while fibers (AKA lightweight threads or user-mode threads) are implemented in user mode. Actually, as we’ll see, both the abstraction and the implementation are the same; the only difference is the use case: OS threads can be used in any language but require a lot of RAM and are slow to synchronize and to spawn, while fibers are specific to a certain language or runtime, but are very lightweight, and are synchronized with virtually no overhead.
In this post I’ll only cover plain JVM threads, which have been mapped 1:1 to the operating system threads since basically forever, and Quasar fibers, which are the JVM-specific implementation of lightweight threads.
These are the two biggest Java conferences in the world, both within just 3 calendar weeks of each other. Many of us at ZeroTurnaround attended one or both conferences.
Rather than talk about each conference individually, let’s have some fun and compare the two events, looking at what makes each of them stand out as a top tier conference. After all, it’s not often possible for developers to get to even one of these conferences, let alone both of them! So if you had to pick, which would you go for? We’ll look at cost, sessions, speakers, networking, expo, food, location and more!
You’re probably thinking: hang on, what do you mean learn Java? We’re all successful Java developers, creating marvellous programs from sketchy specifications while drinking unreasonable amounts of coffee? Oh and being paid relatively well to do so! The truth is, you can never have too much knowledge or experience. We can always learn something new and acquire the next necessary skill that will transform our view of the world (or not, but will still be helpful at work).
In this post I’ll try to outline a self-development path that can lead you from being confident with the Java syntax to being better in any software corporation. No doubt most of you already have much more experience than this novice I’m painting a picture of. You should think of this post as an exercise in organising your mental model of what you do and the skills you possess. After all such a reflection might help you realise what you want to do next in life. You might want to think about creating a fantastic startup and become a gazillionaire overnight.
ZeroTurnaround’s founder Dr Jevgeni Kabanov (LinkedIn, Twitter) has been named Ernst and Young Estonian Entrepreneur of the Year 2015.
The award recognizes a person who stands for the successful development of a company, the story behind it and their attitude towards entrepreneurship in general as well as job creation and economic success. Over 1,500 entrepreneurs were reviewed for the award and after careful consideration 6 finalist remained. Jevgeni was announced the winner at Tallinn’s Kultuurikatel by the Prime Minister of Estonia, Taavi Rõivas.
This time the Virtual JUG treated us to an impeccable live coding performance with the amazing and unflappable (even during demos) Trisha Gee.
XRebel 2.3.0 is fresh out of the build machine and available for download right now. This new version comes with many added integrations for various technologies, including Amazon DynamoDB, Quartz, JMS MessageListener, and others.