C e C++ só é toda a infraestrutura de sistemas operacionais, máquinas virtuais, motores gráficos, etc… o próprio Rust possui um jeito de driblar isso com unsafe. Você tem construções alto-nível (idiomas) em C++ que elimina a maior parte dos problemas. Na real o que precisa é a pessoa aprender a programar direito e não ser um mero aventureiro
Cara, rust é mais facil de ver se o codigo é safe, sem contar que qualquer crate que tem muito unsafe é substituida, acho o c++ uma linguagem foda, que te sa muita liberdade, mas em certos casos usar rust previne diversos erros, nao só de memory safety, mas de regra de negócio mesmo, do jeito que o compilador e restrito
E dá pra "não usar " as velhas sintaxes! C agora está na edição C23 e C++23. Eles vem com sintaxes modernas e com recursos de alocação e desalocação automáticos. O problema é que os cursos ainda ensinam as versões mais neandertais das sintaxes.
O pessoal adora novidade, nem sempre o novo é melhor, no geral só é mais fácil, e a linguagem coloca muita coisa por baixo dos panos depois de compilar.
@@99Gara99 Pior que sim.. Em sistemas embarcados ainda se usa. Uso assembly com bastante moderação somente quando algum cliente pentelho não quer usar um modelo “maior” de PIC e tem que fazer o firmeware caber naquela meleca de qualquer jeito. Se houver a opção, prefiro trabalhar em C com um componente maior.
Acabei de ler isso no reddit, parar de usar Windows desse jeito. Mas hoje em dia C++ possui smart pointers e não é mais tão inseguro assim, querem vender virtual machine para a galera, enquanto eles escrevem tudo em C.
Mesmo com smart pointers vc ainda não garante que seu código seja memory-safe, um buffer overflow e um ambiente de compilação mal configurado sem proteção de stack já é meio caminho andado pra uma vulnerabilidade como RCE ou Privilege Escalation.
Ele não é engenheiro de software, ele fez faculdade de engenharia de materiais, direito e fez pós graduação em Cybersegurança (se eu não me engano). Porém ele sempre foi um entusiasta da tecnologia e foi pra programação.
Eu trabalho com C/C++(8 anos) e como freelancer com Rust(6 anos) e Rust é muito show. Estou trabalhando em um motor para games em Rust e tá ficando fantástico. Lá no trabalho utilizamos ainda muito C++ porque tem software legado e migrar custa muito dinheiro, seria 2 anos para migrar com uma equipe considerável. Mas estamos considerando o uso de Rust para projetos futuros. Fizemos vários benchmarks com protótipos e o desempenho é melhor ou igual aos em C++. Sobre os novos recursos do C++ como smartpoints eles são bons mais não o suficiente pois ainda é possível fazer besteira. Já em Rust o analisador é extremamente eficiente e consegue detectar vários problemas em tempo de compilação principalmente sobre referências nulas, empréstimos, contagens de referência, corrida de dados e etc. Os únicos pontos negativos do Rust hoje é que ainda falta mais bibliotecas em seus repositórios e não é possível criar bibliotecas compartilhadas com tamanha facilidade.
Opa colega de boa? Queria te perguntar em que nicho de empresa vc trabalha, pq eu quase não encontro oportunidades em C++ para trabalhar a não ser web e até isso é difícil... Hoje estudo LLVM e tento criar uns compilers e sinceramente não acho nenhuma vaga nesse nicho aqui no br... Só pra saber mesmo.
@@ttz8488 eu trabalho com software para desktop. Para vagas em C/C++ vc vai achar jogos, sistemas de pagamento normalmente vão C++ e Java, também tem embarcados. Só que existem poucas porque no Brasil o mercado é muito focado em desenvolvimento web. Da uma procurada no LinkedIn. Mas estude viu kkkkk porque a concorrência é grande.. Tem muito coroa com uns 12 anos desenvolvendo em C++.
Opa , Anderson, sou estudante de Ciências da Computação, nunca encontro vagas de emprego para C ou Rust, muito menos estágio, gosto muito desse nível de programação, mas no Brasil parece ser muito fraco. Você poderia me falar se trabalha para o exterior e se os freelances também são para a gringa? Agradeceria muito a explicação.
Respondendo ambos. Trabalho para uma empresa brasileira. De fato o mercado de baixo nível no Brasil é pequeno. No começo trabalhei com desenvolvimento de jogos e depois entrei em uma empresa que tem linguagens de baixo nível em sua stack, voltada pra outro nicho. O que pode te ajudar a achar vagas no Brasil de C/C++ ou Rust é o LinkedIn. Mas são bem poucas, comparado com outras stacks. Nas minhas tentativas encontrei desde empresas de jogos, até empresas que prestam serviço para bancos. O que pode ser bom para sua stack C/C++: Saber um banco de dados relacional (Postgres ou MySql) Qt Framework Cmake Linux Valgrind GDB C++ 17 nlohmann JSON ( muito boa) Boost C++ (Asio é importante, socket async) Saber diferença entre paralelismo e simultaneidade. Https TCP Para Rust: Você vai encontrar alternativas para Boost em Rust, como a Tokyo. Para HTTP Server, tem a propria Tokyo e tem a Rocket. Qt é importante tbm principalmente pra fazer interfaces. Para Json tem serde + serde_json. Leiam as documentações. Importante que você tenha em seu Github um software que use alguns desses recursos que citei para você apresentar em uma possível entrevista técnica. Seja criativo.. eu na época criei um motor de jogos em C++ e usei em uma apresentação (e passei) Você pode criar um servidor HTTPS com Boost e um outro software usando Qt enviando valores para o seu servidor e salvando no banco de dados e etc. Enfim você precisa ser criativo e exercite seu conhecimento. Um cursinho de vez em nunca é de mais, mas nada de portfólio pronto de curso com pokedex, pelo amor de Deus. E por último.. Não querendo desanimar mas o mercado de devs esfriou um pouco (2024). E não desanime com um NÃO. Eu tomei mais de 70. Fora os que nem responderam. E se você conseguir uma vaga como Júnior, bote as mãos para o céu. @ttz8488 @eliongalvao8434
não existe nada a prova de falhas, o problema não é esse afinal, o grande porém de usar o C é simplesmente ser menos seguro do que as outras linguagens que são inseguras, mas em comparação a outras são muito mais seguras, mesma coisa no caso das urnas, é perfeito? nada é perfeito. é melhor que as alternativas? isso daí já cabe a você pensar um pouco.
Acho que não devamos desmerecer o Rust. Bjarne Stroustrup agora apoia alterações de segurança visíveis na própria linguagem, compiladores e bibliotecas - type safety seria uma primeira ideia - e não apenas em ferramentas específicas para essa tarefa. Stroustrup afirma que “o C++ pode fazer tudo o que Rust faz”.
sim, porque o governo americano é especialista em programação segura 😀 falando nisso, o governo americano já tem uma linguagem "segura", chamada "Ada" ... que ninguém usa
Não se assuste, vou te ajudar a entender. O governo sabe que a população está emburrecendo. Não vai ter programador bom o suficiente pra gerenciar memória no futuro. Usem Rust desde já, porque a nova geração não vai manter nada que tenha que calcular.
Escrevi esse comentário mais acima: Pode ser um pouco de paranóia minha, mas quando vejo algum governo recomendando algo desse tipo eu já fico logo com o pé atrás. Não sei se foi o governo americano que recomendou o Rust, mas se foi, acho mais complicado ainda e suspeito. Não tenho nada contra a linguagem, muito pelo contrário, mas o único problema que eu vejo no Rust é o fato de ser uma linguagem nova (Rust é de 2015). Por esse motivo eu acho um pouco perigoso (re)escrever aplicações críticas nessa linguagem, porque seria necessário observar por mais tempo como ela se comporta. É necessário mais tempo de maturação. Falando especificamente de questões políticas, de vigilância, perseguição etc, eu sempre lembro que o Linux é uma alternativa para escapar de sistemas que têm mais chance de ter coisas te monitorando, como os proprietários (Windows, MacOS). Por isso mesmo, eu penso que mais cedo ou mais tarde o Linux será alvo de tentativas de implantação de sistemas de vigilância. Por mais que seja de código aberto, acho que ninguém fica monitorando todos os pacotes binários que são instalados no seu Ubuntu né? Eu não faço isso. Então isso se torna um ponto de vulnerabilidade. Reparem que em alguns ecossistemas, como o NodeJs, por exemplo, já estão aparecendo muitos casos de pacotes contaminados com malware. Ou seja, aquilo que supostamente deveria ser algo controlado, monitorado e seguro, acaba tendo problemas também. Até as lojas do Android e da Apple também têm problemas. Imagina se houver alguma ação pontual (intencional) em alguma dessas empresas com o objetivo de afrouxar minimamente a verificação do que é publicado nas suas lojas ou repositórios de pacotes? Por isso é que eu acho que o governo americano recomendar algo específico (se é que isso aconteceu mesmo) é suspeito.
Rust tem seu mérito. Olha o que o criador do C++ quer fazer. Bjarne Stroustrup agora apoia alterações de segurança visíveis na própria linguagem, compiladores e bibliotecas - type safety seria uma primeira ideia - e não apenas em ferramentas específicas para essa tarefa. Stroustrup afirma que “o C++ pode fazer tudo o que Rust faz”.
Não é só JNI e tal, tem um monte de biblioteca por aí que são abstrações de bibliotecas em C ou C++ e volta e meia aparecem erros de estouro de pilha usando essas bibliotecas. Inevitavelmente a solução é contratar programador que sabe o que faz e não estagiário.
Irmão qual foi o ultimo app "escrito em assembly" q tu usou? Literalmente ja era, e C é usado quase unicamente pra casos ultraespecificos de programação de microchips e coisa do Linux, literalmente ja era
@@rbda8921 Me diga, tu acha que essas linguagens: Python, Rust, Go, Scala, Java foram escritas em o que? Ou melhor, os compiladores, lexers, parses, e mapeadores de memórias dessas linguagens, Lvvm, Clang, Gcc, Intel C+ também são feitos nessas bases referidas acima. Qualquer tecnologia inovadora ou que sirva de base para outras pega nas bases mais antigas. Se nem ao menos consegue entender a importância dessas tecnologias não merece ser chamado de desenvolvedor.
Para quem acha que o problema é linguagem C e Assembly, venho a te apresentar o OpenBSD, o OS mais seguro que existe, se não acredita PESQUISE. Rust é uma linguagem excelente porém ainda falta muito para substituir C, um passo importante para que isso aconteça e está em andamento é a implementação de Rust na kernel linux. Lembrando que Rust usa LLVM que gera o IR Code que é usado para gerar o código assembly. Pesquise sobre OpenBSD(OS focado em segurança), SEI CERT C Coding Standard(como melhorar a segurança de seu código C), LLVM(é uma infraestrutura para compilador)
creio que todo mundo sabe o que é openbsd, sim ele é o SO mais seguro de todos até mesmo que o linux, além que ele tambem é muito implementado em servidores que usam e abusam de velocidade, alem do kernel do bsd que da portas ao MAC a mais ou menos sempre kkk porem achei interessante isso sobre "SEI CERT C Coding Standard" vou pesquisar sobre
meu deus que video foda, obrigado, eu tava finalizando a materia de Sistemas Operacionais 2 e mergulhei em teu canal e achei essa maravilha de curso da sua playlist: "Curso SegDesSoftware". Obrigado por disponibilizar conteudos educacionais de graça, espero que receba em dobro meu querido
@@lipe1393 Entra no canal dele e vai em playlists, ele deixou como publico. A playlist se chama "Curso SegDesSoftware", la tem 22 videos... o que ele abordou em especifico aqui no video foi: "SegDesSoftware - Aula 05 - Módulo 02 - Buffer overflow".
@@Öyster_Boy Mano, pior que essa galerinha Nutella que chegou no boom da pandemia tá foda mesmo, o tanto de gente com medo de JAVA (Isso mesmo, JAVA) não tá escrito no gibi. C,C++, ASM? Oxe, eles se cagam de medo,kkkk.
Corrija-me se estiver errado, mas creio que esse tipo de problema só acontece em ambientes bem defasados. As versões mais novas de C e C++ nos sistemas operacionais mais novos irão fazer a aplicação terminar com um segmentation fault em qualquer situação dessas. Alem disso, isso pra mim é muito mais um problema de gestão de software do que das linguagens propriamente ditas.
@@dhay3982 O problema que o comportamento indefinido parte do proprio programador, que em vez de aumentar o nivel de warning e tratar warnings como erros, prefere ter 1k de warnings no codigo e fingir que tudo esta certo. Ou saem fazendo c-style cast em tudo e dane-se... a maioria desses programadores sao mediocres e nunca sequer leram uma ISO do C++.
@@data9kcorretíssimo mesmo. O modo protegido dos sistemas operacionais modernos cuida disso. O ponteiro de instruções só executa aquilo que está na seção de texto, o ".text" do assembly. Logo nos sistemas operacionais modernos, todos, esse tipo de ataque não é mais possível. Só me espanta o Peter não saber isso, isso é assembly básico.
@@emanuelbaldissera6510 Realmente, para fazer aplicações para windows é uma maravilha mesmo. Eu já usei muito tambem e gostei demais, porem as bibliotecas de baixo nivel que precisava de performace para fazer contas, eu criava em C puro e chamava elas atraves de chamadas via DLL usando as famosas delegates de C#. Todas as liguagem tem a sua beleza!!! Tem um livro que eu gosto muito de um autor chamado Robert Sebesta, que fala de um monte de linguagens de programação (Concepts of programming languages). []´s
C++ é uma linguagem segura se o programador usar o RAII (Resource Acquisition Is Initialization). Sem o uso do RAII o C++ é igual ao Rust no modo inseguro. Daí é melhor desconfiar do que deve ter sido escondido pelo G0vern0 no compilador do Rust que tem um Overhead enorme, ou seja, tem um código enorme que não foi gerado pelo programador, mas está em todos o executáveis Rust. Tirando a questão do Overhead, o Rust é um pouco mais rápido que o C++. Imbatível, porém, é o Zig: Overhead minúsculo, dezenas de vezes mais rápido que o C++ e o Rust e tem proteção de memória. Por que a Cas4 Brqnc4 não recomenda o Zig? Desconfie…
Exatamente. É o gov tirando o poder de controle dos dev. querem enfiar essa linguagem pra espionagem. Querem o controle total. Prefiro C e C++ onde posso escovar os bit, do que confiar em palavras de governantes corruptos, sedentos por poder e controle social. Seria ao meu ver, mais correto corrigir esta falha nos compiladores, impedindo compilar funções que não verificam o tamanho dos dados. Já esta linguagem é muito recente, não passou na prova do tempo. Quem realmente sabe que tem escondido??? Prefiro escovar bit que confiar em gov. Diante disso, já nem vou estudar esta linguagem. Vou ficar em C++ mesmo, até porque muitos dos meus trabalhos são embarcados e em PIC e Atmel.
Your authenticity is like a breath of fresh air in a crowded space. The way you share your personal experiences is genuine. Keep being that guiding light in the community!
Ponteirofobia agora? O mundo roda C, C++, quem não garante que a NSA tem backdoor nesses compiladores que recomendam? Isso ja aconteceu antes... A geração Z nao consegue programar nada que preste mesmo, ai a culpa é da ferramenta
Quanta conspiracao, puta que pariu. N eh geracao Z n. Sao os programadores no geral e a industria que fode todo o processo de desenvolvimento. Geracao Z n programa em C nem C++, MUITO MENOS em assembly kkkkkkkkkkkkkkkkkk
Eu to começando como DEV e sei programar em C e C++ alias amo de paixão esse tipo de programação, que te força a programar de verdade! Programador que joga coisas para as API vira um mero comsumidor de libs
@@luizhp sua resposta entra na categoria: "mas QQ o c* tem a ver com a calça?" Oq tá deixando dev sem cabeça é framework que "faz tudo" e esconde a parte complexa.
Pessoal, vocês não precisam ser contra ou a favor de nada. Eu trabalho com C++ e estou muito seguro do que faço, e ainda assim estudar Rust tem me dado insights que eu não tinha durante a programação. Saibam aproveitar os recursos que estão aí, sejam os melhores no que fazem, seja usando C++, Rust ou o que quer que seja.
Governo? Eu acha mesmo que o problema é esse? Porque tudo que o estado faz é perfeito e muito bom né, só os programinha de Pc compiuter feito pelo sobrinho do cicrano que não deram bom, o resto é tudo perfeito e não tem nem oq melhorar, tá serto 😅
@@danielbueno2893 Programação vai alem do diploma irmão. Transcende um papel que uma instituiçao do estado te da para certificar que voce tem o conhecimento
Peter, excelente vídeo! Muita informação, bem explicada e sobre um assunto tão sensível como a segurança no tratamento de informações! Estava precisando assistir esse conteúdo! Muito obrigado!
É difícil. Mesmo linguagens de alto nível, como o R, usam bibliotecas em C. Para rotinas pouco recursivas até eh recomendável não usar C. Para rotinas críticas, porém, nem o assembly foi abandonado por completo ainda. Acredito que a revisão de código por AI é o caminho.
Não devamos desmerecer o Rust e se depender do criador do C++ pode ser diferente. Bjarne Stroustrup agora apoia alterações de segurança visíveis na própria linguagem, compiladores e bibliotecas - type safety seria uma primeira ideia - e não apenas em ferramentas específicas para essa tarefa. Stroustrup afirma que “o C++ pode fazer tudo o que Rust faz”.
Mano, só aprendam a usar RAII e smart pointers, vai resolver grande parte dessa problemada toda aí e 99% das aplicações não terão problema nenhum com isso. Essa história de que C++ não é memory safe é pra quem nunca programou nada de verdade, ficou só nos exercícios de faculdade.
O mais interessante é que as linguagens de alto nível são baseadas nessas linguagens 😂 Eu fui explicar memória em um bootcamp e a galera ficou bolada. O povo não tinha a menor ideia de como ela funcionava.
Hoje em dia muitos devs entraram na área justo com frameworks de alto nível de abstração como os Angular e React da vida, acabam que não aprendem esses conceitos mais elementares. Por isso em faculdade geralmente você aprende C para ser forçado a pegar esses conceitos mais basilares de programação.
@@ayrtondenner Corre o risco desses devs serem incapazes de desenvolver sistemas "na mão". Mas também cansei de ver vaga de emprego de empresa que pede Frameworks como requisito.
@@ayrtondenner Se o marketing do Rust estivesse voltado para essa área, eu não me importaria. Eu acho que Rust é promissor como sustituto do JavaScript. Mas em vez disso, eles querem matar o C!
Cara, o Peter é foda, ele sabe mesmo de programação! Dá pra ver a confiança dele falando sobre o assunto, dá muita credibilidade pra notícia. Parabéns 👏👏
@@Öyster_Boy a partir de 10:40 é só um exemplo: dizer, repetir e enfatizar q o dinâmico é na stack e o estático é na heap, quando na vdd é exatamente o contrário. Daí dizer e insistir q as declarações "char nome[10]" e "int perfil" são feitas na heap, quando na vdd são na stack. Essa não é uma confusão menor mas um erro grosseiro. Há um abismo separando a stack e a heap e não é possível entender bem ponteiros sem a devida clareza desses conceitos.
Basicamente, ele está dizendo que embora as linguagens como Python, Java, C#, e Rust sejam construídas usando C e C++, não é recomendado usar essas linguagens de baixo nível para criar sistemas de backend que precisam ser muito seguros e que vão crescer muito, porque isso pode afetar a segurança a longo prazo. Ao invés disso, essas linguagens deveriam ser usadas para tarefas específicas, como rodar bibliotecas que necessitam de processamento intenso e oferecem mais segurança, seguindo certos princípios de programação.
Gente, pelo amor de deus, assembly não entra no pacote C e C++. Assembly é a linguagem mais próxima da linguagem de maquina, C e C++ é um outro tipo de linguagem de mais alto nível. São coisas diferentes.
A comunidade vem adotando Rust em detrimento de C/C++ a anos, a mudança é devagar, mas muitos ousaria dizer que ira ocorrer, Linux vem substituindo sua arquitetura Kernel pouco a pouco a favor de Rust, Microsoft anos atrás fez um comunicado que teria planos para substituir seus produtos críticos para Rust, Cloud Services também vem passando a substituir, Cloudfare, AWS e Azure, até a Google no Android e Chrome. NVIDIA deixou Rust como opção no seu novo projeto de Automação Segura de Veículos, não o escolhendo, muito provavelmente, pelo fato de não ter certificação ISO, mas só o fato de ter competido com Ada é absurdo.
cara muito bacana a sua explicação, estou estudando uns tópicos de segurança, engenharia reversa, e vc simplesmente mandou super bem em explicações q costumam ser tópicos demorados pra passar
O problema é ficar dependendo de humanos kkkk imagina seguir esse pensamento para maquinas de fábricas por exemplo, falar que a pessoa se acidentou só porque não sabia usar. Não é assim que deve funcionar, na prática as fábricas devem investir em equipamentos mais seguros para evitar até mesmo as falhas humanas. Claro que há exceções onde isso não é possível
N acho que tao culpando a ferramenta n, eh pior ainda. Tao reconhecendo que os devs n tem capacidade de gerenciar memoria, seja por problemas estruturais no desenvolvimento de software, ou por falta de capacidade tecnica msm. Eles n estao culpando a ferramenta mas, sim, escolhendo a solucao mais facil. O problemas eh q n faz mt sentido. N faz sentido jogar assembly e C/C++ no msm barco, por exemplo. Sempre que a gnt precisar de otimizacao, vamos recorrer ao assembly. As vezes o compilador faz otimizacoes que n garantem seguranca, por exemplo. E, ai? Obvio que a gnt precisa de gnt sabendo assembly, e programando bem em assembly
@@leonardodias3393 quem trabalha tem c++ tem o dever de gerenciar a memória, e hj tá ainda mais fácil com os smart pointers, que o programador sequer precisa se preocupar com isso mais.
Muito bom video, parabéns pela explicação. Não conheço assembly e nunca trabalhei na area de ti. Mas com o pouco que sei, esses problemas de C seria fácil de resolver.
E Rust também. Bjarne Stroustrup agora apoia alterações de segurança visíveis na própria linguagem, compiladores e bibliotecas - type safety seria uma primeira ideia - e não apenas em ferramentas específicas para essa tarefa. Stroustrup afirma que “o C++ pode fazer tudo o que Rust faz”.
kkkkkkkk quando eu ainda me aventurava com programação, eu tentei, mas desisti kkkkkk C já de outro mundo, imagina Assembly que parece que tu falando com um alien.. Na boa, talvez escrever um código analógico totalmente em binário, seja mais fácil que assembly kkkkkkk
kkkkk como assim "ninguém usa Windows 10?" Olha o Market share do Windows 11. Praticamente NINGUÉM usa Windows 11, vc inverteu as bolas. Microsoft já está preparando o mercado para receber Windows 12 e quando finalmente o suporte do 10 acabar no ano que vem, a grande maioria dessas pessoas vai migrar direto para o 12 e ignorar o 11. Market share Windows 10: 66,24% Market share windows 11: 27,83% Ah, além disso, o kernel do Windows 11 é o kernel do 10. A diferença é apenas o shell gráfico que é aquele que ia ser do concorrente do ChromeOS. Até os módulos que fazem o 11 ser '"mais exigentes" em questão de segurança já existiam no 10. Somente no próximo update (24H2) que seu funcionamento vai ser mandatório para bootar o sistema, mas isso poderia ser muito bem feito no 10. Tudo QUESTÃO DE MARKETING.
@@lmaobrickedPelo que eu vi de problemas de performance do Windows 11 a culpa é da Intel que pagou a Microsoft para não dar atenção aos recursos da AMD e se possível sabotar. Primeiro começou com aquela putaria de P-Cores e E-Cores que todo mundo desabilita na BIOS, tudo para pararem de reclamar que Intel tem poucos core e AMD muito Depois começou sabotando aquele negócio de distribuição de tarefas entre núcleos para ferrar a AMD, de forma que o Windows 11 fica trocando informações comuns entre cores de diferentes CCDs, o que obriga os dados a passarem pelo Infinity Fabric e ter problemas de gargalo e até cagar para os caches gigantescos dos novos Ryzen Sobre telemetria, um dia a Microsoft vai enxer o saco pq vai ter um monte de dados de telemetria nos servidores deles que vai consumir espaço pra cacete sem nenhuma utilidade e eles vão largar o Windows e migrar tudo para Linux.
Não tenho agulha pra dizer se Rust é superior ou não, mas eu diria que grande parte das falhas de segurança vem da incompetência de programadores, e não de suas ferramentas.
@@safesrc Enquanto o domínio da educação estiver sob as mãos do estado, e não das pessoas, também não serei muito confiante na mudança dos seres humanos kkkkk
poderia ter um programa de dev que de maneira externa resolvesse esses erros comuns do c++, o programa iria lendo o codigo e arrumando o codigo como se fosse nativo dele, mesmo sendo externo, ai facilitaria para dev q costuma cometer esses erros, tipo um corretor ortografico mas para codigo
Além de ser complicado no Rust toda hora tem que definir oque é safe e oque é unsafe, gera é mais problemas, além de não ser uma linguagem estável todo ano modifica-se quase ela toda.
claro, todo mundo vai ser o mestre da linguagem e junior ou iniciante não existe né? Todos os desenvolvedores tem dominio total da memoria, tanto que não existe memory leak ou outras vulnerabilidades. Tem que avisar os caras lá, que eles estão fazendo burrice.
@@healord51 Entendo sua revolta. Mas eu falei especificamente sobre usar as novas sintaxes, conhecidas como "Modern" e que evitam os problemas todos de erros e esquecimentos. O meu ponto é que se ensina até hoje uma linguagem C e C/C++ antiga e que já evoluiu. E as novas sintaxes são até mais simples.
Basta começar pelo mais moderno, ensinar nas faculdades e cursos as novas sintaxes primeiro que os novatos irão inclusive contribuir para limpar o código velho e sujeito à erros.
Bairrismos à parte, Linus Torvald e a Fundação Linux já declararam que vão gradativamente reescrever o Kernel em Rust. A adoção do Rust em detrimento de C e C++ não é mais uma questão de preferência pessoal. Por ter aprendido a programar em linguagens fortemente tipadas com controle determinístico de alocação e liberação de memória de forma disciplinada, eu adorei Rust e gostaria de usar pra tudo, inclusive pra web, independente do requisito desempenho. Eu odeio a vulnerabilidade de linguagens fracamente tipadas ou pseudo-tipadas como Javascript e Typescript. Acredito que a maturidade de Rust + WebAssemby chegará no Tipping Point muito em breve, mas o mercado mobile continuará com Flutter e linguagens nativas.
Linus Torvalds nunca falou em reescrever o kernel em Rust, ele falou em adotar o Rust em alguns drivers do kernel. Simplesmente não tem como reescrever o kernel em Rust por conta das outras plataformas que o Linux suporta, e sem contar que -Osize é extremamente importante pra essas plataformas mais obscuras.
To aprendendo Rust recentemente, principalmente para sistemas embarcados, to gostando muito, maioria dos erros sao em tempo de compilador, entao por mais que seja chato voce sabe que se compilar voce ta seguro no quesito memoria.
@@RicardoBastos_ Sim, a compilacao em modo release acaba demorando, mas parece que vem uma atualizacao agora que ja ta em testes que vai reduzir bastante.
@@techbytefrontier Sobre os problemas pegos em compile-time, os compiladores do c++ nunca vem com nivel de aviso no maximo e nao tratam avisos como erros, se habilitar ambos, 99% dos problemas sao resolvidos. A IDE da MS (visual studio) agora ate exibe o comportamento do seu codigo, isto eh, detecta que tem um buffer overflow e explica como ocorre sem a necessidade de compilar, com os novos recursos de seguranca sendo implementados a cada ISO, c++ vem garantindo cada vez mais seguranca. Veja, se comparar c++98 com c++20, c++98 parece C. Acontece que MUITAS dessas empresas estao presas a C++98 ou C++03, algumas ja chegaram a C++11 que foi a ISO que mudou a maneira de escrever c++, outras estao em c++14 e as mais ligadas ja estao migrando para C++17, enquanto isso as ISOs do C++20 e C++23 ja foram finalizadas, C++26 ja esta sendo discutido no comite. Alguns compiladores ainda tem pequenos recursos pendentes em c++20, comecaram agora a implementar c++23. Se um programador ler o draft da ISO, seguir o c++ core guidelines, aumentar o nivel de aviso e tratar aviso como erro, c++ se torna uma linguagem segura. Mas os programadores fazem isso? Percebe como a mediocridade condena c++?
Abandonem a linguagem das máquinas e usem a dos leigos... assim, quando EU, o ESTADO DEMOCRÁTICO DE DIREITO resolver te sacanear, vc JAMAIS conseguirá revidar!😂🎉😂🎉 Partiu Assembly, Hex, Binários 0 e 1!
vixe, isso mesmo, Abandonem a linguagem das máquinas e usem a dos leigos, assim ninguém vai conseguir desenvolver um software com processamento o suficiente pra descobrir que na verdade a terra é plana e a nasa está escondendo tudo, bem que eu sabia que eles usam python pra tudo lá
Peter.... nesse video voce mostrou um completo desconhecimento de Rust. Tudo bem, nao é sua area. Rust tem uma performance melhor que c++, o custo que ele paga é o tempo de compilacao que é BEM mais alto. Rust pode sim ter multiplos ponteiros apontado para mesma area da memoria, basta usar um RC (reference counter). Oq o rust tem é um sistema de ownership, onde cada bloco de memoria tem um dono, e quando a stack é limpa, o Rust automaticamente faz o DROP de todos os ponteiros da qual a funcao é dona.
Todas as verificacoes do compilador do rust para garantir a seguranca do codigo sao cost-zero abstractions, o codigo é depois que passa pelo compilador convertido para assembly sem custo.
"Rust tem uma performance melhor que c++" Nenhum benchmark prova isso. C++20 atingiu um ponto crucial, a lib zppbits eh um excelente exemplo, foi escrita com c++20 e serializa em compile-time, apenas emite memcpy que eh otimizado pelo compilador, totalmente type-safe e zero-overhead em runtime, inclusive a serializacao esta nos limite da chamada para memcpy que eh escrita em assembly. Isso nao eh possivel com rust.
Odeio os comentarios dele no outro canal, acho uma idiotice esse movimento ancap. Mas o pter eh mt foda em seguranca, que tbm eh minha area. N tem como deixar de acompanhar
Por que eles estão recomendando linguagens como Python, Java, C# e Swift sendo que essas tem a base do código ou parte dele escrito em C ou C++? Até mesmo Rust e Go possuem alguns componentes escritos em C e C++
Porque o objetivo é produzir código seguro. Nunca haverá zero códigos em C e C++, como nunca haverá zero códigos em Cobol ou Clipper ou dbase. Mas quanto menos, melhor.
@@safesrcpraticamente todos os sistemas operacionais são em c/c++, incluindo os maiores dbms, motores gráficos, sistemas embarcados, office, navegadores, a lista grande, isso é como querer substituir o oceano por coca cola!
O problema é que C/C++ é a base das linguagens de programação mais usadas. PHP, Java, C#, Python e outras são escritas em C/C++. Segundo a recomendação deles, todas essas linguagens que tem seus compiladores/interpretadores escritos em C++ deveriam ser migradas para Rust. Ou seja, todas as linguagens voltariam para versão 0.1.0-alpha depois de ficarem meses tendo seus códigos reescritos para Rust. Seria um retrocesso muito grande em termos de maturidade, confiabilidade, credibilidade etc.
É bem divertido ver esses programadores "das antigas", sabichões, defendendo fervorosamente o C, Assembly etc, como se eles fossem excelentes programadores e os programadores de hoje em dia são horríveis. Agora vai lá e tenta usar um sistema legado feito por eles para você ver como É UMA PORCARIA CHEIA DE FALHAS e eu nem estou falando sobre dar manutenção, ou tentar escalar, só usar mesmo.
Eu acho Rust bem legal, gostaria de poder aprender mais sobre a linguagem. Por enquanto só consigo enxergar ela da forma que está sendo usada, em sistemas operacionais, kernels e etc. Para softwares comerciais não sei se vai pegar pq é uma linguagem difícil de aprender comparado a outras como Python, C#, Kotlin e etc. Mas Rust provavelmente vai tá na maioria dos códigos dr Kernel dos sistemas muito em breve. Windows e Linux já estão usando, não sei como estão no MAC mas é provável que já esteja lá tbm.
e outra o assembly e usado para parte critica em kernel em sistema operacional e sistemas embarcados não tem como larga o C e C++ e assembly pioro ir para o Rust compilação e lenta e execução também e lenta
Peter, faz tempo que não programo, mas o acesso direto a memória depende do compilador e do sistema operacional. O C no DOS acessava a memória física e fazia um estrago. O C no OS/2 e no WNT acessavam memória virtual e não tinham acesso a nada fora. Não entendi ... 🤔🤔🤔
hahaha....tem um movimento de empresas e governos pra tentar controlar o acesso a desenvolvimento....em eletrônica fizeram parecido sugerindo uso de soluções prontas em vez de montar seus próprios circuitos e criando dependência das empresas grandes. No desenvolvimento tá a mesma coisa...criam uma linguagem usando c/c++ que limita o que pode ser feito pelo desenvolvimento...claro que pra quem penas quer uma solução isso é totalmente válido e aconselhável...mas os países tem que fomentar as tecnologias de base senão com pouco tempo vc fica dependendo das potências econômicas (gov e empresas).
Eu acho rust tao complicado... nada me convence que o codigo mais bonito possivel so pode ser escrito em C. Poucas linhas. Já essas langs aí, se nao for 300 linhas, é 300 chars na linha pra fazer um print na tela.
Se o governo disse , faça contrario e estará no caminho certo!
🤣🤣🤣🤣😂😂😂😂😂
Concordo
Verdade!
C e C++ só é toda a infraestrutura de sistemas operacionais, máquinas virtuais, motores gráficos, etc… o próprio Rust possui um jeito de driblar isso com unsafe. Você tem construções alto-nível (idiomas) em C++ que elimina a maior parte dos problemas. Na real o que precisa é a pessoa aprender a programar direito e não ser um mero aventureiro
Cara, rust é mais facil de ver se o codigo é safe, sem contar que qualquer crate que tem muito unsafe é substituida, acho o c++ uma linguagem foda, que te sa muita liberdade, mas em certos casos usar rust previne diversos erros, nao só de memory safety, mas de regra de negócio mesmo, do jeito que o compilador e restrito
Isso pra sistemas operacionais, em sistemas embarcados ainda c é bem mais rápido
E dá pra "não usar " as velhas sintaxes! C agora está na edição C23 e C++23. Eles vem com sintaxes modernas e com recursos de alocação e desalocação automáticos.
O problema é que os cursos ainda ensinam as versões mais neandertais das sintaxes.
São uma das várias sacadas do Rust. Ok, precisa de velocidade? Então pelo menos tenha o trabalho de escrever unsafe deixando claro sua intenção.
O pessoal adora novidade, nem sempre o novo é melhor, no geral só é mais fácil, e a linguagem coloca muita coisa por baixo dos panos depois de compilar.
Assembly, C e C++ São seres eternos!!!
tem que tomar cuidado com estas modinhas que aparecem
Concordo!!
Aposto que vc não manja nada de assembly
@@99Gara99 Pior que sim.. Em sistemas embarcados ainda se usa.
Uso assembly com bastante moderação somente quando algum cliente pentelho não quer usar um modelo “maior” de PIC e tem que fazer o firmeware caber naquela meleca de qualquer jeito.
Se houver a opção, prefiro trabalhar em C com um componente maior.
amemmmmmmmmmmmmmmm
Acabei de ler isso no reddit, parar de usar Windows desse jeito. Mas hoje em dia C++ possui smart pointers e não é mais tão inseguro assim, querem vender virtual machine para a galera, enquanto eles escrevem tudo em C.
Me atrevo a dizer que faz parte de alguma agenda nefasta....
Mesmo com smart pointers vc ainda não garante que seu código seja memory-safe, um buffer overflow e um ambiente de compilação mal configurado sem proteção de stack já é meio caminho andado pra uma vulnerabilidade como RCE ou Privilege Escalation.
E pra usar windos 11 tem que se registrar na microsoft vou comecar acusar so linux
Além disso tem os views que tornam a linguagem mais segura ainda
Se leu no Reddit está errado
Esse miserável é um gênio. Além de advogado é engenheiro de software que entende bem de linguagen C e segurança.
Ele não é engenheiro de software, ele fez faculdade de engenharia de materiais, direito e fez pós graduação em Cybersegurança (se eu não me engano).
Porém ele sempre foi um entusiasta da tecnologia e foi pra programação.
Eu trabalho com C/C++(8 anos) e como freelancer com Rust(6 anos) e Rust é muito show. Estou trabalhando em um motor para games em Rust e tá ficando fantástico.
Lá no trabalho utilizamos ainda muito C++ porque tem software legado e migrar custa muito dinheiro, seria 2 anos para migrar com uma equipe considerável. Mas estamos considerando o uso de Rust para projetos futuros. Fizemos vários benchmarks com protótipos e o desempenho é melhor ou igual aos em C++. Sobre os novos recursos do C++ como smartpoints eles são bons mais não o suficiente pois ainda é possível fazer besteira. Já em Rust o analisador é extremamente eficiente e consegue detectar vários problemas em tempo de compilação principalmente sobre referências nulas, empréstimos, contagens de referência, corrida de dados e etc. Os únicos pontos negativos do Rust hoje é que ainda falta mais bibliotecas em seus repositórios e não é possível criar bibliotecas compartilhadas com tamanha facilidade.
Opa colega de boa? Queria te perguntar em que nicho de empresa vc trabalha, pq eu quase não encontro oportunidades em C++ para trabalhar a não ser web e até isso é difícil... Hoje estudo LLVM e tento criar uns compilers e sinceramente não acho nenhuma vaga nesse nicho aqui no br... Só pra saber mesmo.
@@ttz8488 eu trabalho com software para desktop. Para vagas em C/C++ vc vai achar jogos, sistemas de pagamento normalmente vão C++ e Java, também tem embarcados.
Só que existem poucas porque no Brasil o mercado é muito focado em desenvolvimento web.
Da uma procurada no LinkedIn. Mas estude viu kkkkk porque a concorrência é grande.. Tem muito coroa com uns 12 anos desenvolvendo em C++.
Opa , Anderson, sou estudante de Ciências da Computação, nunca encontro vagas de emprego para C ou Rust, muito menos estágio, gosto muito desse nível de programação, mas no Brasil parece ser muito fraco. Você poderia me falar se trabalha para o exterior e se os freelances também são para a gringa? Agradeceria muito a explicação.
Respondendo ambos.
Trabalho para uma empresa brasileira.
De fato o mercado de baixo nível no Brasil é pequeno. No começo trabalhei com desenvolvimento de jogos e depois entrei em uma empresa que tem linguagens de baixo nível em sua stack, voltada pra outro nicho.
O que pode te ajudar a achar vagas no Brasil de C/C++ ou Rust é o LinkedIn. Mas são bem poucas, comparado com outras stacks.
Nas minhas tentativas encontrei desde empresas de jogos, até empresas que prestam serviço para bancos.
O que pode ser bom para sua stack C/C++:
Saber um banco de dados relacional (Postgres ou MySql)
Qt Framework
Cmake
Linux
Valgrind
GDB
C++ 17
nlohmann JSON ( muito boa)
Boost C++ (Asio é importante, socket async)
Saber diferença entre paralelismo e simultaneidade.
Https
TCP
Para Rust:
Você vai encontrar alternativas para Boost em Rust, como a Tokyo.
Para HTTP Server, tem a propria Tokyo e tem a Rocket.
Qt é importante tbm principalmente pra fazer interfaces.
Para Json tem serde + serde_json.
Leiam as documentações.
Importante que você tenha em seu Github um software que use alguns desses recursos que citei para você apresentar em uma possível entrevista técnica.
Seja criativo.. eu na época criei um motor de jogos em C++ e usei em uma apresentação (e passei)
Você pode criar um servidor HTTPS com Boost e um outro software usando Qt enviando valores para o seu servidor e salvando no banco de dados e etc.
Enfim você precisa ser criativo e exercite seu conhecimento. Um cursinho de vez em nunca é de mais, mas nada de portfólio pronto de curso com pokedex, pelo amor de Deus.
E por último.. Não querendo desanimar mas o mercado de devs esfriou um pouco (2024). E não desanime com um NÃO. Eu tomei mais de 70. Fora os que nem responderam.
E se você conseguir uma vaga como Júnior, bote as mãos para o céu.
@ttz8488 @eliongalvao8434
@@ttz8488 demorei mais respondi.
C e c++ é a base de tudo.
Além do mais, nenhum sistema é seguro.
binario é a base do assembly que é a base do C que é a base de tudo
Só as urnas kkk 😂
@@Dragonweboficial se vc tiver 12 horinhas sem ser visto e conhecer a construção dela de cabo a rabo vc pode invadir
não existe nada a prova de falhas, o problema não é esse afinal, o grande porém de usar o C é simplesmente ser menos seguro do que as outras linguagens que são inseguras, mas em comparação a outras são muito mais seguras, mesma coisa no caso das urnas, é perfeito? nada é perfeito. é melhor que as alternativas? isso daí já cabe a você pensar um pouco.
@@DarksterBR sarcasmo mano kk.
Agora por casa dessa notícia é que C e C++ vai deslanchar e voltar ao topo kkkkk
Acho a msm coisa o povo gosta de irritar.
Claro... igual Java 😅
Acho que não devamos desmerecer o Rust.
Bjarne Stroustrup agora apoia alterações de segurança visíveis na própria linguagem, compiladores e bibliotecas - type safety seria uma primeira ideia - e não apenas em ferramentas específicas para essa tarefa. Stroustrup afirma que “o C++ pode fazer tudo o que Rust faz”.
sim, porque o governo americano é especialista em programação segura 😀
falando nisso, o governo americano já tem uma linguagem "segura", chamada "Ada" ... que ninguém usa
E quando deixou de estar no topo? Tudo que é relevante é feito em C
Se o governo recomenda... estou com pé atrás.
Não se assuste, vou te ajudar a entender. O governo sabe que a população está emburrecendo. Não vai ter programador bom o suficiente pra gerenciar memória no futuro. Usem Rust desde já, porque a nova geração não vai manter nada que tenha que calcular.
A guerra contra a China é no plano das ideias.
Quem lê e rastreia a biblioteca que usa?
Escrevi esse comentário mais acima:
Pode ser um pouco de paranóia minha, mas quando vejo algum governo recomendando algo desse tipo eu já fico logo com o pé atrás. Não sei se foi o governo americano que recomendou o Rust, mas se foi, acho mais complicado ainda e suspeito.
Não tenho nada contra a linguagem, muito pelo contrário, mas o único problema que eu vejo no Rust é o fato de ser uma linguagem nova (Rust é de 2015). Por esse motivo eu acho um pouco perigoso (re)escrever aplicações críticas nessa linguagem, porque seria necessário observar por mais tempo como ela se comporta. É necessário mais tempo de maturação.
Falando especificamente de questões políticas, de vigilância, perseguição etc, eu sempre lembro que o Linux é uma alternativa para escapar de sistemas que têm mais chance de ter coisas te monitorando, como os proprietários (Windows, MacOS). Por isso mesmo, eu penso que mais cedo ou mais tarde o Linux será alvo de tentativas de implantação de sistemas de vigilância. Por mais que seja de código aberto, acho que ninguém fica monitorando todos os pacotes binários que são instalados no seu Ubuntu né? Eu não faço isso. Então isso se torna um ponto de vulnerabilidade. Reparem que em alguns ecossistemas, como o NodeJs, por exemplo, já estão aparecendo muitos casos de pacotes contaminados com malware. Ou seja, aquilo que supostamente deveria ser algo controlado, monitorado e seguro, acaba tendo problemas também. Até as lojas do Android e da Apple também têm problemas. Imagina se houver alguma ação pontual (intencional) em alguma dessas empresas com o objetivo de afrouxar minimamente a verificação do que é publicado nas suas lojas ou repositórios de pacotes? Por isso é que eu acho que o governo americano recomendar algo específico (se é que isso aconteceu mesmo) é suspeito.
Rust tem seu mérito. Olha o que o criador do C++ quer fazer.
Bjarne Stroustrup agora apoia alterações de segurança visíveis na própria linguagem, compiladores e bibliotecas - type safety seria uma primeira ideia - e não apenas em ferramentas específicas para essa tarefa. Stroustrup afirma que “o C++ pode fazer tudo o que Rust faz”.
Não é só JNI e tal, tem um monte de biblioteca por aí que são abstrações de bibliotecas em C ou C++ e volta e meia aparecem erros de estouro de pilha usando essas bibliotecas. Inevitavelmente a solução é contratar programador que sabe o que faz e não estagiário.
Literalmente tudo é feito em C e Assembly, foram as linguagens que provaram ser as melhores do século passado, duvido que vão ser substituídas.
Irmão qual foi o ultimo app "escrito em assembly" q tu usou? Literalmente ja era, e C é usado quase unicamente pra casos ultraespecificos de programação de microchips e coisa do Linux, literalmente ja era
@@rbda8921 Me diga, tu acha que essas linguagens: Python, Rust, Go, Scala, Java foram escritas em o que? Ou melhor, os compiladores, lexers, parses, e mapeadores de memórias dessas linguagens, Lvvm, Clang, Gcc, Intel C+ também são feitos nessas bases referidas acima. Qualquer tecnologia inovadora ou que sirva de base para outras pega nas bases mais antigas. Se nem ao menos consegue entender a importância dessas tecnologias não merece ser chamado de desenvolvedor.
@@caio757realmente é isso que penso.
@@caio757 as whells do Python por exemplo são totalmente escritas em C, o argumento do cara acima é inválido.
O homi não para nao tem jeito 🔥
Para quem acha que o problema é linguagem C e Assembly, venho a te apresentar o OpenBSD, o OS mais seguro que existe, se não acredita PESQUISE.
Rust é uma linguagem excelente porém ainda falta muito para substituir C, um passo importante para que isso aconteça e está em andamento é a implementação de Rust na kernel linux. Lembrando que Rust usa LLVM que gera o IR Code que é usado para gerar o código assembly.
Pesquise sobre OpenBSD(OS focado em segurança), SEI CERT C Coding Standard(como melhorar a segurança de seu código C), LLVM(é uma infraestrutura para compilador)
creio que todo mundo sabe o que é openbsd, sim ele é o SO mais seguro de todos até mesmo que o linux, além que ele tambem é muito implementado em servidores que usam e abusam de velocidade, alem do kernel do bsd que da portas ao MAC a mais ou menos sempre kkk porem achei interessante isso sobre "SEI CERT C Coding Standard" vou pesquisar sobre
3:30 -> Brigado , Peter. Também adoro ocê 🤪
Peter se declarando em chicobentês
meu deus que video foda, obrigado, eu tava finalizando a materia de Sistemas Operacionais 2 e mergulhei em teu canal e achei essa maravilha de curso da sua playlist: "Curso SegDesSoftware". Obrigado por disponibilizar conteudos educacionais de graça, espero que receba em dobro meu querido
@@lipe1393 Entra no canal dele e vai em playlists, ele deixou como publico. A playlist se chama "Curso SegDesSoftware", la tem 22 videos... o que ele abordou em especifico aqui no video foi: "SegDesSoftware - Aula 05 - Módulo 02 - Buffer overflow".
Hora de estudar mais C e Assembly!
Em troca da sua sanidade
@@arturvarela9542 Claro, claro... Porque "sanidade" é ficar na trivialidade do Python, por exemplo, e ainda querer se gabar, pagar de programador.
@@Öyster_Boy Mano, pior que essa galerinha Nutella que chegou no boom da pandemia tá foda mesmo, o tanto de gente com medo de JAVA (Isso mesmo, JAVA) não tá escrito no gibi. C,C++, ASM? Oxe, eles se cagam de medo,kkkk.
@@Öyster_Boy based.
@@Öyster_Boy Eu programo em binário
Corrija-me se estiver errado, mas creio que esse tipo de problema só acontece em ambientes bem defasados. As versões mais novas de C e C++ nos sistemas operacionais mais novos irão fazer a aplicação terminar com um segmentation fault em qualquer situação dessas. Alem disso, isso pra mim é muito mais um problema de gestão de software do que das linguagens propriamente ditas.
Corretíssimo!
Não. Qualquer comportamento indefinido (UB) nessas linguagens pode expor inúmeros bugs e vulnerabilidades no sistema.
@@dhay3982 O problema que o comportamento indefinido parte do proprio programador, que em vez de aumentar o nivel de warning e tratar warnings como erros, prefere ter 1k de warnings no codigo e fingir que tudo esta certo. Ou saem fazendo c-style cast em tudo e dane-se... a maioria desses programadores sao mediocres e nunca sequer leram uma ISO do C++.
@@dhay3982Qual é a linguagem que é 100% definida?
@@data9kcorretíssimo mesmo.
O modo protegido dos sistemas operacionais modernos cuida disso.
O ponteiro de instruções só executa aquilo que está na seção de texto, o ".text" do assembly. Logo nos sistemas operacionais modernos, todos, esse tipo de ataque não é mais possível.
Só me espanta o Peter não saber isso, isso é assembly básico.
O marketing do Rust é muito poderoso realmente.
Pois é, tentaram fazer isso com o C# mas não colou, agora vem o Rust, kkkkk.
@@Alexandreofbh C# é uma paixão secreta minha. kkkkkkkkkkk
Não entendo essa crise que as pessoas têm com Rust. Performance igual (ou superior) a C e pronada a evitar erros de programação. Qual é a crítica?
@@Alexandreofbh C# nunca se propôs a substituir C ou C++.
@@emanuelbaldissera6510 Realmente, para fazer aplicações para windows é uma maravilha mesmo. Eu já usei muito tambem e gostei demais, porem as bibliotecas de baixo nivel que precisava de performace para fazer contas, eu criava em C puro e chamava elas atraves de chamadas via DLL usando as famosas delegates de C#.
Todas as liguagem tem a sua beleza!!!
Tem um livro que eu gosto muito de um autor chamado Robert Sebesta, que fala de um monte de linguagens de programação (Concepts of programming languages).
[]´s
C++ é uma linguagem segura se o programador usar o RAII (Resource Acquisition Is Initialization). Sem o uso do RAII o C++ é igual ao Rust no modo inseguro. Daí é melhor desconfiar do que deve ter sido escondido pelo G0vern0 no compilador do Rust que tem um Overhead enorme, ou seja, tem um código enorme que não foi gerado pelo programador, mas está em todos o executáveis Rust. Tirando a questão do Overhead, o Rust é um pouco mais rápido que o C++. Imbatível, porém, é o Zig: Overhead minúsculo, dezenas de vezes mais rápido que o C++ e o Rust e tem proteção de memória. Por que a Cas4 Brqnc4 não recomenda o Zig? Desconfie…
Exatamente. É o gov tirando o poder de controle dos dev. querem enfiar essa linguagem pra espionagem. Querem o controle total. Prefiro C e C++ onde posso escovar os bit, do que confiar em palavras de governantes corruptos, sedentos por poder e controle social.
Seria ao meu ver, mais correto corrigir esta falha nos compiladores, impedindo compilar funções que não verificam o tamanho dos dados.
Já esta linguagem é muito recente, não passou na prova do tempo. Quem realmente sabe que tem escondido???
Prefiro escovar bit que confiar em gov. Diante disso, já nem vou estudar esta linguagem. Vou ficar em C++ mesmo, até porque muitos dos meus trabalhos são embarcados e em PIC e Atmel.
Your authenticity is like a breath of fresh air in a crowded space. The way you share your personal experiences is genuine. Keep being that guiding light in the community!
Ponteirofobia agora? O mundo roda C, C++, quem não garante que a NSA tem backdoor nesses compiladores que recomendam? Isso ja aconteceu antes...
A geração Z nao consegue programar nada que preste mesmo, ai a culpa é da ferramenta
começou quando trocaram master por main
Quanta conspiracao, puta que pariu. N eh geracao Z n. Sao os programadores no geral e a industria que fode todo o processo de desenvolvimento. Geracao Z n programa em C nem C++, MUITO MENOS em assembly kkkkkkkkkkkkkkkkkk
Eu to começando como DEV e sei programar em C e C++ alias amo de paixão esse tipo de programação, que te força a programar de verdade! Programador que joga coisas para as API vira um mero comsumidor de libs
Tinha que ser idoso pra xingar a geração Z, sendo que quem está criticando a linguagem C são pessoas com mais de 40 anos, parabéns.
@@luizhp sua resposta entra na categoria: "mas QQ o c* tem a ver com a calça?"
Oq tá deixando dev sem cabeça é framework que "faz tudo" e esconde a parte complexa.
Pessoal, vocês não precisam ser contra ou a favor de nada. Eu trabalho com C++ e estou muito seguro do que faço, e ainda assim estudar Rust tem me dado insights que eu não tinha durante a programação. Saibam aproveitar os recursos que estão aí, sejam os melhores no que fazem, seja usando C++, Rust ou o que quer que seja.
C é programador raiz, se observar muitas linguagens tem alguma influência do C.
Cara, você explica muito bem, você é fodastico
Sensacional esse curso. Deveria atualizar e colocar novamente e nos dizer que já está disponível. 😜
Cara, eu sou programador justamente de C, C++ e Assembly, e namoral, você tem muito mais controle sobre tudo com essas linguagens. É muito melhor.
Tem que parar de botar o filho e/ou sobrinho com diplominha de programador pra trabalhar no governo, isso sim. Precisa-se de Programadores de Verdade!
se o com diploma faz essas coisas imagina o sem diploma
Governo? Eu acha mesmo que o problema é esse? Porque tudo que o estado faz é perfeito e muito bom né, só os programinha de Pc compiuter feito pelo sobrinho do cicrano que não deram bom, o resto é tudo perfeito e não tem nem oq melhorar, tá serto 😅
No governo tem lei que impede o nepotismo.Lugar onde sobrinho trabalha com diplominha é na firma do papai
@@danielbueno2893 Programação vai alem do diploma irmão. Transcende um papel que uma instituiçao do estado te da para certificar que voce tem o conhecimento
Disse tudo.
Peter, excelente vídeo! Muita informação, bem explicada e sobre um assunto tão sensível como a segurança no tratamento de informações! Estava precisando assistir esse conteúdo! Muito obrigado!
É difícil.
Mesmo linguagens de alto nível, como o R, usam bibliotecas em C.
Para rotinas pouco recursivas até eh recomendável não usar C. Para rotinas críticas, porém, nem o assembly foi abandonado por completo ainda.
Acredito que a revisão de código por AI é o caminho.
Já tem placas gráficas assistidas por IA.. daqui a pouco vai ter os compiladores ... Com esses recursos de Review mais apurados
Não devamos desmerecer o Rust e se depender do criador do C++ pode ser diferente.
Bjarne Stroustrup agora apoia alterações de segurança visíveis na própria linguagem, compiladores e bibliotecas - type safety seria uma primeira ideia - e não apenas em ferramentas específicas para essa tarefa. Stroustrup afirma que “o C++ pode fazer tudo o que Rust faz”.
Mano, só aprendam a usar RAII e smart pointers, vai resolver grande parte dessa problemada toda aí e 99% das aplicações não terão problema nenhum com isso. Essa história de que C++ não é memory safe é pra quem nunca programou nada de verdade, ficou só nos exercícios de faculdade.
O mais interessante é que as linguagens de alto nível são baseadas nessas linguagens 😂
Eu fui explicar memória em um bootcamp e a galera ficou bolada. O povo não tinha a menor ideia de como ela funcionava.
As lib em python são todas escritas em C++
Vi um tweet que falava para devs aprenderem stack e heap, coisa que é no mínimo o mínimo que um iniciante deve saber, não um dev formado apreender
Hoje em dia muitos devs entraram na área justo com frameworks de alto nível de abstração como os Angular e React da vida, acabam que não aprendem esses conceitos mais elementares. Por isso em faculdade geralmente você aprende C para ser forçado a pegar esses conceitos mais basilares de programação.
@@ayrtondenner Corre o risco desses devs serem incapazes de desenvolver sistemas "na mão". Mas também cansei de ver vaga de emprego de empresa que pede Frameworks como requisito.
@@ayrtondenner Se o marketing do Rust estivesse voltado para essa área, eu não me importaria. Eu acho que Rust é promissor como sustituto do JavaScript. Mas em vez disso, eles querem matar o C!
Parabéns pela didática, obrigado por compartilhar 🙏
Cara, o Peter é foda, ele sabe mesmo de programação! Dá pra ver a confiança dele falando sobre o assunto, dá muita credibilidade pra notícia. Parabéns 👏👏
Ele falou um monte de bobagens amigo. Não leva muiito a sério não.
@@jcbritobr Quais foram as bobagens? Cadê seus argumentos? Seu comentário não significa absolutamente nada, pois não tem argumentos.
KKKKKKKKKKKKKKKKKKKKKKKK... Só um leigo pra achar que o Peter é um bom programador.
@@Öyster_Boy a partir de 10:40 é só um exemplo: dizer, repetir e enfatizar q o dinâmico é na stack e o estático é na heap, quando na vdd é exatamente o contrário. Daí dizer e insistir q as declarações "char nome[10]" e "int perfil" são feitas na heap, quando na vdd são na stack. Essa não é uma confusão menor mas um erro grosseiro. Há um abismo separando a stack e a heap e não é possível entender bem ponteiros sem a devida clareza desses conceitos.
Meus parabéns pelo canal, até que enfim encontrei alguém que de fato fala em tecnologia como deve ser falada
Sem ASSEMBLY, C e C++ não existiria nada, já que é a base de todos os sistemas, jogos, etc.
E tbm é a base de muitas outras linguagem. Largando a real acho q n vai mudar nada e vai continuar na msm.
Basicamente, ele está dizendo que embora as linguagens como Python, Java, C#, e Rust sejam construídas usando C e C++, não é recomendado usar essas linguagens de baixo nível para criar sistemas de backend que precisam ser muito seguros e que vão crescer muito, porque isso pode afetar a segurança a longo prazo. Ao invés disso, essas linguagens deveriam ser usadas para tarefas específicas, como rodar bibliotecas que necessitam de processamento intenso e oferecem mais segurança, seguindo certos princípios de programação.
Gente, pelo amor de deus, assembly não entra no pacote C e C++. Assembly é a linguagem mais próxima da linguagem de maquina, C e C++ é um outro tipo de linguagem de mais alto nível. São coisas diferentes.
sem assembly, c e c++ existiria outras que fariam a mesma coisa so teria nome diferente kkk
ex: python e ruby
A comunidade vem adotando Rust em detrimento de C/C++ a anos, a mudança é devagar, mas muitos ousaria dizer que ira ocorrer, Linux vem substituindo sua arquitetura Kernel pouco a pouco a favor de Rust, Microsoft anos atrás fez um comunicado que teria planos para substituir seus produtos críticos para Rust, Cloud Services também vem passando a substituir, Cloudfare, AWS e Azure, até a Google no Android e Chrome.
NVIDIA deixou Rust como opção no seu novo projeto de Automação Segura de Veículos, não o escolhendo, muito provavelmente, pelo fato de não ter certificação ISO, mas só o fato de ter competido com Ada é absurdo.
Estudando o Rust estou aprendendo mais de C.
As mensagens de erro do Rust quase que te dão aula.
cara muito bacana a sua explicação, estou estudando uns tópicos de segurança, engenharia reversa, e vc simplesmente mandou super bem em explicações q costumam ser tópicos demorados pra passar
Será que é pq ele é pos graduado em cybersegurança ?
Mais uma vez, culpam uma ferramenta. Daqui a pouco, aparecem os "matadores de linguagem de programação".
Programadores "Lacrati" ai é demais. rs
O problema é ficar dependendo de humanos kkkk imagina seguir esse pensamento para maquinas de fábricas por exemplo, falar que a pessoa se acidentou só porque não sabia usar. Não é assim que deve funcionar, na prática as fábricas devem investir em equipamentos mais seguros para evitar até mesmo as falhas humanas.
Claro que há exceções onde isso não é possível
N acho que tao culpando a ferramenta n, eh pior ainda. Tao reconhecendo que os devs n tem capacidade de gerenciar memoria, seja por problemas estruturais no desenvolvimento de software, ou por falta de capacidade tecnica msm. Eles n estao culpando a ferramenta mas, sim, escolhendo a solucao mais facil. O problemas eh q n faz mt sentido. N faz sentido jogar assembly e C/C++ no msm barco, por exemplo. Sempre que a gnt precisar de otimizacao, vamos recorrer ao assembly. As vezes o compilador faz otimizacoes que n garantem seguranca, por exemplo. E, ai? Obvio que a gnt precisa de gnt sabendo assembly, e programando bem em assembly
@@matheusaraujo6445Brother, você não consegue usar GUI por exemplo em Rust em modo seguro, todo app Rust é inseguro por design... Como fica?
@@leonardodias3393 quem trabalha tem c++ tem o dever de gerenciar a memória, e hj tá ainda mais fácil com os smart pointers, que o programador sequer precisa se preocupar com isso mais.
Você é um excelente professor! Obrigado!
Xiii... se partiu do governo então "tem caroço nesse angú".
Bem provável que o ideal seja o exato oposto.
Bingo !!!!!!!!
KKKKKKKKKKKKKKKKKKKKKKKKK O CARA VIVE NUMA TEORIA DA CONSPIRAÇÃO KKKKKKKKKKKKKKKKKKKKKKKKKK
@@masterdoxbox N sei como conseguem kkkkkkkkkkkkkk
relaxa, é código aberto, a questão é que o governo não quer perder dinheiro com gente fazendo merda.
@@masterdoxbox Vc confia no governo ?
Muito bom video, parabéns pela explicação.
Não conheço assembly e nunca trabalhei na area de ti.
Mas com o pouco que sei, esses problemas de C seria fácil de resolver.
Bora focar ainda mais em C++
E Rust também.
Bjarne Stroustrup agora apoia alterações de segurança visíveis na própria linguagem, compiladores e bibliotecas - type safety seria uma primeira ideia - e não apenas em ferramentas específicas para essa tarefa. Stroustrup afirma que “o C++ pode fazer tudo o que Rust faz”.
Usar o valgrind antes de mandar pra produção pode ser uma boa alternativa tb. Ele mostra erro de tudo quanto é jeito.
Era a noticia que eu precisava ouvir. Vou largar o Python pra ir pro Assembly... Deve ser tranquilo.
kkkkkkkk quando eu ainda me aventurava com programação, eu tentei, mas desisti kkkkkk C já de outro mundo, imagina Assembly que parece que tu falando com um alien.. Na boa, talvez escrever um código analógico totalmente em binário, seja mais fácil que assembly kkkkkkk
boa sorte kkkk
Eu adoro esses seus 2 canais, safesrc e Amcapsu!
kkkkk como assim "ninguém usa Windows 10?"
Olha o Market share do Windows 11. Praticamente NINGUÉM usa Windows 11, vc inverteu as bolas. Microsoft já está preparando o mercado para receber Windows 12 e quando finalmente o suporte do 10 acabar no ano que vem, a grande maioria dessas pessoas vai migrar direto para o 12 e ignorar o 11.
Market share Windows 10: 66,24%
Market share windows 11: 27,83%
Ah, além disso, o kernel do Windows 11 é o kernel do 10. A diferença é apenas o shell gráfico que é aquele que ia ser do concorrente do ChromeOS. Até os módulos que fazem o 11 ser '"mais exigentes" em questão de segurança já existiam no 10. Somente no próximo update (24H2) que seu funcionamento vai ser mandatório para bootar o sistema, mas isso poderia ser muito bem feito no 10. Tudo QUESTÃO DE MARKETING.
Tudo pra forçar o público num sistema com menor performance, mais bloat, telemetria e espionagem.
@@lmaobrickedPelo que eu vi de problemas de performance do Windows 11 a culpa é da Intel que pagou a Microsoft para não dar atenção aos recursos da AMD e se possível sabotar. Primeiro começou com aquela putaria de P-Cores e E-Cores que todo mundo desabilita na BIOS, tudo para pararem de reclamar que Intel tem poucos core e AMD muito
Depois começou sabotando aquele negócio de distribuição de tarefas entre núcleos para ferrar a AMD, de forma que o Windows 11 fica trocando informações comuns entre cores de diferentes CCDs, o que obriga os dados a passarem pelo Infinity Fabric e ter problemas de gargalo e até cagar para os caches gigantescos dos novos Ryzen
Sobre telemetria, um dia a Microsoft vai enxer o saco pq vai ter um monte de dados de telemetria nos servidores deles que vai consumir espaço pra cacete sem nenhuma utilidade e eles vão largar o Windows e migrar tudo para Linux.
Parabéns pela aula top 10 de alocação de memória. Obrigado
quem programa em C++ sabe que com smart pointers bem utilizados, esse problema é mitigado a QUASE 0
A palavra chave aí é o "quase"
@@safesrcEm Rust, os problemas também são quase 0 🤔
@@safesrcnão existe nada 100% seguro
As viúvas do C chorando kkk
@@guilhermedinizdosreisgomes5030 espero que esteja usando um telefone Android pra falar isso....
Peter é foda advogado, da área da ti, youtuber, engenheiro e em hora vagas modelo de sunga.
Tem uma galera que comenta aqui que parece ter nascido programador sênior já.
Kkkkkk
São os chiuauas da programação.
Tudo aprendido com gpt kkkkkkkkk aí acham que são seniores
@@danielborges7918Aonde aprende não interessa se o cara sabe mesmo blz.
Não tenho agulha pra dizer se Rust é superior ou não, mas eu diria que grande parte das falhas de segurança vem da incompetência de programadores, e não de suas ferramentas.
Seres humanos são difíceis de mudar. Uma ferramenta melhor pode resolver o problema.
@@safesrc Enquanto o domínio da educação estiver sob as mãos do estado, e não das pessoas, também não serei muito confiante na mudança dos seres humanos kkkkk
sistemas embarcados usam na maioria C e C++, imagina o tamanho do problema kkkk
poderia ter um programa de dev que de maneira externa resolvesse esses erros comuns do c++, o programa iria lendo o codigo e arrumando o codigo como se fosse nativo dele, mesmo sendo externo, ai facilitaria para dev q costuma cometer esses erros, tipo um corretor ortografico mas para codigo
Já tem é o chat gpt
Essa é a recomendação mais abjeta possível. Problemas de memória vem de mau uso das linguagens.
Além de ser complicado no Rust toda hora tem que definir oque é safe e oque é unsafe, gera é mais problemas, além de não ser uma linguagem estável todo ano modifica-se quase ela toda.
claro, todo mundo vai ser o mestre da linguagem e junior ou iniciante não existe né? Todos os desenvolvedores tem dominio total da memoria, tanto que não existe memory leak ou outras vulnerabilidades. Tem que avisar os caras lá, que eles estão fazendo burrice.
Já existe Modern C e Modern C++. E mesmo em assembly, podemos utilizar recursos do montador que facilitam o uso de memória.
@@healord51 Entendo sua revolta. Mas eu falei especificamente sobre usar as novas sintaxes, conhecidas como "Modern" e que evitam os problemas todos de erros e esquecimentos. O meu ponto é que se ensina até hoje uma linguagem C e C/C++ antiga e que já evoluiu. E as novas sintaxes são até mais simples.
Basta começar pelo mais moderno, ensinar nas faculdades e cursos as novas sintaxes primeiro que os novatos irão inclusive contribuir para limpar o código velho e sujeito à erros.
Segurança não existe, ela é apenas uma sensação.
Bairrismos à parte, Linus Torvald e a Fundação Linux já declararam que vão gradativamente reescrever o Kernel em Rust.
A adoção do Rust em detrimento de C e C++ não é mais uma questão de preferência pessoal.
Por ter aprendido a programar em linguagens fortemente tipadas com controle determinístico de alocação e liberação de memória de forma disciplinada, eu adorei Rust e gostaria de usar pra tudo, inclusive pra web, independente do requisito desempenho.
Eu odeio a vulnerabilidade de linguagens fracamente tipadas ou pseudo-tipadas como Javascript e Typescript.
Acredito que a maturidade de Rust + WebAssemby chegará no Tipping Point muito em breve, mas o mercado mobile continuará com Flutter e linguagens nativas.
Linus Torvalds nunca falou em reescrever o kernel em Rust, ele falou em adotar o Rust em alguns drivers do kernel. Simplesmente não tem como reescrever o kernel em Rust por conta das outras plataformas que o Linux suporta, e sem contar que -Osize é extremamente importante pra essas plataformas mais obscuras.
To aprendendo Rust recentemente, principalmente para sistemas embarcados, to gostando muito, maioria dos erros sao em tempo de compilador, entao por mais que seja chato voce sabe que se compilar voce ta seguro no quesito memoria.
Confere que gera binários gigantes?
@@RicardoBastos_ Sim, a compilacao em modo release acaba demorando, mas parece que vem uma atualizacao agora que ja ta em testes que vai reduzir bastante.
@@techbytefrontier Sobre os problemas pegos em compile-time, os compiladores do c++ nunca vem com nivel de aviso no maximo e nao tratam avisos como erros, se habilitar ambos, 99% dos problemas sao resolvidos.
A IDE da MS (visual studio) agora ate exibe o comportamento do seu codigo, isto eh, detecta que tem um buffer overflow e explica como ocorre sem a necessidade de compilar, com os novos recursos de seguranca sendo implementados a cada ISO, c++ vem garantindo cada vez mais seguranca.
Veja, se comparar c++98 com c++20, c++98 parece C. Acontece que MUITAS dessas empresas estao presas a C++98 ou C++03, algumas ja chegaram a C++11 que foi a ISO que mudou a maneira de escrever c++, outras estao em c++14 e as mais ligadas ja estao migrando para C++17, enquanto isso as ISOs do C++20 e C++23 ja foram finalizadas, C++26 ja esta sendo discutido no comite. Alguns compiladores ainda tem pequenos recursos pendentes em c++20, comecaram agora a implementar c++23.
Se um programador ler o draft da ISO, seguir o c++ core guidelines, aumentar o nivel de aviso e tratar aviso como erro, c++ se torna uma linguagem segura.
Mas os programadores fazem isso? Percebe como a mediocridade condena c++?
Abandonem a linguagem das máquinas e usem a dos leigos... assim, quando EU, o ESTADO DEMOCRÁTICO DE DIREITO resolver te sacanear, vc JAMAIS conseguirá revidar!😂🎉😂🎉
Partiu Assembly, Hex, Binários 0 e 1!
faz sentido nenhum seu comentário kkkkk
vixe, isso mesmo, Abandonem a linguagem das máquinas e usem a dos leigos, assim ninguém vai conseguir desenvolver um software com processamento o suficiente pra descobrir que na verdade a terra é plana e a nasa está escondendo tudo, bem que eu sabia que eles usam python pra tudo lá
Programação é um saco. Só uso Python.
@@diegocantelli Eh a galera conspiracionista ancap que acompanha o cara
sem xorin@@leonardodias3393
Peter.... nesse video voce mostrou um completo desconhecimento de Rust. Tudo bem, nao é sua area.
Rust tem uma performance melhor que c++, o custo que ele paga é o tempo de compilacao que é BEM mais alto.
Rust pode sim ter multiplos ponteiros apontado para mesma area da memoria, basta usar um RC (reference counter).
Oq o rust tem é um sistema de ownership, onde cada bloco de memoria tem um dono, e quando a stack é limpa, o Rust automaticamente faz o DROP de todos os ponteiros da qual a funcao é dona.
Serio, nesse video acho que voce cometeu um grande vacilo, pois muita gente agr vai ter um entendimento errado de como Rust funciona....
Todas as verificacoes do compilador do rust para garantir a seguranca do codigo sao cost-zero abstractions, o codigo é depois que passa pelo compilador convertido para assembly sem custo.
@@vitordeoliveira6139 concordo. Estufou o peito como todo fanboy de linguagem faz, sem dar a chance para outras por preconceito.
"Rust tem uma performance melhor que c++"
Nenhum benchmark prova isso.
C++20 atingiu um ponto crucial, a lib zppbits eh um excelente exemplo, foi escrita com c++20 e serializa em compile-time, apenas emite memcpy que eh otimizado pelo compilador, totalmente type-safe e zero-overhead em runtime, inclusive a serializacao esta nos limite da chamada para memcpy que eh escrita em assembly.
Isso nao eh possivel com rust.
Quando o governo sugere algo faça exatamente ao contrário.
Caraca, conheci você pela política e não fazia ideia de que tu era da computação. kkkkk
e ainda é advogado. O Peter tem mais empregos que o Julius.
Odeio os comentarios dele no outro canal, acho uma idiotice esse movimento ancap. Mas o pter eh mt foda em seguranca, que tbm eh minha area. N tem como deixar de acompanhar
Eu acho o contrário @@leonardodias3393
Então não segue o canal ancap ué... rsrsrs
@@leonardodias3393 Ele tem que se desapegar do Bolsonaro. Quando Bolsonaro, inelegível(é um fato), indicar um candidato, aí sim.
Se os fascistas americanos falam pra mim fazer uma coisa eu faço outra, partiu usar QT + C++
Kkkkkkkkk
se o fascista falar que darocuéruim o que devemos fazer? kkkkk
Para que só tem martelo, tudo é prego
@@JoaoCarlos-mv2wj melhor resposta
📍Xique xique - Bahia
Entrei para ouvir a noticia e saí com uma aula!!! hahahahaha Vc é d+!!!!
Quando o governo pede para fazar algo, faça o oposto.
Poxa, programava em Assembly em meu primeiro computador... Um CP-300 Prologica TRS80!!! usava fita cassete como armazenamento!
É uma medida bem drástica. Sejamos sinceros, o rust te obriga a cuidar das variáveis e realmente, ao que parece, diminui esses tipos de problema.
Sim mas tem custo de desempenho
@@Balacypax ah, com certeza, comparar com linguagens interpretadas chega a ser covardia rsrs
Segurança tem mais apelo do que rapidez!
Se o governo ta recomendando algo, eu vou diretamente na direção oposta.
Aulão. Gostei. Mas alocar "Roberto Dinamite" não dá. É coisa de vascaíno. Rsrs. Aloca "Washington e Assis". Vai dar bom. Rsrs.
Por que eles estão recomendando linguagens como Python, Java, C# e Swift sendo que essas tem a base do código ou parte dele escrito em C ou C++?
Até mesmo Rust e Go possuem alguns componentes escritos em C e C++
Porque o objetivo é produzir código seguro. Nunca haverá zero códigos em C e C++, como nunca haverá zero códigos em Cobol ou Clipper ou dbase. Mas quanto menos, melhor.
@@safesrcpraticamente todos os sistemas operacionais são em c/c++, incluindo os maiores dbms, motores gráficos, sistemas embarcados, office, navegadores, a lista grande, isso é como querer substituir o oceano por coca cola!
A diferença é que é possível reescrever componentes de C e C++ em Rust. Não dá pra fazer isso com Python, Java, etc.
O problema é que C/C++ é a base das linguagens de programação mais usadas. PHP, Java, C#, Python e outras são escritas em C/C++. Segundo a recomendação deles, todas essas linguagens que tem seus compiladores/interpretadores escritos em C++ deveriam ser migradas para Rust. Ou seja, todas as linguagens voltariam para versão 0.1.0-alpha depois de ficarem meses tendo seus códigos reescritos para Rust. Seria um retrocesso muito grande em termos de maturidade, confiabilidade, credibilidade etc.
Certamente a Backdoor tá redondinha pro estado entrar sem ombros 😅
ANSI C - The C Programming Language, thanks to Brian Kernighan and Dennis Ritchie
Grande Dinamite! O maior de todos! rs
É bem divertido ver esses programadores "das antigas", sabichões, defendendo fervorosamente o C, Assembly etc, como se eles fossem excelentes programadores e os programadores de hoje em dia são horríveis. Agora vai lá e tenta usar um sistema legado feito por eles para você ver como É UMA PORCARIA CHEIA DE FALHAS e eu nem estou falando sobre dar manutenção, ou tentar escalar, só usar mesmo.
Linus Torvalds saiu do chat....
Gente, na real: em um mundo onde javascript está entre as três linguagens mais utilizadas, podemos esperar o que?
😂😂😂😂😂😂, até hoje eu não entendo porque usar essa porcaria.
@@bemoran7762 ainda não da pra codar sites usando c++
Na verdade o WASM pode resolver isso...
Porra, problema é a IMPLEMENTAÇÃO da FUNÇÃO, se ainda usam o C ansi lá de 92, deveriam fazer um REBUILD dessas funções...
Eu acho Rust bem legal, gostaria de poder aprender mais sobre a linguagem. Por enquanto só consigo enxergar ela da forma que está sendo usada, em sistemas operacionais, kernels e etc. Para softwares comerciais não sei se vai pegar pq é uma linguagem difícil de aprender comparado a outras como Python, C#, Kotlin e etc.
Mas Rust provavelmente vai tá na maioria dos códigos dr Kernel dos sistemas muito em breve. Windows e Linux já estão usando, não sei como estão no MAC mas é provável que já esteja lá tbm.
e outra o assembly e usado para parte critica em kernel em sistema operacional e sistemas embarcados não tem como larga o C e C++ e assembly pioro ir para o Rust compilação e lenta e execução também e lenta
Quem ainda programa em Assembly é de alguma ordem superior de programadores.
Peter, ja que você não vende mais ele (curso), disponibiliza para nós.
Ver se entendo os Misseis , Aviônica usando Interpretados. Vai dizer que desenvolver para embarcados .
O sistema do F22 Raptor é em C++ assim como outros vetores. Não é por obsolescência e sim interesse político.
Obrigado pela aula.
Java não é lenta, rasteja!!! Kkkk
Assembly, C/C++ são as linguagens mais seguras. Todas as outras os americanos implementam bugs de propósito para ser fácil hackear os sistemas.
Se o governo norte americana pede, eu desobeceço!
C++ tem os smart pointers pra fazer todo o trabalho de alocação e deslocação da memória
E Go, permiti ter dois ponteiros apontando para o mesmo endereço?
Peter, faz tempo que não programo, mas o acesso direto a memória depende do compilador e do sistema operacional. O C no DOS acessava a memória física e fazia um estrago. O C no OS/2 e no WNT acessavam memória virtual e não tinham acesso a nada fora.
Não entendi ... 🤔🤔🤔
Assembly não deve ser abandonado nunca, é o que tem de mais perto do hardware, a melhor maneira de controlar o sistema.
Deixa eu comprar mais livros de C e Assembly.
O cara que acredita na urna eletrônica falando de segurança da informação, é o mesmo que um instrutor de guerra na selva com medo do lobo mau.
🤣🤣🤣🤣🤣🤣 Né???
Se o governo manda ir por um caminho, eu vou por outro.
hahaha....tem um movimento de empresas e governos pra tentar controlar o acesso a desenvolvimento....em eletrônica fizeram parecido sugerindo uso de soluções prontas em vez de montar seus próprios circuitos e criando dependência das empresas grandes. No desenvolvimento tá a mesma coisa...criam uma linguagem usando c/c++ que limita o que pode ser feito pelo desenvolvimento...claro que pra quem penas quer uma solução isso é totalmente válido e aconselhável...mas os países tem que fomentar as tecnologias de base senão com pouco tempo vc fica dependendo das potências econômicas (gov e empresas).
Eu acho rust tao complicado... nada me convence que o codigo mais bonito possivel so pode ser escrito em C. Poucas linhas.
Já essas langs aí, se nao for 300 linhas, é 300 chars na linha pra fazer um print na tela.
Eu queria saber como C# pode ser seguro se com lspay é mostrado o código fonte igual vc escreveu antes de compilar?
E daí, em 1970 era quando guardavam senhas no código fonte.
Se os estados unidos recomenda uma ferramenta corra dela, Snowden que o diga!
comecei a estudar rust semana passada, depois de já ter estudado C na faculdade. Gosto muito das duas
Se o governo falou, é só fazer exatamente o contrário!!!