I’m actually been thinking a lot about
naming and classifying things lately I I
started listening to this new podcast
it’s not new but it’s do you for me
called hidden brain if you know about
freakanomics it’s it’s kind of sorta
like that and they talked about the last
episode was called the sorting hat as in
the sorting hat at Hogwarts Harry Potter
and they did made parallel to this hat
which places you in one of the Hogwarts
houses automatically determines what
kind of personality you are and then it
says that if you’re what Hallward sounds
you fit most in given who you are your
personality and they make a parallel to
personality tests as well like the
myers-briggs tests which I love by the
way I find super fun i’m an entp
or a an ENTJ if I’m you know whenever
I’m in like a boss kind of situation
I’ve kind of fall into that and then so
they also talk about other personality
tests and they’re kind of they are kind
of negative towards personality tests
because they generally have no
scientific bearing or anything I and I
agree I don’t think that the
myers-briggs should be used for anything
serious that seems like a bad idea but
it’s fun and but the parallel to
programming is then what that teaches us
like the fascination that people have
with the Sorting Hat and personality
test is that we really like categorizing
people and things we like to say that oh
that person is an INTP or an is fjm
effect then I now have a mental model of
that person and now I can deal with them
so reality is difficult and complicated
and hard and we as humans we’d like to
simplify that reality into
into mental models and names we like to
give things names and I think that
that’s the danger in programming
especially when it comes to types I this
might be just me rationalizing my
disdain of type systems but I think that
I want a programming language I not per
se against types and classes and stuff
like that but I like a programming
language that allows you to defer the
creation of types and classes so that
you can like just ah let things be what
they are for a while before naming them
or defining a class for them like and I
really like just you know loose object
literals without having to define time
for them and I like anonymous functions
without having to name them and stuff
like that have you ever tried typescript
on a project I think you would really
enjoy it it does not force typing on you
like Java – I have tried it and it’s
absolutely true that it doesn’t shove
pipes down your throat but I still I
tried a tried flow which is an even
which is even more slack than typescript
and I just found myself still getting so
caught up in types because both flow and
typescript the way they are designed
it feels wrong when things are not typed
in that language at least for me I’m not
sure if you agree but I just found
myself like oh my god that doesn’t have
a type and then I just found myself like
it’s it’s kind of like how just see like
there or say that there are you see ten
slots right imagine ten slots in
something like wooden slots or something
and then all of those slots are filled
with
green things and then there is one that
is not filled with a green thing and the
green thing that is there just lies over
here and your brain just wants to move
that thing there put it in like complete
the the puzzle and that’s what working
with flow felt like to me and I know I
just found it to be really really
distracting and I removed it from the
project I work with types have that
effect on me I don’t they they distract
me
that’s one big aspect often we can’t
predict what something will be what a
proper name for something should be what
the correct interface for something
should be yeah that’s true like
essentially I think a lot of software
development problems arise from trying
to predict the future instead of
allowing your software to just evolve
and then observe observe the patterns
and then create the generalization as
humans we think we’re really good at
predicting the future but we’re really
not like our brains are kind of built in
order to anticipate oh if I run around
that corner there might be a wolf and
then I need to run back here I guess
that is what it’s built for like the
fact that we’re using it to build these
complicated software systems that’s just
a huge hack on top of our capability to
planet movements and yeah I’m also
missing premature optimization is the
root of all evil that is so true so true
but I think that a lot of people miss
that it also involves generalization and
naming things as well everyone says oh I
wouldn’t say all evil yeah no precisely
everything like Hitler was do too
premature optimization anyhoo where were we