I have used C a lot before, it's a nice small language.
My issue is that it's harder to architect larger projects in C, sometimes it just helps to have either namespacing or objects. This is why I like C++. Problem is that C++ is a fudging huge language and there's so much to learn.
C++
Pros:
- oop supported
- pass by reference (on paper at least; compilers generally just copy in ptrs)
- lambda functions
- very popular for game dev
Cons:
- big fucking language
- mangled names are annoying as fuck when in gdb
- larger binaries (not really an issue since disk space is cheap. i wanted to pick on something at least)
- syntax looks ugly (my opinion)
C
Pros:
- tiny language
- no objects can make it easier to write functional code
- zen
Cons:
- restricted to only procedural/functional code
- very difficult to work with c++ libraries (sometimes impossible)
Post your opinions below, I will read through them all and try to reply.
I'd say c# but considering you want to choose between these two, go for c++
Жизнь это не те дни, что прошли, а те, что запомнились
(Feb 2, 2019 03:30 AM)Dotexe Wrote: I'd say c# but considering you want to choose between these two, go for c++
I used to write a lot of java (c# obv. very similar). You saying c++ because it supports many of the same paradigms as c#?
If you like C, use C. There's a lot of tips and tricks you can make use of to make it easier to use in larger projects.
Tbh, You can do anything with C++ if you learn it properly.
I'd continue doing C++ instead.
Returning quick loves
![[Image: E0PaFmi.gif]](https://i.imgur.com/E0PaFmi.gif)
DO NOT DEAL WITH THIS MEMBER
Switch to C++. Even just classes and namespaces alone are worth the switch. When you add in things like the standard template library containers, templates, enum classes, and static_assert, it's obvious that C++ wins for large projects if you value agility. Yeah you can do it all in C but it takes longer and requires heavier testing
(Feb 2, 2019 05:50 PM)6577657534735 Wrote: Switch to C++. Even just classes and namespaces alone are worth the switch. When you add in things like the standard template library containers, templates, enum classes, and static_assert, it's obvious that C++ wins for large projects if you value agility. Yeah you can do it all in C but it takes longer and requires heavier testing
Thanks Abraluna. Great response and all good parts of C++ that you don't get in C.
DO NOT DEAL WITH THIS MEMBER
Also for anyone reading, there is a lot of sort of propaganda about C++, some people say it's not used much and php or javascript is more employable - ignore them they're just webdevs. C++ is heavily used in industry and you can get great jobs as a C++ dev. All the best jobs are C++ in fact. There are some obscure companies like Jane Street that use Haskell, but if you're a good C++ dev with a bachelor's in CS you WILL be employed.
DO NOT DEAL WITH THIS MEMBER
C++ imo its very effective and good :D
C++ is superior by quite a bit of factors to C so it would be better.
Don't know if it's OT but why don't you consider to use Python? It is based on a C overlay and its sintax is pretty simple and easy to remember... you can even embed C or C++ code on your programs.
DO NOT DEAL WITH THIS MEMBER
Languages are tools, so it depends on the project. I wouldn't use a hammer when a screwdriver is called for.
If you're a large project that you'll be scaling and you have a reason to use the nice things about C++, use it! If you're writing a driver, debugging will be harder because of the overhead and complexity of C++ versus C.
As programmers, we solve problems. There are people that have been involved in these language battles forever, but I think it's bad for people to have this sort of approach to most anything in life. The people that bash other languages all the time are usually people that don't really write much code, in my experience. Also, you're wasting your valuable mental resources being involved in something that's no different at all to cheering for your favorite sports team.
Remember that the language is just a means to accomplish something. There are many languages and many paths to the finish line. Do what makes the most sense based on research.
Sorry about the rant at the end! I wish you the best in your selection process, friend.
I remember that i made Internet File Downloader application for windows using c++ in C++ Builder IDE, i would say it's a large project (not very :D), but very organized, i don't have to go through all lines that i wrote to figure out where the error coming from.
I used OOP in my project by the way, so i never used C language, but i must say that C++ is Hot language, because it supports larger projects, also if you're stuck in some code you can find the help in google.
(Feb 15, 2019 01:43 AM)ecc_ecc Wrote: Don't know if it's OT but why don't you consider to use Python? It is based on a C overlay and its sintax is pretty simple and easy to remember... you can even embed C or C++ code on your programs. (Feb 2, 2019 03:30 AM)Dotexe Wrote: I'd say c# but considering you want to choose between these two, go for c++
Lmao
(Feb 3, 2019 05:20 AM)degenration-x60 Wrote: C++ imo its very effective and good :D (Feb 4, 2019 10:01 AM)Hoodie+ Wrote: C++ is superior by quite a bit of factors to C so it would be better.
^^^ This, anyone who shills C has never worked on a big project made in C, but there are still times when you want C
(Feb 2, 2019 03:18 AM)NeXTSTEP Wrote: C++
Pros:
- pass by reference (on paper at least; compilers generally just copy in ptrs)
C
Cons:
- restricted to only procedural/functional code C has pass by reference too, C is not a functional language
I recommend you go over the basics of each language and figure out which one will be better for what youre doing (its probably going to be C++)
(Feb 16, 2019 07:17 AM)turbosoggy Wrote: Lmao
^^^ This, anyone who shills C has never worked on a big project made in C, but there are still times when you want C
C has pass by reference too, C is not a functional language
I recommend you go over the basics of each language and figure out which one will be better for what youre doing (its probably going to be C++)
Pass by reference as a language feature. Pointers are pass by value of reference. Obviously every compiler implements `Object& o` as a pointer. Did I ever say C was a functional language 😠
|