Hello World Como Você Nunca Viu! | Entendendo C

Поделиться
HTML-код
  • Опубликовано: 6 ноя 2024

Комментарии • 1,3 тыс.

  • @LucasMontano
    @LucasMontano 3 года назад +863

    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

  • @gabrielcasseb9404
    @gabrielcasseb9404 3 года назад +797

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

    • @Ninguem_365
      @Ninguem_365 3 года назад +46

      Assistir em 2x tô sagrando pelas orelhas kkkk

    • @JonatasSantiago
      @JonatasSantiago 3 года назад +13

      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

  • @pedroveloso6172
    @pedroveloso6172 3 года назад +276

    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.

  • @andrekleine4016
    @andrekleine4016 3 года назад +290

    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!
      😏😌✌️

  • @luccasbrandao4187
    @luccasbrandao4187 3 года назад +1269

    - "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 года назад +80

      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

  • @yagomello
    @yagomello 3 года назад +222

    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 года назад +63

      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 !

  • @Akitando
    @Akitando  3 года назад +77

    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 ruclips.net/video/YyWMN_0g3BQ/видео.html

  • @mfrdbigolin
    @mfrdbigolin 3 года назад +54

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

  • @rodstech
    @rodstech 3 года назад +107

    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 года назад +12

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

    • @saulompg
      @saulompg 3 года назад +7

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

  • @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!

  • @jopefd
    @jopefd 3 года назад +166

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

  • @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!

  • @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 11 месяцев назад

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

  • @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.

  • @grpineiro
    @grpineiro 3 года назад +92

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

  • @edupazz
    @edupazz 3 года назад +36

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

  • @kuryart4586
    @kuryart4586 Год назад +5

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

  • @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!!!!!!!!!!!!!!!

  • @matheuscascalho6359
    @matheuscascalho6359 3 года назад +35

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

  • @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.

  • @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!

  • @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!

  • @frango_molhado
    @frango_molhado 10 месяцев назад +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.

  • @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. =)

  • @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.

  • @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.

  • @isaacvitor
    @isaacvitor 3 года назад +23

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

  • @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.

  • @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.

  • @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

  • @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

  • @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.

  • @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..

  • @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

  • @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.

  • @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.

  • @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.

  • @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.

  • @thlshpl
    @thlshpl 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.

  • @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.

  • @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. ;)

  • @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

  • @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!

  • @gabrielbraga5122
    @gabrielbraga5122 3 года назад +11

    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.

  • @gustavodutra7548
    @gustavodutra7548 4 месяца назад

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

  • @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

  • @ffkkinos
    @ffkkinos 3 года назад +1

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

  • @justvagan
    @justvagan 3 года назад +8

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

  • @EnzoAoki
    @EnzoAoki 3 года назад +1

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

  • @gu_otani
    @gu_otani 3 года назад +4

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

  • @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 !

  • @MarceloLima-sn7ly
    @MarceloLima-sn7ly 3 года назад +6

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

  • @jackcardoso4688
    @jackcardoso4688 3 года назад

    O conteúdo do vídeo apresentou parte do que tive nas matérias de linguagens de programação e estrutura de dados que estudei na universidade. É um vídeo esclarecedor, a parte final vou mandar para pessoas me questionam sobre a velocidade de certas LPs. Parabéns pelo conteúdo de altíssima qualidade, um vídeo informativo que vai educar e tirar as dúvidas de muitas pessoas.

  • @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.

  • @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 !

  • @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

  • @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!".

  • @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.

  • @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.

  • @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;
    }

  • @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.

  • @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;

  • @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!

  • @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

  • @nordras
    @nordras 3 года назад +1

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

  • @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!

  • @pedroeugenio757
    @pedroeugenio757 3 года назад

    Que aula meus amigos, que aula... Estou começando a estudar ED na faculdade e fiquei curioso sobre como é gerenciado na pilha stack e heap, e esse video me ajudou muito, anotei tudo!
    Esse final foi perfeito, explicando pq C é super importante ainda em 2021 quando Python ta na boca de todo mundo.
    Parabéns Akita, sou fã.

  • @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

  • @murielberehulka4393
    @murielberehulka4393 3 года назад

    muito bom, os videos do akita nunca decepcionam, sempre aprendo algo, mesmo achando que o video seria sobre algo simples, no final do video ele aparece com um jeito muito interessante de "recriar" uma linguagem orientada a obj. Muito obrigado por esse conteudo gratuito e inspirador.

  •  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!

  • @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!!

  • @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

  • @hotmangoflash
    @hotmangoflash 3 года назад

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

  • @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!

  • @Crusader_No_Regret
    @Crusader_No_Regret 8 месяцев назад

    Akita quando fiz técnico em mecatrônica em 2008, acho que na disciplina de controladores ou registradores aprendemos a programar em C++, escrevíamos o código, era legal ver como os pinos do controlador eram ativados e usados no código, logo depois era compilado, gerava um arquivo .HEX, após isso copiávamos esse arquivo para um PIC 16F877A, após toda a montagem dos componentes na protoboard conseguíamos fazer sistemas como semáforos, relógios digitais, contagem binária com leds e etc… Seria muito bom ver algo do tipo novamente, é interessante entender como funciona toda essa integração entre o programa escrito e o hardware… Valeu, excelente vídeo!

  • @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

  • @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...

  • @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.

  • @manffredine
    @manffredine 3 года назад

    Seu videos são inspiração, estava a muito tempo longe desta área e assisti-los me traz vontade de voltar. Como comecei a pouco programação de jogos em C++, seu vídeos trazem muita luz.
    Outra coisa que me impressiona é sua capacidade de organizar as coisas na sua mente e fala-las como se fosse um script, eu não consigo explicar nada sem fazer muitas pausas pra pensar se o que eu estou falando faz sentido ou não.

  • @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?

  • @nddaniel1681
    @nddaniel1681 2 месяца назад +1

    assisti este vídeo antes de começar a estudar a 6 meses atrás e quase não entendi nada, agora depois de estudar c na 42, entendi muito dos conseito que não tinaha pretendia no ano anterior.Este vídeo foi muito bom. Ainda irei assistir novamente.

  • @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

  • @CleberMag
    @CleberMag 3 года назад

    1:09:21 - Estou feliz em ver que tudo que foi passado no vídeo eu vi, entendi e já usei em algum momento tal qual fora descrito. (Vi a "conta-gotas" em intervalos livres aqui). Parabéns, e pode deixar que isso será material recomendado à pessoas que eu perceber que precisam de um update em seu nível de C.

  • @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.

  • @moaciramaro8900
    @moaciramaro8900 3 года назад

    Akita, que aula!! Estava tendo problemas com estrutura de dados e algoritmos na faculdade, seu video de 1hr me tirou duvidas que fiquei por quase 1 semestre

  • @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! ;)

  • @esteniogarcia7790
    @esteniogarcia7790 3 года назад

    Cara finalmente consegui ter uma ideia melhor do que é Heap e Stack, assisti zilhões de video e li dezenas de artigos, mas ainda não estava conseguindo compreender qual a diferença. Vlw pelo vídeo. Ainda irei busca por mais, pois sinto que tem mais coisa.

  • @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

  • @guilhermegabriel4866
    @guilhermegabriel4866 3 года назад

    Em um dos vídeos para iniciantes o Akita fala para assistirmos os vídeos dele novamente depois de um tempo, comecei a estudar programação em março, assisti esse vídeo na época e não intendi nada, hoje assisti novamente e estou impressionado com o tanto que já aprendi, consegui compreender o vídeo inteiro tranquilamente. Obrigado pelo conteúdo Fabio Akita, você me inspira!!

  • @MurySoka11
    @MurySoka11 3 года назад +5

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

  • @l.u.c.k2256
    @l.u.c.k2256 6 месяцев назад

    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.

  • @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...

  • @felipezymor9970
    @felipezymor9970 3 года назад

    Acho legal que o seu canal complementa demaaais o meu curso de Ciência da Computação. Vejo algo na faculdade, dou uma espiada aqui e sempre tem um conteúdo pra melhorar o meu entendimento de alguma coisa... Parabéns pelo conteúdo foda!

  • @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!

  • @georgindev
    @georgindev 3 года назад

    Que video incríve Akita. É muito importante conhecer esses conceitos, eu recentemente fiz duas materias de estrutura de dados na faculdade e aṕos isso minha cabeça se abriu muito mais.

  • @onix2607
    @onix2607 3 года назад +120

    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.

  • @silviocesarsilvaoliveira
    @silviocesarsilvaoliveira 3 года назад +2

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

  • @theushsantos16
    @theushsantos16 3 года назад +4

    Assista na velocidade 2x se tiver coragem kksk

  • @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.