C++ Vs Java Vs Python | Competitive Programming | Ravindrababu Ravula sir
Hi in this video i want to discuss about where uh all the languages are used so which means maybe most of the people are in a dilemma whether to learn c plus plus or java or python now in this video i'll tell you about where each language is used and which companies .
You can get into if you learn certain language okay and i'm focusing mainly on product based companies we are not going to discuss about service based companies okay so first let's see about c plus plus so i have prepared everything you can go through the lines i'll give you time and i'll explain okay .
Ok so in most of the colleges c rc plus plus or both are generally in the syllabus curriculum and in most of the colleges java is not there so that is one reason why people are actually going for c plus plus and the second reason why people are .
Going for c plus plus is because c plus plus has so it is very it is a popular language for sport programming so sport programming means competitive programming so whenever there is a programming contest conducted by either iits or some organizations generally prefer a c plus plus because execution of c .
Plus plus is very fast compared to java a c plus plus program will exude very fast and in programming contests even if you are faster by a millisecond you will win the contest so it doesn't matter which language you use you have to be very fast i am not talking about the development .
Time i am talking about the execution of the program so cc plus plus programs they actually execute very fast okay and also we have stls so what is stl you can think of it as a library okay just in simple terms it is a library .
Okay stl is a library and which is going to have all the ready-made implementations of almost all the data structures and algorithms just to tell you an example like hash maps hash sets binary search all these are already present in stls so that is one .
Reason why people are going for c plus plus okay and when you apply c plus plus two combinative programming what happens is even though c plus plus is a object oriented programming language see what is the main benefit of object oriented programming language the planning can be done so it can be .
Very modular and reusable so even though c plus plus is object oriented programming but you want to win a contest you are not going to focus on design you are just going to write the code in such a way that it will give you the output that is required but the code will be .
Very messy and it will not be readable if you go by that approach but if you apply object oriented principles then the code will be modular and readable but most of the students they learn c plus plus quickly in order to just execute the program and that is not .
The right approach okay and when we teach c plus plus i am not going to teach about all the object oriented uh principles but in java i will teach all that in java we are going to look even the design okay the system design and we are going to .
Uh use all the classes objects interfaces inheritance all these things there there you will learn more concepts okay and what are the applications of c plus plus mainly desktop applications are built on uh using c plus plus okay .
So the major companies are like microsoft and adobe there are there are a lot of companies but these are the big companies okay they used to see plus plus to make the desktop applications uh if you have used office 365 or adobe reader .
These are completely built on c plus plus okay in general these uh c plus plus is used to build the applications when they have to execute in a standalone mode without connecting to the internet okay so that is the main purpose of c plus plus .
Now along with that all the major trading companies so what is i'll tell you uh what is uh com you know so there are some companies like tower research and graviton research so you might not have heard about this because they are niche companies they .
Are in fintech fintech means finance related companies okay so these companies finance related companies they are going to they use c plus plus okay so why they use c plus plus is because of its .
Low latency so i'll just tell you what low latency is there is something called as high frequency trading okay or low latency trading it means that within a couple of micro seconds the stock price is going to change and you have to trade within that time and if the time is very crucial .
Then c plus plus is best for it so almost all the fintech companies which want low latency go for c plus plus okay because uh you know in c plus plus you have a lot of control to do optimization so if you take java you will not have that much control but if you take c plus plus you will .
Have a lot of control for optimization as we learn c plus plus i'll explain what it is okay optimizing and null and i'll to give you just one example if you look at memory management in java there is something called as garbage collector okay in java there is garbage collector which is going to run .
Every now and then and that is going to slow down the entire execution time okay in c plus you can decide when to free the memory and when to alert the memory allocated in memory everything is in your hands okay so java you need not uh have that headache but in c plus if you do it the time will .
Be very less the latency will be very less the program will execute very fast now uh you know the even microseconds are going to be important in fintech companies and they are using c plus plus so if your intention is to get into uh fintech companies which do high .
Frequency trading then you have to prepare c plus plus okay and the next one is embedded systems in embedded systems both c and c plus plus are used okay so companies like samsung intel qualcomm they are going to use crc plus .
Plus for embedded systems even even samsung is having laps okay samsung labs is there and qualcomm is a good company and intel also pays you high for the for development positions so if you are aiming for that then you should work with c plus plus okay .
You can you can read what i have written so the reason is simple when i when you want when you have hardware right and when you want to directly work with hardware then crc plus plus is useful right and if you work with java .
You are going to have jvm and on top of jvm your program is going to run right so you are not working close to the hardware so that is why cc plus plus are useful and now coming to java so very few colleges in india have java in their curriculum and i really don't know why .
If you have learned c then yeah i see i feel i'm not i'm not actually having bias again not towards any language but uh c c c plus plus and java both should be there in the curriculum c plus plus java as well as python all these three language should be in the curriculum is what i feel .
Instead of having many useless subjects they could have included c c plus plus java and python okay and so what the the main advantage of java is again in java also we have something called as collections just like stl we have collections so you can think of it as library okay .
And it is going to provide you with all the data structures and algorithms now along with it java also has a provision of long integers and double so you can have very very big numbers in java but it is this feature is not there in c plus plus it is missing okay and one thing that i want to tell you is .
I am not actually talking uh you know talking only about java i am not promoting java but even though a programmer when you go for an interview even though the interviewer says that any language is fine he will be slightly biased towards java because .
Most of the companies are working in java and that person who is interviewing interviewing view might have worked in this particular java for at least 10 20 years so he will be slightly inclined so if you want to crack a job then java is very important .
If you want to go for fintech companies c plus plus quantity programming you can write c plus plus but for interview preparation java is better than c plus plus okay and java is platform independent as i told you that so if you have hardware .
Which means the platform okay which means a computer in in simple terms okay on top of it jvm is going to run and on top of it your java program is going to execute right now you can write a java program and you can run it on any hardware .
As long as you change the jvm now jvm is going to take care of the platform you need not worry about the platform at all but if you write c plus plus as it is directly working on the hardware if you change the hardware you have to change the program .
C plus plus right so clearly java is platform independent okay now in java you are going to compile a program and then interpret it okay i'll get into the details later for now let's keep it simple what i mean to say is java is platform independent and c plus plus is not platform independent .
I'm not saying that java is superior compared to c plus plus both have different purposes okay both have different entirely different design ideas so both are both are built by keeping in mind certain different aspects we can't have a competition between c plus plus and .
Java both are having advantages and both are having disadvantages okay i just want to tell you what they are and it is up to you to choose but i am going to teach c plus java and python it is up to you to choose okay now coming to market where java is used is .
Almost all the big companies uh big whatever companies you name big broad based companies they're all using java right for example amazon walmart labs right so like this all the big companies facebook i think facebook is not using but there are many big companies which are .
Using java and also startups like flipkart's figgy these are also using java for their e-commerce okay and some major financial organizations which are not into trading they are also using java like goldman sachs jp morgan all so so to just to tell you compared to c plus .
Plus java market is bigger job market okay c plus plus also there is market okay so people learn both c plus plus as well as java and they apply for all the companies they will get somewhere and we have various frameworks in java like .
Spring boot reactive java etc and you can also use them to use them for other services okay so java is a more like a general purpose language and in mobile applications also you can use java so android java is also there now coming to python so python .
Is very user friendly okay it is like just like writing english language so it is the it out of all the high level languages i can say python is the highest and it is very high level language compared to java or c plus plus okay and in python also you have all the ready-made .
Implementations of algorithms and data structures just like stl you have everything here and sometimes it is also used for competitive programming but it even though it is not the first first choice people have started using python for competitive programming as well okay and .
The main thing is you can do more with less in python by writing very less number of lines in a program you can accomplish more in python okay i'll just show you now let us say this is the program we have this program can be written in just one single line so just a small .
Example but uh uh you know later the compa if you want to compare let us assume that a certain task can be done both by c plus plus java as well as python if java is going to take 100 lines python will take 10 lines so just to give you a brief .
Explanation okay if java is going to take 100 lines c plus python will take 10 lines but python cannot do everything that java can do basic development can be done but there are certain applications which can be done only by java and there are some certain .
Applications which can be done only by python i will tell you what what and in java there is uh there is a beautiful concept so where you can pass the functions as argument to some other function in python okay now if you have to do the same thing in java you will have to write a .
Lot of code okay and also returning you know more than one value returning multiple values from a function is generally not possible in java or c plus plus but it is all it is inbuilt in python okay and coming to automation .
So what is automation if you have to deploy a software in many systems or on on cloud okay then writing a script in java or sorry in python is very very easy so almost all the administrators network administrators system administrators they work primarily on python so one of the applications of python is automation .
Many people don't know it people think that python is only for machine learning but automation can be done so what is automation so you need not do manually you can write a program and automatically it will try to do the task so i just to tell you one simple example if .
You have written a software and if that software has to be installed on let us say 1000 systems instead of just going manual and doing it if you write a program in python then it is going to be taken care of right and big data and machine learning so we can't .
Think about big data machine learning without python because the python is having lot of a lot of libraries for data extraction visualization and processing okay so if you think about big data you should think about python and in general if you look at the jobs the amount of salary that is paid to a .
Developer is a is actually 30 percent less than the amount of salary paid to a data scientist so data scientist positions uh in data scientist positions you will get 30 extra salary okay so learning python is very important so you can just look at this summary .
So i'm not trying to say don't learn c plus plus or learn java but the overall summary is that you have to uh so my in my observation if you are working in software company for at least three four years you will be you will be forced to work at least in three four different .
Languages okay so learning languages now will be helpful for you lifelong even if you have to learn a new language you can easily pick it up because almost the concepts are going to be same in all the languages okay .
So you can just go through this so my suggestion is people think that c plus plus is used for pi you know quantitative programming more and so they will focus only on you know c plus plus but if you are in b tech you have lot of time .
And you have to use this time to learn all the languages so that you will grow faster in your career okay yes even though even if you get a degree from iits or iisc still you are going to write programs when you join a company right so if you have to do well in your job .
Start learning all the languages now so i'll be teaching all these languages on youtube for free and i will be teaching it in such a way that see in c programming language i am covering all the basics okay so once we go to java c plus plus or python .
I'll not i'll assume that you have already watched the programming language and i'm not going to teach you what a variable is and then what a declaration is okay we'll right away try to learn the concepts in these languages which are not taught in any college or .
Anywhere but which will be helpful when you start your start your journey as a software engineer and the the course that i teach will also be helpful for you to crack the interviews okay fine thank you .
Hi all so if you are watching this video for the first time my name is ravindra babu rawla and i will be teaching all the subjects of computer science okay and i have done my master's from iic bangalore i was two times two digit ranker not a great achievement .
But yeah and if you want my gate classes you can register on an academy app and if you want 10 discount on whatever you register or academy use the code rrcs okay so my code is rrcs if you want the gate classes the fee is after discount if you use my code is twenty seven thousand for one year .
And thirty six thousand thirty nine thousand six hundred for two years okay so if you are from let's say second year then or third year go for two year subscription if you are in final year you can take one year subscription now there are two kinds of packages available so one is called .
Uh iconic so let's talk let's talk about plus first so one is called plus and the other one is iconic you can either go for plus or iconic now in place you are going to get all the video lectures doubt clearing as well as test series and lot of quizzes will be there and coming to iconic you are going to be .
Assigned a mentor and he is going to mentor you in all the subjects so either personally or you know related to subjects and he will give you the steady plan and whenever you are demotivated or not doing well in the test series he will help you out okay it is kind of .
Hand holding so you can go for iconic if you want a mentor okay and generally these mentors are last year rankers who are already doing masters or you know those who are those who have already done their masters generally the rankers will be the .
Mentors okay so that is all about iconic endplace and this you can register for gate classes on an academy or i will also be teaching competitive programming on an academy if you want to register for competitive programming you can register .
The same way rrcs for 10 discount okay and in future i'll be starting machine learning as well i'll keep you updated thank you