Message from @picnicnapkin
Discord ID: 464444527676227595
I've had a C++ fetish since I was maybe 13 or so. I tried to learn it on my own for years, went through tons of books, ended up properly learning C at about 15 and doing a bunch of embedded stuff in C with increaing ammounts of ASM mixed in, then really got back into C++ maybe from when I was 17 or so. I ended up completely disliking a lot of featues like STL at the time (and still today kinda) because they were so overused at the time, so I coded most of my own stuff with pretty much only the basic features of C++ with a ton of low level style C'ish code
now I've been spoiled by languges like Ruby so I end up using a ton of the new features and completely abuse Boost
yeah started with C, did quite a bit of embedded stuff (and FPGA/hardware) in university, and C++, and then mostly did C++ in jobs and grad school. I like STL, but I hate when people abuse it and do stupid shit with it... using it wrong can be _really_ bad for performance
i've seen STL heavy programs spend 30%+ of total runtime in `new` and `delete`
back when I was getting into it I think STL was fairly new and people would do shit like completely rewrite completely functional libraries to be super abstracted with STL.. So you'd use them and get insane errors that were just super abstract
It's so much better now.
it's come a long way yeah
and if STL doesnt have it, then boost probably does
agreed
I just can't stand not having RAII and Rule Of Zero.
man i still get confused about move semantics and that shit sometimes
why RAII?
Most of the time you don't even have to remember about moves.
Like, `T&&`.
Just take by value.
I guess, but I kinda feel like that's part of what makes it a ~C language
RAII, let all resource cleanup happen automatically. Suddenly you notice 90% of your destructors are empty, the other 10% is trivial.
And you barely need `try/catch`.
Point taken, but I've never particularly disliked writing destructors.
then again I'm not maintaining huge C++ codebases at the moment so I have that luxury
A month or so ago I was doing some serial/FTDI coding. Rewrote a utility originally in C. Half of the original code was error handling and cleanup. The C++ version had just 5 lines in `main()` to report the error message, no explicit error handling or cleanup anywhere else.
nice
Any time an exception would happen, the class would properly reset the device to a known state. So I could just read/write without worry.
Ever since I started titling myself "Computer Programmer" I keep getting offered odd non-programming basic tech jobs by random people.
haha, because people don't know what "computer programmer" means
I helped fix my friends computer, and she goes "so this is what you do all day for work?" 😦
I told her I have IT people to fix my computer for me at work...but a lot of people just don't understand the differentiation between different tech specializations
I'm half tempted to take the jobs. If I can get a programmer cut for IT work
So far my trainer asked if I could set up his new laptop. Ok thats insanely easy, it basically does it all automatically. At most I might do a windows reinstall, even then its a button press. Other job was by a local coffee shop owner who wanted someone that could "hack" information. He wanted to make a dectective agency and wanted a tech guy. Kinda out there that guy. Even then, it would just be social engineering to get info which can be done by anyone that knows how to work social media
@meratrix
>be studying CS
>Family: CAN YOU FIX MY COMUPUTER???????????????
fucking yep
My family is picking up on the backlash to that sentiment, sloooooooooooooowly
CS doesn't involve knowledge of computer parts other than how they function in particular. Just tell them to find someone versed in IT or whatnot. x3
IT is a waste of time for programmers.
In regards to earlier: GC tends to be pretty resource heavy.
But GC is pretty essential.
Also, yeah, having a hard-on for programming in C++ is a bit detrimental, while it's absolutely essential to have fundamental knowledge of lower-level programs and how any language you're currently using that's higher level will be parsed and compiled into at a base level (for optimization purposes) holding onto only working in C++ just kills your ability to program something in a short/efficient period of time.
C++ is very high level dude.
The only edge other languages have is the easy-to-install 3rd party modules.
Who knows, maybe C++23 will have modules.