Комментарии:
i learned BBC Basic, then a little bit of assembler (it was arcane but i got it), then Pascal, then C, then… PL/1 😄
Since then, html & css, javascript, PHP, VBA, python… essentially it becomes whatever is needed for the job at hand and (somewhat surprisingly) there comes a time where you just don't worry about; you dive in, you setup & understand the environment, you grab libraries and packages, and you start writing scripts & programs.
My advice is to never worry about which language to learn, or whether you'll be able to pick up the one you need to learn; just make sure you have a good use case and that the language is a fit for it; then your learning is in step with your doing, and that's the key and important quality & characteristic.
Learn C# first then move to cpp
ОтветитьSaying that there's a higher probability of bugs in C++ than something like python is... questionable. Saying there's a higher probability of bugs than javascript is just wild. C++ is statically typed and allows you to build abstractions that are correct by construction. Neither of the other two languages allow that.
As for performance not mattering because computers are more powerful, that depends a lot. If you're doing a CRUD app, sure. If you're doing data science? You get more machine, you'll make use of more machine. That's just the nature of the beast. With more perf you get to solve bigger problems and to solve them with more accuracy. This will probably be true always -- compute-intense applications will happily fill whatever compute you have available.
I've been programming c++ for over 30 years now - since 1993. I bought the first Python book in 1996 but I always had to get back to C++ to get things done - it all just felt a lot more solid and the tools were better. With C++ you have lots of options and backward compatibility. That doesn't mean that you have to use these options. I can spend days programming without ever seeing a pointer or allocating any memory manually. But if in those rare circumstances I need to write a memory pool and use low level code and maybe even inline assembly, then I can. Also, C++ has many features like meta programming at compile time and extensive operator overloading that makes it possible to create scientific API's far better than in any language. But I have to say, I have actually written little code in the last year as I use AI all day to generate code now - and GPT4 can generate c++ just as quickly as it can generate Python - so there is one less reason to use higher level languages. In terms of syntax, you can make C++ look almost as streamlined as higher level languages. I think people seriously underestimate just how widespread C++ is in the products they are using. It's not as visible as Python or javascript since these are the languages of the web and education and are thus more visible. But as soon as you dig a little deeper you will find that the bulk of the logic is in C/C++. I also consider C and C++ really two faces of the same coin as there is a natural progression from one to the other and backward compatibility. So in terms if market share, you might want to pool these together. In fact I now see Python as a wrapper/extension of C++. Python and C++ are very similar in many ways and wrapping C++ with Python feels natural and easy with libraries like pyBind11. I think C++ is a far better language for doing very large projects than say python. Python is great for 'driving' the code and making things look pretty in Jupyter notebook, but for rock solid code, C++ is far better - even just the use of debug macros that you can easily put throughout your code. While there is an 'assert' in Python, it is not anywhere near what I do in c++ to ensure error free code . I think C++ will never go away, not in my lifetime anyhow. It will just evolve. C++ will become more 'Pythonic' just like Python is trying to become more like C++, like with Python's ability to specify parameter and return 'types', even if just for documentation purposes. If you want to be a web developer, you don't need C++ at all. If you want to just build Desktop applications, Java , C# may be a better choice. But for all other things, C++ is the way to go.
ОтветитьI tried to learn C in 1987, but quickly gave up. It was not until I took a community college class in 1995 with Turbo Pascal that I started to really understand programming. Turbo Pascal was a much easier language to learn but had limited application in the real world. However, Turbo Pascal set the stage for me to learn C++, COBOL, Java, JavaScript, Python and the whole collection of scripting forms. It seems that Python is really a good place to start because the setup of Python is just so straightforward. Any just an opinion from another old nerd.
ОтветитьI've been doing my own research about wether I should learn c++ or continue improving my basic python knowledge, and this video pretty much sums up what I found in a beautiful and simple way.
ОтветитьC++ for web is great.
I am using C++23 in web via Emscripten. You get to use all the bells and whistles of modern C++ with the best performance in the web browser.
You get to create high performance data structures tailored to your specific use. You're no longer reliant on Js implementers to make it "fast enough" because performance of Webassembly is very close to that of native hardware. And all your "native" optimizations apply.
I wouldn't ask for C++ advice to someone that doesn't know C++.
ОтветитьI started with Python. But it was only the "syntax". Now i'm learning C++ intro so i can learn DSA with deeper sense of programming later
ОтветитьC then C++ imho. But I have great hope for Mojo Python meaning Speed will come. It´s borrow checking from Rust, ideas from Julia etc. Early days, not production worthy yet; but this 2024 may see growth. Julia was too niche, but I got it to do some fancy matrix and equation stuff rotating free satellite data from DEFRA and fitting into landscape, to draw my house. The only c++ gig I want these days, is Unreal Engine 5 (UE5) for factory / process / engineering simulations. Writing / Maintaining, people will just tool their own.
ОтветитьI’m sorry I’m stepping into that ring with Mike Tyson
ОтветитьRUST UP ,c++ buuuu!.BILL GATES,TORVALDS. RUST IS THE BEST😁😁😁😁😁😁
ОтветитьYou always make the same video ahahah
ОтветитьAbout c++ being first language to learn or teach, if you're someone who's impatient and wanna learn and build things fast then obviously c++ is not good. But, if you do choose it as your first language, I can assure you that you'll learn all other languages much faster.
I learnt c++ in highschool and learnt it well for 2 years, then when I went to college, learning c, python, java, javascript was like a walk in a park while I saw others who were learning programming for the first time spending their time learning more about different builtin functions and features of those languages without having a clear understanding of exactly how those things works.
In the end, if you're someone who values clarity of mind over unreasonable productivity in the early days of learning to code then you definitely should learn c++ as your first programming language.
I suspect the opening to all good courses in C++ will include the phrase: "Mistakes were made...".
To be honest though it isn't terrible, it's just that since it's inception we have learned quite a bit about how programmers behave and that if you give them a gun, some of them will shoot themselves.
In my opinion a well taught course on C is a far better starting point. You'll very quickly sift the wheat from the chaff whilst at the same time teach what is actually going on 'under the hood', horne attention to detail and impress that sometimes poor or even entirely absent skill of Knowing What You're Actually Doing(™️) at any point in the code.
I started learning to code in C and I like it.
ОтветитьIt's not "Should you Learn C++ in 2024?". It's "Do you want to learn it" 😁
ОтветитьI have a PLC programming experience. Could that be a good basis to start learning C++ or should I still start with the higher level languages? Thanks?
ОтветитьGreat video!
ОтветитьWhat's cool about C++ is that you understand better how computers work, IMO.
ОтветитьC++ It was my first language and I'm not sorry I learned it, if I had to start over, I would still learn C++ the first time
ОтветитьDevelopment for music production apps and plug-ins relies entirely in C++. Performance is key since you need to open several plug-ins at the same time, and each of those plug ins manipulates sound data in real time. Even with the most powerful computers in the market, if your plug ins are not optimiced correctly, working in your audio production projects is a nightmare
ОтветитьBack in high school, I had to start with C++, our seniors had Python but then when we came to the 11th grade, we had to learn C++. I remember finding it so frustrating from the start. I slowly started to lose all my interest to move forward in software engineering. By the end of my 12th grade, i was done with it, i hated it to the core, ended up doing a business degree. Today ( 5 years later), I’ve started learning Python, and boy, i wish we could’ve started our curriculum like this. Dont know if i can say starting with C++ directly was the problem, cuz there were some , who were good at it. To each, their own….
ОтветитьI disagree about learning an easier languages first for many important reasons. 1. Humans are lazy by nature, and by using a higher language most not discipline people will get frustrated and give up on C++. They will think that the automations of higher level languages saves them time and give up. 2. Understanding C++ before any other higher language you will understand well why all apps sucks in most cases because of lazy work flow of higher-language... things getting slow, buggy, etc and with C++ you started to understand why and will have a better solution to fix the problem. 3. Working with a higher level language you are building on thing that has a crazy foundation, meaning that you will end up with limitations and HUGE problems in the future. That's why Tesla and Space X decide to stay and use C++ vs any other language. You have control and give freedom to create anything vs depending on old library using higher level languages. C or C++ freedom to create anything everything else are just babies of C++. Even the new languages that are coming out, are created using C++. C++ is already on the DNA of things that works well for a long time, not apps that works today and tomorrow is broken. 4. You don't drive on a high-way before you have a permit to drive, you learn first how to drive and C++ give you a SOLID foundation of well build applications for the present and future. Anyway, those are my thoughts based on everything tech that works well or else.
ОтветитьThanks for sharing
ОтветитьWhat about FORTRAN?
ОтветитьIn school, I was an electrical engineering major. One of my classes was intro to programming with C++. I had never programmed before and starting with C++, I HATED IT. That being said, I forced myself to push through and continue learning it to get a good grade in the class. By the end of the semester, I loved programming so much I switched majors to computer systems engineering. I wouldn’t recommend it as a first language, but for someone who really wants to learn programming, I think it’s an excellent language to eventually learn. The language teaches a lot of important skills/habits that’ll be useful, regardless of if you continue with it or not.
Ответитьhey man! you're not old... you're young for longer 😉 cheers!
ОтветитьIf you want to enjoy leaning C++ you’d better learn C first. It is only after learning and working with that you will appreciate C++ and the way it does things. Not to mention to C# and Java, despite being very modern languages compared to C++, are not yet capable of doing what C++ can do. All objects in C# and Java have meta-data and overhead for the garbage collector. That is when C++ shines; zero overhead abstraction.
C++ is still the best language for simulation of large systems.
You seem to have the same basic thesis as John K. Ousterhout who invented the tcl programming language. He argued that higher level programming languages could act as "glue" for more performant code written in C or C++ to improve programming speed. The paper was, "Scripting: Higher Level Programming for the 21st Century" originally published in IEEE Computer Magazine in 1998. I believe it is a fairly well known paper. Given that the original Bourne shell (sh) was released in 1979 written by Stephen Bourne, it is safe to say that this is not a new idea.
As for Java being a high level language, I disagree. It is rather low level to the JVM. It is nice enough to provide a garbage collector. But those have been around for a long time too. Every Lisp dialect has had garbage collection.
I am currently learning c++ as my first language because I want to make a game engine, and I am loving it
ОтветитьI like how chill you are you seem like a chill dude on the beach I live the vibe thanks for the information I'm learning python and thinking of learning a second!
Ответитьthank you good sir
ОтветитьAnd C is still Worth it?
ОтветитьC++ allows me to do stuff when C# can't. And it helps me understand how C# native AOT works.
So yes, I think C++ is very useful as a second language. But I wouldn't do everything in it.
Starting to code in C and C++ has it's own perks, it gives you a new side of things but you have to have lot of patience. C was my first programming language and then C++, i never forget those days, infact its those days that led me into a creer in software
ОтветитьI have a lot of interest in Audio VST development and I'm also starting to pave the way to gaming industry as well.
surely it ain't easy but in fact the challenge makes it more exciting.
wish me luck. :)
I use c++ almost every day. I have made two app with it, a statistical analysis app and another to make registration connecting to MySql server using qt creator fremework
ОтветитьPython simplifies the programmer's life a little and drastically worsens the user's life;
Python consumes 4x more memory than C++ and is 60x slower in the tests we perform here with various codes.
Python for those who are not computer scientists even makes sense, to run administrative problems and simple things, prototypes;
But for computer scientists and engineers who process a lot of data or complex calculations, I don't see the point.
It is necessary to remember the motivation for using computers.
The great advantage of programming languages is to speed up the USER's life, saving time to carry out their activities. C/C++ does this, optimizing memory and processing time in favor of the user and the environment.
Python makes it easier for the programmer and slower for users...
In addition to being completely anti-ecological.
Another point, a program is compiled a few times until we reach the final version, and will be used thousands of times by thousands of users, so the compilation time is only relevant for those who program.
Once again, attention should be paid to the objective of computer science, which should be to make things easier for the user and not for the programmer.
First the customer's interest.
Second, maintain the profession at a high level.
Prototyping programming languages should be for prototyping only.
And the idea that being a little slow the user doesn't notice is nonsense, as we are constantly running several programs at the same time. So this slowness is evident and annoying!
And there are a lot of poorly told stories, I have codes comparing languages and when you look it's practically the same thing, C# is a little more direct than C++, Java is not! Python is a little more straightforward, but nothing that justifies the change and the huge loss of performance.
I have been using GNU/Linux for over 30 years; After they started putting codes in interpreted languages into various software, the number of bugs skyrocketed, the opposite of what the video says.
he talk crap. no learn it. no jobs for u, out there.
ОтветитьYes :D
ОтветитьI disagree that Python or JS are good languages for beginners. Those languages are way too detached from reality to ever teach you anything about computers. I think Java, C#, Kotlin, Go or even Delphi are much better languages to start with.
ОтветитьDon’t say it’s not a good idea to learn first. Just point out the complexity. For me it depends on the person. Actually it’s besser to learn assembler as first language. That helped me to learn C and also C++.
ОтветитьSince you are at the beach, you should be flying a hang glider! The wind should make you want to fly.
ОтветитьC++ class-based OO is less flexible, less clear (including hidden "this" pointer), less productive, and less runtime performant than C-like interfaces with function pointers and lambdas. I am a degreed engineer with post graduate work and 30 years corporate experience. C++ OO v-tables cause performance problems for GPUs. C++ OO does not support Dr. Alan Kay's runtime adaptivity, but C function pointers and function tables do. That is important for runtime adaptive software (AI). Do not use the STL, and do not use C++ classes except simple structs with data and function pointers, but no class functions. C23 and C2Y have many features that bring C closer to C++ without the C++ class-based OO and STL. Look at how Rust and Golang allow flexible interface implementation with functions that are more free-standing. Do not be fooled by the STL C++ "cultists". The STL is garbage_. Take _control by using C APIs from C-like C++. This is the true "modern" way now. Happy coding, be free!
Ответитьi really enjoy coding libs in c++ ever since i touched it.
ОтветитьHow many other languages have function pointers? People tend to think pointers are only about data, but in c and c++, you can also assign function pointers as any other variable and use them in greatly flexible ways. If you don't have them, you're missing out.
ОтветитьIs C++ worth learning if I have no interest in game development?
ОтветитьC++ was my first language at university in Australia back in 1996, and I loved it. C++ was not as complex back then, and even today it doesn't have to be. You can start with a useful subset of C++, like "a better C" and use it as a procedural language with better libraries. You absolutely can start writing real programs in C++ "now", and that's how you get good at it. Start writing programs in a subset of C++ and it grows with you.
Ответить