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
gonadic io
Feb 16, 2011

>>=

Sapozhnik posted:

i want a standard ML that actually has some sort of ecosystem and isn't tied to the JVM or CLR or whatever

and also has first-class continuations (read: async await) instead of some weird abstraction inversion involving call/cc

time to apply to jane street then

Adbot
ADBOT LOVES YOU

Soricidus
Oct 21, 2010
freedom-hating statist shill

DELETE CASCADE posted:

the problem with doing "immutable everything everywhere possible" in java isn't with the language per se, but the garbage collector. java's gc is not designed for the use case of many small immutable objects with short lifetimes whose "changes" can be optimized into mutations (when the previous version of the immutable object is no longer visible). sure you can design a gc for this, but then it wouldn't work so well with traditional imperative java code where large objects have longer lifetimes and get mutated all over the place

odd, given how e.g. strings work in java. I guess they special cased a bunch of stuff for them instead of finding general solutions?

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

redleader posted:

christ, you're not wrong. as bad as powershell is (and it's bad), batch scripts are absolutely worse

is there a better shell script than powershell? actual question

comedyblissoption
Mar 15, 2006

NihilCredo posted:

is there a better shell script than powershell? actual question
probably not since it's the only popular shell script that actually uses structured data instead of requiring you to constantly extract structure from raw text

Brain Candy
May 18, 2006

JawnV6 posted:

yah im p clever like that

i work at a super low level but i dont know how to conceptualize the actual hardware you have underneath all the hippy dippy "immutable" lies facilitated by a gigantic runtime as anything other than a stateful machine

like there's a PC, there's registers, we've all agreed on this abstraction layer where those things have a known state at points in time, it's wholly unuseful to pretend they're something else without layers and layers in between

the problem with thinking of computers as giant state machines that transition instantenously between wholely known states is that abstraction does not hold when you have two points of view

that is, when you've got more than one processor looking at the 'curent' state, special relativity says they are going to be different. there's nothing you could do about either, without a synchronization pulse that would basically make using more that one processor pointless

this is why programming languages now have memory models, with terms like 'happens before'; assuming changes apply instantaneously and uniformly will burn you

comedyblissoption
Mar 15, 2006

the continued inertia of bash poo poo I think is some insane cargo culting

it's an entire community built on doing:
code:
var namesList = "John, James, Susan"
instead of:
code:
var namesList = ["John", "James", "Susan"]
I realize the inertia of historical decisions, but the fact that people keep putting bash on an altar is just crazy to me

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

redleader posted:

there's a bit of a mentality that if it's not from microsoft, it should be written in-house. hence a lot of stuff is reinvented (badly) or not done at all

the sole exception is parsing json, which Microsoft have failed to implement after three (?) tries and now just points everyone at the third party lib

tef
May 30, 2004

-> some l-system crap ->

MALE SHOEGAZE posted:

i think i'm going to try to reboot CGI except instead of perl we'll use go

it's callled serverless

Shaggar
Apr 26, 2006

NihilCredo posted:

is there a better shell script than powershell? actual question

Theres scripting w/ c# these days but its not common. Powershell is the least bad shell but its still bad.

tef
May 30, 2004

-> some l-system crap ->

comedyblissoption posted:

The primary reason code in Java/C#/C++/javascript/whatever devolves into spaghetti is unnecessary pervasive use of global mutable state.

i'm sure this used to be true

but now people actually use the alternatives i can confidently say they're sprawling messes too

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

tef posted:

i'm sure this used to be true

but now people actually use the alternatives i can confidently say they're sprawling messes too

that is unfair, true functional programming without pervasive use of global mutable state has not been properly implemented anywhere

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
Just like communism, right

(And this is from a guy who has a repo with planned economy poo poo in it right now, lol)

Flat Daddy
Dec 3, 2014

by Nyc_Tattoo
full-stack ReasonML is the future

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

bob dobbs is dead posted:

Just like communism, right

(And this is from a guy who has a repo with planned economy poo poo in it right now, lol)

Hey, it's gotta be better than late-stage OOP, right?

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.
lmfao my manager moved my 1-on-1 again... only until this afternoon... if he does it again I'm just going to go home for the day. Oh and in this morning's standup, the engineering VP wanted us to be really pumped that he was able to "get us 6 weeks" of time dedicated to "making this product into what we really wish it could be", i.e. stable and not prone to crashing half an AWS stack. I brought up that 6 weeks seems kind of arbitrary and that we'd still be expected to work on bugs, QA kickbacks, and anything else that came from support. "6 weeks was all I could get and really that should be plenty of time. If we can't get it figured out by that time then we'll need to figure something else out entirely."

...I've started looking for jerbs again

DELETE CASCADE
Oct 25, 2017

i haven't washed my penis since i jerked it to a phtotograph of george w. bush in 2003

Soricidus posted:

odd, given how e.g. strings work in java. I guess they special cased a bunch of stuff for them instead of finding general solutions?

yes and no. string concatenation in java actually does suck, like if i write a loop that does accumulator += more_string then it will perform really bad, and you're supposed to use a stringbuilder object in that case. in fact it's so bad that in a constant string expression like "x" + "y" + "z" the compiler will optimize it to use a stringbuilder lol

Night Shade posted:

i was under the impression recent JREs had new-generation GCs designed around short-lived immutable object spam, especially given the rise in popularity of stuff like clojure, scala and more recently kotlin

having said that to use them you need to pass -Xalphabetsoup

yeah i need to read more about / play around with g1gc

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
if project valhalla ever gets off the ground and java gets real value objects ill be happy.

i also hope they get the kotlin compiler to use them when that happens.

JawnV6
Jul 4, 2004

So hot ...

Brain Candy posted:

the problem with thinking of computers as giant state machines that transition instantenously between wholely known states is that abstraction does not hold when you have two points of view

that is, when you've got more than one processor looking at the 'curent' state, special relativity says they are going to be different. there's nothing you could do about either, without a synchronization pulse that would basically make using more that one processor pointless

this is why programming languages now have memory models, with terms like 'happens before'; assuming changes apply instantaneously and uniformly will burn you

there's state in the DRAM, there's state in the L3/L2/L1I$/L1D$, there's the MESI protocol determining what accesses are allowed by each agent, PTE's determining WB/WT behavior. these things aren't the unknowable mystic wonders you're pitching here. i've worked on multicore systems, do you really think once there's 2 processors it's impossible to stop the clocks and dredge out a consistent state? how on earth would you debug a chip like that?

at a 4ghz clock you have single-cycle access to anything within 250 picoseconds, or 7.495 cm. i've generally thought this is a particularly asinine way to look at digital systems with electrical signals in silicon, but your "specialty relativity" argument is bunk

Brain Candy
May 18, 2006

JawnV6 posted:

there's state in the DRAM, there's state in the L3/L2/L1I$/L1D$, there's the MESI protocol determining what accesses are allowed by each agent, PTE's determining WB/WT behavior. these things aren't the unknowable mystic wonders you're pitching here. i've worked on multicore systems, do you really think once there's 2 processors it's impossible to stop the clocks and dredge out a consistent state? how on earth would you debug a chip like that?

no? what did you think a synchronization pulse would do?

doing work means mutating state; I hope it’s obvious you can’t to do work while everything is stopped.

Corla Plankun
May 8, 2007

improve the lives of everyone
today i accidentally saw a job posting for a 'react native engineer' and now i have brain lesions

FAT32 SHAMER
Aug 16, 2012



I just read a quick and dirty article comparing react native and swift performance and some how RN beat swift out in 2 out of three categories :stonk:

e; here it is: https://medium.com/the-react-native-log/comparing-the-performance-between-native-ios-swift-and-react-native-7b5490d363e2

HoboMan
Nov 4, 2010


Luigi Thirty posted:

you are already dead


gently caress. what makes groovy so bad?

JawnV6
Jul 4, 2004

So hot ...

Brain Candy posted:

no? what did you think a synchronization pulse would do?

doing work means mutating state; I hope it’s obvious you can’t to do work while everything is stopped.
i dunno what your made-up term "synchronization pulse" means, maybe if you use real world terms it'll help me wrap my head around your mysticism. is it the clock? the same 4ghz clock that's piped to 4 cores with deterministic crossings at the boundaries?

im confused by "that is, when you've got more than one processor looking at the 'curent' state, special relativity says they are going to be different." because two cores on a single die have solved this problem deterministically and you're handwaving about how impossible it is

crazypenguin
Mar 9, 2005
nothing witty here, move along
i mean, i don't know groovy outside of jenkinsfile scripts but this always amazed me:

code:
def x = 2

def f() {
  return x // HAHA EXPECT THIS TO WORK? WE'VE NEVER HEARD OF LEXICAL SCOPE IN THIS HOUSE
}

Valeyard
Mar 30, 2012


Grimey Drawer
dont get me staretd on jenkinsfiles

Doom Mathematic
Sep 2, 2008

HoboMan posted:

gently caress. what makes groovy so bad?


quote:

Groovy's syntax permits omitting parentheses and dots in some situations. The following groovy code

code:
take(coffee).with(sugar, milk).and(liquor)
can be written as

code:
take coffee with sugar, milk and liquor
enabling the development of domain-specific languages (DSLs) that look like plain English.

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

Valeyard posted:

dont get me staretd on jenkinsfiles

related:

why do so many loving tools (both meanings) need to have their own special snowflake configuration file formats? jenkinsfiles, dockerfiles, nginx.conf, caddyfiles, poo poo.gradle, it goes on and on

i give a pass to tools that are two decades old or more, but for anything modern, between xml, json, yaml and toml you can absolutely find a standard format that can describe your options, you'll be able to use an out-of-the-box parser, and you won't make your users waste time on trivial bullshit like braces and punctuation and string escaping

pseudorandom name
May 6, 2007

unix grognards are doomed to continuously reinvent the registry, badly

Sapozhnik
Jan 2, 2005

Nap Ghost
things do seem to be gradually congealing around yaml at least

also groovy is so bad that even its creator has disowned it, saying something to the effect that if he'd known scala existed when he started groovy then he wouldn't have started the project to begin with.

FAT32 SHAMER
Aug 16, 2012



NihilCredo posted:

related:

why do so many loving tools (both meanings) need to have their own special snowflake configuration file formats? jenkinsfiles, dockerfiles, nginx.conf, caddyfiles, poo poo.gradle, it goes on and on

i give a pass to tools that are two decades old or more, but for anything modern, between xml, json, yaml and toml you can absolutely find a standard format that can describe your options, you'll be able to use an out-of-the-box parser, and you won't make your users waste time on trivial bullshit like braces and punctuation and string escaping

they probably don't want you to be able to use configs between different things to lock you into using their product or something like that

HoboMan
Nov 4, 2010

Sapozhnik posted:

things do seem to be gradually congealing around yaml at least

please no

Sapozhnik posted:

also groovy is so bad that even its creator has disowned it, saying something to the effect that if he'd known scala existed when he started groovy then he wouldn't have started the project to begin with.

please no

Deep Dish Fuckfest
Sep 6, 2006

Advanced
Computer Touching


Toilet Rascal

FAT32 SHAMER posted:

they probably don't want you to be able to use configs between different things to lock you into using their product or something like that

you can probably write a converter from whatever bespoke horseshit config format to json/xml/whatever without too much trouble if you really need it, so i don't think it would be effective as a lock-in strategy

my theory is that for early project prototypes, some quick and dirty config format gets cobbled together, then no one changes it as the rest of the project evolves, then there's enough people using the existing format that changing it is impractical. plus ripping out the config system and replacing it with something else is boring as poo poo to code, so no one wants to do it anyhow

the only flaw with this theory is that grabbing some serialization library is less work than writing your own parsing garbage, so i'm not sure why the custom config format would appear in the first place

redleader
Aug 18, 2005

Engage according to operational parameters

pokeyman posted:

the sole exception is parsing json, which Microsoft have failed to implement after three (?) tries and now just points everyone at the third party lib

hah, yeah. and even then, that's only because it comes with asp.net out of the box. i don't think it json.net would have gotten much traction otherwise

despite our product including json.net for 4 years, i still see people using the others occasionally

3rd party logging libs and di/ioc containers seem to get a bit of use, but only because ms don't (or didn't) have an equivalent

nunit is somehow still a thing, despite the fact that all testing frameworks are effectively identical

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

HoboMan posted:

gently caress. what makes groovy so bad?

it's the new hipste

comedyblissoption
Mar 15, 2006

tef posted:

i'm sure this used to be true

but now people actually use the alternatives i can confidently say they're sprawling messes too
IDK what alternatives you are thinking about, but Java/C# programmers love to fool themselves into thinking they are avoiding global variables with cargo cult patterns while using them everywhere

if it's inside a global singleton dependency-injected class as a non-static, then it's not a global variable! :downs:

jony neuemonic
Nov 13, 2009

you have a really weird axe to grind over dependency injection.

tef
May 30, 2004

-> some l-system crap ->

NihilCredo posted:

related:

why do so many loving tools (both meanings) need to have their own special snowflake configuration file formats? jenkinsfiles, dockerfiles, nginx.conf, caddyfiles, poo poo.gradle, it goes on and on

because for line in lines: line.split(=) is good enough to begin with


quote:

i give a pass to tools that are two decades old or more, but for anything modern, between xml, json, yaml and toml

yaml has a 'safe_load' option because well, it's not safe to use. or interoperable

json is well, painful for config formats because of the lack of things toml and yaml provide

toml eh? well i guess if you want a holier than thou ini format well

and xml? billion lols, namespaces, xsds. if i was writing a svg like format, i.e an interoperable document format, it would be a great choice.

oh i guess there's protobufs that don't have real collections and uh thrift that does but um it seems flakey and why does finagle use a different version

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt


these can be valid complaints but if they follow up with "and that's why dockerfiles use their own special format" it's like bitching that the 2-michelin-star cook oversalted your salmon steak so you'd rather scavenge a dead trout from the riverbed after a drought

Main Paineframe
Oct 27, 2010
i think i made a syntax error somewhere when i manually added several hundred lines to this 1600-line XML config file. no automated tool detects the problem, but the function that is supposed to parse it is silently failing after my additions

i hate every single word of that paragraph.

Adbot
ADBOT LOVES YOU

redleader
Aug 18, 2005

Engage according to operational parameters
how often are you editing configs that the syntax of json or xml is a significant concern?

  • Locked thread