What Is Your Programming Language?

Most developers work with different programming languages throughout their careers, however, I believe you always have your favorite, or the one that you feel most connected to. So, what’s yours?

Posted in Dev

Azure ❤️ Containers

Mustafa Toroman, MVP for Microsoft Azure, shared with us the talk “Azure loves Containers” as part of AP’s Dev Talks Meetup. I enjoyed it a lot so I just felt like sharing.

Enjoy!

Mustafa published several books on cloud technologies. Lately, his focus is on designing new solutions in the cloud and migrating existing ones to the cloud. Mustafa possesses over 40 Microsoft certifications. Also, he has held the MCT title for many years and has been awarded the MVP for Microsoft Azure for the last four years in a row. He often speaks at international conferences about cloud technologies and now it’s time for Dev Talks Meetup where he will cover topic ‘Azure Loves Containers’.

Containers are the latest big thing in the cloud. They are light, fast, and consistent. And they fit very well into DevOps. Azure offers multiple container options to choose from. And each one of them makes deployment of our applications easy. Let’s see how to build your containers and deploy them anywhere.

C# Tuple

I have recently found this C# feature and found it interesting, let’s take a look.

C# tuples are types that you define using a lightweight syntax. Basically, it gives you the opportunity to define data structures with multiple fields without the complexity of using classes.

Please look at the following example.

(string, int) tuple = ("Hello", 1);
Console.WriteLine($"Tuple with elements {tuple.Item1} and {tuple.Item2}.");
// Output:
// Tuple with elements Hello and 1.

Optionally, you can define the field names.

(string Text, int Count) tuple = ("Hello", 1);
Console.WriteLine($"Tuple with elements {tuple.Text} and {tuple.Count}.");
// Output:
// Tuple with elements Hello and 1.

Another interesting feature of tuples is the support for equality operators.

(string Text, int Count) left = ("Hello", 1);
(string Text, int Count) right = ("Hello", 1);
Console.WriteLine(left == right);
// Output:
// True

Also, you can assign tuples to each other. Keep in mind that tuples must have the same number of fields and the values must be implicitly converted.

(int, double) tuple1 = (17, 3.14);
(double First, double Second) tuple2 = (0.0, 1.0);
tuple2 = tuple1;
Console.WriteLine($"{nameof(tuple2)}: {tuple2.First} and {tuple2.Second}");
// Output:
// tuple2: 17 and 3.14

Now, I must say that you should not go crazy with tuples; replacing separate classes with tuples because you will save a few lines of code it is not a good idea, so before implementing tuples in your code base make sure to document their usage for scenarios where they could be helpful without sacrificing your code quality.

A tiny overview at tuples, but share your thoughts.

For more information about tuples visit Tuple types – C# reference | Microsoft Docs.

IE and the New Microsoft Edge

Microsoft is stopping Internet Explorer support in 2021. Finally, the 25-year-old browser is coming to an end.

It has been a crazy ride, in 1995, Internet Explorer controlled 90% of internet traffic, and just a few years later it was clinging to his throne. We all remember Microsoft, trying to force-feed it to all of us.

And what about the endless struggle between thousands of miserable web developers around the world trying to make their websites look acceptable on IE.

Anyway, IE is coming to an end after all and we can talk about his successor.

The New Microsoft Edge

Microsoft is telling us “It’s time to expect more”, with the New Microsoft Edge, Microsoft is promising us a browser with world-class performance, great speed, more privacy and control, new features to increase our productivity, and much more.

Beside this we can take the experience across our devices, the New Microsoft Edge is available for Windows, macOS, iOS and Android.

New vs Old

Another question that popped into my mind is, what does “New” exactly means? This implies that there are 2 different versions of Edge, an old one and a new one?

Well, that exactly what this means, Edge was initially built with Microsoft’s browser engine EdgeHTML and Chakra JS engine; it happens, both are forks of Microsoft’s Trident and JScript engines used by Internet Explorer

So, old Edge refers to the Edge version which is using EdgeHtml and it is a close relative of Internet Explorer.

Now, the New Edge, it is a complete rebuild of Edge based on Chromium, the open-source project developed by the Google-sponsored Chromium project and used by Google to make Chrome.

This is not a new move, there are other browsers including Opera that use Chromium at their base.

So now everything should be clear:
Old – Internet Explorer Based <= 44.19041
New – Chromium based >= 79.0.309

I am sure you noticed the huge leap between these two version numbers, that is because from the New Edge release, Microsoft has adopted the chromium version number for Edge.

Thoughts

Well, as you can imagine there are different opinions regarding the New Edge, so here is another one:

I have been using the new Edge for the last ~3 months and I plan to stick with it, I like it.

Being honest, I do not miss Chrome, which was the browser I was using before and the New Edge does not feel like Internet Explorer. I have been doing web development as part of my job and I am so glad to see the thigs working as they are supposed to.

I was worried about the Chrome extensions I was using but that fear rapidly disappeared because not only Edge has its own add-ons gallery (currently in BETA and growing), but it allows you to get extensions from the Chrome Web Store. Problem solved.

The transition was painless, at initial open it allows you to take everything from your previous browser. Syncing between my devices worked as expected and I have been using some of its flagship features like collections, its privacy controls, immersive reader, and so far, it has been a good experience.

Give it a try.