Highlights from the thread [Archive.is] Tomasz Łakomy on Twitter: “What’s the most difficult programming concept you can explain in a tweet?”
- [Archive.is] Shahed Chowdhuri @ Microsoft on Twitter: “Recursion: << Tomasz Łakomy @tlakomy on Twitter: What’s the most difficult programming concept you can explain in a tweet?>>”
- [Archive.is] Predrag Beocanin on Twitter: “Not being ashamed to admit you don’t know something and asking for help… “
- [Archive.is] Nik Kalyani on Twitter: “The most difficult programming concept is simplicity. It’s very easy to write complicated code. It takes practice and effort to write simple code. Do it anyway. Future you and anyone else who works with your code will thank you.… “
- [Archive.is] Anders Hejlsberg on Twitter: “When a type variable types only read-only locations, it is naturally covariant. When a type variable types only write-only locations, it is naturally contravariant. When a type variable types both kinds of locations, it is naturally invariant.… “
- [Archive.is] Laurie on Twitter: “JavaScript is a language that’s viable syntax is dependent on the engine it runs against. Engines exist in browsers and node. All engines must adhere to the ECMAScript standard, but the time of adoption for a particular piece of syntax is not guaranteed.… “
- [Archive.is] Scott Hanselman on Twitter: “A pointer is an address in your city. I can pass it around without moving your house. If you deference a pointer you have to go visit the house to see what’s really there. If you show up and there’s an empty lot with a post-it with a new address, that’s a pointer to a pointer.… “
- [Archive.is] Liam Elliott on Twitter: “And passing by value… means you build a copy of your house and give it to me 🤔… “
- [Archive.is] Scott Hanselman on Twitter: “A function pointer is a phone number (an address) and you can pass that phone number around or give it to folks. But when you call that number, the person that answers (the function) gives you a list of things to do. That person isn’t the number. The number points to them.… “
- [Archive.is] Jelmer on Twitter: “And a C string is a pointer to a *row* of houses, each with a letter on the front door. You read those in sequence until you reach a door that’s empty 😆 This analogy is great because I can imagine myself walking down the street…… “
- [Archive.is] Garth Gilmour on Twitter: “Programming is creating an effective model in code of the model in your head of the clients model of their need. You will need to use the first to incrementally clarify the other two. Your best tool in this regard is tight feedback loops.… “
- [Archive.is] Marius Agur Hagelund Lind on Twitter: “A lock is when an operation marks a record/row or field/cell as not available for given operations. A deadlock is when two or more processes has 2 or more operations with a lock, and the operations required to finish any process is blocked by the lock in at least 1 other.… “
- [Archive.is] ᕦ( ͡° ͜ʖ ͡°)ᕤ on Twitter: “Your abstractions have to be perfect, otherwise they’ll hunt you forever. Little mistakes are called “smells” or anti-patterns. The older you get the more you’ll hate smells… “
- [Archive.is] Gokul Srinivas on Twitter: “Dynamic Progamming – remembering results that you have already computed so that you don’t have to recompute them in the future. E.g. Fibonacci(10) = Fibonacci(9) + Fibonacci(8) //after this point,you know F(10),F(9) and F(8). Now F(11) can be computed super fast. = F(10)+F(9)… “
- [Archive.is] Tadhg Lydon on Twitter: “When going to the toilet, zero length is when there’s just toilet roll tube left. Null is there’s no toilet roll holder at all.… “
- [Archive.is] Nima on Twitter: “Async programming is like ordering a pizza while watching TV until it is delivered instead of going and waiting at the door for the delivery guy.… “
- [Archive.is] Joel Denning on Twitter: “Event loops are a way of handling concurrency. They move slow things (network and disk) into the programming language or framework. That way you don’t have to worry about things like threads, locks, and semaphores… “
- [Archive.is] Laurie on Twitter: “map is a function on the array that takes another function. It’s essentially forEach and every element in your array is passed into the function and transformed. The result is a new array with all the transformed elements in the equivalent spots.… “
- [Archive.is] Chris ‘Architecture is Gardening’ Stead on Twitter: “State machines are pre-defined program flows represented by data, and functions which transform the data. A state is a unique representation of program data. Every function transforms data from exactly one state to a single new state. Wizard-style forms use state machines.… “
- [Archive.is] Isaac Mann on Twitter: “Most of the confusion with dates is because you’re trying to represent the local time and the UTC time with the same type. Mark every date as explicitly local or UTC and convert between them. Comparing two different time zones must always convert to UTC first.… “
- [Archive.is] Adrián Norte on Twitter: “Essential complexity is what you are trying to solve and accidental complexity is how you try to solve it. The “what” can’t be changed but the “how” is adaptable, don’t add complexity just because you like this tool more than that other, use the one that is needed.… “
- [Archive.is] Jacob Paris 🇨🇦 on Twitter: “Async is a keyword that marks a function as returning a Promise. Any return will be wrapped in a resolved promise and any error thrown will instead return a rejected promise… “
- [Archive.is] 🧘♂️Downward facing Dom 🧼👐🚿 on Twitter: “Memory access. You’re making a salad. L1 cache: Ingredients are on a chopping board L2/3: Ingredients are on a table RAM: Ingredients are in a fridge DISK: Ingredients are at the grocery HTTP API: Ingredients are on a different continent…”
- [WayBack] Maximilian on Twitter: “Otherwise fine, except: you’re actually making a cheesecake (very important), and the registry is your hand, and RAM is the grocery store (L3 is the fridge), and DISK is in the moon, and the Internet is the next solar system.… “
- [Archive.is] Christoph Siedentop on Twitter: “Arrays of Structs: You make 4 dishes. Cut a 1/4 onion, cut 1/4 pepper, mix with 1 egg, add cheese. Fry. Cut 1/4 onion cut 1/4 pepper, mix with 1 egg, add cheese. Fry. Repeat 2x times. Struct of Arrays: Cut one onion, cut one pepper, mix 4 eggs, add cheese. Split into four. Fry.… “
- [WayBack] Anand B Pillai on Twitter: “A #Closure is a programming technique for storing a function together with its environment, which binds every “free” variable with its value to the function at the time it is created. This allows one to create functions with built-in state and do all kinds of esoteric stuff.… “
- [Archive.is] Yordis Prieto on Twitter: “An observable Design Pattern: An object that implements two behavior. – Publish: publish changes to subscribers. – Subscribe: subscribes subscribers to changes published.… “
- [Archive.is] Joe B. Lewis on Twitter: “Bytecode is nothing but machine code but targets an imaginary(virtual) machine. JVM is one such imaginary software machine.… “
- [Archive.is] Sameer Ajmani on Twitter: “In Go, the zero value of an interface is nil: it has no concrete type and no concrete value. A non-nil interface value has a concrete type and a concrete value, which may be the zero value of that type, also nil.… “
Finally a cheat (as it has an image), but great illustration: