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.
 
  • Locked thread
Xarn
Jun 26, 2015

Shaggar posted:

descriptive names are good. theres no reason to be using acronyms or abbreviations.

I agree, HyperTextMarkupLanguageDocumentObjectTreeElement is a good name.

Adbot
ADBOT LOVES YOU

comedyblissoption
Mar 15, 2006
Probation
Can't post for 4 hours!

Sapozhnik posted:

that was me

dependency injection owns, dwi
reflection based dependency injection frameworks are poop from a butt

for some reason enterprise java/c# programmers loving hate plain old static functions

HoboMan
Nov 4, 2010

reflection based dependency injection is cool as heck when it works
debugging that poo poo is the worst nightmare i have ever had to deal with though

Moreleth
Jun 11, 2001

lego my eggo

Xarn posted:

I agree, HyperTextMarkupLanguageDocumentObjectTreeElement is a good name.

If somebody else gives you an abbreviation, go ahead and use it. If you are creating your own abbreviations - ever - stop it.

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.
At past jobs I refuted away any attempts to use reflection in our code as too much of a performance hit. So far, it's saved me from having to work too hard to understand it.

Current job? lol no one gives a poo poo about DI when your platform is the code equivalent of the London Fire.

Sapozhnik
Jan 2, 2005

Nap Ghost

HoboMan posted:

reflection based dependency injection is cool as heck when it works
debugging that poo poo is the worst nightmare i have ever had to deal with though

guice goes into extremely specific detail about why it cannot instantiate a thing, op

Chalks
Sep 30, 2009

Finster Dexter posted:

At past jobs I refuted away any attempts to use reflection in our code as too much of a performance hit. So far, it's saved me from having to work too hard to understand it.

Current job? lol no one gives a poo poo about DI when your platform is the code equivalent of the London Fire.

We're in the final stages of implementing a dynamic odata api that builds the entities on demand based on each individual customer's bespoke data structures so lol the only parts of the codebase that aren't reflection are in IL lol kill me.

FamDav
Mar 29, 2008

Sapozhnik posted:

guice goes into extremely specific detail about why it cannot instantiate a thing, op

dagger is also cool and good for reducing runtime overhead

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

Chalks posted:

We're in the final stages of implementing a dynamic odata api that builds the entities on demand based on each individual customer's bespoke data structures so lol the only parts of the codebase that aren't reflection are in IL lol kill me.

haha omg ok that sounds pretty bad

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

Sapozhnik posted:

guice goes into extremely specific detail about why it cannot instantiate a thing, op

otoh ot's called "guice" and you know the least funny borat-quoter in your office will non-stop say "the guice is lose" whenever they see it in a stack trace

HoboMan
Nov 4, 2010

Sapozhnik posted:

guice goes into extremely specific detail about why it cannot instantiate a thing, op

that stuff is pretty straightforward
i am talking about poo poo like: "hey, can you tell me why this one specific value is wrong? or where is is coming from and what modifies it because we have a customer that insists it's wrong and we either need to prove them wrong or find the faulty business logic. (by the way, this is all undocumented)"
this was very hard to answer without exactly recreating what the user was doing because everything happens at runtime

JawnV6
Jul 4, 2004

So hot ...

Cocoa Crispies posted:

least funny borat-quoter

HoboMan
Nov 4, 2010

oh god all my references in my project got hosed somehow
like it can't even find the namespace "System"
help?

carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

HoboMan posted:

oh god all my references in my project got hosed somehow
like it can't even find the namespace "System"
help?

we switched his c# compiler with java. let's see if he notices.

HoboMan
Nov 4, 2010

carry on then posted:

we switched his c# compiler with java. let's see if he notices.

it was actually using the wrong compiler lol

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

HoboMan posted:

it was actually using the wrong compiler lol

How did it end up using the wrong compiler?? Is this a practical joke I can play on someone?

HoboMan
Nov 4, 2010

somehow the csproj file had an assert for checking if some c++ compiler existed in the packages folder

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

https://youtu.be/56RsdDNjGI4

theodop
Dec 30, 2005

rock solid, heart touching

comedyblissoption posted:

reflection based dependency injection frameworks are poop from a butt

for some reason enterprise java/c# programmers loving hate plain old static functions

are you talking about static functions as factories, or static functions as LOB logic?

because the reason the latter are out of style is because you're locked to one implementation which means you can't supply a new one or unit test it without breaking the VM

impure static functions are bad

Arcsech
Aug 5, 2008
reposting this from the pl thread because it fits better here:

don't use node

if you do use node, don't use mongo

if you do you node and mongo, definitely do not ever use mongoose

mongoose is a javascript orm for mongo

it is exactly as dumb as you would expect if you know anything at all about mongo and javascript (ask me about about chasing performance bugs for a week and a half only to find mongoose is spending approximately 1000x as long constructing objects as it is querying mongo and parsing the json combined)

anywho, we use it a) to enforce a schema on our schemaless database, except it only enforces it from the node-based processes that talk to mongo, not the java-based ones, b) to make crud slightly simpler, c) to badly reinvent LISTEN/NOTIFY using a dumbass plugin a coworker wrote, and d) because we're masochists i guess

we inherited this project from another group that is currently in the process of perpetrating a new node/mongo atrocity

i very very badly want to rewrite this piece of garbage in anything but javascript but unforunately, deadlines

oh no blimp issue
Feb 23, 2011

Luigi Thirty posted:

the C macro system is incredibly garbage

I'm just trying to reduce the amount of boilerplate crap and curly braces I need to type to define world objects in my Saturn game and it's such poop

if only there were a language that had some sort of facility for processing lists

and a comprehensive macro definition system

and that I could compile for sh2

did anyone say port g++ to saturn?

Ciaphas
Nov 20, 2005

> BEWARE, COWARD :ovr:


So I figured out how to write a reverse polish notation parser in haskell (before finding out that that's also in LYAH so I was kinda proud of that)

Then I wanted to see if I could do it that way in C#, and I can:

C# code:
static double ParseRPN(string formula)
{
  return formula.Split(' ')
    .Aggregate(new Stack<double>(), (acc, x) => 
    {
      if (x == "+") acc.Push(acc.Pop() + acc.Pop());
      else if (x == "-") // ...
      // ...
      else acc.Push(double.Parse(x));

      return acc;
    }).Peek();
}
Then I realized "wait why didn't I just write that as a foreach" and now my head hurts :(

oh no blimp issue
Feb 23, 2011

or you know, just make the cross compiler bro

AggressivelyStupid
Jan 9, 2012

Mongo is a bad name because it makes me want to call users of Mongo problematic names

jesus WEP
Oct 17, 2004


imagine caring about you are data so little you would use a non relational db

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

AggressivelyStupid posted:

Mongo is a bad name because it makes me want to call users of Mongo problematic names

mongo users deserve them

darthbob88
Oct 13, 2011

YOSPOS

Cocoa Crispies posted:

mongo users deserve them
Well, yes, but I don't deserve to get fired for telling them so.

Moreleth
Jun 11, 2001

lego my eggo

AggressivelyStupid posted:

Mongo is a bad name because it makes me want to call users of Mongo problematic names

get in the gas chamber

Luigi Thirty
Apr 30, 2006

Emergency confection port.

oh no blimp issue posted:

did anyone say port g++ to saturn?

the full GCC compiler suite supports SuperH because people still use it for some reason

the library I'm using is C89 so in theory I should be able to use g++ with it I guess? the problem is the system only has 1MB of work RAM and g++ produces huge object files

Luigi Thirty fucked around with this message at 01:13 on Feb 16, 2017

PIZZA.BAT
Nov 12, 2016


:cheers:


St Evan Echoes posted:

imagine caring about you are data so little you would use a non relational db

what if I told you that an acid-compliant nosql db was out there.... waiting for you

Luigi Thirty
Apr 30, 2006

Emergency confection port.

oh there we go, the application compiles with sh2-g++ 3.4 and -fpermissive turned on because sega loved malloc void*

nrook
Jun 25, 2009

Just let yourself become a worthless person!
I dunno, I don't think node is that bad. Like it's definitely bad, but it's not really worse than any other p-lang. npm is a reasonably good package manager too.

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

nrook posted:

I dunno, I don't think node is that bad. Like it's definitely bad, but it's not really worse than any other p-lang. npm is a reasonably good package manager too.

left pad

Mao Zedong Thot
Oct 16, 2008


nrook posted:

I dunno, I don't think node is that bad. Like it's definitely bad, but it's not really worse than any other p-lang. npm is a reasonably good package manager too.

hifi
Jul 25, 2012

i wish all the languages that de facto require a package manager would do rpm/apt integration instead of write their own poo poo mountain. the whole cpan/pip/npm cottage industry is a waste of time

necrotic
Aug 2, 2005
I owe my brother big time for this!

nrook posted:

npm is a reasonably good package manager too.

thats a good one haha

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

hifi posted:

i wish all the languages that de facto require a package manager would do rpm/apt integration instead of write their own poo poo mountain. the whole cpan/pip/npm cottage industry is a waste of time

how do I rpm/apt on my macbook or my surface

and what does it mean to "de facto require a package manager"? I can copy/paste left-pad np


m

HoboMan
Nov 4, 2010

speaking of this poo poo, today is the first day of us going full web dev. i installed node and npm and used npm to get react and typescript and webpack
i already hate this toolchain
wish me luck!

Arcsech
Aug 5, 2008

nrook posted:

I dunno, I don't think node is that bad. Like it's definitely bad, but it's not really worse than any other p-lang. npm is a reasonably good package manager too.

js itself isn't significantly worse than say, ruby (I'd still rather use python if I had to use a plang tho)

the libraries on npm though, oh my god. there's basically zero way to tell what will be a horrific mess under the hood and what will be kind of okay until it explodes on you

also similar to ruby, something about js makes people desperately want to abuse the dynamism and make bugnuts incomprehensible bullshit

Adbot
ADBOT LOVES YOU

Luigi Thirty
Apr 30, 2006

Emergency confection port.

hmm, it compiles fine under GCC 3.4 but doesn't work under GCC 6.x because of some problem with libgcc for sh2 missing arithmetic emulation functions. rip

  • Locked thread