Hello World Como Você Nunca Viu! | Entendendo C

แชร์
ฝัง

ความคิดเห็น • 1.3K

  • @luccasbrandao4187
    @luccasbrandao4187 3 ปีที่แล้ว +1258

    - "C nem é tão dificil assim..."
    - HELLO WORLD DE 1 HORA !

    • @calculandopoop5825
      @calculandopoop5825 3 ปีที่แล้ว +74

      Olha que ele nem explicou tudo em

    • @rotognin
      @rotognin 3 ปีที่แล้ว +11

      kkkkkkkkkkkkkkkkkk
      Hello World maior que esse só na "linguagem" white space...

    • @literallybiras
      @literallybiras 3 ปีที่แล้ว +78

      Já dizia Carl Sagan, se quiser fazer uma torta de maçã, é preciso primeiro criar um universo... Só aquele include stdio ja faz o serviço de criar um universo de certa forma

    • @RodatuOdatu
      @RodatuOdatu 3 ปีที่แล้ว

      @@rotognin brainfuck

    • @joiaribealves5710
      @joiaribealves5710 3 ปีที่แล้ว +1

      huehuehu

  • @gabrielcasseb9404
    @gabrielcasseb9404 3 ปีที่แล้ว +776

    e o Akita trouxe o primeiro vídeo do TH-cam que é melhor assistir em 0.75x

    • @Ninguem_365
      @Ninguem_365 3 ปีที่แล้ว +46

      Assistir em 2x tô sagrando pelas orelhas kkkk

    • @JonatasSantiago
      @JonatasSantiago 3 ปีที่แล้ว +12

      hahaha eu ia comentar isso. na verdade, estava indo bem, até chegar em ponteiro. foi quando reduzir a velocidade para 0.5 e que ele começou a soar como um bêbado dando aula kkk. ficou top, deu pra entender melhor hehehe dá até pra beber cerveja junto

    • @comentotudo7
      @comentotudo7 3 ปีที่แล้ว +17

      kkkkkk to acostumado a sempre assistir em 1,75x, 2x, mas dessa vez num deu não kkkkk

    • @heloisacardoso7058
      @heloisacardoso7058 3 ปีที่แล้ว +4

      Bem isso!!! ;)

    •  3 ปีที่แล้ว +2

      boa sugestão

  • @LucasMontano
    @LucasMontano 3 ปีที่แล้ว +854

    baita explicação Akita! 👏🏻

    • @marcelosantana8931
      @marcelosantana8931 3 ปีที่แล้ว +11

      Salve Lucas Montando do canal Lucas Montando. 😁

    • @hernandeserick7320
      @hernandeserick7320 3 ปีที่แล้ว +5

      Olá Lucas Montano do canal Lucas Montano

    • @Heineken774
      @Heineken774 3 ปีที่แล้ว +6

      Lucas grava um vídeo para minha mãe, falei com ela que vc é o Moriarty fala um português tentando fingir um sotaque aí

    • @lucasfelipe-ze5sy
      @lucasfelipe-ze5sy 3 ปีที่แล้ว +5

      Lucas Montano do canal Lucas Montano que pertence a Sara Montano

    • @rodrigonahid6558
      @rodrigonahid6558 3 ปีที่แล้ว +8

      coitado, o cara n pode nem mais comentar kkkkkkk

  • @pedroveloso6172
    @pedroveloso6172 3 ปีที่แล้ว +267

    Você pode não saber, mas mesmo sem vender nenhum curso, você está melhorando muito a educação tec no Brasil.

    • @JLeandroSartori
      @JLeandroSartori 3 ปีที่แล้ว

      Podes crer!
      Muito "Hello Word "!!!
      😌😌😌

    • @emanuelmarcal
      @emanuelmarcal 3 ปีที่แล้ว

      Mestre @Akitaonrails sabe que está...deve ser esse um dos objetivos dele no minimo.

  • @yagomello
    @yagomello 3 ปีที่แล้ว +217

    Muito bom o vídeo!
    Finalmente alguem que explica o que ta acontecendo, a maioria dos outros canais so fica comparando o "Hello World" em varias linguagens sem explicar nd.
    Imagino que esse video vai ser usado por muitos estudantes como material de estudo (ICC1 na usp é isso ai + arquivos), entao fico preocupado pq tem alguns pontos que podem confundir os alunos nas provas, nao quero ser chato (ficar te corrigindo), só vou colocar eles aqui pra se alguem for usar isso, estar o mais completo possivel:
    --- No video tem uma associacao bem forte entre ponteiros o heap (alocacao dinamica com malloc), mas qualquer variavel/struct/etc pode ser passada pra um ponteiro:
    int x = 42;
    int * y = &x;
    --- Na parte de alocacao dinamica nao foi usado o comando free, hoje os computadores sao espertinhos e quando um processo morre o SO ja libera a memoria, mas o correto eh cada malloc ter um free associado (e se nao colocar o free na prova perde ponto):
    int * x = (int *)malloc(sizeof(int));
    ...
    free(x);
    Nao liberar a memoria com o free eh conhecido como vazamento de memoria.
    --- O correto pra main eh "int main()" ou "int main(int argc, char ** argv)"
    void main() foi comum em alguns microcontroladores, mas o valor que a main retorna tem significado.
    quando uma main "retorna 0" ("return 0;" ou "return EXIT_SUCCESS;"), o programa ta indicando que terminou de maneira normal.
    o usuario pode retornar EXIT_FAILURE caso o programa encontre um erro, nao eh obrigatorio.
    --- Apesar de em versoes mais recentes de C e C++ o return da main poder ser omitido, nao colocar "return 0" no final da main pode custar uns pontos na prova.
    --- "struct->variavel" é equivalente a "(*struct).variavel"
    --- Uma array (char nome[ ] = "joao") eh identico a (char * nome = "joao"). A array decai pra ponteiro.
    --- Escrever "array[posicao]" eh o mesmo que escrever "*(array + posicao)".
    Quando soma um ponteiro com um numero, nao eh uma soma comum, chamam de aritmetica de ponteiros.
    O valor do ponteiro vai ser incrementado pelo tamanho (sizeof) do valor apontado pelo ponteiro. Eh um bait bem comum.
    Aqui tem um exemplo: onlinegdb.com/PJuz2CNxk5
    --- Pra fazer uma funcao que edita o valor de uma variavel, tem que passar a variavel por ponteiro. Passar por copia vc so vai estar editando o valor da copia.
    Exemplo: onlinegdb.com/FjBd-vUF5
    --- Nao precisa complicar tanto a notacao dos callbacks, exemplo:
    onlinegdb.com/HkQ4EoZXO
    --- Um exemplo mais completo sobre callbacks, const, typedef e OOP em C:
    onlinegdb.com/B1LySsWX_
    --- Variaveis estaticas (declaradas com "static") podem simplificar muito o programa, e acabar com a necessidade de algumas variaveis globais ou locais.
    Exemplo: onlinegdb.com/SyWwqoZ7d
    --- Detalhes extras:
    Sempre use flags de warning quando for compilar:
    -Wall -Wextra -Wshadow
    Elas ajudam a indicar coisas que podem estar erradas mas nao sao erros, como tentar printar um uint32_t como uint16_t no printf, ou usar uma variavel que ainda nao teve valor definido.
    -Wshadow mostra quando uma variavel ta com o mesmo nome de outra que tbm eh acessivel naquele lugar (tipo variavel global).
    Ja perdi um dia inteiro procurando um bug que tava acontecendo pq uma variavel na funcao tinha o msm nome que uma variavel na classe (C++), ai eu achava que
    tava escrevendo na variavel da classe quando tava escrevendo na da funcao.
    --- Se o seu codigo funciona sem otimizacao mas quando liga a otimizacao ele para de funcionar, provavelmente ele tem Undefined Behavior (comportamendo nao definido).
    Exemplos disso sao escrever em ponteiro que aponta pra variavel que nao existe mais; pegar o endereco de uma variavel, converter pra ponteiro de outro tipo e tentar acessar; FAZER OVERFLOW EM SIGNED INTEGER. unsigned eh de boa.
    O compilador assume que o undefined behavior nunca vai acontecer, e otimiza o codigo pra ir mais rapido. Comeca a aparecer erro magico.
    Nao passe ponteiro de funcao como "void *", nem como qlqr outra coisa. Tem arquiteturas que tratam eles de maneira diferente, tipo IA-64.
    --- Quando quiser debugar o codigo, pode usar otimizacao -Og, assim como -g3 pra ter mais detalhe de debug. Se for usar o GDB pra executar o codigo linha por linha e ver as variaveis, pode usar -ggdb3 no lugar de -g3. Pra versao final do programa substitua -Og por -Os, -O2 ou -O3.
    --- Nao use a flag de otimizacao do gcc "-ffast-math".
    Explicacao: stackoverflow.com/questions/7420665/what-does-gccs-ffast-math-actually-do
    Ja eh dificil lidar com os bugs que a gente cria, lidar com os criados por essa otimizacao ai n eh nd lgl.
    --- Codigos otimizados sao muuuito mais rapidos que codigos de debug. O compilador olha coisas que podem ser removidas, como variaveis temporarias, atribuicao de valor pra mesma variavel 2 vezes seguidas, trechos de codigo que nao fazem nada. Tem muito mais coisas mas foge do escopo desse comment.
    --- Um site muito bom pra ver o assembly gerado pelo seu codigo eh o godbolt.org/
    Ele mostra o que cada funcao esta virando de assembly
    Tem uma opcao escondida que permite executar o codigo tambem
    --- Quando for pesquisar uma flag do gcc no google, coloque ela entre aspas, pq o simbolo - indica pro google que eh pra excluir resultados com o que vem dps do -, o contrario do que queremos. Entre aspas pede um match exato do que ta dentro.
    exemplo: gcc "-flto"
    --- Pra encontrar vazamento de memoria e acesso a elementos depois do final de uma array e coisa assim, existe um programa chamado Valgrind, eh gratis e de codigo aberto, muito util quando o programa comeca a ficar grande.
    --- Caso esteja na duvida de como indentar o codigo, nomear funcoes, structs e etc, o kernel do linux usa um style guide que eh bem comum por ai, www.kernel.org/doc/html/v4.10/process/coding-style.html
    Eu mesmo nao sigo ele todo, mas tem umas coisas interessantes que ajudam a escrever codigo melhor.
    Boa sorte ai a todos que estao fazendo trabalho ou vao fazer prova usando C!

    • @Akitando
      @Akitando  3 ปีที่แล้ว +62

      Excelentes colocações. Não se preocupe pq toda informação que complementa é importante. Muita coisa eu cortei desta explicação pra não perder o foco do video, por isso eu insisto pro pessoal pesquisar por fora usando o que falei de referência inicial. Mas você está correto nas colocações.

    • @profAMuniz
      @profAMuniz 2 ปีที่แล้ว +6

      Há um ano e só 26 likes. Esse comentário deveria ser lido por todos! E sim, não é um bicho de sete cabeças usar malloc/calloc/realloc, basta não esquecer de usar free().
      Eu só consegui fazer um O(1) generic swap de arrays usando -Wall -pedantic-errors, e o erro era... size_t não é unsigned int, é long unsigned int 🥲(ao menos, na minha distro Linux)

    • @lucaslcslcs
      @lucaslcslcs ปีที่แล้ว +2

      Parabéns pelo comentario que complementa e agrega muito ao vídeo do Akita !

  • @andrekleine4016
    @andrekleine4016 3 ปีที่แล้ว +286

    Akita, resolvi entrar na área já próximo dos 40 anos, em boa parte graças à sua famosa série de vídeos. Segui seu conselho e fugi de cursos "receita de bolo". Estou cursando, online, o CS50 de Harvard (introdução à ciência da computação). Lá, estou há semanas a fio aprendendo a RESOLVER PROBLEMAS sozinho usando a linguagem C. E, justo nesta semana, estou aprendendo a criar filtros para imagens .bmp utilizando, justamente, a lógica do salsichão de bytes. Imagine a minha alegria ao abrir este seu vídeo e ENTENDER cada palavra do que você estava falando. Me fez sentir que estou no caminho certo. Te agradeço por toda a ajuda motivacional que o seu canal está me dando. Um grande abraço!

    • @andrekleine4016
      @andrekleine4016 3 ปีที่แล้ว +2

      @marcos paivajr ele não fala desse curso, esse resolvi fazer por conta própria. Se tiver interesse, é só entrar no site edx.com

    • @andrekleine4016
      @andrekleine4016 3 ปีที่แล้ว +2

      @Lucas Almeida em inglês!

    • @andrekleine4016
      @andrekleine4016 3 ปีที่แล้ว +2

      @marcos paivajr é de graça!

    • @fernandomedeiros1041
      @fernandomedeiros1041 3 ปีที่แล้ว

      Ai o cara fez a boa, tmj tmj 🙌

    • @JLeandroSartori
      @JLeandroSartori 3 ปีที่แล้ว

      @@andrekleine4016 o famoso edx!
      😏😌✌️

  • @Akitando
    @Akitando  3 ปีที่แล้ว +76

    Eu cometi alguns erros que passaram batido. Desculpem por isso. Estou colocando nas Erratas na descrição. Vejam se já não está lá antes de comentar.
    E sim 🤣 pra quem notou o "braço que desaparece", foi por causa disto: twitter.com/AkitaOnRails/status/1366932346755297281?s=20
    Update de 22/03/2021. Aproveitei pra consertar muitos dos erros deste video no próximo que já foi pro ar. Se gostaram deste, não deixe de ver o próximo th-cam.com/video/YyWMN_0g3BQ/w-d-xo.html

  • @mfrdbigolin
    @mfrdbigolin 3 ปีที่แล้ว +55

    When I find my code in tons of troubles, friends and colleagues come to me, speaking words of wisdom: "write in C".

  • @edupazz
    @edupazz 3 ปีที่แล้ว +35

    Filosofia: entendendo-se
    Computação: entendendo C

  • @MsBottura
    @MsBottura ปีที่แล้ว +10

    Quando eu fazia BCC na USP de São Carlos não simpatizava com a linguagem C. Eu tinha muitas dificuldades de entender o funcionamento da linguagem como um todo, os professores me diziam do poder da linguagem, porém para mim era uma linguagem como qualquer outra. No último ano do curso consegui um emprego na FacTI, uma fundação de tecnologia que prestava serviços para a Itautec. Foi nesta experiência que entendi o poder da linguagem C na prática. Trabalhei com verdadeiros monstros na programação, entrei num grupo de 10 programadores que programavam o PDV das lojas Fnac. O programa era "codado" em visual e compilado no Linux. Fazíamos ele conversar com o PinPad, monitor touch e a impressora, tudo por código C. Resumindo vi o verdadeiro poder da linguagem C. E digo mais, vi códigos neste projeto que nunca vi no curso de computação e nunca vi algo parecido procurando na Internet. Resumindo: foi a experiência mais enriquecedora que eu tive na minha vida de programador.

  • @jopefd
    @jopefd 3 ปีที่แล้ว +167

    eu sem entender nada de c: vai da nao vei....
    akita: * video novo sobre c *
    eu dnv: traz o diploma, passamo. 😎

    • @victorvierarn
      @victorvierarn 3 ปีที่แล้ว +3

      Concordo viu meu amigo

  • @SoldierDan
    @SoldierDan 3 ปีที่แล้ว +64

    Lembrei da minha prova final do primeiro semestre na faculdade. Escrever um código em C que calcularia duas notas de um aluno e retornaria a média final e se ele estava aprovado ou reprovado. O professor foi testar e das cinco vezes que ele fez a inserção das mesmas notas foi uma média diferente, e só um dos testes a média estava correta. Ele olhou pra mim, olhou pro código, olhou pra mim de novo e disse; "nem vou perder meu tempo de olhar a magia que você fez aqui, mas como deu certo em uma das tentativas eu vou te aprovar. Pode ir embora e feliz Natal." hahahaha

    • @Akitando
      @Akitando  3 ปีที่แล้ว +23

      WUT??? kkkkkk

    • @jackcardoso4688
      @jackcardoso4688 3 ปีที่แล้ว +2

      kkkkkkkkkkkkk

    • @LucasLima-hj5sg
      @LucasLima-hj5sg 2 ปีที่แล้ว +21

      que cara bom, criou a computação probabilística: 20% de chance de cair um resultado, 30% outro, 50% outro... kkkkkkk

    • @1LY4x8s96r
      @1LY4x8s96r ปีที่แล้ว

      😂

    • @jamissonlocke8838
      @jamissonlocke8838 10 หลายเดือนก่อน

      Apenas.... Como????
      Eu queria muito analisar um código desses. É magia! 😅😅

  • @rodstech
    @rodstech 3 ปีที่แล้ว +108

    Quando algum leigo ou curioso te perguntar como os computadores funcionam, dê a melhor e única resposta que importa conforme nos ensinou o poeta e mestre Akita: "- Tudo é um linguição de bits!" 😁

    • @vinybas
      @vinybas 3 ปีที่แล้ว +13

      Ou dê a resposta mais fácil: é tudo mágica! rs

    • @saulompg
      @saulompg 3 ปีที่แล้ว +8

      @@vinybas Qualquer tecnologia suficientemente avançada é indistinguível da magia.

  • @victorbarros1130
    @victorbarros1130 3 ปีที่แล้ว +46

    O Akita é tão foda que da até orgulho de ser Brasileiro.
    Vc está fazendo mais por nós que muito curso (inclusive gringo).
    Parabéns e muito obrigado!

  • @grpineiro
    @grpineiro 3 ปีที่แล้ว +93

    Você vê, que o seu fim de semana vai ser bom, quando você acorda com um novo vídeo do Akita.

  • @matheuscascalho6359
    @matheuscascalho6359 3 ปีที่แล้ว +35

    24:37 - "todo array que se preza começa do 0"
    Matlab não curtiu kkkk
    Excelente vídeo👏👏👏👏

    • @Jose-cf8ps
      @Jose-cf8ps 3 ปีที่แล้ว +2

      Nem lua

    • @silmarpinheiro3455
      @silmarpinheiro3455 3 ปีที่แล้ว

      Basic também não.

    • @gmarcatti
      @gmarcatti 3 ปีที่แล้ว

      Nem o R... tem mais alguma?

    • @djmaiuka
      @djmaiuka 3 ปีที่แล้ว

      PL/SQL

    • @Lucaozao
      @Lucaozao 3 ปีที่แล้ว

      advpl da totvs tbm não kkk

  • @davidossantos3430
    @davidossantos3430 3 ปีที่แล้ว +31

    Estudei C por um tempo e esse foi o melhor vídeo que vi sobre o assunto, principalmente a parte dos pseudo-objetos!

  • @kuryart4586
    @kuryart4586 ปีที่แล้ว +4

    Não tem como, Fabio Akita apresenta o melhor conteúdo sobre computação que existe na internet em português.

  • @tiagotele1
    @tiagotele1 3 ปีที่แล้ว +47

    O fim de semana tá começando bem!

    • @tapiocaferoz02
      @tapiocaferoz02 3 ปีที่แล้ว +2

      Rapaz, isso que é ser xará em outro nível...

    • @tiagotele1
      @tiagotele1 3 ปีที่แล้ว +1

      @@tapiocaferoz02 Rsrsrsrs um portal em um universo paralelo. Tamo junto!

  • @isaacvitor
    @isaacvitor 3 ปีที่แล้ว +22

    Esse Akita é imoral... o cara transforma um livro de 500 páginas em um vídeo de pouco mais de uma hora!

  • @andre.gabriel
    @andre.gabriel 3 ปีที่แล้ว +9

    Eu realmente estou impressionado por ter entendido uns 90% do vídeo, o que significa que fui um pouco produtivo no último semestre da faculdade. Agora, "implementar" o conceito de P.O.O em C foi muito louco, mesmo tendo noção de que isso poderia ser feito, mas nunca tive ideia de como fazer com que as structs tivessem métodos próprios e nem passou pela minha cabeça em usar referência de funções para isso. Isso que é aula. Agora, é estudar mais e rever o vídeo para entender os outros 10%. Valeu Akita.

    • @sonaulo
      @sonaulo ปีที่แล้ว

      Cara... tive esse mesmo pensamento qdo vi ele transformando C em C++ na minha frente. Obviamente é bem mais do que isso, mas a explicação dele foi mais do que clarificante nesse quesito.

  • @gabrielbraga5122
    @gabrielbraga5122 3 ปีที่แล้ว +10

    Akita, você acabou de ser minha luz. Primeiramente, parabéns pelo canal e por todo conteúdo de qualidade que compartilha com a gente.
    Acabei de receber o resultado do vestibular da UFMS e passei em primeiro lugar pra Ciência da Computação, mas estava muito em dúvida sobre ingressar nesse curso de 4 anos ou pedir transferência da Licenciatura em Computação que curso atualmente para o tecnólogo em Sistemas para Internet do IFMS da minha cidade (o que me garantiria um diploma mais rápido, apesar de uma formação mais rasa). Enquanto me perguntava sobre qual decisão tomar, o YT me recomendou esse vídeo onde você demonstra com maestria a importância de uma base sólida e entendimento profundo da computação na vida e carreira de um profissional da tecnologia. Senti, enquanto assistia, que deveria buscar esse conhecimento, e o curso de Ciência da Computação na universidade iria me proporcionar estrutura e recursos para facilitar esse processo; também fiquei encantado com seus exemplos e com a maravilha que tem por trás de um Hello World. Recentemente assumi um concurso como desenvolvedor na própria UFMS e o começo da minha jornada na programação foi meio porca, sem entender muito o que estava fazendo, copiando e colando código sem me importar com isso - o que está me dando dor de cabeça para acompanhar as demandas agora. A primeira vez que despertei (e me assustei) para a importância desse conhecimento foi assistindo a um vídeo seu durante o DoWhile, da Rocketseat. Desde então, não consigo pensar em outra coisa senão recomeçar do jeito certo para me tornar uma pessoa que eu admire no futuro, e seus vídeos tem me inspirado muito a buscar por isso. A forma como você explica é muito didática, algo muito lindo de ver. Obrigado pela dedicação com o canal e por toda contribuição pra comunidade de profissionais e entusiastas dessa área.

  • @rodrigo.coding
    @rodrigo.coding 3 ปีที่แล้ว +18

    Acabei de começar a programar em C por causa da Faculdade.. Mas o mestre Akita contextualizando é outra história hehe..

  • @tsxjs
    @tsxjs 3 ปีที่แล้ว +8

    É impressionante como em pouco tempo o Akita consegue explicar, de uma forma extremamente didática, e fazer com que milhares de pessoas, inclusive fora do mundo de programação, aprenda conceitos extremamente importantes que utilizamos por baixo dos panos TODOS OS DIAS! Só resta agradecer, obrigado Akita

  • @Hoshoyo
    @Hoshoyo 3 ปีที่แล้ว +16

    Em 32:09 não existe cópia em C, o uso do & dentro das funções pega o endereço
    na stack de f1 em que o endereço de hello (que está na stack da main) está.
    Quando a main chama f1, ela copia para a stack esse endereço, portanto não é
    feito uma cópia do array, a variável hello contém esse endereço. Isso pode ser visto
    rodando o código:
    void f1(char hello[]) {
    printf("f1: %p
    ", hello);
    hello[0] = 'J';
    }
    void main() {
    char hello[] = "Hello World";
    printf("main: %p, %s
    ", hello, hello);
    f1(hello);
    printf("main: %s
    ", hello);
    }

    • @Akitando
      @Akitando  3 ปีที่แล้ว +11

      Me ocorreu isso depois. Preciso rever isso.

    • @ffvdl
      @ffvdl 3 ปีที่แล้ว +1

      Com certeza o Akita vai fazer um comentário de errata no próximo video

  • @MsVictorAlisson
    @MsVictorAlisson 3 ปีที่แล้ว +2

    Foi uma mescla de várias cadeiras de computação: arquitetura de computadores, fundamentos de programação, introdução a programação, SO, etc.
    Matei a saudade em alguns momentos dos tempos de universidade. Parabéns man! Vídeo educativo e muito bem produzido/feito.

  • @douglasdrumond
    @douglasdrumond 3 ปีที่แล้ว +36

    A referência a Tropa de Elite 😂 25:02

    • @kmdd2723
      @kmdd2723 3 ปีที่แล้ว +8

      no fundo ele tah falando "qm eh fanfarrão pede pra sair" desde o começo kkkk

    • @tiagotele1
      @tiagotele1 3 ปีที่แล้ว +4

      Isso é pra ninguém dormir e ficar c uma granada na mão rsrsrsrs.

    • @pauloreis4053
      @pauloreis4053 3 ปีที่แล้ว +3

      Foi a única parte que entendi (até me senti um gênio). kkkkkkkkkkkkk

  • @profAMuniz
    @profAMuniz 2 ปีที่แล้ว +1

    56:25 ponteiros de função, magnífico! Salva muitas linhas de código desnecessárias. Essa aula teve um resumão de tudo o que *eu* aprendi no primeiro semestre de curso, não foi a faculdade nem professores, pois nem abordaram ponteiros.

  • @thls_hpl
    @thls_hpl 2 ปีที่แล้ว +4

    Akita é mais cientista da computação que muito cientista formado. Nunca me canso de assistir seus vídeos!

  • @laerciomassapa7118
    @laerciomassapa7118 3 ปีที่แล้ว +1

    Estou impressionado, isso não é um simples vídeo, começou arquitetura de computador até a programação em C. Grande Aula de programação em C.
    Moçambique.

  • @luis3659
    @luis3659 3 ปีที่แล้ว +3

    Impressionante, tive contato com todo esse conteúdo em uma disciplina de Calculo Numerico. Na epoca achei extremamente chato e nao dei valor. Hoje trabalho com programaçao e vim rever todos esses conceitos. Voce torna o conteudo interessantissimo.
    Monstro.
    Parabens, Akita.

  • @mateuspaimdebarros6959
    @mateuspaimdebarros6959 ปีที่แล้ว +1

    Esse foi o primeiro vídeo do canal que eu assisti quando iniciei meus estudos em CC pela UFSM na primeira metade de 2021. Lembro bem, eu estava fazendo meu intervalo no meu emprego tipo Mcdonalds na praça de alimentação do shopping. Enquanto meus colegas de trabalho estavam jogando conversa fora eu me escondi para estudar, para procurar o que estudar na verdade, por que eu nem sabia por onde começar, e caí nesse vídeo.
    Na época pensei, fodeo, eu nunca vou aprender o que esse cara ta falando. Até aquele momento eu usava computadores somente para jogar e acessar a internet etc. Hoje +2 anos depois, no 6º semestre e estudando pra caramba paralelamente, assistindo novamente entendo todos os conceitos de boas, mesmo não sendo um programador de C, longe disso.
    Consegui um estágio na área (não de programação, mas generalizando, de TI) depois CLT e sigo estudando.
    Valeu Akita, muito do meu aprendizado foi com a sua ajuda. E eu tento ajudar compartilhando esse conteúdo com meus colegas, apesar de não assistirem.

  • @errodememoria
    @errodememoria 8 หลายเดือนก่อน +3

    Tô maratonando a playlist e amando os vídeos. Por favor, não pare de trazer esse conteúdo importante e gratuito aqui pro BR. Sei que faz anos de lançamento do vídeo, mas se alguém estiver vendo esse comentário, gostaria de fazer uma "correção" (as aspas farão sentido mais a frente) ao Akita quando ele fala sobre inteiros em C, e adicionar um pouquinho da minha experiência da linguagem também para os mais entusiastas. Primeiramente o ponto que quero corrigir é sobre o intervalo de um inteiro: no exemplo dado de um inteiro com sinal de 8 bits, os valores vão de -128 a 127, e não de -127 a 128 como no vídeo, mas isso se o compilador utilizar o complemento de 2 como forma de armazenamento de inteiros. Isso fica bem claro quando tentamos usar um `char` para printar o caractere de número 128 da tabela ASCII extendida, que vai de 0 a 255, utilizando um total de 8 bytes e não 7, e recebemos um erro, mas ao utilizar um `unsigned char`, eliminando o bit de sinal de um `char` padrão, o código funciona perfeitamente. Agora a parte mais detalhada da linguagem em si: o padrão de C não estabelece ainda uma maneira de como o compilador deve armazenar o inteiro na memória, apesar de estar sendo fortemente cogitado para o padrão ser complemento de 2 na próxima versão de C (a versão atual, no momento desse comentário, é c17). Dito isso, os compiladores atualmente podem armazenar os inteiros da forma que preferirem, o que pode levar a você achar que 128 cabe em um inteiro de 8 bits, mas não cabe porque o seu compilador usa complemento de 2, indo só até 127. O Akita, na realidade, está certo se for considerado um método que usa inteiros indo de -127 a 128, e eu não lembro agora qual é o nome desse tipo de transformação. Na prática não se aplica tanto, já que os compiladores atuais mais utilizados (gcc e clang) usam complemento de 2, e provavelmente algum compilador menor que você talvez tenha que usar, também deve o fazer. Outro fato importante é que inteiros com sinal são sempre armazenados convertidos (em complemento de 2, por exemplo), independentemente de serem positivos ou negativos.

  • @DanielPereira-pq3tw
    @DanielPereira-pq3tw 2 ปีที่แล้ว +1

    Utilizei o C durante o curso técnico em eletrônica, e também tive uma visão sobre as estruturas de dados e algoritmos com microprocessadores 8051 em Assembly. Agora estou aprendendo análise de dados e o Python me auxilia nisto com a biblioteca Pandas e Seaborn. É valido rever o "micro" para compreender as falhas no "macro". Excelente trabalho!

  • @elissonlima2430
    @elissonlima2430 3 ปีที่แล้ว +3

    Que vídeo sensacional. Já vi todo esse conteudo na faculdadde, mas hoje com 2 anos de experiência assisti esse video e fiz execicios quase que só pela nostalgia, a visão sobre o código é extremaente diferente! Valew Akita!!!!!!!!!!!!!!!

  • @edvaldofutsena
    @edvaldofutsena 3 ปีที่แล้ว +1

    Estou estudando CC e os e tem muita teoria e pratica de liguagem de baixo nivel, o que nos ajuda bastante a enteder cada funcionalidade.
    muito bom seus videos, ajuda muito no auxilio das aulas

  • @GuilhermeBressan
    @GuilhermeBressan 3 ปีที่แล้ว +111

    Não acredito que teve um animal capaz de dar dislike num conteúdo magnífico desses...

    • @rotognin
      @rotognin 3 ปีที่แล้ว +17

      3 "programadores html" deram deslike... e depois voltaram ao toddynho

    • @maikerodrigo4249
      @maikerodrigo4249 3 ปีที่แล้ว +1

      Kkkkk sempre vai ter

    • @MateussCelioBR
      @MateussCelioBR 3 ปีที่แล้ว +11

      Foi o pessoal q se sentiu ofendidinho por ele ter chamado suas linguagens preferidas de cola

    • @anderfilth
      @anderfilth 3 ปีที่แล้ว +2

      Os caras não gostam, mas estão sempre presentes

    • @luizubiratan7243
      @luizubiratan7243 3 ปีที่แล้ว +3

      @@anderfilth Conheço um cara que vive falando mal do Akita, mas sabe mais da vida do cara que eu.

  • @ricardobrito383
    @ricardobrito383 ปีที่แล้ว +1

    Ótima aula, Fabio! Estudo linguagens de programação de baixo nível e vi que as suas explicações sobre stack pointers (LIFO), segmentation fault e endereçamento de memória estão no mesmo naipe dos grandes escritores de livros de programação Assembly. É uma noção fundamental para todos os programadores que querem fazer a diferença no mercado de trabalho.

  • @wellitonmoreira990
    @wellitonmoreira990 3 ปีที่แล้ว +29

    Grande Akita, você poderia comentar sobre a metáfora desktop e comparar com a mobile? Seria ótimo ouvir sobre isso de quem viveu as mudanças de interfaces ao longo das décadas...

    • @andfresou
      @andfresou 3 ปีที่แล้ว +3

      Bom tema, eu gosto de temas que liga a computação ao humanos não-programadores, gostaria de ver o contexto histórico e a psicologia por trás da interface gráfica.

  • @queencarolas
    @queencarolas 3 ปีที่แล้ว +1

    Baita vídeo!
    Esse tipo de conteúdo me faz valorizar meus professores de Fundamentos da Computação e Estrutura de Dados, que fazem questão de ensinar em C. Se o computador pensa em binário e C, eu preciso saber como ele está pensando - mesmo que a minha aplicação seja em Python. Não dá pra confundir aplicação com fundamentos - e o que eu mais gosto desse canal é que você deixa isso bem claro.
    Continue com o bom trabalho. =)

  • @justvagan
    @justvagan 3 ปีที่แล้ว +7

    A didática do Akita é incrivel. nunca pensei que veria um Hello World de 1 hora kkkkkkkk

  • @wellifabio
    @wellifabio 3 ปีที่แล้ว +2

    Obrigado pela sua paciência para criar estes conteúdos. Utilizo seus vídeos em minhas aulas. e confesso que estudo bastante para sanar as dúvidas dos meus alunos.

  • @MarceloLima-sn7ly
    @MarceloLima-sn7ly 3 ปีที่แล้ว +6

    Sábado de manhã começando bem, e falando sobre C, que satisfação!!

  • @phillipeeduardo4087
    @phillipeeduardo4087 3 ปีที่แล้ว +1

    Grande aula, o seu conteúdo e tão bom que 1hr de vídeo pareceu apenas 10 minutos de vídeo, o assunto foi dinâmico e claro, incrível o método, você ensinou muita coisa, passou por vários assuntos tipo, Orientação a objeto, programação de baixo nível, alto nível, nível de arquitetura de processador e nível de arquitetura de maquina muito bom mesmo. Ganhou mais um inscrito no canal, vlw.

  • @isaipack
    @isaipack 3 ปีที่แล้ว +16

    Ter iniciado por C realmente te poupa a dor extra de ter que estudar isso depois de conhecer as facilidades das linguagens de alto nível.

  • @leandro_augpc
    @leandro_augpc 2 ปีที่แล้ว +1

    Uau muito bom! Eu como iniciante estou com outra visão sobre essas linguagens e como é importante saber o básico e ter uma boa base para fazer bons trabalhos. Gratidão Fabio

  • @gu_otani
    @gu_otani 3 ปีที่แล้ว +4

    Aprendendo bastante com esses vídeos, realmente poucos explicam detalhadamente assim

  • @mvcypriano
    @mvcypriano 3 ปีที่แล้ว +1

    Top de mais! Me senti de volta na faculdade. Tirando que na época matava aula direto e já hoje busco por aí rever tudo por puro prazer e diversão.

  • @ramongoncalves6168
    @ramongoncalves6168 3 ปีที่แล้ว +12

    C é uma linguagem linda. C se torna uma linguagem relativamente simples quando se estuda o básico de arquitetura de computador. No minuto 50:16 faltou falar sobre structure member alignment, pq nem sempre o tamanho será a soma dos elementos. Como sempre Akita, genial na explicação.

    • @rocchirodrigo
      @rocchirodrigo 3 ปีที่แล้ว +1

      kkkkk simples depois que estuda outras coisas que não são a linguagem. Boa Sr. Manteiga, mas não convence.

    • @ramongoncalves6168
      @ramongoncalves6168 3 ปีที่แล้ว +5

      @@rocchirodrigo mas isso é o básico de computação. Basicamente todo programador deveria entender como essas coisas funcionam. Sr Manteiga foi foda kkkkk não peguei a referência.

    • @rocchirodrigo
      @rocchirodrigo 3 ปีที่แล้ว +3

      @@ramongoncalves6168 manteiga pq desliza, simples e C na mesma frase não dá kkkkk...dá python pra qqr um e 2 meses depois o cara tá fazendo 50 coisas diferentes.

    • @odayltonprof
      @odayltonprof 3 ปีที่แล้ว +7

      @@rocchirodrigo a questão aqui não é a produção e sim a otimização... entender como os Bytes são tratados pela CPU é algo muito simples e essa simplicidade não é explicita em linguagens de alta produtividade... em casos que existem muitos dados a serem processados a otimização dos processo é algo indispensável, o ganho de 1 mili segundo em 30 horas quanto vc não economiza... em aprendizagem de IA isso agiliza em muito o processo

  • @prof.augustooliveira4375
    @prof.augustooliveira4375 2 ปีที่แล้ว +1

    Essa aula do Akita foi demais. São inúmeros conceitos que devem ser aprendidos. Por isso julgo fundamental também aprender do início. Bem vindo ao C !

  • @hehehepaitachato9184
    @hehehepaitachato9184 3 ปีที่แล้ว +24

    esse japones é foda! da pra aprender mais nesse canal do que na faculdade

    • @neyalexandre
      @neyalexandre 3 ปีที่แล้ว +1

      Dá não velho, o Akita é bom mas ainda não produziu 3 mil horas de video, não tem como competir com uma boa faculdade. Se sua faculdade é fraca, então considere trocar para uma melhor

    • @hehehepaitachato9184
      @hehehepaitachato9184 3 ปีที่แล้ว +2

      @@neyalexandre Grande parte da grade horária do meu curso é matemática. Na parte de computação, com certeza o Akita da de mil a zero.

    • @vinybas
      @vinybas 3 ปีที่แล้ว +1

      @@neyalexandre 1h de aula do akita deve dar aí 1 mês de aula na faculdade no mínimo.

    • @neyalexandre
      @neyalexandre 3 ปีที่แล้ว +4

      @@hehehepaitachato9184 pois é, na faculdade você tem disciplinas, como matemática(Cálculo, Geometria Analítica, Algebra Linear, Equações Diferenciais), que vão além te ajudar a estar preparado para compreender e implementar, na programação, modelos(Econômicos, Físicos,etc) de algumas areas, também te ajudar a desenvolver a sua habilidade de raciocínio logico.
      Em Programação vai ver os fundamentos da coisa toda.
      Tudo que o Akita falou nesse video vc ja deve ter aprendido quando estudou Fundamentos de Computação, Programação estruturada, Estrutura de Dados, algorítimos, matemática discreta e Logica.
      A difença é que o Akita teve a sabedoria de juntar isso tudo par produzir um video massa e para esclarecer como alguns conteudos influenciam em outros.
      Tudo que o Akita falou se estuda em várias disciplinas da faculdade, a diferença é que ele ajuda vc entender as Interrelações desses conhecimentos.

  • @AlbertoElias123
    @AlbertoElias123 3 ปีที่แล้ว +2

    Acho que este foi um dos melhores vídeos do Akita!
    Em um vídeo de 1 hora, ele comentar sobre parte do conteúdo de diversas matérias da facul, Programação, Aeds I, Calc Númerico, POO.
    Por exemplo, a disciplina de Calc Númerico só faz sentido por quê existe esse erro para a representação de números, o interessante é q na disciplinas nós inclusive calculamos ele, kkkkk.
    Obviamente, o video não substitui a disciplina, mas sem dúvida alguma foi um ótima explicação e uma boa introdução ao tema!

  • @viniciusoliveiracosta1366
    @viniciusoliveiracosta1366 3 ปีที่แล้ว +3

    Ola Akita, gosto muito do seu trabalho, este vídeo ficou muito bom entretanto gostaria de fazer algumas correções. No minuto 23 você falou que quando fazemos “char palavra[100]” o array irá ter um byte a mais para o caractere nulo, entretanto o que ocorre é que serão armazenados apenas os 100 espaços para char, isto é, poderemos armazenar caracteres do palavra[0] ate palavra[99], se tentarmos escrever em palavra[100] iremos escrever em um espaço de memória que não pertence ao nosso array. Por exemplo:
    int main()
    {
    char palavra[10];
    palavra[10]='x';
    printf("%s
    ",palavra);
    }
    Este código irá mostrar um erro na pilha.
    Agora quando fazemos char palavra[]= “Hello World” então teremos sim um byte a mais que será o caractere nulo.
    Outra observação é no minuto 32 que você fala que a string foi copiada três vezes e na verdade a string não foi copiada e nem passada por valor. No C dados primitivos são passados por valor para uma função mas arrays não são passados por valor e sim referência, e como a string é um array de caractere então a passagem para uma função ocorre por referência. Para explicar isso melhor é importante sabermos que char hello[] é sinônimo de char*hello, por exemplo, o parâmetro da função f1 poderia ser trocado por char*hello e continuaria funcionando normalmente. Outro ponto a ser observado é que quando declaramos uma string (char hello[]= “Hello world”;) a variável hello é o endereço da string e sendo assim &hello continua sendo o mesmo endereço e se pegarmos o endereço do primeiro caractere &hello[0] continua sendo o mesmo endereço. Quando a função f1 é chamada (linha 17) o parâmetro que é passado é o endereço da string hello, na linha 8 a função f1 recebe como parâmetro este endereço, na linha 17 é mostrado o endereço da variável hello que é local a função f1 entretanto se for mostrado o conteúdo desta variável ponteiro iremos ver que é o mesmo endereço da variável hello local a função main que foi declarado na linha 17. Em resumo temos apenas uma string “Hello World” que foi declarado na linha 15 e o endereço dela é passado para a função f1 e depois passado para a função f2. Fiz algumas alterações no código para que seja possível ver isto.
    void f2(char hello[])
    {
    printf("From f2: %d\t%d
    ", &hello,&(hello[0]));
    printf("%s
    ",hello);
    }
    void f1(char hello[])
    {
    printf("From f1: %d\t%d
    ",&hello,&(hello[0]));
    f2(hello);
    }
    void main()
    {
    char hello[]="Hello World";
    printf("From main: %d\t%d
    ", &hello,&(hello[0]));
    f1(hello);
    return;
    }

  • @lima073
    @lima073 2 ปีที่แล้ว +1

    A parte de pseudo objetos é linda demais. Mind blowing total, melhor explicação que essa muito difícil. Valeu mesmo Akita !

  • @Heineken774
    @Heineken774 3 ปีที่แล้ว +21

    1 hora de vídeo aula: 😩😩😩😩😩
    1 a 10 horas de Fábio Akita: 🥳🥳🥳🥳🥳

    • @TI4All
      @TI4All 3 ปีที่แล้ว +3

      Passa rápido quando é conteúdo de primeira

  • @gustavodutra7548
    @gustavodutra7548 3 หลายเดือนก่อน

    Todo conteúdo seu reforça uma vontade enorme em mim de ser melhor. Daqui a anos vou agradecer mais.

  • @gustavosalibi3914
    @gustavosalibi3914 3 ปีที่แล้ว +33

    Ótimo vídeo!
    Mas em 40:08 vc se confunde ao dizer que existem dois tipos de pilha. Pilhas são essencialmente LIFO. Filas é que são FIFO

    • @Akitando
      @Akitando  3 ปีที่แล้ว +16

      Sim, vdd.

  • @silvioesilvanice
    @silvioesilvanice 3 ปีที่แล้ว +1

    Esse japonês é o samurai da ciência da computação. Eu tenho 38 anos, meu curso de ciências da computação está trancado. Não perco um video dele. Gosto de computação e programação, mas sou fascinado por como os computadores funcionam por debaixo dos panos e somente ele, no Brasil, traz conteúdos tão completos de computação . Akita Thank you keep it up

  • @manoget
    @manoget 3 ปีที่แล้ว +10

    Mesmo com vários anos de DEV, sempre tem algo bom a aprender. Vamos passar o final de semana escovando Bits com SENSEI Akita.

  • @douglasmoreira9406
    @douglasmoreira9406 3 ปีที่แล้ว +1

    Não costumo comentar, mas parabéns.
    Seu conteúdo foi apresentado com uma qualidade impecável Akita.
    Aprendi muito hoje.

  •  3 ปีที่แล้ว +9

    Eu faço um vídeo com 3 tipos de Hello World e o Akita me vem com um tipo só mas passa uma hora dando uma aula de ciência da computação.
    Ainda bem que não tenho amor próprio 😂
    Valeu pela aula!

  • @clailsonjorge
    @clailsonjorge 3 ปีที่แล้ว +1

    Valeime... "direto do túnel do tempo", baita aula, macho véi quando você fala "vamos escovar bits" chega bate a emoção, lembro que no curso técnico e na faculdade os professores mesmo desistimulavam a fazer isso, a frase era sempre "não vai precisar disso", "é pouco produtivo".. mas pra saber como as coisas acontecem é imprescindível, vlw a aula Akita, ei nem chegou notificação do vídeo, fala com os "homi" lá pra enviar a notificação dos seus vídeos aos inscritos.... vlw fui...

  • @esdrastarsis
    @esdrastarsis 3 ปีที่แล้ว +4

    ERRATA: em 45:46 , Akita chama o sizeof de função, mas na verdade é um operador. Excelente vídeo e que venham mais vídeos de C!

  • @felipekinoshita
    @felipekinoshita 3 ปีที่แล้ว +1

    Esse era o vídeo que eu precisava quando estava aprendendo o basico sobre c++! Ótimo vídeo Akita!

  • @TecnocraciaLTDA
    @TecnocraciaLTDA 3 ปีที่แล้ว +4

    Vc falou de fifo/lifo/queue.
    Tenta fazer um vídeo específico de estruturas de dados po. Tem bastante coisa pra explorar, dá pra fazer 1h;
    Tem até um bagulho interessante, que se não me falha a memória, lisp-machines foram feitas pra lidar melhor com programação funcional que usam recursão pra fazer loops sem f0der a memória;
    Acho que dá um video bom de uma hora, ainda mais se vc explicar as utilidades de cada estrutura de dados mais conhecida;
    Aliás, é um ótimo gancho pra explicar Big O Notation junto e calcular performance de funções e por conseguinte de programas inteiros;

  • @hainshj
    @hainshj 3 ปีที่แล้ว +2

    55:28, dessa parte em diante, ficou muito bom as explicações, me lembra um livro de assembly orientado a objetos...

  • @matheusabmoreira
    @matheusabmoreira 3 ปีที่แล้ว +3

    Em uma hora conseguiu resumir meu primeiro período em Ciência da Computação e fez uma introdução aos próximos. Muito obrigado Akita!

  • @jailsoncarneiro4936
    @jailsoncarneiro4936 3 ปีที่แล้ว +1

    Mano, mais um "Grande Show de Conteúdo"!!! Explicações perfeitas, grande didática e cuidado com a linkagem dos assuntos. Muito obrigado por nos proporcionar essa experiência. Seu trabalho é merecedor de todo sucesso do mundo. ;)

  • @ViniTheDev
    @ViniTheDev 3 ปีที่แล้ว +36

    Meu professor pronuncia "IEEE" como "i três é" e eu acostumei assim hahaha.

    • @Akitando
      @Akitando  3 ปีที่แล้ว +18

      Boa ideia! Muito mais fácil

    • @isaipack
      @isaipack 3 ปีที่แล้ว +3

      também sempre pronuncio assim por causa dos professores kkkkk

    • @user-lz2oh9zz4y
      @user-lz2oh9zz4y 3 ปีที่แล้ว +4

      Em inglês se usa essa pronúncia.

    • @alexsandrotabosa4461
      @alexsandrotabosa4461 3 ปีที่แล้ว

      puts eu também mano kkkkk tenho até um vídeo em vhdl da prova que tive hehe

    • @odayltonprof
      @odayltonprof 3 ปีที่แล้ว

      ​@@Akitando Tudo muito bom ... talvez em um outro vídeo poderia falar sobre instancia da variável Global e Local .... kkk ai sim ia dar um nó na cabeça de todos

  • @nordras
    @nordras 3 ปีที่แล้ว +1

    Caramba, isso aqui é um tesouro, muito obrigado, vai ajudar muita gente que conheço e que esta começando agora

  • @cr3sB3n
    @cr3sB3n 3 ปีที่แล้ว +4

    O melhor é a camiseta do Akita:
    "I paused my game to be here"
    Que segundo o que ele falou no último vídeo, isso é completamente verdade kkkkkkkkkkk

  • @EnzoAoki
    @EnzoAoki 3 ปีที่แล้ว +1

    Poxa akita, adoro seu conteúdo!!! Eu sou muito grato pelos seus videos

  • @wolvfenix
    @wolvfenix 3 ปีที่แล้ว +27

    44:10 agora vem a parte mais complicada! Como assim? Eu parei minha louça pra esse comentário hahaha

    • @wolvfenix
      @wolvfenix 3 ปีที่แล้ว +3

      @João M. eu comecei a assistir justamente pra passar o tempo lavando louças hahaha eu nem sei da área de TI

  • @alencarr
    @alencarr 3 ปีที่แล้ว +1

    Parabéns Mestre Miyagi moderno. Uma coisa é certa, seus vídeos serão um legado contemporâneo da historia técnica da Ti desde 1990.

  • @luisbulek65
    @luisbulek65 3 ปีที่แล้ว +6

    C é fantástico. Um dos grandes erros de minha vida foi não ter começado a aprender C com 15 anos de idade.

  • @LolasFamilyRoadTrip
    @LolasFamilyRoadTrip 3 ปีที่แล้ว +1

    Belo trabalho Akita!!! Obrigado por sempre agregar conhecimento de tão alto nível para nós Programadores!... e interessados em geral!

  • @joshuademoraes
    @joshuademoraes 3 ปีที่แล้ว +12

    Nos meus primeiros anos enquanto aprendia C, quando dava "estouro de pilha", pensava: fudeu, a bateria da placa-mãe explodiu..

    • @programacaofull6971
      @programacaofull6971 3 ปีที่แล้ว

      da esse perigo e como faz pra aprender ? uma maquina virtual?

  • @Brutos212
    @Brutos212 3 ปีที่แล้ว

    A Base é tudo, começei ver seus videos á dois anos e sempre vejo você voltando a Base

  • @ProfRobsonLopes
    @ProfRobsonLopes 3 ปีที่แล้ว +3

    Akita parabéns pelo Canal, como amante da informática e escovador de bits como sou é demais suas aulas. Quero como professor de Arquitetura de Computadores aqui no IFSP Guarulhos quero sua autorização para colocar seus vídeos como material didático da minha disciplina?

    • @Akitando
      @Akitando  3 ปีที่แล้ว +3

      Claro, não vejo problemas! Por favor ajude seus alunos a gostar de programação em vez de achar que escovação de bits é uma chatice só pra passar em provas.

  • @gerssivaldodev6949
    @gerssivaldodev6949 3 ปีที่แล้ว

    Dicção e organização de conteúdo impecáveis para meter bronca num assunto extremamente denso. Obrigado novamente por fazer o pagamento da minha internet valer a pena

  • @MurySoka11
    @MurySoka11 3 ปีที่แล้ว +5

    "ponto flutuante"
    Fazia tempo que não escutava essa expressão, hehe.

  • @henriqueS9653
    @henriqueS9653 3 ปีที่แล้ว +1

    cara tu basicamente resumiu as disciplinas mais importantes de ciencia da computação uheuheauhea esse papo todo me fez lembrar demais um projeto que eu tive que fazer em estrutura de dados que era uma agenda de telefone, e essa agenda tinha que ser criada utilizando um ponteiro void como buffer, e a gente tinha que adicionar structs dentro desse ponteiro com as informações das pessoas (nome e telefone), me lembro nitidamente de escovar os bits com alloc, malloc e realloc. Depois pra deixar mais "didático" o professor pediu pra gente desenvolver algoritmos de sort tipo quick sort e merge, e ainda adicionar suporte a algumas estruturas tipo lista, pilhas, filas, arvores binarias, arvores avl, arvore rubo negra. Eu me lembro que esse semestre eu suei frio pra fazer esse negocio hahaha , por fim é o código que eu fiz que tenho mais orgulho hahaha ficou umas 1000 linhas no final

  • @matheusrossisaciotto922
    @matheusrossisaciotto922 3 ปีที่แล้ว +3

    Em 38:34 quando você passa um array para função em c e c++, mesmo declarando com colchetes você passa a referência, mesmo definindo o tamanho entre os colchetes vai ser passado por referência. você pode confirmar isso através de sizeof(hello). Logo a pilha não vai conter a palavra inteira hello.

    • @hiperrafael546
      @hiperrafael546 3 ปีที่แล้ว

      Dá para fazer isso fazendo um struct e colocando o array dentro. Passar o struct como argumento vai forçar a cópia.

    • @feliperesende4505
      @feliperesende4505 3 ปีที่แล้ว

      Não sabia dessa em C, em C# é passado o array mesmo até onde eu lembro. Acho que em C é passado como referencia porque a sintax do colchetes é uma espécie de abstração de ponteiro.

    • @wallas4171
      @wallas4171 3 ปีที่แล้ว

      Oxe, claro que a pilha vai continuar tendo a palavra inteira hello neste exemplo.

    • @wallas4171
      @wallas4171 3 ปีที่แล้ว

      Infelizmente, tem vários pequenos erros, mas no geral, ficou legal o vídeo.

    • @hiperrafael546
      @hiperrafael546 3 ปีที่แล้ว

      @@wallas4171 Ele quis dizer que a função f1 não vai ter a string hello copiada novamente na pilha e sim, somente um ponteiro para string hello declarada na pilha na função main

  • @lelobangelo22
    @lelobangelo22 3 ปีที่แล้ว

    Melhor vídeo sobre programação que já assisti na vida! preencheu várias lacunas de conhecimento e respondeu vários "porque" na minha cabeça que surgem ao começar a programa linguagens interpretadas! muito obrigado pela aula Akita, extremamente agradecido por compartilhar esse tipo de conhecimento conosco! e partir pra ver o "o que vem DEPOIS do Hello world!".

  • @theushsantos16
    @theushsantos16 3 ปีที่แล้ว +4

    Assista na velocidade 2x se tiver coragem kksk

  • @LooserName
    @LooserName 3 ปีที่แล้ว +1

    Top o vídeo. E um assunto interessante pra ver o Akita falando seria programação funcional.

  •  2 ปีที่แล้ว

    Excelente vídeo! A comunidade, agradece! Obrigado!

  • @expencersumbo7320
    @expencersumbo7320 3 ปีที่แล้ว +3

    Estou iniciante java , venho estudando a 1 ano e pouco meses(uns 4 ou 5), nesse intervalo esperimentei quase todas as linguagens mais populares de hj em dia, C, c++, python ,js, c#, php, html +css, sql(não de programação, mas testei), pois sou extrememante curioso e quero sempre aprender mais , pois não suporto não saber. O meu foco principal é java nomomento, mas não consigo aprender somente java, sem dar um espereitade-a para ver como se faz as coisas em outras linguagens, recentemente até quiz esperimenta o golang. Por muito tempo me senti que que quase não avançava, ou que avançava muito devagar. Cheguei a pensar que uns dos motivos é por as vezes esperimentar outras linguagens. Mas vendo esse vídeo do AKita me fez perceber que valeu a pena, e que aprendi e tenho aprendido muita coisa principalmente associando os conceitos de todas essas linguagens(C principalmente) . Eu vejo sempre os videos do Akita mas boa parte sempre apanho porrada do assunto que ele fala por não saber ou ter a mínima noção, mas este em particular é o primeiro que entendi quase 70% do que ele falou no vídeo, até as partes mais complexas onde relaciona o C com outras linguagens que usam outros paradigmas. Isso me deu um super boost na motivação, em particular a parte que tenat resumir a POO em C fazendo a combinação de uma struct com todos os campos e ponteiros para funções, pois esse reciocínio que tive exactamente que estudei um pouco de ponteiros para funções e struct. O que permitiu tambem perceber como era possivel manipular funçoes como se fossem vars normais em python e js(closure, first-class function, high-order). Vendo Aqui qué um expert na Area, a ter um raciocinio semelhante ao meu, me mostra que estou a comecar a pensar como programador
    Sou de Angola, e estou aprendendo programação por conta propria buscando de todas fontes possíveis e disponiveis(ebook gratuitos, youtube, free courses, etc).

    • @profAMuniz
      @profAMuniz 2 ปีที่แล้ว

      Se te ajudar, pesquise "Library Genesis" e baixa tudo lá rs de Assembly até Carbon! ;)

  • @silviocesarsilvaoliveira
    @silviocesarsilvaoliveira 3 ปีที่แล้ว +2

    Parabéns Akita esse conteúdo ficou sensacional!!!! Excelente parabéns 👏👏👏👏👏👏👏!!!

  • @onix2607
    @onix2607 3 ปีที่แล้ว +119

    Quem aí correu para o terminal interativo do Python para verificar se 0.1 + 0.2 == 0.3 daria false ?
    Minha mente explodiu agora!!! kkkkkkkk

    • @ferco0
      @ferco0 3 ปีที่แล้ว +4

      é 2, no node, mas fui tentar resolver kk

    • @SuportoVc
      @SuportoVc 3 ปีที่แล้ว +9

      Kkk tem também essa: 0.1f == 0.1 é false.

    • @fabiomoraes013
      @fabiomoraes013 3 ปีที่แล้ว +10

      Cara na hora abri o console do chrome kkkkkk

    • @LeThorquato
      @LeThorquato 3 ปีที่แล้ว +1

      Eu!

    • @pedroaraujo5564
      @pedroaraujo5564 3 ปีที่แล้ว +5

      Já tive problemas ao comparar diversas quantidades somadas com um valor específico em Delphi, utilizando o tipo Double. Tive que fazer um trunc para resolver o problema. Existe a função SameValue que ajuda também.

  • @hotmangoflash
    @hotmangoflash 3 ปีที่แล้ว

    Fabio faz um série de videoaulas, seu conteúdo é bem avançado pra quem está começando

  • @ThiagodaCunhaBorges
    @ThiagodaCunhaBorges 3 ปีที่แล้ว +5

    Acabei de começar a assistir o vídeo, e me veio aquela sensação de que vou assistir esse vídeo em loop infinito...

  • @caionegrao1588
    @caionegrao1588 3 ปีที่แล้ว +1

    1ºSemestre da faculdade aprendendo C, Akita me traz um conteúdo desses.
    QUE MOMENTO SENHORES! QUE MOMENTO!

  • @TecnocraciaLTDA
    @TecnocraciaLTDA 3 ปีที่แล้ว +3

    "Arrays são sempre listas que contém os MESMOS tipos de elementos"
    > PHP: we don't do that here, broh
    A título de curiosidade, para quem não sabe, arrays no PHP podem ser listas e/ou dictionaries e/ou hash-tables, e/ou tuplas ou tudo junto.
    Nele você pode criar uma lista e enfiar o que quiser. Em resumo, permite que programadores ruins façam m3rd4.
    Exemplo, vc pode fazer, num array só:
    $minhaLista = array(5, 'banana', 3, '5', 'nome' => 'Fabio', 'sobrenome' => array( 'Makoto', 1=> 'Akita'), 'ola' => 'mundo', 2 => 84923);
    Notou o surubão desgovernado e desordenado? Pois é, o PHP PERMITE isso, CASO você queira.

    • @gladistonsantana
      @gladistonsantana 3 ปีที่แล้ว

      Pois é, alguém chamou de array o que o javeiro chamou de coleções. Mas convenhamos que o php começou procedural, simples e fácil, mas quando a coisa apertou foi para orientação a objeto e embora esteja um pouco por fora do php me parece que anda bebendo muito das fontes de Java com direito até a máquina virtual.

    • @TecnocraciaLTDA
      @TecnocraciaLTDA 3 ปีที่แล้ว

      @@gladistonsantana Não tem máquina virtual no PHP.
      Hoje PHP é uma linguagem muito f0da.
      Tem tudo que é tipo de recurso pra orientação a objetos e varios para programação funcional.
      PHP 8 bota nodejs pra mamar

    • @gladistonsantana
      @gladistonsantana 3 ปีที่แล้ว

      @@TecnocraciaLTDA JIT é para que então? Sei que melhorou muito, eu programava POO com ela, mas parecia POG porque misturava conceitos antigos com novos.

    • @TecnocraciaLTDA
      @TecnocraciaLTDA 3 ปีที่แล้ว

      @@gladistonsantana JIT é uma coisa, máquina virtual é outra.

    • @TecnocraciaLTDA
      @TecnocraciaLTDA 3 ปีที่แล้ว

      @@gladistonsantana vc deve ter uma visão de PHP de 15 anos atrás então.
      PHP tem namespaces, sistema de pacotes, sistema interno de cache, traits, interfaces, typed properties, Annotations, arrow functions, tem Swoole pra trabalhar de forma async excelentemente bem...

  • @gsouzasam
    @gsouzasam 3 ปีที่แล้ว

    Essa explicação de C e como ela funciona dentro da CPU me fez relembrar dos tempos do meu curso técnico de eletrônica. Na época fiquei boiando na matéria de Microcontroladores, tentando entender. Minha mente agora explodiu. Muito obrigado, vc ganhou mais um inscrito!!

  • @viniciuspjardim
    @viniciuspjardim 3 ปีที่แล้ว +6

    Edit: tem a errata na descrição, não tinha visto...
    Em 6:08 é 7 bytes mesmo!
    1 byte são 8 bits. 8 bytes (8 x 8) são 64 bits. Então o Int64 são 8 bytes. Estaria desperdiçando 7 quando precisa só de um.
    Só mais uma dica pro pessoal novato, bytes é abreviado com B maiúsculo e bits com b minúsculo. Então 1B = 8b.
    Por exemplo, ao contratar a internet com o provedor, a velocidade está em Mbps (mega bits por segundo). Quando a gente faz um download a velocidade é exibida em MB/s (mega bytes por segundo).
    Então se sua internet é 200 Mbps o limite da velocidade de download seria de 25 MB/s. Muita gente acha é a mesma unidade e a operadora está roubando a velocidade!

  • @l.u.c.k2256
    @l.u.c.k2256 5 หลายเดือนก่อน

    Tô no começo da minha faculdade, lá começamos com C,e sinceramente,n consigo imaginar uma aula introdutória melhor q essa,onde n só foi abordado o C, mas tbm o conseito e a lógica por trás das linguagens de programação,baita explicação Akita.

  • @felipeschossler
    @felipeschossler 3 ปีที่แล้ว +6

    Hello world versão Akita: 1 hora

  • @guilhermemarcosneves5785
    @guilhermemarcosneves5785 ปีที่แล้ว

    Incrível! Melhor vídeo que eu já vi de ciência da computação. Melhor canal do tópico também!!!

  • @ramonpaolomaran2253
    @ramonpaolomaran2253 3 ปีที่แล้ว +6

    Akita está contra o meu simples "print('hello World')"?