|
redshift is really good at joins and aggregates and absolutely nothing else
|
# ? Nov 2, 2019 00:07 |
|
|
# ? Apr 26, 2024 13:35 |
|
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
|
# ? Nov 2, 2019 00:34 |
|
starting to think that yes, all dbs suck
|
# ? Nov 2, 2019 12:45 |
|
agreed, just put everything in an untyped hash map and serialize to disk every couple minutes
|
# ? Nov 2, 2019 14:11 |
|
redleader posted:starting to think that yes, all dbs suck https://twitter.com/dril/status/473265809079693312
|
# ? Nov 2, 2019 14:29 |
|
sql is good nosql is bad
|
# ? Nov 2, 2019 14:31 |
|
just use csv and awk, your data isn’t that big or important
|
# ? Nov 2, 2019 14:38 |
|
rt4 posted:agreed, just put everything in an untyped hash map and serialize to disk every couple minutes Redis is deec
|
# ? Nov 2, 2019 14:47 |
|
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... 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?
|
# ? Nov 2, 2019 15:42 |
|
Sapozhnik posted:type checking good, apparently 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
|
# ? Nov 2, 2019 16:23 |
|
Soricidus posted:just use csv and awk, your data isn’t that big or important unironically this
|
# ? Nov 2, 2019 17:11 |
|
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 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
|
# ? Nov 2, 2019 17:18 |
|
i recall dynamic being a real lifesaver when i was working with roslyn api stuff
|
# ? Nov 2, 2019 17:20 |
|
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
|
# ? Nov 2, 2019 17:32 |
|
Sapozhnik posted:hey i hear this is where we talk about terrible programming 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
|
# ? Nov 2, 2019 17:50 |
|
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
|
# ? Nov 2, 2019 18:08 |
|
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
|
# ? Nov 2, 2019 18:12 |
|
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.
|
# ? Nov 2, 2019 18:17 |
|
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.
|
# ? Nov 2, 2019 18:28 |
|
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
|
# ? Nov 2, 2019 18:28 |
|
cool av posted:it lets the compiler check your code for errors that otherwise would be caught at runtime. “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!!!
|
# ? Nov 2, 2019 18:31 |
|
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 |
# ? Nov 2, 2019 18:38 |
|
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
|
# ? Nov 2, 2019 18:39 |
|
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.
|
# ? Nov 2, 2019 19:14 |
|
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)
|
# ? Nov 2, 2019 19:30 |
|
Apparently i wasn't being sarcastic enough
|
# ? Nov 2, 2019 19:37 |
|
we made the jump to typescript for our latest project and gently caress ever going back
|
# ? Nov 2, 2019 19:41 |
|
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
|
# ? Nov 2, 2019 20:00 |
|
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
|
# ? Nov 2, 2019 22:11 |
|
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
|
# ? Nov 2, 2019 22:30 |
|
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
|
# ? Nov 2, 2019 22:49 |
|
the coldest of takes
|
# ? Nov 2, 2019 23:00 |
|
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.
|
# ? Nov 2, 2019 23:06 |
|
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
|
# ? Nov 2, 2019 23:23 |
|
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
|
# ? Nov 2, 2019 23:33 |
|
Boiled Water posted:moving data from a sql server to some sort of document store wait no that's the wrong direction!
|
# ? Nov 2, 2019 23:38 |
|
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
|
# ? Nov 2, 2019 23:48 |
|
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)
|
# ? Nov 2, 2019 23:52 |
|
Arcsech posted:uncle bob isn’t “kind of a tool” uncle bob says try clojure
|
# ? Nov 2, 2019 23:52 |
|
|
# ? Apr 26, 2024 13:35 |
|
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
|
# ? Nov 2, 2019 23:58 |