Home Upgrade Search Memberlist Extras Hacker Tools Award Goals Help Wiki Contact

C 

C or C++ what should I continue writing in?

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]
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.
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.
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.
[Image: dLLMMi.gif]
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 😠


Possibly Related Threads...
Thread / Author Replies Views Last Post
by EnigmatikkJun 22, 2025 08:59 AM 12 323 Jun 22, 2025 08:59 AM
Last Post: ʀ00ȶʐɨʟʟǟ
[C#] by randomvodkaloverAug 8, 2020 11:32 PM 8 242 Aug 8, 2020 11:32 PM
Last Post: randomvodkalover
[Python] by -Matatan-Jul 7, 2018 10:44 AM 3 194 Jul 7, 2018 10:44 AM
Last Post: vegardagain