Everytime I look at something written in mathematical notation I can prevent myself from thinking "this is exactly what we do NOT want to do in programming: one letter variable, super super dense code, no comments, symbols/infix operators instead of obvious functions names"

And the result speak for itself : you need to **study math** things to understand it.

We you need to do that for programming you are just reading shitty code not meant to be share with humans.

Math is just shitty code.

@bram But Shitty Code That Works™

Et puis c'est beau les maths
Même si c'est archi chaud à comprendre xD

@bram I confess that I rather see programming as malformed mathematics.

@mona even from the readability and "I'm working with other humans that needs to understand what I'm communicating easily" point of view?

@bram yes! mathematical symbols (well, a good deal of them) are lucid to me. code is not.

@mona @bram if its a language I know, im the opposite, but im hoping my partner can shed some light on math for me.

@bram I must thank you, in fact, for assisting me toward this understanding of myself. the symbols and manipulations of algebra and trigonometry and calculus are almost recreational to me, and I have more than once wished that programming was more like math homework.

@mona oh, with pleasure :)

You can take a look at haskell, if you look at it closely it's programming with math constructions.

@bram and then there is LaTeX: all the short and concise but barely readable mathematical notations are actually written as a very long mess of even less readable stuff

@Thib LaTeX is a great example of "how not to make the syntax of your programming language" >.>

@wxcafe @Thib from a language design stance it's ... quite bad :/

But as a tool it's great yes (but there is a tone of things that aren't good in it)

@wxcafe @Thib ouais, c'est clairement pas super fair de le comparer à des langages d'aujourd'hui mais ça reste assez désespérant comme syntaxe ...

@wxcafe @Thib haskell c'est justement toutes les mauvaises pratiques des maths dans un langage de programmation -_-

@wxcafe @bram @Thib les gens qui disent du mal d'ocaml sont bienvenus sur ? Eh beh 🙄

@luluberlu @wxcafe @Thib je dis bien du mal des furries, vous êtes juste pareil :p

@bram @efacxw non, tu peux pas utiliser de jolies notations mathématiques, ça gère pas unicode

@thib Attends mais y'avait un ∀ dans un de tes fichiers sources, c'était pas du OCaml ?
Et on peut l'utiliser en Haskell ????

@bram @wxcafe

@Doshirae @bram @efacxw nan, le gros des sources c'est du Coq, c'est un langage différent d'OCaml, et qui gère l'unicode (même si le parseur est funky).
Utiliser quoi en Haskell ?

@Doshirae ouais, l'extension des fichiers Coq, c'est .v

Euh, je sais pas si tu peux utiliser ∀ en Haskell, mais ça ne m'étonnerait pas ?
(J'ai fait très peu de Haskell)

@efacxw @bram ouais mais on est en 2018, quoi.
Faudrait que je regarde les trucs qui se placent au-dessus de LaTeX, genre melt, ou les trucs censés le remplacer, comme… euh… y en a ?

@Thib @bram i always feel a bit skeptical when reading mathematical notation in a programming paper, in that the idea needs to be validated in two different domains, only one of which i'm really very qualified to operate in. the vocabulary of math tracks across so many different fields, i tend to feel overwhelmed pretty quickly with all i need to unpack in a few symbols.

@bram that's only if it's in fully reduced form.

you can convert any expression into a series of addition and subtraction.

@UberGeek that for the most commonly used form I encounter all the time

Even well-written and documented code cannot be understood without study.

Someone for whom calculus makes more sense than Python

@DialMforMara @bram but this is just not true! i could easily read and understand a fairly complex python script long before i learned python. meanwhile i had many years of mandatory math education through grade school, and still don't understand any even somewhat complex math

@bram mathematics is a social community and people in that community spend years working with others getting to learn the subtly nuances of all that dense stuff. It’s meant to be shared with others and the there’s a reason for the dense code but it takes a conceptual shift to be fluent in it.

@noflashphotography and I think that's the problem: it has never been built to be accessible nor easy to understand and that has never been (is very rarely?) questionned.

Appart from one exception, I've only see the question "how to teach math better" and never the "how to make math easier to teach".

That and the fact that sociologically math is used in the educational system to exclude the "not good enough" students (which is nearly always the poors).

@bram yes/no. I can speak from experience that learning advanced math is a slow going process not because of the notation but because there’s so much to learn and people are usually having to do double or triple learning: concepts, notation, and problem solving strategy. If you have one of two of those down notation usually isn’t an issue If you put in the time.

@bram notation is questioned all the time. There is always a decades even centuries long process of crafting and whittling down notation. The problem is that notation for competent practioners isn’t always what’s best for beginners.

@noflashphotography on that point I really have the feeling that you get the same problem than with old programming language where once people get used to something they don't realised that it's actually bad and in the programming field we had the chance of having a lot of different programming languages that helped refine better ideas/notations/abstractions and prove that older programming languages where actually less good at that, a thing that you don't have in math (from what I know)

@bram Notation has been changed a lot in many fields. Look into the precursors of tensors and matrices that popped up in the 1860s till the 1920s. Same goes for differential equations and their representations. Differential geometry (language of general relativity) has changed substantially
since Einstein's time.

@noflashphotography sure (I've had a math teacher that liked to teach us some of that stuff) but I find it hard to compare to the hundreds of differents programming languages we already had in less than a centuary :/

@bram I dunno. They fit into several broad categories in terms of mindset.

@bram @shel one of the first things i do when i have to use a colleague's code is refactor it to make it readable (and modifyable;)

@meena @shel on the projects I work on we try to keep a coherent code quality and notation to avoid having to do that (but I often end up doing that on code of other projects if it's bad)

@meena @bram @shel I've tried this, and usually is a total waste of time. To refactor the code, you have to understand what it's intentions are; that requires intense study of the code.

The problem is, you can refactor the code to make things "readable," but the structure of the code may now be in a *worse* state of being able to communicate intent, actually making it harder to *comprehend*, despite being easier to read.

Raymond Hettinger has a video on when it's OK to ignore conventions.

Sign in to participate in the conversation

This is an open mastodon instance for social justice activists, LGBTQIA+ people, and people who are aware of such subjects and care about them.

See the Goals, rules, and technical details for more information