Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Sivart13
May 18, 2003
I have neglected to come up with a clever title

leper khan posted:

I can't imagine anyone preferring to write C++ over C.
This thread is chock full of people failing to imagine that anyone does work in a different way than them.

Adbot
ADBOT LOVES YOU

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
it takes like 1-5 years to induct peeps to a completely different point of view to programming, which the cpp c gap doesnt feel like but in fact is. thats why peeps get hosed by that gap, they dont respect it like they would respect a c lisp or c haskell gap

Xarn
Jun 26, 2015

leper khan posted:

I can't imagine anyone preferring to write C over C++

FTFY :tipshat:

chglcu
May 17, 2007

I'm so bored with the USA.
If C had proper generics instead of macro and void* fuckery, I'd never have any desire to write C++ again. That one thing keeps me waffling between the two.

chglcu fucked around with this message at 09:33 on Dec 19, 2021

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

chglcu posted:

If C had proper generics instead of macro and void* fuckery, I'd never have any desire to write C++ again. That one thing keeps me waffling between the two.

_Generic is your new best friend!

chglcu
May 17, 2007

I'm so bored with the USA.

pokeyman posted:

_Generic is your new best friend!

_Generic helps a little, but unless I’ve missed something in my reading about it, it’s still a pain because you need to have all your possible implementations in the same _Generic backed macro. So you can’t have say a library defined generic that’s specializable by a user of that library.

e: for example, I couldn’t create a fixed point type and provide implementations of the tgmath functions for it, and then have some other code be able to call the appropriate math functions for all the basic types plus my fixed type, if my understanding is correct.

chglcu fucked around with this message at 10:11 on Dec 19, 2021

Xarn
Jun 26, 2015
As everything in C, you can add more macros to solve this. :v:

Anyway, I still don't understand how people can live without usable abstractions and deterministic destructors. Every time I have to do some C and account for all exits from a function to ensure cleanup, I die a little inside.

Doom Mathematic
Sep 2, 2008

lifg posted:

The next iteration of standups: a meeting continues until the majority of participants indicate they know what they need to know. Then it ends immediately.

https://twitter.com/zarawesome/status/1404388690638540803

Paolomania
Apr 26, 2006

leper khan posted:

I can't imagine anyone preferring to write C++ over C.

I definitely work with people who relish in the mental exercise of working out the post C++11 expression taxonomy and what the compiler will do with it.

Lockback
Sep 3, 2006

All days are nights to see till I see thee; and nights bright days when dreams do show me thee.

Sivart13 posted:

This thread is chock full of people failing to imagine that anyone does work in a different way than them.

This applies both to the C++ discussion and the "Why would someone find it useful to have time set aside to chat with their coworkers" discussion.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

chglcu posted:

_Generic helps a little, but unless I’ve missed something in my reading about it, it’s still a pain because you need to have all your possible implementations in the same _Generic backed macro. So you can’t have say a library defined generic that’s specializable by a user of that library.

You haven't missed anything afaik, I'm being a silly goose.

Xarn posted:

As everything in C, you can add more macros to solve this. :v:

Anyway, I still don't understand how people can live without usable abstractions and deterministic destructors. Every time I have to do some C and account for all exits from a function to ensure cleanup, I die a little inside.

Well if you can get away with requiring one specific compiler…

Lockback posted:

This applies both to the C++ discussion and the "Why would someone find it useful to have time set aside to chat with their coworkers" discussion.

I like chatting with my coworkers, they're nice people! The daily meeting nonetheless feels like a complete waste of time. There are other ways to chat.

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

Xarn posted:

As everything in C, you can add more macros to solve this. :v:

Anyway, I still don't understand how people can live without usable abstractions and deterministic destructors. Every time I have to do some C and account for all exits from a function to ensure cleanup, I die a little inside.

C can be a pain in the rear end and take longer to write, and the code looks gross at the end of it - but the time you spend on the programming is mostly deterministic, and you can someone new to programming up to speed on the whole language relatively quickly. With C++, you can definitely write cleaner code more quickly with a lot less effort initially, but god help you if someone makes a mistake or uses a feature they don't fully understand incorrectly and you end up having to read a 500 page treatise on, say, smart pointer semantics to understand how to fix some bullshit problem.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
the vast gap of c vs cpp is the vast gap of determinism and not, really

bob dobbs is dead fucked around with this message at 20:58 on Dec 19, 2021

Presto
Nov 22, 2002

Keep calm and Harry on.

Xarn posted:

Anyway, I still don't understand how people can live without usable abstractions and deterministic destructors.
C has deterministic destructors. It's called "free". :smug:

kayakyakr
Feb 16, 2004

Kayak is true
I will forever consider one of my top college achievements to be placing in the top 20, nationally, on one of those silly algorithm competition websites after submitting a C++ app. The top 25 was 24 C submissions and my 1 C++ submission.

Take that one to the grave with me.

oliveoil
Apr 22, 2016
I've got a theory.

You can type at one speed and think at another speed. These speeds are not necessarily the same.

Sometimes we do mindless repetitive typing to configure variables etc. This is boring repetitive work and it feels like it slows us down because it uses up our typing capacity but not our thinking capacity.

We know what we want to build but have to wait for our fingers to catch up. What wasted time! If only I could type as fast as I could think about the code!

This is where dependency injection frameworks come in.

They introduce complexity and use up your thinking capacity, slowing your mind down until your capacity to think about your code is the bottleneck.

Overall this is actually slower and wasteful, as it's *probably* better in most cases to keep your fingers occupied rather than your brain.

But this is perceived as making you faster and more productive because now your brain is so bogged down mapping how everything fits together, you don't have the "problem" of your fingers being slower than your brain.

CPColin
Sep 9, 2003

Big ol' smile.
I wish you would slow down your typing

oliveoil
Apr 22, 2016

CPColin posted:

I wish you would slow down your typing

It already cant keep up with my brain

gbut
Mar 28, 2008

😤I put the UN🇺🇳 in 🎊FUN🎉


CPColin posted:

I wish you would slow down your typing

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

oliveoil posted:

I've got a theory.

You can type at one speed and think at another speed. These speeds are not necessarily the same.

Sometimes we do mindless repetitive typing to configure variables etc. This is boring repetitive work and it feels like it slows us down because it uses up our typing capacity but not our thinking capacity.

We know what we want to build but have to wait for our fingers to catch up. What wasted time! If only I could type as fast as I could think about the code!

This is where dependency injection frameworks come in.

They introduce complexity and use up your thinking capacity, slowing your mind down until your capacity to think about your code is the bottleneck.

Overall this is actually slower and wasteful, as it's *probably* better in most cases to keep your fingers occupied rather than your brain.

But this is perceived as making you faster and more productive because now your brain is so bogged down mapping how everything fits together, you don't have the "problem" of your fingers being slower than your brain.

I totally agree with what you're trying to say but disagree with your example. I've used a lot of DI frameworks on a lot of projects and only had DI really go bad on one project - I recognize that you can gently caress up DI but I'm not going to blame the tool for that experience, I'm going to blame the amphetamine-addled moron who made the decisions that he did.

I've never worked on a big C++ project that didn't involve weird issues where it takes me days to read all the pertinent literature and make a decision about how to proceed.

The same people who use C over C++ would also be the people who would be like "gently caress DI, let's just put all the business logic in static methods and write the unit tests against those.'

Bruegels Fuckbooks fucked around with this message at 21:02 on Dec 21, 2021

awesomeolion
Nov 5, 2007

"Hi, I'm awesomeolion."

If typing speed is your bottleneck you're doing some boring rear end coding

Votlook
Aug 20, 2005

TooMuchAbstraction posted:

By my understanding, the point of the standup is to make sure that a) people aren't trampling on each other ("I'm doing X today" "but that was my plan!"), and b) if there's an opportunity to share knowledge (e.g. "I'm working on X today" "Oh, I built X, let me know if you run into any problems"), that opportunity can be taken advantage of.

They're not "useless by design", they're meant to save a few hours' worth of wasted effort. But because the savings are comparatively small, the meeting needs to be super short or it outspends itself.

In one job we started using a slack bot to do async standups via chat after the lead dev burned out. It was excellent, no pointless disruptions and ceremony, but still a fixed time in the day to ask questions and report blockers.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
we do true async standups at all hours of the day because we have thai, russian, ukranian, brazillian, and sf devs (all full enployees). it kinda sucks cuz you wake up and some new stuff always has happened

Votlook
Aug 20, 2005

oliveoil posted:

I've got a theory.

You can type at one speed and think at another speed. These speeds are not necessarily the same.

This explains a lot about your posts.

Doom Mathematic
Sep 2, 2008

awesomeolion posted:

If typing speed is your bottleneck you're doing some boring rear end coding

And what if I am?

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
The best cases I've seen for using dependency injection were in pretty decoupled architectures, but then it winds up being used in the spaghetti architectures just to properly initialize stuff through a pile of layers and barriers. The first is pretty convenient and the second is just a necessary evil. That is my typing.

Achmed Jones
Oct 16, 2004



bob dobbs is dead posted:

it kinda sucks cuz you wake up

:yossame:

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.
DI is bad because programmers are incapable of not abusing it into a lovecraftian tangle of hatred and confusion

In principle it should be good.

Votlook
Aug 20, 2005

leper khan posted:

DI is bad because programmers are incapable of not abusing it into a lovecraftian tangle of hatred and confusion

In principle it should be good.

DI is bad, but no DI is worse.
DI good if you split up things according to functionality, it's bad if you split things up because 'classes cannnot have more than 5 methods, ever'

Votlook fucked around with this message at 00:14 on Dec 22, 2021

hendersa
Sep 17, 2006

Hey everyone! Time for some updates:

- I did my five interviews with Google about two weeks ago. They were split up over two days, with two the first day and three the second. The two interviews on the first day didn't go so hot. I was nervous, tripping over words, etc. I figured I had pretty much blown it. But, I rolled into the second day and nailed the next three interviews. A week afterwards, my recruiter contacted me and said that she reviewed the feedback from my interviews and was amazed at the results. She had never seen such a suck/awesome split on interviews like that before, and she really wanted to get some comments from me on it so that she could annotate the feedback before it was passed along to the hiring committee. So, I told her I had a bad day, the first interviewer was really pushy and picky, I was going blind into the first interview because no one could tell me what content was actually going to be asked in an "embedded systems design" interview (surprise... it was non-embedded coding questions and had no embedded design in it!), etc. I probably won't hear back from them until January, and I give myself about 50-50 odds.

Fun fact: The interviewer for my Google "embedded domain" interview told me that he has read my book on hardware interfacing under Android! I told him that I'd be happy to sign it for him if I get a position. :science:

- I have a pending offer with a high performance computing start-up that is currently in a holding pattern. They're patiently waiting on me to hear what Google says, and will talk numbers and details with me then.

- I have interviews with another one of the big companies in the high performance computing space in the first week of January. That's why I'm not pushing Google to hurry along with a decision. They have a reputation for asking about things relevant to doing the actual job and not CTCI puzzles, so I have high hopes. I was told that my resume "speaks for itself" and that my first interview is directly with the hiring manager, so I get to skip the preliminary technical screening interview on this one (like I did with Google).

- I did a preliminary technical screening interview with Meta, but the feedback I received was that they didn't get a "clear signal" on my ability from the interview and wanted to do a second tech screen. I politely declined and withdrew my application, stating that I was already past the on-site interviews with Google and that I probably wasn't what Meta was looking for if it wasn't immediately apparent in their tech screen. The recruiter seemed somewhat hurt that I'd say such a thing, since they are in dire need of experienced embedded people for their AR/VR initiative. Oh well. I also wasn't worried about backing out because I've had several people tell me that Meta is toxic as all hell.

- I threw an application at iRobot, but got an automated rejection mail a week later. So, I guess I suck, but I don't suck enough to work on robotic vacuums.

- Roku and Amazon never got back to me about remote embedded positions. Not a priority for them, I suppose.

- I turned down the recruiter wanting to talk to me about working at June (the company making ovens). I know that one was a crowd favorite around here, but I just couldn't see it as being very interesting. They're hiring, though, so if anyone here is just dying to work on a 12-in-1 oven, you should feel free to apply.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
the approach to tech major offers ive had which was more successful was to get the offer and use it to squeeze better companies for more money

Votlook
Aug 20, 2005

Doctor w-rw-rw- posted:

I start on a trial at an early-stage startup (still in stealth) tomorrow. Any clues on what I should expect from companies where my employee number is going to be a single digit?

Startups are driven by greed just like all other companies, and a single digit employee number still means you are just a number.

I'm being cynical, startups can be fun, lots of opportunities to do some real dev work instead of sitting in boring meetings like at the BigCo's.
Bail when they stagnate, working at a zombie startups sucks.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.
Is June the one where if the ovens get hot they can't turn off? Lol

Achmed Jones
Oct 16, 2004



leper khan posted:

DI is bad because programmers are incapable of not abusing it into a lovecraftian tangle of hatred and confusion

im trying to think of a language, paradigm, framework, or technology that this doesn't apply to

i guess that it doesn't apply to blockchain because that was never gonna be good but still

Ensign Expendable
Nov 11, 2008

Lager beer is proof that god loves us
Pillbug

hendersa posted:

- I did a preliminary technical screening interview with Meta, but the feedback I received was that they didn't get a "clear signal" on my ability from the interview and wanted to do a second tech screen. I politely declined and withdrew my application, stating that I was already past the on-site interviews with Google and that I probably wasn't what Meta was looking for if it wasn't immediately apparent in their tech screen. The recruiter seemed somewhat hurt that I'd say such a thing, since they are in dire need of experienced embedded people for their AR/VR initiative. Oh well. I also wasn't worried about backing out because I've had several people tell me that Meta is toxic as all hell.

Sounds like they're bad at interviewing then.

Guinness
Sep 15, 2004

You don't want to work at Meta/Facebook, anyway.

Vinz Clortho
Jul 19, 2004

hendersa posted:

Fun fact: The interviewer for my Google "embedded domain" interview told me that he has read my book on hardware interfacing under Android!

"Huge fan of your work, we refer to it often in our day-to-day. Anyway, imagine you have an n x n chessboard, and need to place n queens on it such that…"

AgentCow007
May 20, 2004
TITLE TEXT
I've been at my 'junior software developer' job for a year now and still haven't touched a line of production code.

I took a contractor job out of college because COVID was just kicking off, it was an easy in, and the salary was acceptable. I did 6 months of goofy Java "training" as per my contract, then I had no contact from anyone for 3 months, and then finally they put me on a team doing manual QA for IoT appliances and their apps. The workload is still really low... last week was a busy week when I got asked to do two 15 minute tasks.

I'm so conflicted because I'm the laziest motherfucker on the internet and I love getting paid to have unlimited free time and an excuse to stay home, but also I am mortified that I put work into school and learning to code, and actually like it, but don't do it. It's pretty demoralizing in a way I shouldn't let continue.

Anyone have any advice on how I might transition to something while mitigating the whole factor of "I spent my first year as a software developer developing nothing"? I've written a few small JS CRUD apps and web scrapers in my personal time but nothing really portfolio worthy. I'm thinking a solid portfolio app might be a good next step, but that seems more like something that would land me in the same pay range, and not leverage anything I've [allegedly] done this year for any sort of advancement.

Hadlock
Nov 9, 2004

You shouldn't have any trouble finding another junior developer job with one year experience + degree

Setup a LinkedIn profile, put more than 90 seconds of effort into it, and recruiters will be pounding down your door with offers within a week

At the beginning of the quarter is when new open reqs need to be filled, so you have about a week to get that sorted. Probably use the holidays to catch up on your algorithm trivia

Adbot
ADBOT LOVES YOU

B-Nasty
May 25, 2005

oliveoil posted:

This is where dependency injection frameworks come in.

They introduce complexity and use up your thinking capacity, slowing your mind down until your capacity to think about your code is the bottleneck.

If DI is 'using up your thinking capacity', you either

* Work with some lovely devs or lovely code -or, more likely-
* You're not as smart as you think you are.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply