tranny cafe

made by puppy #2

only through suffering may i be free

wruff

how to program good

written on Saturday, the 10th day of May in my 24th year of life

you walking stereotype

programming is more like translation than a form engineering, treat it like ur talking to a really fucking autistic tranny about something she knows nothing about. 90% of the time the code you are writing is telling the computer how to move something from point a to point b or how to tell this other dumbfuck program to do something.

what not to do

from least to most controversial :3

dont abstract the wrong way

abstractions are commonplace in the programming world, and much of the time they are useful. the issue arises when abstractions are made that cut against the "grain" of complexity. the best cuts to make are those which reduce the surface area of the code you most often work with, an example of this is compilers. most work can be done at a higher level, leaving machine code to be a concept only the compiler developers have to worry about. a bad abstraction is one which leaves you working with more surface area rather than less, a vertical gash made into the flow of information and control, bleeding out into the surrounding code.

dont use ai

ai has many issues namely:

  • its stealing
  • the code it writes is poor
  • it is stealing
  • it is basically copy and pasting which has issues as well

especially when learning, use of ai will get you nowhere. the use of ai rots the mind, our brains are not made in a way which allows for shortcuts to be taken in moderation. you will find yourself using ai more and more and your brain less and less, you will become reliant on this grotesque approximation of human brilliance while your mind atrophies.

dont copy and paste code

copying code can be very appealing to a learner or experienced programmer. copying code is fast, efficient, productive. copying and pasting code you can write thousands of lines of code in an hour. you will understand none of the code, less perhaps than if youd used ai. of course there will be times where you need a solution quickly, there will be times where you have a problem which many before you have faced and you will believe the only option is going to stack overflow to mindlessly copy its answers

the issue with this approach is the ability you have to reason about the code you are working on. the job of a programmer is to build on a tapestry of work done by others and create. ones ability to do this task is directly correlated to the ability we have to reason about the tapestry we are working on. by copying and pasting code we lose sight of that area of the tapestry. when we are then asked to reason about a piece which interfaces with the offending code, either through documenting it, fixing a bug with it, or expanding on it, we are then blind and must read and learn the inner workings before we can proceed. reading code is always more difficult than writing it, and the best way to learn is to rewrite, this is why we take notes instead of listening in school.

what to do

to use a programming concept, when learning you want to be depth first. when faced with a challenge or something you dont understand you should dive into it rather than attempt to learn the surface level interface. for example if you are creating a website using something like react, the reactive elements will seem like magic, so create a reactive framework and then go back to the website. this may be unsatisfying to many people, but i would argue this behavior is the driving force behind all great programmers. if you are satisfied with the surface then you are blind to the beauty of the depths.