Se você nunca viu C ou como um programa funciona de verdade no baixo nível, hoje é sua chance de ver todo o básico de uma só vez!
Vou desde tipos primitivos, strings, arrays, stacks, heap, alocação de memória, structs, até minimamente entender o que está por baixo do que você chama de linguagem "orientada a objetos".
ERRATAS
- em 00:06:50 falei errado o range de INT, o certo é de -128 a 127
- em 00:06:06 eu falei certo e deixei a correção escrita errada. 64 bits, se você não precisar, desperdiça 7 bytes
- em 00:40:54 eu falei que 255 bytes é 1/4 de 1 megabyte, mas é de 1 KILObyte.
- em 00:38:40 eu não sei como deixei passar, mas quando falo de passar o string pras funções `f1`, `f2` não está duplicando toda a string e sim a referência pra ela. Se fossem valores primitivos como `int` sim, mas array só o endereço duplica mesmo.
- em 00:57:55 quando dei copy e paste pro createPerson, eu esqueci de usar os argumentos pra fazer `person.age = age` por exemplo e ficou hardcoded. Viram?? Por isso copy e paste é perigoso, especialmente meia noite depois de estar cansado de passar 3 dias editando kkkkk`
- 00:45:20 64-bits são 8 bytes, toda hora na minha cabeça fica "4 bytes", mas são 8
CONTEÚDO:
00:00:00 Intro
00:02:06 Strings
00:04:37 Inteiros
00:06:54 Two's Complement
00:09:22 BigInteger
00:10:45 Pré-Float
00:13:47 Floats
00:17:27 0.1 + 0.2 != 0.3?
00:20:37 BigDecimal
00:22:17 Arrays
00:27:48 1o Hello World
00:28:37 Endereços e Referências
00:36:02 Contador de Programas e Pilha
00:41:03 Recursão
00:42:54 Ponteiros!
00:45:29 2o Hello World (com ponteiros)
00:48:52 Structs
00:49:47 3o Hello World (com struct)
00:52:25 Referências a Funções
00:55:26 4o Hello World (com callbacks)
00:59:57 5o Hello World (pseudo objetos)
01:05:05 Conclusão
LINKS:
* Integer (Wikipedia) (https://en.wikipedia.org/wiki/Integer_(computer_science))
* Two’s Complement (Wikipedia) (https://en.wikipedia.org/wiki/Two%27s_complement)
* How numbers are encoded in JavaScript (https://2ality.com/2012/04/number-encoding.html#:~:text=JavaScript%20numbers%20are%20all%20floating,binary%20format%2C%20in%2064%20bits.)
* FLOATING POINT VISUALLY EXPLAINED (https://fabiensanglard.net/floating_point_visually_explained/)
* What Every Computer Scientist Should Know About Floating-Point Arithmetic (What Every Computer Scientist Should Know About Floating-Point Arithmetic (oracle.com))
* IEEE-754 Floating Point Converter (IEEE-754 Floating Point Converter (h-schmidt.net))
* Number.MAX_SAFE_INTEGER (Number.MAX_SAFE_INTEGER - JavaScript | MDN (mozilla.org))
* Signed Binary/Decimal Conversion Using the Two's Complement Representation (Signed Binary/Decimal Conversion (ubc.ca))
* C - Pointer arithmetic (C - Pointer arithmetic - Tutorialspoint)
* Why Discord is switching from Go to Rust (https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f)
Me siga nas redes sociais:
* Twitter (https://twitter.com/akitaonrails)
* Instagram (https://instagram.com/akitaonrails)
* Facebook (https://facebook.com/akitaonrails)
* Podcasts (https://anchor.fm/akitando)
Transcript: https://www.akitaonrails.com/2021/03/06/akitando-93-hello-world-como-voce-nunca-viu-entendendo-c
Podcast: https://anchor.fm/akitando/episodes/Akitando-93---Hello-World-Como-Voc-Nunca-Viu---Entendendo-C-erorcv