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
the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





redshift is really good at joins and aggregates and absolutely nothing else

Adbot
ADBOT LOVES YOU

Oneiros
Jan 12, 2007



the talent deficit posted:

redshift is really good at joins and aggregates and absolutely nothing else

i dunno it is also really good a being a bottomless money pit because it is cheaper to pay aws for more bigger computers than it is to hire someone to design a proper schema and queries

redleader
Aug 18, 2005

Engage according to operational parameters
starting to think that yes, all dbs suck

spiritual bypass
Feb 19, 2008

Grimey Drawer
agreed, just put everything in an untyped hash map and serialize to disk every couple minutes

TheFluff
Dec 13, 2006

FRIENDS, LISTEN TO ME
I AM A SEAGULL
OF WEALTH AND TASTE

redleader posted:

starting to think that yes, all dbs suck

https://twitter.com/dril/status/473265809079693312

TheFluff
Dec 13, 2006

FRIENDS, LISTEN TO ME
I AM A SEAGULL
OF WEALTH AND TASTE
sql is good
nosql is bad

Soricidus
Oct 21, 2010
freedom-hating statist shill
just use csv and awk, your data isn’t that big or important

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost

rt4 posted:

agreed, just put everything in an untyped hash map and serialize to disk every couple minutes

Redis is deec

Sapozhnik
Jan 2, 2005

Nap Ghost
hey i hear this is where we talk about terrible programming

https://www.zdnet.com/article/python-programming-language-creator-retires-saying-its-been-an-amazing-ride/

quote:

According to Dropbox, in 2011, when van Rossum first met Dropbox CEO Drew Houston, the Dropbox server and desktop client were written "almost exclusively in Python". Today, Dropbox also relies on Go, TypeScript, and Rust, as well as the open source Mypy static type checker that Dropbox develops to manage Python code at scale. Mypy helps developers overcome the challenge of understanding dynamically typed Python code written by other developers in the past...

Dropbox said van Rossum has had a major impact on its engineering culture. "There was a small number of really smart, really young coders who produced a lot of very clever code that only they could understand," said van Rossum. "That is probably the right attitude to have when you're a really small startup." However, as Dropbox notes, when the company grew, new engineers could not understand the clever but 'short and cryptic' code written by and for earlier developers. Van Rossum called this "cowboy coding culture" and educated the company about the value of maintainable code. "When asked, I would give people my opinion that maintainable code is more important than clever code," he said.... Dropbox also credits van Rossum with sharpening the company's testing processes for its continuous integration program and helping engineers understand why tests were broken.

lol

quote:

"Thank you, Guido" is the title of the post on Dropbox's blog announcing the news that van Rossum is now retiring. Sharing that article on Twitter Thursday, van Rossum added "It's bittersweet... I've learned a lot during my time as an engineer here -- e.g. type annotations came from this experience -- and I'll miss working here."

type checking good, apparently

and here i was thinking it leads to outbreaks of enterprise java beans or something. have i been lied to all these years?

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

Sapozhnik posted:

type checking good, apparently

and here i was thinking it leads to outbreaks of enterprise java beans or something. have i been lied to all these years?
no, dynamic typing has always been completely terrible and a useless fad

i remember the excitement when Microsoft added the dynamic keyword to .net with a massively complex dynamic language runtime underneath, I guess that's ignored now? idk, nobody voluntarily would want to shift from static typing to dynamic (apart from use cases like ironpython and ironruby which also didn't get any traction)

same on the jvm side with groovy which is easily the dumbest programming language on that platform, and I'm including scala

Share Bear
Apr 27, 2004

Soricidus posted:

just use csv and awk, your data isn’t that big or important

unironically this

raminasi
Jan 25, 2005

a last drink with no ice

Osmosisch posted:

Clean Code by Robert Martin is excellent.

clean code is ok but not great and uncle bob is kind of a tool

Sagacity posted:

no, dynamic typing has always been completely terrible and a useless fad

i remember the excitement when Microsoft added the dynamic keyword to .net with a massively complex dynamic language runtime underneath, I guess that's ignored now? idk, nobody voluntarily would want to shift from static typing to dynamic (apart from use cases like ironpython and ironruby which also didn't get any traction)

dynamic’s killer feature is certain types of COM interop scenarios. you’ll ignore it 99% of the time but when it’s useful, it’s really useful.

the keyword also added proper multiple dispatch to c# which nobody knows about and i’m genuinely unsure if it was done on purpose

Ciaphas
Nov 20, 2005

> BEWARE, COWARD :ovr:


i recall dynamic being a real lifesaver when i was working with roslyn api stuff

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
nobody wants dynamic typing ever

sometimes they want inferred static typing, so they don't need to write out those type names twice, but actual dynamic typing is heinously bad

but you can repurpose the dynamic language vm ops to do some cool stuff, e.g. the jvm invokedynamic instruction effectively gives you a hook to run extra code the first time the instruction is executed, which is used to make lambdas work without having a whole ton of extra classes for each one

Nomnom Cookie
Aug 30, 2009



Sapozhnik posted:

hey i hear this is where we talk about terrible programming

https://www.zdnet.com/article/python-programming-language-creator-retires-saying-its-been-an-amazing-ride/


lol


type checking good, apparently

and here i was thinking it leads to outbreaks of enterprise java beans or something. have i been lied to all these years?

my whole career has been java and I’ve never even seen an EJB. remember that stuff dates back like 20+ years. the web was obviously a big deal but no one really knew the right way to expose stuff over http. hence, conversation scoped beans. you still hear about stuff like that because even with the terrible wrong things done because no one knew any better, java code written back then is still readable and possible to work on. all the perl code from 1999 is either replaced or not running anymore

cool av
Mar 2, 2013

Soricidus posted:

just use csv and awk, your data isn’t that big or important

there must be some dataset out there that is both Big and important?


but I can't think of one

4lokos basilisk
Jul 17, 2008


speaking of static vs dynamic typing, does anyone know of a good breakdown of why static is to be preferred?

because it feels like trying to explain colors to blind people sometimes - I know why I prefer static or inferred typing because of personal pain and experience, but that’s not really convincing

cool av
Mar 2, 2013

it lets the compiler check your code for errors that otherwise would be caught at runtime.

it provides built-in documentation for what variables are meant to be that you'd otherwise need to have the discipline to document manually.

Tanners
Dec 13, 2011

woof
Eases refactoring when changing the signature of a function or the type of a property as any breaking changes caused by those changes will be caught by the compiler.

Also being able to describe the shape of data via a type system is insanely helpful when coming into a new codebase.

Share Bear
Apr 27, 2004

its a guarantee that whatever data or classes youre working on has certain properties which can be checked while writing code and at compilation time i think was one

loose typing lets you slap stuff together quickly, and if youre not too clever about it, can also produce finely maintainable code, but having strict types makes it easier to understand

python is still good, and the type hinting introduced in 3.7 is incredibly useful

gimme immutable data structures besides sets and named tuples guido

4lokos basilisk
Jul 17, 2008


cool av posted:

it lets the compiler check your code for errors that otherwise would be caught at runtime.

it provides built-in documentation for what variables are meant to be that you'd otherwise need to have the discipline to document manually.

“uh why do I need that, I know which URL or json parameter is a number or a string... if I use static typing then i need classes for EVERYTHING and that’s just so much slower to implement”

and I kind of agree with that - it is insanely fast to implement some proof of concept service in like node js IF you already know all the caveats and ways dynamic typing can gently caress you over.

it’s just that the result is code that does a lot of implicit magic and fails catastrophically once you point a reasonably competent pen tester at it. but who the gently caress cares about that in our agile world where code isn’t really written to be maintained but rather rewritten when it gets too weird and hey look a new shiny language let’s do a rewrite!!!

Powerful Two-Hander
Mar 10, 2004

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


that Dropbox article kind of reminds me that when I wasn't wasting my life doing db optimisation this week I was raging against our management's.... ideas?

idk what our cto is smoking but we're getting 50/50 "we must be like amazon, cloud! Agile! Devops!" and the other 50 is literally an email saying "for security I want to ban all developers from using computers, please confirm this is workable thx"

i don't think the guy has touched any code in years, maybe decades.

Powerful Two-Hander fucked around with this message at 18:44 on Nov 2, 2019

4lokos basilisk
Jul 17, 2008


I think the static system will prove itself quite quickly if you have a good ide and tooling but the discussions I have had have been with web developers to whom doing anything outside the browser might as well be asking them to walk on water

mystes
May 31, 2006

People just like dynamic typing because they had bad experience with older languages/ides. Everything has a type so there's no reason to screw up the language by making it impossible to know what that type is at compile time.

Arcsech
Aug 5, 2008

raminasi posted:

clean code is ok but not great and uncle bob is kind of a tool

uncle bob isn’t “kind of a tool”

uncle bob is an enormous tool

re: dynamic typing: I’ve been messing with Common Lisp lately and it is the best environment for exploratory programming I’ve ever used. it’s really neat for messing around and dynamic typing is a big part of that

but for a system that requires 1) more than a couple people working on it and/or 2) actual maintenance, yes, please god give me static types (as long as the type system is even half decent, a c/go-like type system is worse than dynamic)

Sapozhnik
Jan 2, 2005

Nap Ghost
Apparently i wasn't being sarcastic enough

Spime Wrangler
Feb 23, 2003

Because we can.

we made the jump to typescript for our latest project and gently caress ever going back

Nomnom Cookie
Aug 30, 2009



downside of static languages usually is that they don’t scale to zero very well. if what you need is a lovely little script to pipe some metrics from jenkins to cloudwatch then maybe use python. but that’s more of a packaging/deployment/stdlib consideration and you still want type hints in your lovely script

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.

Nomnom Cookie posted:

downside of static languages usually is that they don’t scale to zero very well.

as a static type liker but also dynamic type user (in MATLAB too, ugh, I’m in the right thread) I co-sign this

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
it's almost as if, and bear with me here because this is complicated, you should use the tools that are most appropriate for the job and avoid dogmatism in software engineering because it's loving dumb

Captain Foo
May 11, 2004

we vibin'
we slidin'
we breathin'
we dyin'

Blinkz0rz posted:

it's almost as if, and bear with me here because this is complicated, you should use the tools that are most appropriate for the job and avoid dogmatism in software engineering because it's loving dumb

#whoa

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.
the coldest of takes

mystes
May 31, 2006

Of course you should use the tools that are most appropriate for the job, OP. That's why we're saying dynamically typed languages are bad.

redleader
Aug 18, 2005

Engage according to operational parameters
there are extremely few scenarios where dynamic typing is "the right tool for the job" and i'd like someone to list some of those scenarios because i'm coming up blank

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

redleader posted:

there are extremely few scenarios where dynamic typing is "the right tool for the job" and i'd like someone to list some of those scenarios because i'm coming up blank

moving data from a sql server to some sort of document store. As long as you validate on your input pipeline you should be fine

Fiedler
Jun 29, 2002

I, for one, welcome our new mouse overlords.

Boiled Water posted:

moving data from a sql server to some sort of document store

wait no that's the wrong direction!

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

redleader posted:

there are extremely few scenarios where dynamic typing is "the right tool for the job" and i'd like someone to list some of those scenarios because i'm coming up blank

moving data from a sql server to some sort of document store. As long as you validate on your input pipeline you should be fine

Soricidus
Oct 21, 2010
freedom-hating statist shill

redleader posted:

there are extremely few scenarios where dynamic typing is "the right tool for the job" and i'd like someone to list some of those scenarios because i'm coming up blank

what if you’re trying to write fragile unmaintainable code for job security (or at least so the company’s hosed when they fire you)

DrPossum
May 15, 2004

i am not a surgeon

Arcsech posted:

uncle bob isn’t “kind of a tool”

uncle bob is an enormous tool

re: dynamic typing: I’ve been messing with Common Lisp lately and it is the best environment for exploratory programming I’ve ever used. it’s really neat for messing around and dynamic typing is a big part of that

but for a system that requires 1) more than a couple people working on it and/or 2) actual maintenance, yes, please god give me static types (as long as the type system is even half decent, a c/go-like type system is worse than dynamic)

uncle bob says try clojure

Adbot
ADBOT LOVES YOU

Shaggar
Apr 26, 2006

Blinkz0rz posted:

it's almost as if, and bear with me here because this is complicated, you should use the tools that are most appropriate for the job and avoid dogmatism in software engineering because it's loving dumb

theres no scenario where dynamic typing is good

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