Articles

Concepts are more important than Programming Languages

by Jerry Kid Marketing Manager

And indeed, the language / technology you think you are expert in will be phased out in the near future. Why? Simply because in the future it is no longer good enough for solving increasing complexities, which appear along with the innovations in our world (can you remember PHP? Please forgive me this note PHP devs).

Understand the basics

If you know the building blocks of computer science, on the other hand, you are in a much better company. This knowledge will not only support you in adapting or choosing a new technology (or perhaps creating it), but it will also help you to better utilize your current stack.

Let me mention a number of examples that support this statement:

Have you ever wondered why the Kafka queue used in every organization is so fast? Because it does need disk space to store data. And disk accesses and operations should be slower, right?

Now it appears that they have simply made use of the fact that the performance of linear encodings for a disk is about 6000 MB per second. This is 60,000 times faster than the performance of random codings, which have to do with 100k per second. In addition, operating systems are highly optimized for linear reads and codings.

Can you remember the basic concepts of OS, which we as a student once had to learn and which we thought were only good for obtaining study marks? However, if you gain a little more insight into this, you can do things that look like magic on the outside.

Indices

Another example - during my career so far, I spoke to various professionals who consider indexes always and in every situation useful for speeding up database checks. So whenever a search query is needed for a certain field, they ensure that it is indexed.

But if we now:

1) More insight into how indexes are created

2) Just like how they are applied by query planners of the database in question.

We would probably have created a much more optimized and therefore better-performing schedule.

Indices are not a panacea. Very efficient data structures such as B + trees (do they ring a bell?) Are widely used for indexing because the search and insertion are based on logarithmic complexities.

The less obvious aspect of the approach with indexes is that every time something is entered, all corresponding indices in the table must also be updated. Too many indexes can lead to slower entries.

Even if you filter your query with multiple indexed columns, it does not guarantee speed. There is a high probability that only one index will be used by your query planner, making your other indices useless!

Optimal or sub-optimal

The easy conclusion is that we need to know what we do and what the impact is. Otherwise, we will always come up with suboptimal solutions to our problems.

And I'm not saying that you have to know every data structure or concept - but understanding the concepts that you actually deal with at a particular moment is very important. You should also never become alienated from the building blocks that you have come to know while studying computer science. Because new concepts that are introduced are often related to it.

I have worked with many people who claim that the advanced data structures we have come to know are never applied in 'real life'. But why is there so much importance attached to organizations and universities that have a high regard?

These people fail to realize how important these concepts are for daily programming! Another example - the dictionary/folder you have chosen can generally be the fastest, But that does not mean that it is the fastest for any and all possible scenarios. Because they are no more than hash tables.

And a hash table can have an average key lookup complexity of O (1), but in a worst-case scenario O (n) is due to conflicts. Such a hash table can easily perform better with a simple indexed set of related elements (array), if you at least know the indices of the data you want to see.

You may have noticed how job requirements change for a developer from 'we are looking for a Python developer' to 'we need a great programmer'. That is certainly the case with most good companies.

Do not replace a bone

The truth is that it does not really matter which programming languages you have mastered as long as you know the basics of programming. A programmer who 'has done his homework' needs less time to learn a new language and will probably be better at it than most others. Most of my Jexia colleagues (and I) can program at least in six different languages and it would not take us more than one or two weeks to learn another.

Now there is much more to explore when we talk about databases, queues, caches or programming languages, but since this is just one blog post, we might as well stop here. You can expect separate posts on our own Jexia blog where we will explore these topics further.

The lesson you can draw from this blog: simply carrying out the work quickly is not the way forward in a world that innovates continuously. ' At least not long: the work of an average programmer, who does not know and understand the basics, can easily be replaced by a bot.

Innovators needed

The world is evolving and the level of complexity is only getting bigger. A terabyte is a new Gigabyte! There are new challenges that need to be addressed and for that, we need innovators, not 'just' programmers. Only being able to use database or queue, or any other technology is no longer sufficient.

Instead, you should be able to create one when needed, and that type of attitude will distinguish you from others and improve the world and this can be done by learning data structure online course. We at CodingNinja do the same do the same - focus on innovating and changing how things are done.

I will end up with a post with a different cliche- 'never forget where you come from'. In the context of computer science, this saying is equally relevant.


Sponsor Ads


About Jerry Kid Innovator   Marketing Manager

20 connections, 0 recommendations, 58 honor points.
Joined APSense since, March 16th, 2017, From Bangalore, India.

Created on Aug 17th 2018 08:34. Viewed 842 times.

Comments

No comment, be the first to comment.
Please sign in before you comment.