« first day (3378 days earlier)      last day (1604 days later) » 

6:03 AM
Ben Popper on December 03, 2019

This week we chatted with Charlton McIlwain, a professor of media, culture, and communication at NYU. He is the author of the new book, Black Software: The Internet & Racial Justice, from the AfroNet to Black Lives Matter. We discuss how a demand for more diverse clip art helped lay the foundation for some of the first black owned and operated software companies in the United States, and the ways in which social media has helped to empower a new generation of voices to demand change in the tech industry and beyond.  …

 
6:38 AM
Good morning, y'all! (In my timezone, at least.)

I'm having a brain block, maybe someone here can help me.

What is the name of the Principle of Programming Language Design that says that extracting an expression into a function and using that function instead of the expression should not change the meaning of the program?

I know that this exists and I know that it has a name (I think it is named after the person who coined it, but I am not sure), but I can't for the life of me remember it. My efforts to search for the name have been thwarted by being swamped with results for the Liskov S
 
@JörgWMittag Idempotency popped into mind but upon a second reading it doesn't seem to be what your issue is about ...
Yeah, it's definitely not what you meant. I never heard of a name for what you describe and a quick google search doesn't give any either. Maybe a SW.SE question will help? :/
 
7:44 AM
Yeah, *idempotency* is `f(f(x)) == f(x) ∀x`. What I mean is that

some_expression

and

def f:
some_expression

f()

should be equivalent.

This is, fundamentally, what allows procedural programming and functional programming in the first place: you can break your program into subroutines without breaking your program. However, and somewhat surprisingly, this property does not hold true for many programming languages.
 
 
3 hours later…
10:16 AM
This is not specific to a framework or language. Please read this question for more information softwareengineering.stackexchange.com/questions/99894/…Nima 54 secs ago
 
 
11 hours later…
9:08 PM
Consider posting to Software Engineering instead (softwareengineering.stackexchange.com). It is a StackExchange where best practices questions are considered and answered. StackOverflow is for cut and dry problem/solution situations, so questions about judgement calls or best practices like this question will likely be closed. Sorry about that. — Alain O'Dea 27 secs ago
Consider posting to Software Engineering instead (softwareengineering.stackexchange.com). It is a StackExchange where best practices questions are considered and answered. StackOverflow is for cut and dry problem/solution situations, so questions about judgement calls or best practices like this question will likely be closed. Sorry about that. — Alain O'Dea 7 secs ago
 
9:30 PM
@JörgWMittag I'd call it substitutability, or perhaps weak referential transparency? The expressions are extensionally equal? Whatever it is, Rust is an example of a language that doesn't have it due to its lifetime inference rules.
 
 
2 hours later…
11:22 PM
I'm voting to close this question as off-topic because it asks us to design a study plan. While education is a very useful thing for programmers, this site is only for "practical, answerable problems", not for planning your (formal or informal) education. This really is more of a Computer Science Educators question, which might find a home on one of our sister sites (but do read the site guidelines for questions before posting there). — Ben Voigt 46 secs ago
 

« first day (3378 days earlier)      last day (1604 days later) »