C vs C++ vs Java | Difference Between C, C++ & Java | Programming Languages Comparison | Simplilearn

preview_player
Показать описание


This video on the topic C vs C++ vs Java will provide you with the major difference between C, C++, and Java programming languages after watching this video you will be capable to understand their functionalities and capabilities in a much better way. This video includes the following.

00:00 Introduction
01:45 OOPs Concepts
02:30 Platform Dependency
03:40 Enterprise Support
04:30 Compiler Operational Procedure
06:05 File Extensions
06:35 Datatypes and Keywords
08:00 Database connectivity
08:50 Exception Handling
09:45 Structures and Unions
10:50 Data and Security
11:35 Multithreading
12:25 Support of Constructors and Destructors
13:18 Garbage Collector
13:58 Pointers
14:30 Preprocessor Directives

#CProgramming #ProgrammingLanguagesComparision #DifferenceBetweenCAndJava #CvsJava #Simplilearn

What is Java?
Java is an object-oriented, class-based, high-level programming language used for software development, mobile application development, website development, desktop application development, and much more. Java is one of the leading and in-demand programming languages in the current IT industry.

What is C++?
C++ is an object-oriented, general-purpose programming language that extends the properties of the C Programming language. C++ is used to develop games, desktop apps, operating systems, browsers, and so on because of its performance

What is C Programming Language?
C is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system. C is highly portable and is used for scripting system applications which form a major part of Windows, UNIX, and Linux operating system.

➡️ Post Graduate Program In Full Stack Web Development

This program will give you the foundation for building full-stack web apps using the Java programming language. You'll begin with the basics of JavaScript and then venture into some of the more advanced concepts like Angular, Spring Boot, Hibernate, JSPs, and MVC. Now is the perfect time to get started on your career as a full-stack web developer!

✅ Key Features

- Caltech CTME Post Graduate Certificate
- Enrolment in Simplilearn’s JobAssist
- Receive up to 25 CEUs from Caltech CTME
- Simplilearn's JobAssist helps you get noticed by top hiring companies
- Masterclasses taught by Caltech CTME instructor
- 8X higher interaction in live online classes conducted by industry experts
- Online Convocation by Caltech CTME Program Director
- 20 lesson-end and 5 phase-end projects
- Capstone Project in 4 domains
- Caltech CTME Circle Membership
- Build your own portfolio on GitHub

✅ Skills Covered

- Agile
- JAVA
- Hibernate and JPA
- Spring Core 50
- DevOps
- HTML5 and CSS3
- AWS
- JavaScript ES6
- Servlets
- SOAP and REST
- JSP

🔥🔥 Interested in Attending Live Classes? Call Us: IN - 18002127688 / US - +18445327688
Рекомендации по теме
Комментарии
Автор

I disagree with many of the points made. Here are some of my problems:

1. Object-Oriented Programming
I have a minor problem with this comparison. C++ is presented as an OOP language, but you can write in it programs fully procedurally (actually it's same with Java). I don't want to dwell on this point too much, because I belive in general the categorization of languages by programming paradigms is almost useless. That is because of how vague the definitions are and how paradigms like are really more about the way you construct code. I can write C code in OOP way (with inheritance, polymorphism etc) or functional way. The difference is just how given language's features help me to follow given style.

On this point you also said that "Java supports Cross platforms". I don't see how is it related to the question of programming language paradigm, but I don't see how isn't C or C++ Cross platform. It wasn't defined what is meant by langauge being "Cross platform", so I cannot really say anything more.

2. Platform Dependency
You've said that if I write code in C I cannot use it for both Windows and Linux operating systems without making changes to the code. That is not true. As long as I don't directly call windows or Linux specific functions, but use the C standard library (+ additionally libraries with cross platform support) I do not need to change a single line of code. Sure if I write my code using say Windows API functions I will need to change that when porting to Linux, but in contrast to Java (without external tools) I can actually do that. So C/C++ has an additional ability of being able to call system specific function and it's seen as a downside?


3. Enterprise Support
I don't think I understand what does it even mean. from 3:59: "Enterprise support is [...] where multiple programmers [...] work on a single goal". So I guess you mean something like how much a language is helping you in working on the same program in a team? So then what are the differences in C/C++/Java? You've only stated the "level" of support so I have no idea what do you mean.

4. Compiler Operational Procedures
It's similar to what I've said in point 2. The implementation is separate from the language. But ok, I guess implicitly we are talking about the most popular implementations of languages.
The given explanation of how Java is usually implemented is somewhat confusing, but I will give it a pass, because it's actually a quite complicated process so it's hard to provide a quick, simple and accurate description.
However the point at 5:35 "[Java] sometimes provides you suggestions when you're using [...] IDE like Eclipse" doesn't make a lot of sense. This is done by a code completion tool (often refered to as intellisense) which is separate from the implementation of the language (although it can share code base with an implementation). But also C and C++ both have many code completion tools which are used in many different IDEs so I don't see why would you only single out Java on this one.

6. Datatypes and Keywords
I don't see how the number of keywords matter, but it actually depends on the version so the accurate counts are:
Java 1.0: 47
Java 1.2: 48
Java 1.4: 49
Java 5.0: 50
C89: 32
C99: 37
C11: 44
C++98: 63
C++11: 73
(although in C++ the alternative representations for operators and punctuators might also be counted as keywords depending on your interpretation of the standard and then you need to add 11 to both of the numbers above).
So (besides the fact that it doesn't matter) why show the number of keywords from the most recent Java implementation but not most recent C and C++ implementations?

8. Exception Handling
I don't see how doesn't C++ support exception handling. It has all the tools to handle exceptions just like you do in Java. I will concede that for example in C++ the build-in array types don't throw exceptions on index out of bounds, but I would argue that it's a good thing. And the reason it's a good thing is because you can implement your own wrapper on the build-in array types (or use std::array/std::vector) with exceptions. So in C++ you can choose between having exceptions and not having exceptions (which can be better for performance), but in Java you have no choice.

10. Data Security
???
If I wouldn't find so many inaccuracies in this video I would assume that it's just a poor choice of words, but it really seems like you are claiming that encapsulation has something to do with security in a cybersecurity sense? Encapsulation is about not using the object's data (and possibly some methods) directly instead of using "public" methods. And it is just enforced in the implementations by not allowing you to use fields or methods labeled as private (or protected). It's a constraint on a programmer during coding-time and not on a program during run-time. I can't belive I'm even writing this stuff.
And also I really wonder what "advanced level objected oriented programming language [...] special features for data security" are.

11. Multi-Threading
C++11 does support multi-threading.

12. Support for Constructors and Destructors
Destructors are not replaced by Garbage Collector in Java. In Java the destructor is the finalize() method which every class can override. It's different from the destructor in C++, because in C++ the time in which the destructor is called is deterministic, however in case of Java the finalize() method can be called at any time by the garbage collector after the object is no longer being used. This means that the typical job of a destructor in C++ which is to free all of object's resources (yes including allocated memory, but it's not limited to that) cannot be done using finalize() method in Java.
So for example in C++ if my class opens a file I can close it in the destructor and be sure that after the object is destroyed the file is free to be opened again. In case of Java, because this problem cannot be solved using finalize() method, they introduced AutoCloseable interface and the try-with-resources statement so that you can deterministically "destroy" your objects.

15. Pre-processor Directives
Preprocessor directive is a term defined in C and C++ standards which basically means any line which starts with # followed by the directive name. I'm pretty sure you've ment something along the lines of "library access" instead.

isfoo
Автор

C++ does support databases. I wrote a project using c++ and connected to an access database using Microsoft foundation classes and it does support exception handling

cooldeal
Автор

Please make Video On, Top 10 Technology, Shoulder Be Learn Before 2025, Please. 🙏🙏🙏

suyashsharma
Автор

I like the way you do your presentations, how do you do it

ueyooml