New around here? Register your SA Forums Account here!

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
champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER


BurntCornMuffin posted:

the XML format needs to finally die.

Adbot
ADBOT LOVES YOU

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

BurntCornMuffin posted:

Out of curiosity, what issues? I've used both over the years, but I like Gradle far better: it's more flexible, its build files are nicer to read, and the wrapper is great for enabling people to build without having to install the program.

I have never seen a Maven project fail to produce a messy POM, and the XML format needs to finally die.

hot take: xml is fine. jason certainly isn’t any better.

xslt is real bad though

HoboMan
Nov 4, 2010

leper khan posted:

hot take: xml is fine. jason certainly isn’t any better.

xslt is real bad though

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.
xslt is like a torniquet: the right tool, but did you want this problem?

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat

BurntCornMuffin posted:

Out of curiosity, what issues? I've used both over the years, but I like Gradle far better: it's more flexible, its build files are nicer to read, and the wrapper is great for enabling people to build without having to install the program.

I have never seen a Maven project fail to produce a messy POM, and the XML format needs to finally die.

gradle is tremendously slower first off. since it has to do a bunch of compilation just to evaluate the build steps, once a project gets sufficiently large and complex enough, it will take forever for your IDE to parse it. since maven's POM format is well-defined (in that there's a schema), changes can be parsed immediately without spinning up a JVM.

second, until VERY recently, gradle had no mechanism to globally define dependency versions. you either had to use variable substitution, or a 3rd party plugin (such as spring's dependency-management-plugin), which of course, made your builds even slower since it actually creates a poo poo-ton of detached source sets for each dependency. hell, it had no way of importing a BOM, either. in maven you can declare everything in </dependencyManagement> and all your modules could inherit the version. if you have a big library or some sort of common BOM of dependencies, boom, just use the "import" scope.

finally, until the last year or so maybe, gradle had no concept of provided dependencies, so bringing in things that you are expected to have at runtime required you to define new logic to exclude those dependencies from the output.

also, letting people execute scripts in any loving order in the build system is chaos.

maven's format is much easier to read, has a defined schema, and does everything gradle can do, but better.

gradle is OK if you want to spin up a tiny project really fast, or if for god forsaken reason you need to write an android project (lol), but that's about it.

also even though it's not a first class citizen, there's a maven wrapper that works just like the gradle wrapper.

CPColin
Sep 9, 2003

Big ol' smile.
I like using build.gradle.kts because gently caress Groovy

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat
a typed language is definitely better but there's definitely a bit of jarring syntax issues when you are using a plugin that doesn't have the kotlin bindings written for it.

Shaggar
Apr 26, 2006

CRIP EATIN BREAD posted:

gradle is tremendously slower first off. since it has to do a bunch of compilation just to evaluate the build steps, once a project gets sufficiently large and complex enough, it will take forever for your IDE to parse it. since maven's POM format is well-defined (in that there's a schema), changes can be parsed immediately without spinning up a JVM.

second, until VERY recently, gradle had no mechanism to globally define dependency versions. you either had to use variable substitution, or a 3rd party plugin (such as spring's dependency-management-plugin), which of course, made your builds even slower since it actually creates a poo poo-ton of detached source sets for each dependency. hell, it had no way of importing a BOM, either. in maven you can declare everything in </dependencyManagement> and all your modules could inherit the version. if you have a big library or some sort of common BOM of dependencies, boom, just use the "import" scope.

finally, until the last year or so maybe, gradle had no concept of provided dependencies, so bringing in things that you are expected to have at runtime required you to define new logic to exclude those dependencies from the output.

also, letting people execute scripts in any loving order in the build system is chaos.

maven's format is much easier to read, has a defined schema, and does everything gradle can do, but better.

gradle is OK if you want to spin up a tiny project really fast, or if for god forsaken reason you need to write an android project (lol), but that's about it.

also even though it's not a first class citizen, there's a maven wrapper that works just like the gradle wrapper.

gradle is not any better than maven for tiny projects so there really is no point to it.

Shaggar
Apr 26, 2006
also xml is extremely good and json is part of the javascript dumpster fire

HoboMan
Nov 4, 2010

Shaggar posted:

gradle is not any better than maven for tiny projects so there really is no point to it.

shaggar was right

Bloody
Mar 3, 2013

gradle is fuckin horrible all of our Jenkins jobs were orchestrated with it and it was a nightmare

Bloody
Mar 3, 2013

Wait no that was groovy. are these things different

HoboMan
Nov 4, 2010

hey angulords, what's the verdict of template vs reactive forms?

template seems like a more intuitive way to build it to me, but it feels like angular wants you to use reactive forms real bad

HoboMan fucked around with this message at 14:58 on May 15, 2019

BurntCornMuffin
Jan 9, 2009


Bloody posted:

Wait no that was groovy. are these things different

They are: Groovy is a standalone scripting language that runs on the JVM. Gradle is a build system that expresses its scripts in a language based on Groovy, or more recently, Kotlin.

CPColin
Sep 9, 2003

Big ol' smile.
Groovy also pretends to be a real-life language that my predecessor regrettably used to build a bunch of lovely Grails applications.

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

Powerful Two-Hander posted:

another day, another hour spent explaining Git to the offshore team. how someone ended up with 7 consecutive commits trying to revert a change that still failed to actually revert it I'll never know.

7 different Stack Overflow answers to the wrong question

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat

Shaggar posted:

also xml is extremely good and json is part of the javascript dumpster fire

this.

people who hate xml are idiots.

some moron argued with me that json is better because "it has types that map better to programming languages than XML" and I just responded with "lol @ writing a parser and model mapper by hand"

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:

Data was a mistake.

Powerful Two-Hander
Mar 9, 2004

Mods please change my name to "Tooter Skeleton" TIA.



eschaton posted:

7 different Stack Overflow answers to the wrong question

lol no that's my commit history over the last day trying to make jquery validation work properly with dynamic rules

i *think* they were trying to revert to a commit after the one they actually wanted to revert so it would never have done anything but I can't figure out how they managed to have an "empty" revert in the first place.

anyway I showed them how to do a reset so it'll be fun when they take that knowledge and use it to blow away their own changes by mistake

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

Powerful Two-Hander posted:

lol no that's my commit history over the last day trying to make jquery validation work properly with dynamic rules

i *think* they were trying to revert to a commit after the one they actually wanted to revert so it would never have done anything but I can't figure out how they managed to have an "empty" revert in the first place.

anyway I showed them how to do a reset so it'll be fun when they take that knowledge and use it to blow away their own changes by mistake

git reset HEAD~7 && git push -f

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
hey

taqueso posted:

Data was a mistake.

CPColin
Sep 9, 2003

Big ol' smile.

taqueso posted:

Data was a mistake.

He is not less perfect than Lore!

Only registered members can see post attachments!

Soricidus
Oct 20, 2010
freedom-hating statist shill

BurntCornMuffin posted:

I like Gradle far better: it's more flexible, its build files are nicer to read

these two things are incompatible. the moment someone takes advantage of that "flexibility" - usually by pasting in a huge chunk of code from stack overflow - the readability goes out of the window, and just figuring out how the build works now requires an in-depth intimate understanding of gradle's internals (which change from version to version, of course) and, typically, the entire groovy programming language too.

if you just use gradle as "maven with fewer angle brackets" then it's fine i guess, but there's no way to enforce using it that way, so any non-trivial gradle build will, over time, gradually turn into a fragile monster that literally nobody understands.

it's a shame because gradle has some nice ideas, like some of the recent changes to how dependencies work do seem good, but the fact that it defines builds in terms of a script written in a dsl rather than purely declarative data? that automatically makes it irredeemably bad, and no amount of good features can ever make up for this fundamental flaw.

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.
cjs: just got done with a 2 hour conf call with The Russians about errors we keep getting in their production branch. It was supposed to be a 10 min fix which of course turned into 2 hours and included an argument between a senior dev and junior dev along the lines of "why did you think this was ever working properly?"

After 2 hours, we resolved most of the errors but introduced a hard freeze somewhere. "Well, this is in your modifications so now you resolve it. *disconnect*"

At which point The Russians all bug out of the call and I'm left stammering about "but it's YOUR master branch..."

Now CEO's bro-in-law is here and he smells like stale hippie bong water and is literally stinking up the whole office, rn. I guess he's visiting from out of town and is watching shaolin videos in some kind of weird app on our couch.

I am soooooooo done for the day.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Bloody posted:

gradle is fuckin horrible all of our Jenkins jobs were orchestrated with it and it was a nightmare

jenkins job dsl was a loving mistake

animist
Aug 28, 2018
are there any good dsls

mystes
May 31, 2006

animist posted:

are there any good dsls
SQL is arguably a "domain specific language" although it's not what people usually think of when they hear "DSL".

Otherwise, I guess VDSL is a good DSL.

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat

eschaton posted:

git reset HEAD~7 && git push -f

git add -A && git commit -am "`curl -s http://whatthecommit.com/index.txt `" && git push -f origin master

Fiedler
Jun 29, 2002

I, for one, welcome our new mouse overlords.

animist posted:

are there any good dsls

no, but ulsd is the least bad

(mlmp)

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

animist posted:

are there any good dsls

i'm okay with linq-like dsls

mystes
May 31, 2006

DONT THREAD ON ME posted:

i'm okay with linq-like dsls
The version of the syntax that people actually use is barely a DSL, though.

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

mystes posted:

The version of the syntax that people actually use is barely a DSL, though.

that’s probably why it’s still good

Mahatma Goonsay
Jun 6, 2007
Yum
the only moral dsl is my dsl

bob dobbs is dead
Oct 8, 2017

Peeps are idiots, Leslie.
Nap Ghost
Numpy, all that araayfuckin poo poo

Tk and other poo poo like that

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
if your "dsl" is idiomatic, readable syntax in an existing language: great

if your "dsl" has an actual parser with comprehensible error messages: great

if your "dsl" does not fall into either category: bad

Bloody
Mar 3, 2013

the only linq worth using is just a well designed functional api on generic collections

Ciaphas
Nov 20, 2005

> BEWARE, COWARD :ovr:


so what's the opinion in here of Go, might be in my future as a backend

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
it's got a name that's good for making puns with

and is pretty mediocre otherwise. it still makes all the same mistakes that older languages made instead of taking the opportunity to fix them, and doesn't really bring anything exciting to the table. It's just ... kinda there.

it's inoffensive enough that you probably won't be constantly wishing you could rewrite the entire project in something more sensible, though. so in and of itself it shouldn't scare you away from the job.

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat
i know you can do a lot in go but i would be extremely apprehensive doing anything larger than small utilities for a greenfield project. i know go people like to say generics aren't needed, you need SOME sort of mechanism to get templating or whatever. once I see a ton of interface {} then i feel like dying. for some reason standard C89 seems easier to follow than go code.

i've used it for some things that would otherwise be in a bash script except it needed some sort parallelism.

Adbot
ADBOT LOVES YOU

gonadic io
Feb 16, 2011

>>=
I'm currently working in go and agree with these two points. I imagine it would feel fresh and innovative. ..in 1975. For small poo poo it's reasonably fine but as soon as you start to try making reusable code it suffers because there's no decent package managing approach that is not just a github public repo.

Nil handling is annoying but not broken with enough linters shouting at you. Okay it is kind broken if you do == nil because not all nils are equal to each other sobyou gotta do != nil at all times.

What are your requirements? I would probably recommended C#, python, F#, kotlin, swift, or rust depending on your requirements for speed/hiring/deployment etc etc

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