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
Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Volte posted:

can there be a rule that if someone is going to start going off about abstractions, they have to first define what they think an abstraction is

arguing on the internet always devolves into arguing about word definitions and it makes me disappointed. what is an abstracton, really??? makes u think

Adbot
ADBOT LOVES YOU

tef
May 30, 2004

-> some l-system crap ->

Thermopyle posted:

no one knows what an abstraction is and they dont even know what they themselves think it is...even if they think they know what they think when you start trying to pin them down it all falls apart

a idea we can think and reason about, and the way in which we model it inside our programming languages—the things we use to repeat ourselves within our code base, to share behaviour or to manage cross cutting changes

tef
May 30, 2004

-> some l-system crap ->
eat it

akadajet
Sep 14, 2003

tef posted:

eat it

id rather not

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord

Suspicious Dish posted:

arguing on the internet always devolves into arguing about word definitions and it makes me disappointed. what is an abstracton, really??? makes u think

we're programmers, it's in our nature to be pedantic as gently caress

yospos birch

Ellie Crabcakes
Feb 1, 2008

Stop emailing my boyfriend Gay Crungus

prisoner of waffles posted:

lisp, jazz, and aikido

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.

Symbolic Butt posted:

yospos birch

Athas
Aug 6, 2007

fuck that joker
This is archetypical scala compiler: an intended optimization which simply avoids constructing an unused error message is a breaking change, because implicit search is influenced by the state of the types in the message, and inspecting types is frequently side-effecting.

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.
My Scala take: seems cool but also like I need a Virgil to guide me through my use of the language to ensure that I do not get dragged under by Little Mysteries like so

Ergo maybe not cool

Notorious b.s.d.
Jan 25, 2003

by Reene

prisoner of waffles posted:

My Scala take: seems cool but also like I need a Virgil to guide me through my use of the language to ensure that I do not get dragged under by Little Mysteries like so

Ergo maybe not cool

don't overthink it

scala is a kitchen sink language, like c++. they just threw in every feature they could fit. you can not, and should not, use every drat wrinkle of the language

write some java with more expressive types. do some functional stuff if that rustles your jimmies the right way. maybe you just like traits and case classes.

it's all good man

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

this stuff is very real and hard to defend but in practice it's still a static language and every implicit resolution problem i've run into has simply caused a compilation error. in practice i'm not setting up complex implicit hierarchies that resolve in unpredictable ways. it can still happen though.

tef
May 30, 2004

-> some l-system crap ->

Notorious b.s.d. posted:

don't overthink it

use java instead

NihilCredo
Jun 6, 2011

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

Notorious b.s.d. posted:

write some java with more expressive types. do some functional stuff if that rustles your jimmies the right way. maybe you just like traits and case classes.

so, use kotlin?

akadajet
Sep 14, 2003

NihilCredo posted:

so, use kotlin?

i thought if you had a kotlin you could wind up in the hospital

Thermopyle
Jul 1, 2003

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

tef posted:

a idea we can think and reason about, and the way in which we model it inside our programming languages—the things we use to repeat ourselves within our code base, to share behaviour or to manage cross cutting changes

thats just a description of where we use them

Volte
Oct 4, 2004

woosh woosh
abstraction is the basic building block of human intelligence

Ellie Crabcakes
Feb 1, 2008

Stop emailing my boyfriend Gay Crungus

It's like latstraction or deltstraction but on your stomach

Fiedler
Jun 29, 2002

I, for one, welcome our new mouse overlords.

Volte posted:

abstraction is the basic building block of human intelligence

ah, no wonder i have such a hard time with it!

toiletbrush
May 17, 2010

tef posted:

a idea we can think and reason about, and the way in which we model it inside our programming languages—the things we use to repeat ourselves within our code base, to share behaviour or to manage cross cutting changes
wether it's in real life or in programming an abstraction is just a collection of concepts represented as a single concept, so you know longer have to think about the components when you think about the 'thing'

Bloody
Mar 3, 2013

abstraction is hiding assumptions in a black box and then making assumptions about the black box

akadajet
Sep 14, 2003

Fiedler posted:

ah, no wonder i have such a hard time with it!

:yossame:

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?

Bloody posted:

abstraction is hiding assumptions in a black box and then making assumptions about the black box

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

Bloody posted:

abstraction is hiding assumptions in a black box and then making assumptions about the black box

redleader
Aug 18, 2005

Engage according to operational parameters

Bloody posted:

abstraction is hiding assumptions in a black box and then making assumptions about the black box

and a leaky abstraction is when you need to look inside the black box when your assumptions turn out to be wrong

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
Abstraction is ... good.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost

Gazpacho posted:

Abstraction is ... good.

nah

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
my abstractions are ok, but these other abstractions that someone else made, they are poo poo

floatman
Mar 17, 2009
No abstractions:
How to get to destination:
Depressed accelerator by 30 degrees for 5 minutes.
Rotate steering wheel left by 45 degrees.
Hold for 6 second
Rotate steering wheel right by 45 degrees.
Etc etc.

Good abstraction:
How to get to destination:
Travel straight down the road to the next junction.
Turn left.
Merge onto highway, keep to speed limit
Exit highway via ramp.

The lovely app I work in in which they think that "magic" == abstraction:
Car has two buttons: shopping centre and gas station.
You want to go to: airport
Start mashing both buttons alternately to make car veer violently between the two destinations and hopefully hit the airport.

carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

floatman posted:

No abstractions:
How to get to destination:
Depressed accelerator by 30 degrees for 5 minutes.
Rotate steering wheel left by 45 degrees.
Hold for 6 second
Rotate steering wheel right by 45 degrees.
Etc etc.

Good abstraction:
How to get to destination:
Travel straight down the road to the next junction.
Turn left.
Merge onto highway, keep to speed limit
Exit highway via ramp.

The lovely app I work in in which they think that "magic" == abstraction:
Car has two buttons: shopping centre and gas station.
You want to go to: airport
Start mashing both buttons alternately to make car veer violently between the two destinations and hopefully hit the airport.

pulse-width navigation

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost

floatman posted:

No abstractions:
How to get to destination:
Depressed accelerator by 30 degrees for 5 minutes.
Rotate steering wheel left by 45 degrees.
Hold for 6 second
Rotate steering wheel right by 45 degrees.
Etc etc.

Good abstraction:
How to get to destination:
Travel straight down the road to the next junction.
Turn left.
Merge onto highway, keep to speed limit
Exit highway via ramp.

The lovely app I work in in which they think that "magic" == abstraction:
Car has two buttons: shopping centre and gas station.
You want to go to: airport
Start mashing both buttons alternately to make car veer violently between the two destinations and hopefully hit the airport.

the depressing part about abstraction is that there is no such thing as no abstraction

what's a "minute"? "second"? "degree"? "hold"? "rotate"? "accelerator"? "steering wheel"?

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
stop arguing about words, nerds

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



what are words really?

Ellie Crabcakes
Feb 1, 2008

Stop emailing my boyfriend Gay Crungus

Krankenstyle posted:

what are words really?

a miserable pile of phonemes

josh04
Oct 19, 2008


"THE FLASH IS THE REASON
TO RACE TO THE THEATRES"

This title contains sponsored content.

bob dobbs is dead posted:

the depressing part about abstraction is that there is no such thing as no abstraction

what's a "minute"? "second"? "degree"? "hold"? "rotate"? "accelerator"? "steering wheel"?

wittgenstein sez: it doesn't really matter what the word 'means' so long as we can follow what happens when you say it

floatman
Mar 17, 2009
Abstraction is basically the amount of work the other developer did that makes your work easier

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord
I feel like if golang was truly consistent with the "no over-abstraction" philosophy they shouldn't have interfaces either :getin:

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord

floatman posted:

Abstraction is basically the amount of work the other developer did that makes your work easier

oops it seems like you mistakenly read the definition for "Wishful Thinking" instead, try again

ynohtna
Feb 16, 2007

backwoods compatible
Illegal Hen

floatman posted:

Abstraction is basically the amount of work the other developer did that makes your work easier

no true abstraction

NihilCredo
Jun 6, 2011

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

abstraction is the square root of traction times traction

Adbot
ADBOT LOVES YOU

tef
May 30, 2004

-> some l-system crap ->

Bloody posted:

abstraction is hiding assumptions in a black box and then making assumptions about the black box

no

i mean you all think you're hiding poo poo

if joel loving spolksy can clock onto 'all abstractions leak'

maybe the loving point of them isn't to hide things but to write things without giving detail

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