Oh boy, have fun! CTEs have pretty wide support, so you might be in luck (well at least in that respect, in all other cases you’re still using saleforce amd my commiserations are with you)
Oh boy, have fun! CTEs have pretty wide support, so you might be in luck (well at least in that respect, in all other cases you’re still using saleforce amd my commiserations are with you)
I have advice that you didn’t ask for at all!
SQL’s declarative ordering annoys me too. In most languages you order things based on when you want them to happen, SQL doesn’t work like that- you need to order query dyntax based on where that bit goes according to the rules of SQL. It’s meant to aid readability, some people like it a lot,but for me it’s just a bunch of extra rules to remember.
Anyway, for nested expressions, I think CTEs make stuff a lot easier, and SQL query optimisers mean you probably shouldn’t have to worry about performance.
I.e. instead of:
SELECT
one.col_a,
two.col_b
FROM one
LEFT JOIN
(SELECT * FROM somewhere WHERE something) as two
ON one.x = two.x
you can do this:
WITH two as (
SELECT * FROM somewhere
WHERE something
)
SELECT
one.col_a,
two.col_b
FROM one
LEFT JOIN two
ON one.x = two.x
Especially when things are a little gnarly with lots of nested CTEs, this style makes stuff a tonne easier to reason with.
AI: “Have you tried funding public transport and regulating the carbon industry?”
Ok, now we need to make a new AI so that AI can solve global warming but without using an existing solution that might marginally inconvenience the mega rich.
Ok really tangential rant here!
I find societal attitudes to art and morality really crazy.
I don’t necessarily disagree with the idea that art and morality should be linked, but it only ever seems to happen in a negative capacity of “don’t listen to x because they did y”.
There’s a whole strain of:
On the whole, I don’t see anyone care very much about the above two points, people just “like what they like”, which is as if we think morality and art are two seperate things.
That makes sense, but then there’s this wierd category where “oh that person did this bad thing, so now their art is invalid”.
So, what’s the overall attitude? Like, art isn’t related to morality generally, but there’s some mysterious line where if it’s crossed art moves into the “forbidden zone”?
I’m all for calling bad people to account for their moral behaviour, but the way we do it in art is so jumbled and inconsistent.
Yeah, that’s my experience too. I think once projects get to a certain size, you really reap the benefits of strong opinions, regardless if what those opinions are.
It’s not easier to do getters or setters but especially in python there’s a big culture of just not having getters or setters and accessing object variables directly. Which makes code bases smaller.
Same with the types (although most languages for instance doesn’t consider None a valid value for an int type) Javascript has sooo many dynamic options, but I don’t see people checking much.
I think it boils down to, java has a lot of ceremony, which is designed to improve stability. I think this makes code bases more complex, and gives it the reputation it has.
Before someone says it, I know a lot of this stuff doesn’t need to be done. I’m just giving it as examples for why Java has the rep it does.
I think a lot of it is “ceremony”, so it’s pretty common in java to:
Then add on top that you have the increased code of type annotations PLUS the increased code of having to check if a value is null all the time because all types are nullable.
None of that is hugely complicated compared to sone of the concepts in say Rust, but it does lead to a codebase with a lot more lines of code than you’d see in other similar languages.
I read ‘Computer Science Distilled’ early on and it really helped me. It’s a very shallow summary of some CS fundamentals, but that’s kind of what you want when you’re starting out- just enough knowledge to know what exists to learn later.
Here’s a link: https://www.goodreads.com/book/show/34189798-computer-science-distilled
I feel like in a lot of ways, most languages are great candidates for this, for lots of different reasons!
Buuuuut, Rust’s compilation can be pretty resource intensive, so if you’re actually developing on limited hardware:
Then there’s the fact that it’s a home server, so always on, meaning you actually have generous resources in some ways, because any available CPU is kinda just there to use so:
And then why not go whole hog into the world of experimental languages:
And then we’re forgetting about:
But that doesn’t factor in:
Plus:
Edit: My actual serious answer is that Rust + Rocket would be great fun if you’re interested in learning something new, and you’d get very optimised code. If you just want it to use less memory that java and don’t want to spend too much time learning new things then python is probably fine and very quick to learn. Go is a nice halfway point.
Man, I sure wish cybertrucks had been around to deflect when I spent 7 years driving a Fiat Panda.