Live data from Hacker News

Atlas, a hopefully better engineering IDE

atlasengineering.io

71–80 of 136 posts

Re: Atlas, a hopefully better engineering IDE

#71
post #24

Tracking units is a thing that I rarely have a use for (as a non-engineer), but when I do, I’m totally mystified by how bad almost every language is at it. F# is the only actual programming language I found that even tries. It does a pretty decent job, but even it has some disappointing holes (e.g. not being able to understand g and kg as scaled versions of the same dimension). I guess the overlap between physicists/…

The Elm programming language ecosystem has the great "elm-units" library, which prevents one from mixing illogical units, and it produces logical unit combinations:

https://package.elm-lang.org/packages/ianmackenzie/elm-units...

...which is used in other packages where unit type safety is important, such as elm-geometry:

https://package.elm-lang.org/packages/ianmackenzie/elm-geome...

Re: Atlas, a hopefully better engineering IDE

#72
post #64
post #24

Tracking units is a thing that I rarely have a use for (as a non-engineer), but when I do, I’m totally mystified by how bad almost every language is at it. F# is the only actual programming language I found that even tries. It does a pretty decent job, but even it has some disappointing holes (e.g. not being able to understand g and kg as scaled versions of the same dimension). I guess the overlap between physicists/…

When I implemented unit support into my engine I used the units cmdline tool. Was by far the best and easiest to use. https://www.gnu.org/software/units/manual/html_node/Command-...

Unit conversion is not the issue. It's strong typing the values themselves so that you don't actually plug in a value in feet that was thought to be in meters. This means each numeric value must have it's own type (or equivalent strong compiler or runtime backed constraints).

So instead of float, we have (eg) float_meters, float_feet and so on.

Re: Atlas, a hopefully better engineering IDE

#73
post #7

I've done a lot of napkin math in NaSC [0]. Unfortunately it was buggy and often crashed so I had to stop using it. I'd love for something like this that could also be checked into repo and used to "compile" into constants that can be used in code. For example: plan the resources required to run for `demand(requests)` and load that into code and run that to scale up/down replicas or something. [0] - https://appcenter…

I’m using NaSC and it’s not too bad. Though not as good as Calca, but Calca isn’t available for purchase on Linux. :/

I’m curious about this one. Though I’d prefer a plain text storage format but otherwise it’d need to be cross platform.

Re: Atlas, a hopefully better engineering IDE

#74
post #24

Tracking units is a thing that I rarely have a use for (as a non-engineer), but when I do, I’m totally mystified by how bad almost every language is at it. F# is the only actual programming language I found that even tries. It does a pretty decent job, but even it has some disappointing holes (e.g. not being able to understand g and kg as scaled versions of the same dimension). I guess the overlap between physicists/…

I guess the overlap between physicists/engineers and type system/PLT people isn’t large enough.

C++ has supported units, as a library, since the early 90s. The Barton Nackman book had the initial implementation [1] and it was picked up years later by Scott Meyers [2].

[1] https://www.thriftbooks.com/w/scientific-and-engineering-c-a...

[2] https://stackoverflow.com/questions/28698558/c-dimensional-a...

Re: Atlas, a hopefully better engineering IDE

#75
post #24

Tracking units is a thing that I rarely have a use for (as a non-engineer), but when I do, I’m totally mystified by how bad almost every language is at it. F# is the only actual programming language I found that even tries. It does a pretty decent job, but even it has some disappointing holes (e.g. not being able to understand g and kg as scaled versions of the same dimension). I guess the overlap between physicists/…

The Curl programming language for Web applications had units for purposes like its GUI objects, circa 2000.

https://en.wikipedia.org/wiki/Curl_(programming_language)

Re: Atlas, a hopefully better engineering IDE

#76

Earlier quoted context omitted.

This is something that Matlab really shines at with symbolic computation. Is there really not a numpy/scipy equivalent?

Matlab I thought use Maple for symbolic functionality, is that not the case?

No, they moved to their own symbolic computation engine years ago.

Re: Atlas, a hopefully better engineering IDE

#77

Earlier quoted context omitted.

We must be evil twins in opposite universes. I've always wanted to be able to code the equations the way they look on paper. I actually am quite annoyed that most languages won't let you use Greek characters as variables. To me, it just makes it easier to spot errors.

Agreed. With normal math notation I can just see how something works. In programming language math notation I cant even always parse the hierarchy.

In general, that depends on the programming language though, and not all things in math are easy to parse and rely on precedence rules. Math is far from optimal in this aspect and I guess you just have experience in reading math.

Re: Atlas, a hopefully better engineering IDE

#78
post #74
post #24

Tracking units is a thing that I rarely have a use for (as a non-engineer), but when I do, I’m totally mystified by how bad almost every language is at it. F# is the only actual programming language I found that even tries. It does a pretty decent job, but even it has some disappointing holes (e.g. not being able to understand g and kg as scaled versions of the same dimension). I guess the overlap between physicists/…

I guess the overlap between physicists/engineers and type system/PLT people isn’t large enough. C++ has supported units, as a library, since the early 90s. The Barton Nackman book had the initial implementation [1] and it was picked up years later by Scott Meyers [2]. [1] https://www.thriftbooks.com/w/scientific-and-engineering-c-a... [2] https://stackoverflow.com/questions/28698558/c-dimensional-a...

Although it just uses scaling, Forth also has a nice solution to unit conversion:

https://www.forth.com/starting-forth/12-forth-code-example/

Re: Atlas, a hopefully better engineering IDE

#79

Earlier quoted context omitted.

We must be evil twins in opposite universes. I've always wanted to be able to code the equations the way they look on paper. I actually am quite annoyed that most languages won't let you use Greek characters as variables. To me, it just makes it easier to spot errors.

I mean I guess that makes sense for a mathematics-oriented language. Generally, literate coding would encourage you to come up with friendlier variable names as software engineers aren't mathematicians per se and code is meant to be accessible to more than just academics/mathematicians. In particular, I see a lot of this done in machine learning python code. Lots of "z", not "zeta", etc. Pretty tough to understand as…

It seems backward to try and understand a known math technique or fact from code when there are likely pedagogical presentations of the same material. And if we're talking about novel math, it seems more than fair to ask that the reader is comfortable with the domain.

Can you imagine someone learning math by contemplating the sum of effects in a program? Heaven forbid there's any emphasis on performance whatsoever.

Re: Atlas, a hopefully better engineering IDE

#80

Earlier quoted context omitted.

Seems like they're associated with the development of Nyxt since they link to Nyxt here -> https://source.atlas.engineer/

Sorry, I phrased it badly: the OP links to http://atlasengineering.io and when I see "Atlass Engineering" I think of this: https://atlas.engineer

What do you think the headline should've been?
Post reply on HN