ITkonekt 2019, which took place on April 13-14, hosted some of the world’s most famous IT speakers. More than 800 developers attended ITkonekt conference. One of the speakers was Robert C. Martin (Uncle Bob), Author of Clean Code and many influential books, Co-author of the Agile Manifesto.
A short story from the perspective of a C++ developer
In the beginning…
The year was 1972. Dennis Ritchie, an American computer scientist, created C programming language, the most prominent imperative programming language of today. It was designed to provide constructs that map efficiently to machine instructions. With portability in mind, it was a relief that you can write portable code which can be successfully compiled and run on various computer platforms.
The old world wasn’t sleeping. Almost decade before the first appearance of C, Simula (“Simulation language”) was created at Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. Simula is considered the first object-oriented (OO) programming language.
It will turn out that C and Simula had major influence on today’s most popular programming languages.
Most code starts out as a monolith. This was my experience as well while working on a self-service application for a big telecommunication provider. Idea was to have a separate application where we will expose a lightweight REST API for our modern frontend (Angular 1 at that time). This consumer services application was supposed to be a bridge between CRM and SOAP powered web services and a lightweight client application that we developed using Angular. Without knowing full boundaries of our domain or the extent to which it will grow we started exposing REST services and it seemed like a good approach.
So what is a monolith?
This article assumes some knowledge of Git – basically, if you ever wondered how does Git does the stuff he does, and more importantly, why is all this so complicated.
To understand Git better I propose a simple thought experiment. Let’s imagine that Alice, Bob and Charlie are really dedicated and smart developers, but on one particularly nasty day their Centralized Version Control dies. Now, since all three of them are hardworking, and they still want to deliver their changes to their client, they continue with their work. Later in the day, once all three of them quite a few changes, they need some way to merge all their changes together.
Hello, Java enthusiasts and professional developers. If you ever had to face the challenges of one-way server-client communication and are searching for a straightforward solution, you came to the right place. The technology we will go through in this short blog presents an easy and effective solution.
Call it a cliche or anything you like, but when Wikipedia gives you the perfect definition of debugging, trying to come up with your own feels pointless – ‘debugging is the process of finding and resolving defects or problems within the program that prevent correct operation of a computer software or system’.
The term itself was created when a moth got stuck in a relay in a Mark II computer at Harvard University while Admiral Grace Hopper was performing an operation on it in the 1940s.
An actual, real live bug.
When .NET Framework was released 16 years ago, it served as a general application development platform for Windows desktop and Web applications.Shortly after, the .NET Compact Framework was released as a subset of the .NET Framework that fit the footprint of smaller devices, specifically Windows Mobile. The idea behind that was to separate code base from the .NET Framework and it included the entire vertical: a runtime, a framework, and an application model on top. Ever since that, this subsetting was repeated many times with: Silverlight, Windows Phone and Windows Store. This lead to fragmentation because the .NET Platform isn’t a single entity but a set of platforms, owned by different teams, and maintained independently.