[-] FizzyOrange@programming.dev 8 points 4 months ago

Because it’s more inconvenience than help for users who are average or above

Shouldn't be a problem for you then right? 😄

[-] FizzyOrange@programming.dev 8 points 6 months ago

Just being open source doesn't guarantee a project's survival. If Google were to abandon it the most likely outcome would be a community fork that gets 100th of the development manpower it gets now, and most developers would abandon the platform leading to it's effective death.

But I also think it's unlikely Google will abandon it. It's actually quite good and quite popular now.

[-] FizzyOrange@programming.dev 8 points 7 months ago

I think Fusion 360 defaults to direct modelling which may be easier for beginners. FreeCAD uses parametric modelling which is more powerful and easier to use, but probably a bit confusing if you aren't expecting it.

Also Fusion360 is commercial software that has had lots and lots of UX effort put into it. FreeCAD hasn't. Until FreeCAD 1.0 I would say it had pretty awful UX, even for someone already familiar with parametric CAD.

With FreeCAD 1.0 it's quite good and usable for people with experience in parametric CAD (mostly) but it definitely doesn't hold your hand and I wouldn't expect a beginner to be able to design a part easily first time.

[-] FizzyOrange@programming.dev 8 points 9 months ago

I guess it's just because they don't want things cluttering up the open issue list that are completely irrelevant. But I agree many projects go way too far, especially

  • Locking issues. Just don't. Unless there's some spam or political issues or something, don't do it. I have several times come across an issue that was closed and locked but maybe not actually fixed and I have relevant info but can't add a comment. Why?
  • Stalebot. Don't use it. It is bad. It's ok to ask "is this still relevant?" and close it if you don't get a reply, but don't imagine you can automatically clean up your backlog with something as blunt force as just closing everything without a recent comment or enough emojis or whatever. Some bugs just exist for a long time. Ignoring them doesn't mean they are fixed.
[-] FizzyOrange@programming.dev 8 points 10 months ago

Yeah the main reason is performance. In some languages if you use a value "linearly" (i.e. there's only ever one copy) then functional style updates can get transformed to mutable in-place updates under the hood, but usually it's seen as a performance optimisation, whereas you often want a performance guarantee.

Koka is kind of an exception, but even there they say:

Note. FBIP is still active research. In particular we'd like to add ways to add annotations to ensure reuse is taking place.

From that point of view it's quite similar to tail recursion. It's often viewed as an optional optimisation but often you want it to be guaranteed so some languages have a keyword like become to do that.

Also it's sometimes easier to write code that uses mutation. It doesn't always make code icky and hard to debug. I'd say it's more of a very mild code smell. A code musk, if you like.

[-] FizzyOrange@programming.dev 8 points 1 year ago

It's not too bad if you strictly enforce Pyright, Pylint and Black.

But I have yet to work with Python code other than my own that does that. So in practice you are right.

[-] FizzyOrange@programming.dev 8 points 1 year ago* (last edited 1 year ago)

would not be considered bugs but maybe change requests.

That's just playing with semantics. They are clearly bugs. They are literally called "defect reports".

Without a spec how would you argue that a system/product is safe?

  1. Lots of testing, including randomised testing and ideally formal verification.
  2. Comprehensive test coverage - both code coverage (lines, branches) and functional coverage (hand written properties).
  3. Functional safety features (ECC, redundancy, error reporting & recovery, etc.)
  4. Engineering practices known to reduce the chance of bugs (strong static types, version control, CI & nightly tests, rigorous engineering processes - requirement tracking and so on, and yes ideally well written specifications for all the tools you are using).

There are many aspects to safety and it's definitely a good idea to have a spec for a language, but it doesn't automatically mean safety is impossible without it.

Software in itself cannot be safe or unsafe because without hardware it cannot do anything.

The nice thing about abstraction is that you can talk about software without considering the hardware, more or less. If one says "this software is safe", it means it's safe assuming it's running on working hardware.

It doesn't always hold up - sometimes the abstraction leaks, e.g. for things like spectre and rowhammer. And there are sometimes performance concerns. But it's pretty good.

[-] FizzyOrange@programming.dev 8 points 1 year ago

Make a post on StackOverflow claiming that no such project exists.

Haha, seriously though, ChatGPT is a solid bet. Lots of Googling. Maybe try https://grep.app/ if you have some very domain specific words to try.

[-] FizzyOrange@programming.dev 8 points 1 year ago

Ha I once googled some question, found a great answer in some random forum and was like about to write a reply saying what a great answer it was when I realised it was me, like 10 years ago.

[-] FizzyOrange@programming.dev 8 points 1 year ago

Nice! Though a lot of the pages don't show any charts at all on mobile. E.g. the Pie Charts page doesn't seem to contain any pie charts? And the line charts page only shows a line chart in landscape which is weird.

[-] FizzyOrange@programming.dev 8 points 2 years ago

I don't think I would call this functional. Python is decidedly not at all functional - there's no way to declare arbitrary functions inline, no chaining of map/filter etc.

But the static types are definitely welcome. I didn't know about the type keyword. Apparently it makes it support forward references.

[-] FizzyOrange@programming.dev 8 points 2 years ago

It does. x-x == 0 is true unless x is NaN or infinity.

view more: ‹ prev next ›

FizzyOrange

joined 2 years ago