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
carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

Magissima posted:

I didn't know I had a coworker that posted here

you have to do some terrible things when the stipulation is "frontend and all microservice backend applications compiled, packaged, and servers downloaded and started with a single command"

Adbot
ADBOT LOVES YOU

Magissima
Apr 15, 2013

I'd like to introduce you to some of the most special of our rocks and minerals.
Soiled Meat
that doesn't sound too bad compared to having half the code deployed through a million ultra-fragile docker containers and the other half through ant -> gradle -> npm, all of which break constantly

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

carry on then posted:

you have to do some terrible things when the stipulation is "frontend and all microservice backend applications compiled, packaged, and servers downloaded and started with a single command"
this is what i keep telling people

redleader
Aug 18, 2005

Engage according to operational parameters
this is more a coding horror, but barely adequate performance is our goal, and to that end we've basically done the bare minimum to keep stuff running adequately fast. this is fine.

until one day it's not, and we end up to have someone rewrite a major component - directly in production

we knew this component was a big perf problem beforehand, but because perf was barely adequate, management were unwilling to spend any time on improving it. then it fell over and Something Needed To Be Done

so this poor person had to do a full rewrite of this poorly-understood, extremely legacy component, and deploy it into prod with minimal testing (at best)

needless to say we're still finding bugs. very visible bugs with potential legal implications

~performance culture~

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

it sounds like the barely-adequate performance was the least of the problems here

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

Thermopyle posted:

it sounds like the barely-adequate performance was the least of the problems here
i think he's referring to the barely-adequate performance of management

although i seem to recall bill mcneal being quite happy with that level of adequosity

Fiedler
Jun 29, 2002

I, for one, welcome our new mouse overlords.

carry on then posted:

you have to do some terrible things when the stipulation is "frontend and all microservice backend applications compiled, packaged, and servers downloaded and started with a single command"

Sounds like a job for msbuild.

redleader
Aug 18, 2005

Engage according to operational parameters

Sagacity posted:

i think he's referring to the barely-adequate performance of management

little from column a, little from column b

this place is a horrorshow

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
“it just needs to be barely fast enough” seems to be fairly universally used to defend things that actually are not anywhere close to fast enough

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

i've yet to be at a company where "it works" was fast enough

i have had partner teams for whom "fast enough" needed to be much faster than the legacy system they were building their front end on could support.

Maximum Leader
Dec 5, 2014
don't optimize if you don't need to but also don't do obviously studpid poo poo like running queries in for loops for no reason. my coworkers do that all the time and it's only a matter of time before it fails and i have to dig through their garbage code

Maximum Leader fucked around with this message at 14:21 on May 30, 2018

HappyHippo
Nov 19, 2003
Do you have an Air Miles Card?

Fiedler posted:

Sounds like a job for msbuild.

please, no more, i can't take another build discussion

prisoner of waffles
May 8, 2007

Ah! well a-day! what evil looks
Had I from old and young!
Instead of the cross, the fishmech
About my neck was hung.

Fiedler posted:

Sounds like a job for msbuild.

HappyHippo posted:

please, no more, i can't take another build discussion

We're going to keep on improving our build discussions until each one is byte-for-byte reproducible

We're going to have a new build discussion every night and run the full test suite on it

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

Maximum Leader posted:

don't optimize if you don't need to but also don't do obviously studpid poo poo like running queries in for loops for no reason. my coworkers do that all the time and it's only a matter of time before it fails and i have to dig through their garbage code

if premature optimization is bad then premature pessimization must be good right?

there’s a certain sort of programmer that when given two choices that are identical for readability and maintainability but different in performance will choose the slower one every time and I’ve never understood why

prisoner of waffles
May 8, 2007

Ah! well a-day! what evil looks
Had I from old and young!
Instead of the cross, the fishmech
About my neck was hung.

Plorkyeran posted:

if premature optimization is bad then premature pessimization must be good right?

there’s a certain sort of programmer that when given two choices that are identical for readability and maintainability but different in performance will choose the slower one every time and I’ve never understood why

so that you can feel superior when you look at their code, hth

cinci zoo sniper
Mar 15, 2013




HappyHippo posted:

please, no more, i can't take another build discussion

we’re going to have them until the morale improves

HappyHippo
Nov 19, 2003
Do you have an Air Miles Card?

Plorkyeran posted:

if premature optimization is bad then premature pessimization must be good right?

there’s a certain sort of programmer that when given two choices that are identical for readability and maintainability but different in performance will choose the slower one every time and I’ve never understood why

i think it's the same sort of mentality that concludes if terse variable names are bad then SimpleBeanFactoryAwareAspectInstanceFactory must be good

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

HappyHippo posted:

i think it's the same sort of mentality that concludes if terse variable names are bad then SimpleBeanFactoryAwareAspectInstanceFactory must be good
ah yes, the "internals of spring framework should have obfuscated names instead of descriptive names that are a bit awkward" meme

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope
It's a pretty funny meme tbh

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

i wonder if you could have descriptive names that were not awkward and if not does that mean you've got fundamental issues with how your code is structured

HappyHippo
Nov 19, 2003
Do you have an Air Miles Card?
the ridiculous names are the symptom. the problem is oop is a terrible way to structure code

Soricidus
Oct 21, 2010
freedom-hating statist shill
would this be a good moment to share some opinions on ++x vs. x++

Notorious b.s.d.
Jan 25, 2003

by Reene

Soricidus posted:

would this be a good moment to share some opinions on ++x vs. x++

both are terrible

code:
(increment x)

VikingofRock
Aug 24, 2008




Notorious b.s.d. posted:

both are terrible

because both involve state.


Serious answer: in most compiled languages, if you have the choice it doesn't really matter. In C++, you should get in the habit of using ++x because if x is a non-trivial iterator there is a very good chance that ++x will produce better code than x++. Generally you should never use the result of ++x or x++, because it's hard to read and error-prone. The possible exception is that one C idiom, but honestly I think that C idiom is a bit of a horror so I'd avoid it anyways.

Slurps Mad Rips
Jan 25, 2009

Bwaltow!

VikingofRock posted:

because both involve state.


Serious answer: in most compiled languages, if you have the choice it doesn't really matter. In C++, you should get in the habit of using ++x because if x is a non-trivial iterator there is a very good chance that ++x will produce better code than x++. Generally you should never use the result of ++x or x++, because it's hard to read and error-prone. The possible exception is that one C idiom, but honestly I think that C idiom is a bit of a horror so I'd avoid it anyways.

There's been some changes to the behavior in C++, you can see all of them here. Still dangerous, but it's been cleaned up a bit over the years

Fiedler
Jun 29, 2002

I, for one, welcome our new mouse overlords.

VikingofRock posted:

Generally you should never use C++, because it's hard to read and error-prone.

feedmegin
Jul 30, 2008

prisoner of waffles posted:

We're going to keep on improving our build discussions until each one is byte-for-byte reproducible

We're going to have a new build discussion every night and run the full test suite on it

We should write our own goon build system

carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

feedmegin posted:

We should write our own goon build system

judging by the thread it'll wind up being maven written in lisp

prisoner of waffles
May 8, 2007

Ah! well a-day! what evil looks
Had I from old and young!
Instead of the cross, the fishmech
About my neck was hung.

feedmegin posted:

We should write our own goon build system

ugh, don't know about you but I can't stand GBS

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

Soricidus posted:

would this be a good moment to share some opinions on ++x vs. x++
just that both are useful and doug crockleford is a twit for saying otherwise (and other reasons too)

redleader
Aug 18, 2005

Engage according to operational parameters

VikingofRock posted:

Generally you should never use the result of ++x or x++, because it's hard to read and error-prone.

it's actually fine though

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

Soricidus posted:

would this be a good moment to share some opinions on ++x vs. x++

that is the classic example. in c++ i default to prefix because spending time thinking about whether or not your iterator is expensive to copy is stupid. i have been told that this is a "premature optimization" more than once.

another stupid example was that i once worked on an obj-c codebase where the policy was that all properties had to be marked as atomic unless profiling indicated that it caused performance issues, and only then could it be switched to nonatomic. none of these were ever actually accessed from multiple threads, and there was no benefit gained from not just declaring everything nonatomic to start with. it was just pointless busywork done in the name of avoiding "premature optimization"

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
why is constexpr hosed in C++

JawnV6
Jul 4, 2004

So hot ...
did u do something silly like skipping ctors

HappyHippo
Nov 19, 2003
Do you have an Air Miles Card?

prisoner of waffles posted:

ugh, don't know about you but I can't stand GBS

:golfclap:

Progressive JPEG
Feb 19, 2003

prisoner of waffles posted:

ugh, don't know about you but I can't stand GBS

VikingofRock
Aug 24, 2008




redleader posted:

it's actually fine though

I mean, it's a matter of preference. Maybe I shouldn't have made such a general statement, but I personally think that even

C++ code:
int y = x++;
is doing too much on one line because it's both assigning to one variable and mutating another. I'd rather see

C++ code:
int y = x;
++x;
And that's not even getting into

C++ code:
while (y++ == x++) {}
or the sequence point issues that Slurps Mad Rips was talking about.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

redleader posted:

it's actually fine though

nah it’s dumb, += forever

Brain Candy
May 18, 2006

carry on then posted:

judging by the thread it'll wind up being maven written in lisp

its called leiningen?

Adbot
ADBOT LOVES YOU

Lime
Jul 20, 2004

code:
while(x --> 0) { }

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