Data Structures along with Algorithms is a core key of computer science so we should focus on both.
Data Structures and Algorithms
Data Structures and Algorithms is the heart of Computer Science and it is inevitably being used in almost all domain of the computer science industry.
Arrays.binarySearch()
method in Java.
Arrays.binarySearch(array, searchElement);
It does a search with a given array and searchElement. But what we usually don't know is that how binary search works internally, we end up using DSA everyday.
A lot of methods/functions we use daily in any programming languages is implemented in the most efficient way using DSA.
Programming Languages and Frameworks
Pretty sure we can't develop an application just using only DSA we really need some kind of programming languages, frameworks and tools to implement it.
Assume that we want to build a web application it required a front-end, a back-end, and a database.
At front-end can be built using some kind of scripts, programmings and tools as below:
- HTML
- CSS
- Bootstrap, Material UI, Tailwind
- ReactJS, AngularJS, VueJS, PreactJS, SvelteJS
At back-end can be built using some kind of programmings and framework as below:
- PHP (Laravel)
- Ruby (Ruby on Rails)
- Java (Spring)
- Erlang (Chicago Boss)
- Go (Gin)
- Python (Django)
- Node (Express)
- Deno
All the above points give us a clear understanding that knowing only DSA won't help us build a full-fledged application.
Data Structures and Algorithms is used to make the implementation more efficient in terms of time and space. Programming Languages is used to implement and build applications and make the friendly user interface.
Both are very important for developing a full-fledged and efficient application for the users.
With real world example of building Google maps:
Google Maps is being used by millions users. Google Maps has a very friendly UI and it is very easy to use and running so fast. But how? because the engineers at google made it so efficient by applying DSA, distributed servers, architecture and programming languages. They are really very important.
To be a Good Programmer
- Experiences in developing various applications in various businesses using various programming languages.
- Have good knowledge of data structures and algorithms.
- Have good knowledge of database related concepts.
- Have good knowledge of the basic networking concepts.
- Have good knowledge of microservices architectures.
- Have concepts of making friendly user interface.
Summary
Technology changes fast. Don't get left behind. Learn as much as we can.
Top comments (0)