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
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
so whats up with rust, is it good?

seems like it's good, but i may be wrong.

needs more tooling support but jetbrains idea and youcompleteme already support it so thats all i really need.

Adbot
ADBOT LOVES YOU

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

i like rust. i dont know if its worth using yet but the language itself is solid & has good stuff. it's the libraries and tooling and stuff like that that was lacking last time i used it

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
yeah from what ive banged out with it, it seems nice.

i like the explicit lifetime declarations when needed.

also trait based generics is cool and good

Shaggar
Apr 26, 2006

Soricidus posted:

or international, which doubtless you consider to be the same thing

foreigners just had to use their own whacked out numbering plans instead of the NANP.

Cybernetic Vermin
Apr 18, 2005

akadajet posted:

Cybernetic Vermin posted:

don't be a computer toucher

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

CRIP EATIN BREAD posted:

yeah from what ive banged out with it, it seems nice.

i like the explicit lifetime declarations when needed.

also trait based generics is cool and good

option types instead of nulls & immutable by default with explicit mutability are the two best features imho

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

fart simpson posted:

option types instead of nulls & immutable by default with explicit mutability are the two best features imho

yeah plus being able to pattern match on things like

code:
    match self.read_u32() {
      Ok(_n) => {
        let result = self.do_read(_n);
        return Some(Ok(result));
      }
      Err(ref e) if e.kind() == io::ErrorKind::UnexpectedEof => None,
      Err(e) => Some(Err(e))
    }
is really cool

JimboMaloi
Oct 10, 2007

is this new? for some reason facebook built a layer on top of ocaml to give it a more javascripty syntax

triple sulk
Sep 17, 2014



JimboMaloi posted:

is this new? for some reason facebook built a layer on top of ocaml to give it a more javascripty syntax

yes, it was put out yesterday

Sapozhnik
Jan 2, 2005

Nap Ghost
Facebook and Twitter etc have way too many employees for what they do

meanwhile I'm over here being an army of one at my job :suicide:

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
https://facebook.github.io/reason/#syntax-basics-primitives
that float operator is totally disgusting

JawnV6
Jul 4, 2004

So hot ...
how do you parse 23.0 +.01
23.0 (float add) .01
or
23.0 (float add) 01

JimboMaloi
Oct 10, 2007

thats brought over from ocaml, but its a weird thing to keep given the stuff that they changed. i think its because theres no operator overloading in ocaml?

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
It's because types are inferred based on the operator.

tef
May 30, 2004

-> some l-system crap ->
implicit casts are the the work of the devil

JewKiller 3000
Nov 28, 2006

by Lowtax

tef posted:

implicit casts are the the work of the devil

truer words have never been spoken

Kuvo
Oct 27, 2008

Blame it on the misfortune of your bark!
Fun Shoe

tef posted:

implicit casts are the the work of the devil

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

CRIP EATIN BREAD posted:

yeah plus being able to pattern match on things like

code:
    match self.read_u32() {
      Ok(_n) => {
        let result = self.do_read(_n);
        return Some(Ok(result));
      }
      Err(ref e) if e.kind() == io::ErrorKind::UnexpectedEof => None,
      Err(e) => Some(Err(e))
    }
is really cool

pattern matching owns

JimboMaloi
Oct 10, 2007

agreed that implicit casting is terrible, but its not a casting issue i dont think? like in f# or sml,
code:
1 + 1 //ok
1.0 + 1.0 //ok
1 + 1.0 //not ok
the problem is that
code:
let butt = fun (x,y) -> x + y
isnt actually decidable with overloaded operators, but sml and f# cheat by defaulting to int in the absence of additional context

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

doesnt f# have typeclasses or something like that?

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe
any language with overloading / type classes will have a defaulting rule of some sort just so you don't get embarrassing problems like 1+1 not type-checking

raminasi
Jan 25, 2005

a last drink with no ice

fart simpson posted:

doesnt f# have typeclasses or something like that?

it does not

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

Mr Dog posted:

or uhm return boolean from the accessor instead of Boolean

who even does that, loving hell

turns out the other end also didn't expect the Boolean field to ever be null, lol

the field has now been changed to primitive boolean.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
returning Boolean sounds like returning a Maybe Boolean which is an entirely useful concept, but obviously Java is not set up to make that work right

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
there's always Optional<T> and it hahahahahaha

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
java 8 is cool but after working with some languages that dont allow null values or at least force you to check i just hate that entire aspect

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

CRIP EATIN BREAD posted:

java 8 is cool but after working with some languages that dont allow null values or at least force you to check i just hate that entire aspect

:same:

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
you don't get to complain about null until you've used ruby for something non trivial

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord

MALE SHOEGAZE posted:

you don't get to complain about null until you've used ruby for something non trivial

ruby itself is not that bad imo but holy poo poo rails

rails loves returning nils everywhere

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
god gently caress rails

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

Wheany posted:

turns out the other end also didn't expect the Boolean field to ever be null, lol

the field has now been changed to primitive boolean.

we had kind of the same situation with a Long productId:

Java code:
if(productId == null) {
	throw new Whatever("Product id is required");
}
if(getProduct(productId) == null) {
	throw new Whatever("Product not found");
}
:downs:

Sapozhnik
Jan 2, 2005

Nap Ghost
Optional<T> is the best retrofit you can hope for. As a band aid you can add Checker Framework to your build and it will throw an error if a null could slip in. Prior to Java 8 you'd use a boxed type if you wanted a nullable primitive. It's not a great situation but I'm not going to switch to some fad lang with zero library and tool support ecosystem purely to satisfy somebody's type system sperging. Besides, the fact that "byte" is signed is at least as bad.

Somebody declaring a data member Boolean where it should never be null is somebody failing to understand their tool and then blaming the tool. As usual.

Bloody
Mar 3, 2013

Mr Dog posted:

Optional<T> is the best retrofit you can hope for. As a band aid you can add Checker Framework to your build and it will throw an error if a null could slip in. Prior to Java 8 you'd use a boxed type if you wanted a nullable primitive. It's not a great situation but I'm not going to switch to some fad lang with zero library and tool support ecosystem purely to satisfy somebody's type system sperging. Besides, the fact that "byte" is signed is at least as bad.

Somebody declaring a data member Boolean where it should never be null is somebody failing to understand their tool and then blaming the tool. As usual.

i always forget java's byte is signed and it's loving hilarious

gonadic io
Feb 16, 2011

>>=
Wait what? So is it 9 bits total or only carries 7 bits of information?

I like to think that it's the java designers ensuring the fail-fast approach wrt bit-janitors evaluating the language

triple sulk
Sep 17, 2014



MALE SHOEGAZE posted:

god gently caress rails

it's bad

CPColin
Sep 9, 2003

Big ol' smile.

gonadic io posted:

Wait what? So is it 9 bits total or only carries 7 bits of information?

I like to think that it's the java designers ensuring the fail-fast approach wrt bit-janitors evaluating the language

It's 8 bits, so -128 to 127. I'm guessing they went, "Well all our other primitives are signed, so it'd be weird if byte were unsigned." The only difference would have been that widening conversions wouldn't do sign extension, right? I think we would have all gotten over it. Maybe if they'd added a special operator that does the "& 0xff" for you, it wouldn't have been such a big deal.

Sapozhnik
Jan 2, 2005

Nap Ghost

CPColin posted:

"Well all our other primitives are signed, so it'd be weird if byte were unsigned."

it's even stupider than that because char is unsigned

and 16-bit

:suicide:

FamDav
Mar 29, 2008
I'm going to call out into the void for a tef/monococqc paper dump

what's the good stuff in terms of formal verification/specification languages?

MononcQc
May 29, 2007

FamDav posted:

I'm going to call out into the void for a tef/monococqc paper dump

what's the good stuff in terms of formal verification/specification languages?

Not too knowledgeable there. The people I know who've been the closest to that have been using either Coq or Idris or Agda to write specific proofs or verified library. One of them used an extraction target from Coq so he could get verified data structures in another language, but otherwise I don't really know.

Model validation and verification is also a thing, but I've never used them myself or read any papers about it that didn't have to do with specific implementations.

Adbot
ADBOT LOVES YOU

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

Mr Dog posted:

it's even stupider than that because char is unsigned

and 16-bit

:suicide:

utf-16 is a blight

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