Message from @picnicnapkin

Discord ID: 464444527676227595


2018-07-05 14:36:23 UTC  

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

2018-07-05 14:40:43 UTC  

now I've been spoiled by languges like Ruby so I end up using a ton of the new features and completely abuse Boost

2018-07-05 14:42:45 UTC  

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

2018-07-05 14:43:11 UTC  

i've seen STL heavy programs spend 30%+ of total runtime in `new` and `delete`

2018-07-05 14:44:47 UTC  

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

2018-07-05 14:44:54 UTC  

It's so much better now.

2018-07-05 14:45:04 UTC  

it's come a long way yeah

2018-07-05 14:45:16 UTC  

and if STL doesnt have it, then boost probably does

2018-07-05 14:45:18 UTC  

agreed

2018-07-05 14:45:42 UTC  

I just can't stand not having RAII and Rule Of Zero.

2018-07-05 14:46:58 UTC  

man i still get confused about move semantics and that shit sometimes

2018-07-05 14:47:01 UTC  

why RAII?

2018-07-05 14:48:10 UTC  

Most of the time you don't even have to remember about moves.

2018-07-05 14:48:32 UTC  

Like, `T&&`.

2018-07-05 14:48:49 UTC  

Just take by value.

2018-07-05 14:49:47 UTC  

I guess, but I kinda feel like that's part of what makes it a ~C language

2018-07-05 14:50:05 UTC  

RAII, let all resource cleanup happen automatically. Suddenly you notice 90% of your destructors are empty, the other 10% is trivial.

2018-07-05 14:51:20 UTC  

And you barely need `try/catch`.

2018-07-05 14:54:23 UTC  

Point taken, but I've never particularly disliked writing destructors.

2018-07-05 14:55:20 UTC  

then again I'm not maintaining huge C++ codebases at the moment so I have that luxury

2018-07-05 14:56:44 UTC  

i agree with anything that lets me avoid try/catch

2018-07-05 14:57:34 UTC  

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.

2018-07-05 14:58:38 UTC  

nice

2018-07-05 15:00:54 UTC  

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.

2018-07-05 18:57:53 UTC  

Ever since I started titling myself "Computer Programmer" I keep getting offered odd non-programming basic tech jobs by random people.

2018-07-05 18:58:25 UTC  

haha, because people don't know what "computer programmer" means

2018-07-05 18:58:55 UTC  

I helped fix my friends computer, and she goes "so this is what you do all day for work?" 😦

2018-07-05 18:59:57 UTC  

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

2018-07-05 19:02:09 UTC  

I'm half tempted to take the jobs. If I can get a programmer cut for IT work

2018-07-05 19:06:08 UTC  

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

2018-07-05 19:22:46 UTC  

@meratrix
>be studying CS
>Family: CAN YOU FIX MY COMUPUTER???????????????

2018-07-05 19:22:56 UTC  

fucking yep

2018-07-05 19:29:06 UTC  

My family is picking up on the backlash to that sentiment, sloooooooooooooowly

2018-07-05 20:48:19 UTC  

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

2018-07-05 20:48:47 UTC  

IT is a waste of time for programmers.

2018-07-05 20:51:07 UTC  

In regards to earlier: GC tends to be pretty resource heavy.

2018-07-05 20:51:14 UTC  

But GC is pretty essential.

2018-07-05 20:54:09 UTC  

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.

2018-07-05 21:39:23 UTC  

C++ is very high level dude.

2018-07-05 21:39:53 UTC  

The only edge other languages have is the easy-to-install 3rd party modules.

2018-07-05 21:40:15 UTC  

Who knows, maybe C++23 will have modules.