Os Softwares estão ficando PIORES? - As mudanças e o desespero por features da indústria
HTML-код
- Опубликовано: 22 авг 2024
- 👑 Seja membro do Diolinux: ruclips.net/user/di...
Neste episódio especial do Diolinux Responde vamos abordar um tema sensível na comunidade de desenvolvedores. Os softwares estão ficando realmente piores? Se sim, o que pode estar causando uma diminuição na qualidade do desenvolvimento? Nossos métodos de destribuição de softwares e produtos podem ser os grandes responsáveis? Vamos fazer uma análise profunda da situação, baseado em um belíssimo texto escrito por Isaac Lyman.
🔴 Vídeos exclusivos: • Diolinux Play (Exclusi...
📘 Cursos e séries exclusivos para membros: diolinux.com.b...
📩 Notícias do mundo Tech, Linux e Open Source: diolinux.com.br...
⭐ Todas as nossas redes sociais: diolinux.com.b...
🎤 Nosso Podcast: diolinux.com.b...
🎮 Nosso canal de Lives de games: diolinux.com.b...
🛒 Nossa loja (na Lolja): diostore.com.br
📊 Confira os benchmarks em detalhes: diolinux.com.b...
📬 Contato comercial: blogdiolinux@gmail.com
📎 Fontes e Links:
‣ Livro "Your First Year in Code": leanpub.com/fi...
‣ LinkedIn Isaac Lyman: / isaaclymandotcom
‣ Post original no Stack Overflow:stackoverflow....
‣ Post na aba da comunidade com a enequete: • Post
‣ Software Disenchantment: tonsky.me/blog...
‣ Website Obesity: idlewords.com/...
‣ Sites tem dificuldades para se manter: www.niemanlab....
‣ O problema com continuos delivery: / why-is-modern-software...
‣ O vários lugares onde DOOM roda: www.reddit.com...
📹 Produção:
Roteiro e Apresentação: Dionatan Simioni
Edição e efeitos: Rafael Shikamaru
#software #programação #dev #apps
🔴Oi pinguins, eu respondi todas as outras dúvidas dos membros em um outro vídeo exclusivo: ruclips.net/video/OSpSZve_uHs/видео.html
cara... em 96, a galera tinha 2 pcs 386 ou 486 (sx ou dx), o 486 dx era mais comum, a memoria para eles variava entre 4 Mb (pouco) 8Mb (maioria usava) ou 16Mb os tops - De onde vc tirou "256" Mb na thumbnail? 🙂
Falou tudo e mais um tanto. Parabéns Dio.
Sim, Rob Pike já falou sobre isso há anos. A indústria estragou a produção de software de qualidade. Agora é framework em cima de framework, 300 bibliotecas por projeto, programador copiando e colando código que ele não faz ideia do que faz. O que importa é que tá funcionando, tanto faz se usa 30% da sua RAM.
Um bom exemplo disso são jogos. Pessoal usa as engines do mercado e nao levam em consideração que q aquilo é so uma base. Quem cria um jogo tem necessidades específicas, que vao levar a otimizações específicas,... Mas ai vai ter q mexer em código ne? Então deixa com queda de frame do nada mesmo, todo mundo faz jogo assim.... Pois é, por isso a sensação é q hj so tem porcaria. Antes, pra criar um jogo tinha q fazer milagre, tirar leite de pedra. Hj tem uma porrada de memória ram, armazenamento, núcleos de processador, etc. Entao ninguém capricha.
Quase que o windows 11 tá fazendo, concentrando 1000 coisas num sistema só e deixando o hardware obsoleto de propósito
Se pode complicar, para que facilitar?
bom isso sempre existiu, porém agora está demais e fora iinvenções de modinhas ai e é claro curso via youtube..kkk.. mesma coisa mecânica de um carro ai, o cara viu no youtube e já acha q é mecânico e sabe de tudo.. negócio tá bem feio.
muita teoria da conspiração
Dio, esqueceu de um ponto importante. O monitoramento. As aplicações estão fazendo algo que deixariam um spyware dos anos 2000 com vergonha. É telemetria que não acaba mais. Isso demanda recursos...
O Reaper é um exemplo de um aplicativo super leve de poucos MB que faz exatamente a mesma coisa que softwares de vários GB
Blender também é surpreendentemente otimizado até onde sei, e parece que o musescore também é depois da versão nova
@@CarlosSMA_ opensource né rsrs
Godot aí
vi aqui e o preço é bom, tem vários softwares assim com precinho bom e bom desempenho.
@@ewertonls_ Godot realmente é muito leve. Se comparar com o Unity chega dá dó do Unity.
Estou formando em Engenharia de Software e vejo que o processo de desenvolvimento ágil é muito mais abordado do que q qualquer outra coisa, como arquitetura de software ou gerenciamento de memória. As matérias tem um foco muito grande em entregar o software e em interagir com o cliente pra desenvolver recursos.
Realmente parece q se vc não for apaixonado por linguagens como C e C++, dificilmente entrará numa discussão sobre gerenciamento de memória fora de um fórum da linguagem.
Não só apaixonado por C/C++, tem que ser apaixonado por sistemas embarcados, pra ter noção real do que é otimizar software.
Eu posso dizer isso como programador full stack que mexe com embarcados também, são mundos muito diferentes.
E ainda assim o embarcado tem muito mais recursos do que no passado, o Arduino facilita muito também.
É por que você escolheu um curso sobre isso mesmo... o engenheiro de software está mais preocupado em como entregar o software e como mantê-lo. veja sua grade : ci/cd, métodos ágeis, arquitetura etc...
@@williansdutra Concordo, agora vejo que isso mesmo. Quando pesquisei antes de começar, n encontrei muita informação sobre as reais diferenças dos cursos de TI relativos a programação. Agora entendo melhor a diferença.
@@roneissu bom saber, já tive curiosidade com embarcados, mas n tenho mt tempo pra me aventurar em tudo. espero tirar um tempo no futuro pra aprender um pouco.
Sou engenheiro de software da Meta. E uma das coisas que falam bastante aqui é a respeito de memória, principalmente na web e no mobile. Uma coisa que vejo no mercado em geral é que muitos outros programadores estão preocupados mais se gosta da linguagem doq se a linguagem de fato é melhor para o caso de uso. Às vezes tu poderia utilizar Rust para criação de um jogo simples porém com um desempenho muito melhor doq feito na Unity por exemplo. Enfim, no final é a abundância de um monte de Dev que não se preocupa com a performance ou segurança do software e sim se é a linguagem do momento ou não...
Prezado Jovem: escrevo para dizer que 256MB estavam muito além dos sonhos em 1996. Nesta época tinhamos pcs de 4 a 8mb. Em 1999 um pentium 166mmx com 16MB de memoria custava 1500 dolares. Em 2001 os bons computadores domesticos tinham 128MB. A maquina mais top qie tive acesso em 2001 era um servidor de irc com 512MB. Grande e bagual abraço do interior gaúcho!
@Hely Reis Junqueira eu comecei na informática em 1988 em um MSX com 64KB de memória... Vc já começou com "mil" vezes mais memória... kkkkk EDIT: Processador 4,77KHz, memória 64KB e nenhum dispositivo de armazenamento de arquivos! A "informática" melhorou um POUQUINHO desde aquela época né?
Vim dizer o mesmo! Em 1996 era impossível um computador doméstico ter 256MB... As opções eram 4, 8 ou 16 MB. O sistema mais comum da época, o Windows 95 provavelmente bugaria ou nem suportaria tanta memória. A placa mãe da época podia até suportar algo como 128 MB, mas essa era uma quantidade mais comum lá pelo ano 2000 com Windows 98, ME ou XP. Instalar 128 MB em 1996 seria mais ou menos como instalar 128 GB em 2016. 256 então nem se fala...
@@marcusaureliusf CONCORDO! Em 1996 eu fui instalar um servidor Windows NT 4.0 novíssimo! Em uma CPU 386 que tinha 16 (DEZESSEIS) slots de memória!!! Todas de 1MB... o servidor custava o valor de um carro zero... kkkkkkk EDIT: Foi a única vez que vi tal absurdo de placa mãe e não recordo se era um server HP ou Olivetti!
Né, meu primeiro PC foi em 2003, 128m de ram, 20g de HD, Windows 98 e um Duron 1.0 ghz, uma configuração bem comun pra época. Me fez muito feliz jogando meu CS e FIFA nele. Na época das LanHouse, lá em 2006 um pc top tinha placa de vídeo de 128m, 512 m de ram, 40 g de HD e um processador com seus 1.6 ghz +-, era uma máquina pra rodar qualquer jogo da época.
Vdd, Em 1993 comprei um AT286 com 2Mb ! O que ja era um absurdo de memória quando comparado um TK93 de 1987 com 48kb rodando um Cad3D ou um MainFrame do mercado ! Quando a memória e o processamento barateou elevando os PCs ao infinito de recursos a qualidade de Soft não caiu, despencou ! Como comecei lá atrás com 48kb tudo que faço até hoje é sempre pensando em performance com o menor tamanho e isso fez com fabricasse softwares que pareciam ser mágicos kkk Hoje é comum pegar Soft de Gigabytes que da tela azul só de iniciar o aplicativo kkk
Eu mexo com muitos hardwares antigos e tenho a sensação que muito das coisas que se usam hj não necessitavam de maquinas tão potentes, como o próprio windows!
Pois é, pensa assim por auto, COMO um Master System, um ATARI 2600, um NES com processadores de 3 Mhz conseguem rodar LISO vários, não são poucos, jogos a 60 Hz (FpS) ?
Hoje em dia, vc precisa baixar atualização e até comprar um HARDWARE mais caro pra rodar qualquer coisa e ainda Bugando. Tipo, hoje, uma GTX 3080 Deveria ser uma força a ser levada por 20 anos mas já estamos na -G- RTX 4090 e olha o absurdo, VC é ou SERÁ obrigado a trocar de hardware pra rodar um jogo que rodaria em uma placa média como GTX 3050... Não faz sentido, tipo DOTA 2 e Counter Striker 2, Vc rodava o primeiro em uma máquina DDR2 800 Mhz de RAM e qualquer processador com boa placa de vídeo, hoje, Vc não roda NADA. Pra ter a mesma experiencia vc deve gastar e comprar uma GTX 2050 no mínimo. (É... estou usando placas da Nvidia porque é mais fácil de entender as gerações)
E Vai piorar porque agora os otários da indústria querem IA até no papel higiênico, vão exigir uma GTX 5050 no mínimo e isso pra quem usar Windows 11 e acima vai ser ridículo de absurdo, pra RUIM.
Acho que essa discussão faz parte também da obsolescência programada; antigamente os hardwares (PCs, celulares, consoles) duravam muito mais tempo então os programadores otimizavam o hardware pra extrair ao máximo tudo que dava de uma determinada plataforma - hoje em dia podem lançar esses códigos pesados e aí só falam que o usuário precisa fazer upgrade.
Até as distros Linux estão pedindo mais hardware
Verdade. O próprio Kernel Linux não consegue rodar em 64mb.
@@Toda_Ciencia mas em 64mb é difícil mesmo, se fosse 64MB até que ia.
@@MatheusSouza-lw9wv eu acho ruim que o Linux não consiga rodar em menos de 64mb sem compilar o próprio kernel.
Estão piores, acredito que por diversos fatores, mas o principal é o prazo de entrega. Hoje em dia está mais fácil entregar uma porcaria e ficar corrigindo por patch de atualização!
Isso se corrigir...
CyberPunk ai um grande exemplo disso.
Linguagens interpretadas e clean code são o principal problema, analises básicas mostram que clean code pode deixar uma tarefa simples 15 vezes mais lenta que se programar sem aplicar as abstrações do clean code, e já linguagens interpretadas são de 40 a 4 mil vezes mais lentas que linguagens compiladas.
@@gepetovovo2509 Tem coisas bem piores, The Last of Us pegou o trono de jogo mais bugado que já vi na vida, até mesmo os menus são lentos e bugados... The Last of Us conseguiu o prodigio de fazer minha maquina reiniciar diversas vezes, algo que nunca me ocorreu com o Cyberpunk. Enquanto o Cyberpunk tinha muitos erros de polimento de scripts para coisas pontuais, o The Last of Us era um bug generalizado, parecia que nem conseguia conversar com o meu PC... Por sorte, mesmo passando de duas horas a Steam me devolveu o dinheiro e consegui o reembolso daquele The Bug of Us...
@@ConanOGEstranho e, nunca vi ngm reclamando de TLoU
Realmente é um assunto muito válido. Sou desenvolvedor web e mobile, e vejo muito isso na indústria. Eu sempre tendo a focar muito em performance nos projetos. Mas a demanda sempre pede novos recursos e a um curto prazo de tempo. Isso que é o problema pelo menos na empresa na qual eu trabalho.. Acaba que a otimização vai sempre ficando em 2 plano
pior amigo e depois culpam vc..
Acredito que isso aconteça em todo ou quase todo lugar. O tempo de desenvolvimento é cada vez menor e, boa parte das vezes é o tempo exato ou, na maioria das vezes não dá tempo de finalizar a tarefa... o extreme go-horse bate forte em todo mundo e aí temos aplicações lançadas como pastéis em pastelaria, me dá mais um, tá na mão... como se fosse simples assim.
No caso tudo depende do projeto e o que é realmente necessário por exemplo em algumas aplicações atualização rápida constante fácil e estabilidade é melhor do que perfomance e em outros não.
E sempre vão acumulando dívida técnica.
Indústria de desenvolvimento de software é, no geral, muito ruim para bons profissionais.
O que eu sinto falta é que antigamente pra lançar um software ou jogo, ele tinha que estar "pronto" se saísse um software bugado tinha que fazer recall da mídia física ou correr o risco de levar processo, hoje tu lança um software pré alpha, cheio de falhas, e depois vai remendando com patches...
isso virou regra, pq o mercado ta a milhão
pressão constante
Isso acontece muito por causa do custo de se criar um software e principalmente por causa dos usuários não querem mais esperar, eles precisam colocar a mão no produto o quanto antes...
Mostrar que o software é confiável em uma hora é realmente complicado, mas a Google provou que da para fazer o contrário em menos de uma, com o Bard kkk. Voltando ao assunto, sou dev a uns 14 anos já (7 profissionalmente), e basicamente tudo que você falou tem um fundo de verdade, inclusive estou escrevendo um artigo sobre isso que irei publicar no meu blog.
Hoje, o Windows por exemplo, tem um desempenho inferior ao Linux, macOS, e até ao FreeBSD. A Microsoft tem dado muita atenção a coisas que "vendem o seu sistema como uma boa opção" ao invés de investir em coisas que não são visualmente perceptíveis. O usuário comum não vai notar 13-15% de ganho de desempenho de uma atualização, mas vai notar uma barra nova no Windows que utiliza IA para dar respostas as suas dúvidas.
Isso é padrão do meio comercial de tecnologia, no caso do Open-Source, há uma cobrança bem menor por entregar um produto cheio de recursos e uma cobrança maior por entregar um produto que funciona, tanto que muitos projetos Open-Source sofrem da falta de recursos/features, mas n sofrem de estabilidade e qualidade. O GIMP não tem suporte a JXR, por exemplo, e você precisará de plugins para isso, por outro lado, o GIMP é extremamente sólido e estável. Krita é outro exemplo, com uma qualidade excepcional que me faz até duvidar do fato de ser um projeto Open-Source e gratuito. E a campanha de Kickstarter deles em 2015 incluía entre os objetivos principais, melhorar a performance (sim, como um dos objetivos principais).
Ao invés de fabricar uma bolsa mediana, lotar de ferramentas e tê-la rasgando o tempo inteiro, a comunidade de código aberto prefere primeiro fazer uma bolsa super resistente, e depois se equipar com as ferramentas de alta qualidade aos poucos. Ou seja, ao invés de fazer quase tudo de forma mediocre, o foco é fazer poucas coisas, mas de forma excepcional. E com as várias comunidades compartilhando desse mesmo pensamento e todas juntando seus produtos de ótima qualidade, entregam algo melhor do que uma entidade sozinha tentando fazer tudo ao mesmo tempo, e muitas vezes, com bem menos pessoas.
No meio corporativo, você basicamente não tem muita liberdade para fazer coisas que não vão vender mais. Quando o fluxo de demanda reduzia bastante e eu ficava praticamente sem nada para fazer durante semanas, eu começava o trabalho de otimização dos sistemas existentes, quando surgia uma nova demanda, eu pausava até terminar a demanda. Quando eu entregava essas melhorias, os clientes percebiam uma grande melhora na usabilidade, mas isso não fazia eles quererem contratos mais caros e nem atraia novos clientes.
Ou seja, não faz sentido uma empresa gastar tempo e dinheiro com algo que não vai retornar nada, mesmo a qualidade sendo algo importante do software, contanto que esteja aceitável dentro dos padrões atuais que a concorrência vem entregando, já é o suficiente para não ser uma forma de atrito. Com isso estabelecido, é basicamente entregar coisas que irão vender mais.
No final, a falta de otimização nunca é por "quebrar algo que já funciona", ou por "ter sistemas muito complexos" (que na verdade é um sintoma da falta de qualidade, e não a causa), ou por levar muito tempo, normalmente não leva. O motivo pela falta é por não ser o foco mesmo, nem por um curto período sequer, até quando isso começa a se tornar um problema que evita a empresa de vender, ai vira motivo de urgência e de começar a discutir qualidade, até resolver e esquecerem da discussão até a próxima catástrofe.
Cirúrgico
Eu também sou Dev, trabalho +/- em uma SaaS, e na correria de entregar um monte de features, algumas que não são usadas ou são pouco usadas pelos usuários do cliente, somente focamos em terminar o mais rápido possível e pegar o próximo item da fila. Quando fico mais tempo no mesmo cliente, em features maiores, acabo trabalhando na otimização, que as vezes gasta mais tempo do que a própria feature.
As vezes também fico sem nada na fila e acabo vendo bugs menores que os clientes não reportaram ainda, ou otimizações. Mas agora estou até proibido de fazer isso, só podemos gastar o tempo de desenvolvimento codando features ou em tickets de suporte abertos pelo cliente, literalmente com uma empresa de fora olhando os commits e perguntando quem pediu aquele commit.
A questão sobre os usuários que não querem pagar me parece mais profunda. Acredito que o ponto chave seja a questão da concorrência. Um programa pequeno está em igualdade de concorrência com os das big techs, ou seja, ambos com a mesma facilidade de baixar. Porém os modelos de negócios são diferentes, com as big techs conseguindo faturar com os dados de usuários enquanto o app do João vai ficar nos centavinhos. É bem diferente no mundo real, quando o mercadinho do bairro pode cobrar mais caro porque tem o produto disponível perto do consumidor e imediatamente. Esse modelo de negócio consegue ser mais sustentável para os pequenos empreendedores, tanto que se vê muito mais casos de sucesso de mercadinhos de bairro do que "apps de bairro". Por consequência, fica claro que o consumidor não pode ser responsabilizado pela sua falta de vontade de pagar, uma vez que o ecossistema de apps surgiu com o modelo de negócio das big techs gerando usuários que não querem pagar. Não foi o inverso, de ter usuários que não querem pagar que gerou o modelo de negócio das big techs.
Ótima reflexão, concordo com você.
O preço pelo download ser inexistente, faz parte da ideia de entregar o app nas mãos da maior quantidade de pessoas possível, o que realmente funciona melhor se você tem uma estratégia de monetização através de dados, quanto mais pessoas, teoricamente melhor.
Nada particularmente errado ou certo com a abordagem, mas outros desenvolvedores de apps acabaram se vendo numa situação de copiar algumas big techs, seja por moda ou por necessidade, porém, embarcaram nessa abordagem sem o plano de faturamento diretamente ligado a isso, tendo que improvisar no meio do caminho.
A lógica de se mais pessoas conhecem, mais pessoas podem querer pagar é válida para qualquer app, por isso da gratuidade, mas a conversão continua um pouco difícil, justamente pelo período de abundância em soluções.
É curioso, mas depois que fiz o vídeo até pensei que seria uma adição interessante ao roteiro: Existe um outro demográfico com intenção de pagar por software hoje, além de empresas e gamers, como mencionei, que são usuários de produtos Apple.
É muito comum você ver as pessoas fazendo listas de apps "baratinhos" para macOS ou iOS, ou simplesmente mostrando por quais apps elas pagam.
Comprar programas para usar no mac ainda parece fazer um pouco de sentido, mais do que no Windows com certeza, e absurdamente mais do que no Linux.
A Apple de alguma forma conseguiu manter essa ideia viva, e é por isso tem ainda vários apps exclusivos de mac que são pagos. Acho que essa galera sabe que o mesmo modelo de marketing não iria funcionar tão bem no mundo PC ou Android e por isso se mantém no ecossistema da maçã, entre outros motivos, claro.
O que é curioso é que usuário Linux dificilmente pirateia alguma coisa, em termos de software pelo menos, mas também dificilmente paga por software ao nível de uso doméstico.
Estava comentado sobre isso esta semana na empresa…
Fico de cara, a quantidade de bugs que ocorrem em alguns softwares como Skype, WhatsApp desktop, entre outros…
Ao meu ver o que faz os softwares modernos serem piores é o uso de UX pra preencher metas de marketing. Um exemplo é o splashscreen, que antes existia uma em apps para ter algo enquanto a aplicação carregava, e hoje, que celulares modernos conseguem carregar o app instantaneamente, aplicativos como o iFood decidiram usar essa feature pra fazer propaganda deles mesmos. Hoje são raros os softwares grandes que tem a UX pensada para ser funcional, porque a maioria das empresas descobriu que jogar 40 popups de “ei, olha essa funcionalidade aqui” só traz benefícios pra eles às custas da usabilidade para nós
As vezes eu tenho a sensação de que os caras ficam aperfeiçoando tanto os softwares que acaba prejudicando. Muitas vezes, apenas manter como está e atualizar só a parte de segurança é só o que os usuários querem. Muito software é estragado por conta dessa mentalidade "ansiosa" da indústria do software.
Eu testo coisas pra empresas desde 2017 e admito estou cansado de participar dessa tal corrida
Eu como desenvolvedor posso dizer: um software nunca está pronto. Sempre tem alguma coisa ou outra que dá pra melhorar ou adicionar, porém contudo todavia, você tem que saber quando é a hora de parar de adicionar novas features, e começar a melhorar o que já existe.
@@redson8210 nunca é hora de parar. Os usuários sempre pedem mais coisa. E quando você analisa os pedidos, sempre tem um ou outro que realmente faça sentido, e você acaba fazendo.
jogo tb amigo.. estão tudo saindo nas coxas e cheio de bugs.
Hj tem muitos recursos de seguranca desnecessarios, vale a pena encriptografar um site com informacoes publicas? Eh como aquela pessoa paranoica q enche a porta de casa com fechaduras dando-lhe trabalho pra abrir todos os dias, mas um ladrao so tera de arrombar uma vez e com um pe de cabra
Vou dar a minha opinião como Dev: Há diversos fatores que contribuem, mas a três fatores que pra mim são os principais. O primeiro é a questão da evolução frenética de arquiteturas. Antigamente as arquiteturas duravam muito mais tempo no mercado, um exemplo disso são as primeiras arquiteturas da intel, que se mantiveram como 16 bits por bastante tempo, tendo evoluções pequenas no seu funcionamento. Isso permitia que os desenvolvedores dominassem aquela arquitetura e desenvolvessem software até mesmo em nível Assembly. Hoje em dia isso não é mais possível. A todo momento são lançadas novas micro-arquiteturas, tanto da AMD, quanto da INTEL. Um exemplo, 3D Cache nos novos processadores da AMD. Cada alteração na micro-arquitetura modifica a forma de se programar (Assembly), portanto, os programadores cada vez mais utilizam linguagens de alto nível, que cada vez mais abstraem diversos processos de otimização. O resultado disso é um software que roda em qualquer micro-arquitetura mas que não é de fato bom em nenhuma delas. Como você mesmo citou, o DOOM. Ele foi programado em Assembly na época, justamente para extrair o máximo de performance. Isso hoje em dia é inviável. O segundo fator se alia bastante ao primeiro. Antigamente não havia o conceito de multiplataforma. Os softwares eram feitos para rodar apenas em uma plataforma, e isso também facilitava muito o desenvolvimento. Só para vocês entenderem como programar para diferentes plataformas é difícil, o Assembler MASM (para windows) e NASM (para linux e outros) são muito, mas MUUUITO distintos, tanto é que você praticamente tem que fazer um curso específico para aprender a utilizar cada um deles. A solução para isso => Linguagens de alto nível multiplataforma que pecam no desempenho das aplicações. Além disso, programar para diversos sistemas operacionais aumenta muito a chance de ocorrerem bugs. A solução de muitas empresas são os Web Apps, que já são por si multiplataforma, mas a consequência é uma performance ainda pior. O terceiro motivo é em parte resultado dos últimos dois. O nível dos programadores caiu muito. Antigamente os recursos de hardware eram limitados, e portanto, você devia conhecer muito bem o hardware para poder extrair o máximo. Hoje em dia isso não é mais necessário, e aliado aos dois fatores que eu expliquei, acabam criando um ambiente onde programar se torna muito fácil. Está lotado de programador meia boca que sabe usar trocentos frameworks JavaScript mas que não sabe o funcionamento básico da memória RAM. O resultado disso são programas lotados de bugs e com uma performance cada vez pior
Nunca pensei nisso, mas faz sentido.
Complicado...
Não tinha conceito de multiplataforma, mas Doom é o jogo mais multiplataforma da história...
@@MineAnimator Pq é otimizado o suficiente pra isso
@@MineAnimator mas isso veio beeeem depois, e eu me referi a versão original e não há todos os remasters que esse jogo já recebeu
Eu trabalho como dev full stack (pra webapps principalmente) e também dev de embarcados.
Esse último me faz ver a diferença na qualidade do software, já que ali tenho recursos limitados e um foco em otimização que outros setores não demandam.
E ainda assim tem o Arduino e o RTOS, que abstraem muitas camadas e aceleram o desenvolvimento de recursos, em oposição à performance.
Conheço alguns escritórios de contabilidade que usam sistemas feitos em Clipper dos anos 90 migrados para Linux em máquinas com processador Celeron.
Até hoje me pergunto se precisamos de máquinas parrudas para rodar sistemas específicos como cadastro de clientes, controle de estoque, contabilidade, enfim, sistemas voltados para micro, pequenas e médias empresas.
O ruim que o mercado nos obriga. Antigamente um celular que custava um salário mínimo era algo surreval, o top de linha do momento, hoje um celular que custa um salário mínimo é um smartphone de entrada basicão.
@@PhilippAlves oxi, pra mim é a mesma coisa
Saudações! Uma coisa que eu notei, ao longo de 30 anos, é a piora na questão de upgrades ou updates. Antigamente um update sempre adicionava funcionalidades ou melhorias. Hoje em dia, não é difícil de um upgrade, bugar, retirar funcionalidades ou piorar o aplicativo em questão.
Adicione abstrações usadas por linguagens fáceis (JS, python...) com conceitos que visam tornar o código melhor do ponto de vista humano, sem querer mexer em um compilador (ou pelo menos um pós processamento) para não gerar perda de performance, e frameworks em cima de frameworks que matam a performance e tcharam.
Só de fazer algo em Python e linguagens interpretadas você já cagou na performance, adicione clean code e pronto você criou um software ridiculamente lento.
@@MrNatsuDragneel Por isso uso java, querendo ou não fica é muito mais rápido que python,
Mais sem o frameworks sua performance cai muito, isso que é o foda. Mercado e foda .
Por isso software web é bloated por padrão
Duas coisas:
- A obsolescência programada é um fato.
- A falta da aplicação do princípio KISS é um fato.
Protocolo KISS? Acho que você confundiu
KISS 4ever!
@@BrunoArrais1 "Keep It Simple, Stupid!"
@@arcstur catapimbas kkkkkkkkkkmkkkkkkk
Eu tenho minhas dúvidas, porque os fenômenos não se resumem a uma consequência de livre vontade de uma ou mais pessoas. Em outras palavras, a vontade de um desenvolvedor não é necessariamente uma causa para os fenômenos sociais relacionados à tecnologia, também não é uma exclusiva causa. As causas são muitas, formam conjunto com relações complexas e diversas.
A área de computação é possivelmente uma das áreas científicas mais complexas e complicadas de aprender-se, inclusive mais do que Medicina. No entanto, a carreira de Medicina exige um nível muito alto de domínio do conhecimento total, diferente do que acontece na Ciência da Computação, onde o domínio é muito menor e se fosse igual, quase ninguém se formaria no mundo a cada ano. Sou formado em Ciência da Computação e hoje estudo Medicina, por isso tenho esta opinião, a qual pode ser uma impressão falsa.
A complexidade da área, o aumento do acesso e a diminuição do grau de exigência na formação contribuem para a queda na qualidade. O tempo curto de produção, por exigência de forças maiores, também ajuda para que a qualidade seja lançada para segundo plano. Além de tudo isso, um software não só depende uma empresa, mas de uma rede de empresas, onde diferenças e variáveis são muitas, portanto o controle é mínimo.
Não esquecer que ler e entender códigos de outras pessoas é muito complicado, mesmo quando bem documentado. Existem ~ 7 bilhões de pessoas, todas são inteligências exclusivas, ou seja, individualizadas, é absurdamente normal esperar milhões ou bilhões de diferentes formas de relação, produção, qualidade, etc.
As tecnologias atendem necessidades e não as criam. O sucesso de um software está intimamente relacionado com o nível de necessidade social. Significa que quanto maior o nível, maior tende a ser o sucesso do programa. É possivel que muitos tentem criar problemas para vender soluções, mas não consigo imaginar maneiras eficientes de controle, portanto maneiras de sustentar a longo prazo uma política assim.
A muitos anos eu estudei por conta HTML e php, deixei de lado e hj tô fazendo engenharia de software e me aprofundando em C, e já vi códigos em Java, entre outros e vejo que tá cada dia pior pois invez de criar códigos fundamentais, são usadas bibliotecas para coisas que vc não usara bem 5% e ainda sim a memória tá sendo alocada desnecessariamente.
Vi isso em Python e pensei a mesma coisa. Daí, comecei a fazer comparações com linguagens mais antigas e fiquei chateado com o pirateamento barato que o Python faz de parte de certas linguagens para criar bibliotecas que mais parecem DSLs, como o Pandas. Sinceramente, larguei de lado e estou estudando uma linguagem de script simples e funcional como o Tcl/Tk, que é pequeno e roda em qualquer lugar, e ainda faz você pensar na otimização e não na beleza da programação. Agora, estou dando uma olhada no Fortran por conta da minha especialização em análise numérica. Um exemplo que me deixa abismado é o uso de regExps. Utilizei o grep com regExps em uma única linha e extraí nome, endereço, telefone, e-mail, cidade e cep, nessa ordem, direto para o arquivo CSV, enquanto o pessoal tava importando pro Excel primeiro e limpando os dados na mão. Não vou nem falar em Python, senão lá se vão algumas dezenas de linhas de código pra fazer a mesma coisa. Pra mim, 10 milissegundos de execução são 10 milissegundos e não 10 a 60 minutos programando em Python pra ter o mesmo resultado. Pesquisando mais fundo (fóruns sobre Tcl/Tk com indianos e alemães), vi o gráfico de resultado de uma expressão regular complexa testando em 4 linguagens de script, como Ruby, Python, Perl e Tcl. A menor curva de todas (maior velocidade) saiu para o Tcl/Tk seguido do Perl. Python tinha um atraso de mais de 100x em relação ao Tcl. Sabe o que posso dizer ao final disso tudo? O código e as novas linguagens estão muito maqueados. Tem que parecer bonito, mais "facil de ler" e aquele blá blá blá furado. Reler código antigo, de outros programadores, pra entender a lógica? Não!!! O negócio é copiar e colar. No curso de análise numérica, ao falar sobre programas, comentei sobre usar o Octave (grátis) e o PSPP (grátis) e quase apanhei. Praticamente foram enfáticos em dizer que sem o Python e suas bibliotecas parrudas não há mercado nem analista. É ridículo, mas é assim que a maioria pensa e age.
Tenho 56 anos, sou Tecnólogo em Processamento de dados, "isso nem existe mais"... Conheci informática desde IBM PC 268 e até hoje na área de TI. Realmente temos hoje um universo de Softwares e APPs para tudo. Já na década de 80 eu ficava encantado em ver como era possível um Software completo de banco de dados, DBase II, DBase III ou de planilha eletrônica. Lotus 123 caber em um disquete de 360kb? Um sistema operacional, DOS instalado com dois disquetes, um WIndows 3.11 em 8 disquetes... Isto era fantástico realmente. Hoje é tudo mais bonito sim, mas precisa de muita memória, muito espaço e poder gráfico. Antes éramos apenas programadores, escovadores de bits, hoje são os "Designers Web". Só nesse nome já senti uns 2Gb de espaço indo embora.... E para os Gamers antigos, lembra de Príncipe da Pérsia, em apenas um disquete de 1.2Mb?? Com cores, músicas e várias paginas rolando pela tela.... E aí muleque? Dá para encarar ???
Quanto a questão pagar por eles, já vivi o suficiente para pagar alguns e piratear outros. É claro durmo tranquilo, pois os que realmente me fazem diferença eu pago por eles sem dor.
Exatamente por essas ideias que comecei aprender C, onde converto em Assembly que depois converto em bytes. Pretendo criar um sistema tão otimizado, mais tão otimizado que vai funcionar até escrito em um caderno. E mais, com a capacidade auto desenvolvimento, com uma aplicação incial simples que podera criar qualquer tipo de software, viy chamar esse software de appaint e seu sistema de .
Em 1996, talvez 256MB até fosse o limite para memória ram (como hoje uma placa com chipset B450, por exemplo, permitiria 128 GB), mas a média de uso era de 16 MB de ram em um Pentium novinho de um usuário entusiasta. Aqui na "periferia" a gente rodava no máximo um velho 486DX de segunda mão com uns 2 MB de ram. (pensando na thumbnail)
Eu não me recordo de um chipset na época permitir mais do que 128MB. Mas, principalmente, não me recordo de alguém ser rico a ponto de ter um pc com mais de 32MB RAM naquela época. Cada upgrade custava alguns salários mínimos.... era caríssimo o hardware.
O Hardware máscara a imcopetência no desenvolvimento de software, pois não exige o racionamento de recursos e a otimização de performance!
Ótimo tema para debate. Como desenvolvedor, vou acrescentar mais duas coisas que julgo caberem nesse tema (não é ChatGPT):
1) Os métodos de programação mudaram e distanciam-se cada vez mais do baixo nível (hardware)
2) Há um constante represamento de funções que só se tornam possíveis com a melhoria dos softwares.
1) Os desenvolvedores mais antigos, trabalhavam obrigatoriamente mais próximos ao hardware, ou seja, em baixo nível. Isso tornava o desenvolvimento mais verboso e complexo, grandes softwares exigiam equipes cada vez maiores. Imagine que, em linguagens como Assembly, C e C++ calculava-se o tamanho que cada variável ocuparia na memória e reservávamos isso manualmente tendo que informar inclusive o endereço de alocação . Apesar de verboso, complexo e chato, este processo é extremamente eficaz em economia de recursos de hardware. Com o surgimento de novas linguagens e o avanço da tecnologia, acredito que a necessidade dos softwares distanciou-se mais do baixo nível (hardware) e aproximou-se bastante do alto nível (usuário) e isso fez com que, tanto linguagens como programadores, mudassem o foco. Um exemplo bem simples: Em linguagens como Python, Ruby, PHP ou JavaScript é possível definir variáveis sem informar seu tipo, deixando essa função a critério da linguagem que nem sempre aloca de forma correta, enquanto em Java, C, C++ ou C# é obrigatório informar o tipo de variável para que o espaço seja alocado adequadamente, evitando reservar espaço desnecessário. São atitudes simples, porém fazem grande diferença. Hoje qualquer um pode encontrar excelentes cursos de programação (incluindo excelentes softwares de exemplo) que formam um profissional totalmente apto ao mercado de trabalho, porém, os cursos atuais sequer abordam otimização de código para economizar recursos de hardware por que isso deixou de ser a principal limitação de um software. Ou seja, é chato, mas não obrigatório, portanto se um curso abordar esse assunto, talvez não consiga vender bem. Quem entrou na programação nos últimos 20 anos não tem essa preocupação por que as linguagens já fazem parte da limpeza, porém, em situações bem específicas, falta o conhecimento e a mão de um programador experiente para otimizar uma feature. Não trata-se de uma crítica, mas sim, de uma constatação. Os tempos mudaram, o foco de hoje está na experiência do usuário, muitas vezes a experiência visual se sobrepõe às funcionalidades apresentadas.
2) Sinto que há um represamento de funções em softwares que só podem ser implementadas à medida que os hardwares avançam. Percebo isso diariamente. Às vezes temos uma excelente ideia para implementar uma feature, mas se considerarmos o processamento ou a velocidade da internet, tal recurso torna-se inviável ou lento demais. Essa mesma preocupação há 15-20 anos atrás, eram com outros recursos que hoje já são implementados de forma natural. Algumas boas ideias surgem antes do hardware adequado e muitas vezes, na pressa de melhorar um software, erramos o momento ideal para implementar algumas dessas regras e isso contribui para softwares mais lentos, mesmo em tempos de hardware mais poderoso. Já imaginou em 2001, com conexão discada, programando em VB6, fazer uma atualização de software automática da nuvem? Atualizção automática hoje é praticamente obrigação, o Chrome, por exemplo, faz isso de forma transparente e indolor. Portanto, acredito que boas ideias sempre estarão à frente do hardware adequado e isso é um dos fatores que contribui para manter as aplicações pesadas.
Sim Clean Code e linguagens interpretadas são o grande problema.
@@MrNatsuDragneel Olá, Pedro! Não vejo essas linguagens muito como problema, afinal, elas conseguiram popularizar o desenvolvimento de software e trouxeram ótimas soluções para os usuários. Porém, há sim, um problema gerado por elas e nenhuma perspectiva de melhora. Acredito que no futuro, alguém perceberá esse problema e investirá em uma linguagem mais abrangente, que possa operar tanto em baixo como em alto nível sem sacrificar um dos lados. É só uma visão otimista.
@@DjairDutra não tem como o paradigma delas faz gastar centenas de ciclos só para saber oque é a variável, ai quando compara duas são dezenas de milhares de ciclos, coisa que nas compiladas gasta 5 ciclos no máximo.
Desde que começaram a abandonar C++ e começaram a usar e abusar de Java e Electron, tudo foi água a baixo. Desculpa, mas deveria ser crime lançar app Electron.
Quando a portabilidade passou a ser um problema na distribuição de aplicações, a solução adotada pela comunidade de TI, foi adotar o conceito de bytecodes e máquina virtual. Java sendo um dos pioneiros. É muito bom e prático fazer um código só para diversas plataformas, mas leve a gordurinha e as sobras juntas com seu executável. COm isso, o consumo de RAM e processamento foi demandado junto.
É como o caso do Acrobat Reader, cara, tem tanto, tanto, mas tanto recurso, mas tudo que eu quero é só abrir e visualizar meu pdf. Hoje no meu Nitro 5 com SSD até que tá de boa, mas no meu I7 de 2011 com HD e 8gb de ram dá pra perceber o peso.
usa o sumatra pdf muito mais leve
Maluco que reflexão sensacional, difícil ver um canal com tanta qualidade sem gritaria, falas rápidas ou atropelos, + 1 Inscrito
verdade hein, canal diferenciado.
Quanto aos games é bem complicado, várias pesquisas indicam que mais de 60% dos usuários não tem recursos para comprar hardwares que consigam rodar os games atuais nem nas configurações mais fracas. Agora sobre softwares atuais, realmente estão sujeitos a mais bugs, já sofri com alguns.
Cara, uma coisa que complica jogo tbm é a corrida gráfica, seriao, tem modelo hj em dia com mais de 100k de polígonos, o q é bacana e tal, mas muito provavelmente poderia ser diminuído, além de que se o artista não tiver background de dev, dificilmente ele vai olhar a própria contagem poligonal, um exemplo disso, foi qnd fui fazer um jogo de celular e descobri muito depois q o personagem principal que era aquele genérico de hypercasual possuía 40k polígonos q é +- o que o Connor do Detroit become human possui, em software, geralmente vc gera o svg e tá tudo tranquilo, em jogo boa parte da performance tá na mão do artista q não é alguém que normalmente vai pensar na parte técnica, além dos times gigantescos que tornam TD mais difícil
Juro pra tu, tem um jogo chamado bloodstained curse of the moon, os caras fizeram um trabalho lindo nele nesse ponto, ele tem - de 30 mb, se não me engano
Tem outro elemento que não foi citado e chamo do elemento "paixão", o mundo de criação de games e TI em geral hoje tem em sua boa parte pessoas que entraram apenas pq "dá dinheiro", geralmente esses são bons "executadores", porem tem o problema de não ter o "tesão" pelo que faz com isso a criação desenvolvimento é feito para terminar o mais rápido possível e sacar os lucros.
Tem isso tbm
Pior q velocidade e consistencia de software n é mt priozado, onde eu trabalho vem mts features novas e mts vezes com data fixa. Então para a gestão o importante n é a otimização e sim a feature estar em produção na data passada pela gestão. É assim na maioria das empresas principalmente na crise atual.
Estou muito ansioso para ver o que o Rust vai trazer pro mundo tec em termos de bibliotecas visuais, pq mesmo sendo desenvolvedor web, abomino o Electron.
Abominar o electron não é questão de ser dev web ou não, é questão de bom senso mesmo
Eu cheguei a utilizar um software todo bugado que para meus objetivos ajudou bastante como é o caso do aprendizado no idioma. Aí quando eu fiz a minha parte em pagar pelo que uso finalmente o software melhorou a milhão. Tive direito a suporte quando no caso não consegui logar. E valeu a pena é um software que paguei caro mas tenho mais de 3 anos de uso e estou muito satisfeito.
Qual seria o software?
@@nicolasgarcia1178 Drops
É verdade os consumidores querem mais funcionalidades e não velocidade.
Eu não trabalho com programação, trabalho com suporte, mas no tempo em que estudava ciência da computação eu ouvia os meus colegas programadores falando que os código são feito só para cumprir aquela funcionalidade e acabou. Ninguem vai volta a e fazer manutenção naquele código excepto para corrigir algum bug durante alguma integração.
Não sei porque acontece isso, mas sim, parece que os softwares estão mais pesados. Rodava Photoshop (em Windows) há alguns anos atrás em notebook sem placa de vídeo e 4gb de memória ram. Hoje em dia, 8gb já é o mínimo e ainda tem que ter uma placa de vídeo pra rodar a versão mais recente do software de forma descente. Dá impressão que apostam sempre que os usuários vão ter o hardware sempre mais potente (ssd, memórias e placas de vídeo).
Eu mesmo migrei para a plataforma xeon mais porque isso está ocorrendo e a demanda por mais núcleos é bem maior do que antes. Hoje um pc dual core não roda nem youtube direito de tão pesado que está, imagina com o windows 10 ou 11 instalado, fica insustentável pensarem somente em equipamentos mais potentes e esquecerem dos mais simples. Uso photoshop CS5 até hoje por ser leve e me atender.
Por isso nuca atualizo meus softwares
@@rawsantos9638 Raramente atualizo também. Uso windows 10 mas os programas que instalo depois são mais antigos e leves que os atuais, o office 2019 só roda bem com ssd ou com um hd bem novo, memoria e processador mais potente, imagina rodar isso em um notebook fraco, sem jeito.
@@EvaristoBrag Uma das maiores invenções dos últimos anos foi o SSD que eu coloquei até no meu Notebook de 2008 da Kennex e coloquei Windows 7 nele, fazer as tarefas do cotidiano é de boa mas quando abre RUclips o bicho já grita devido aos vídeos estarem já no Padrão 720p, só roda em 480p.
@@MuseuFutebolClube Notebook mais fraco é complicado, o seu pelo menos roda 480, meu netbook de 2010 só roda em 240p. Já o dell i3 e o pc rodam full hd de boa, se fosse hd no seu caso o disco nem estaria funcionando, meia hora pra ligar.
Que tema bonito, que tema formoso…
Existe uma enormidade de variáveis envolvidas nisso, mas vou lembrar algumas que são raramente lembradas, não invalido os que não cito aqui, mas incluo para lembrar que existem:
1 - a demanda por resolução alta e excesso de quadros por segundo, a velha resolução 1024x768 que foi popular por tantos anos possui 0,786 MP, os 1280x720 sobem para 0,921 MP, já os 1920x1080 equivalem a 2,07 MP, já a resolução 4K sobe para 8,29 MP. Vejam que entre a resolução HD e 4K cresce em 9 vezes a quantidade de pontos na tela.
Gerenciar 9 vezes mais pontos na tela gera um custo computacional muito grande por si, mas continua piorando, a resolução é tão alta que para enxergar é preciso aumentar a escala da imagem, ou seja, renderiza em 4K para depois colocar a escala em 2x para conseguir enxergar, além de todo o processamento para renderizar em alta definição depois tem o processamento para mudar a escala, isso quando não é uma escala fracionada, por exemplo, 1,5x que gera um custo computacional ainda maior para fazer um redimensionamento com ponto flutuante.
Se não fosse o bastante, o velho problema de resolução dinâmica da tecnologia LCD foi maquiada trazendo frames em excesso, então estamos indo para os 120 FPS em 4k, se gerar uma quantidade enorme a mais de pontos na tela não fosse o suficiente, agora é preciso processar o dobro da quantidade de vezes por segundo.
2 - os efeitos e os cantos arredondados, em cima disso querem incluir transparência real com blur e sombreado, claro com cantos arredondados. Tudo isso gera mais uma quantidade enorme de processamento, que se tudo estiver funcionando perfeitamente é pouco percebida pelo usuário, pois utilizará recursos da placa de vídeo, então o usuário estará feliz em ver que aumentou pouco o uso do processador principal, mas não monitora o uso da placa de vídeo.
E se isso tudo não for o bastante, utilize um papel de parede animado, para que até nos momentos que o sistema deveria estar ocioso, ele esteja sob alta demanda.
3 - a imbecilização do usuário, essa na maioria puxada pelas grandes produtoras de software e disseminada pela mídia especializada, que desde meados dos anos 2000 começou a dizer que software com muito recurso é ruim, que é preciso ir para o extremo da simplicidade.
No lugar de utilizar um software que faça 5 recursos, utilize 5 softwares para cada recurso, cria demanda por mais programas, que possibilitam vender 5 vezes o que poderia ser vendido em uma só vez, gera conteúdo para ser noticiado 5 vezes… Ou seja, é vantajoso para muitos, até o usuário passou a acreditar nisso, que ele é incapaz de decidir quando existirem mais de 3 opções e que deve ficar feliz por ser tratado como um ser que não tem nenhuma capacidade de raciocínio.
4 - a falta de capacidade ou falta de boa-fé de quase toda a mídia especializada quando se trata de desempenho e segurança, que querem fazer os usuários acreditarem que quanto mais camadas de abstração é melhor, que utilizar pacotes Snap é bom, alguns alegam ser melhor utilizar Flatpak do que um software compilado para a própria distribuição.
E o uso de sandbox? Quase em sua totalidade utilizado de forma inútil, olha que legal, conseguimos proteger arquivos do sistema para não serem lidos pelo programa em sandbox, mas por padrão estamos expondo todos os arquivos da home. Ou seja, os arquivos pessoais, que demandam privacidade, ficam expostos, mas vamos vender a ideia de que isso é parte do auge da segurança.
5 - os incentivos, desenvolvedores que passam semanas otimizando cada parte do software são invisíveis, o que vale é trocar um tema, mudar o contraste do contorno de um botão, mesmo se grandes otimizações forem conseguidas, quem vai se importar? Melhor, quem sabe verificar as otimizações?
Em tempos que os ditos especialistas dizem que não existe perda de desempenho em SSD por fragmentação de dados, que praticamente tudo é verificado com FPS de jogo e um free -h. Quem sabe fazer teste de responsividade? Teste de uso de I/O? Esses são os pontos de maior gargalo no uso do desktop ou smartphone, mas praticamente ninguém conhece sobre isso e menos ainda sabem como testar.
6 - E para concluir, sobre como monetizar os programas, temos outro caso curioso de incentivos, milhares de desenvolvedores pelo mundo simplesmente gostam de desenvolver sem se importar se isso gera lucro, mas quem vai acreditar nisso?
Muitas pessoas ao longo da história dedicaram grande parte de suas vidas a artes e esportes que nunca lhes renderam lucro financeiro, inclusive é visto com naturalidade que pessoas façam isso.
Na parte de tecnologia isso não é abordado, mas para muitos, principalmente no software livre. É uma forma de fazer arte ou de praticar um esporte mental. Deixamos publicado caso alguém tenha interesse, anos e anos se passam, continuamos criando nossa arte ou praticando nosso esporte mental e por diversas vezes ainda nos cobram de virar uma empresa, criar formalidades, virar empreendedores.
7 - Já está virando um livro, teria ainda muitos outros temas para abordar, mas já é hora de parar. Lembre que se tratando de software livre existe, sim, almoço grátis. Existem banquetes dos mais diversos sabores, mas é melhor não vir com a ideia de que é importante divulgar ideais do software livre ou qualquer outra coisa que estimule o usuário a pensar, pode ser que ele passe a assistir menos vídeos no RUclips e crie vida própria.
Então voltamos a programação normal, o certo é incentivar que cada um use aquilo que for mais prático para cada um, e não importa se é software livre ou proprietário. O importante é ter aversão a aprender como resolver qualquer coisa que possua mais de 3 botões para clicar.
Quase um Fábio Akita. Oloko (concordo)
belíssimo comentário, obrigado.
Eu geralmente recebo as notificações dos vídeos, olho a thumb e salvo para assistir depois... Quando vou efetivamente assistir, é outra thumb, às vezes outro título também! Fico pensando: nossa, eu não adicionei esse vídeo! Mas na verdade é só o Diolinux mudando tudo mesmo...
Por que mudas tanto, Diolinux? Buscas a perfeição?
Chama-se algoritmo do YT o motivo.
Slack, Discord e outros aplicativos de software ocupam 500 Mn de RAM brincando.
Sim pq são feitos em Electron, que na prática é uma UI programada em Java Script. Que vamos combinar, não é uma linguagem focada em performance. É focada na facilidade de desenvolvimento e na facilidade de portar o código para outras plataformas.
apesar de incomodar não ligo tanto pra memoria (no meu caso olho mais pra uso de CPU q no electron é alto tb), mas oq me irrita é a lentidão quase todos applicativos em electron demora um monte pra iniciar, e tem varios momentos q eles são elntos
mas tudo é lento amigo, tu precisa de PC gamer pra ficar liso e isso é um enorme absurdo o ruim de gente que nem vc é que pensa que todo mundo tem poder aquisitivo pra comprar maquinas boas, celulares bons e dane-se os "pobres", pensam assim até hoje essas pessoas.
@ o teams então eu desinstalei e uso navegador web q é bem mais rapido e não dá tanto bug..
Acho que hoje temos muito mais softwares para podermos comparar do que na época, mas está bem claro que muito deles realmente estão mais pesados.
Depois que comecei a utilizar linha de comando noto um aumento de velocidade muito significativo a ponto de pesquisar antes um sof cli antes de um com UI.
Um dos softwares que acho que é um bom exemplo é o Blender, ele é bem leve, roda rápido na maioria das máquinas, e só pesa quando vc faz algo realmente que demanda muito processamento.
5:26 "lapidar o código"... Meu professor falava em "escovar bits"...
Tenho um amigo q faz projetos usando o PIC 18F, ele usa assembly por causa da eficiência, roda mais e gasta menos.
No nicho dos embarcados, a "escovação de bits" ainda é valorizada
Entendo muito bem todo o cenário que você exemplificou, quando eu comecei foi com um Pentium 166 MMX com 32mb de RAM. Nele que eu dei meus primeiros passos na computação gráfica, usei de forma pirata Autocad R13, Photoshop, Corel Draw, 3DS Max, Premiere, After Effects. Foi nessa máquina que eu vislumbrei meu futuro no mercado de trabalho.
Hoje tenho um MacBook Pro M1 com 8GB de RAM. Utilizo praticamente aplicativos da Apple, Pages, Keynotes, Final Cut, Motion, Logic, alguns também não Apple como Pixelmator Pro, Vectornator e Affinity. Todos originais, defendo o modelo de preço cheio, prefiro pagar uma única vez em um software profissional, hoje não uso mais Adobe primeiro pelo valor mensal que me desagrada e segundo porque acho muito pesado e lento perto desses outros que são desenhados para funcionar liso nos Macs. Hoje não consigo me imaginar voltando a usar uma máquina Windows montada em casa com muitos gigas de RAM e passando raiva com softwares lentos e mal otimizados. E quase me esquecendo de mencionar, eu trabalho com isso desde o final dos anos 90, sei muito bem otimizar um serviço de CG, então os 8GB do Macbook me atendem perfeitamente.
Já que estamos nessa, é verdade que os 8gb do Mac equivalem a 16gb do Windows como disse a senhora Apple? kkkk
@@lucascamelo3079 não posso dizer que é equivalente, mas posso afirmar que 8gb no Mac é bastante para a maioria dos usuários
Nos meus 40 anos de vida e 35 com tecnologia na veia, afirmo com toda certeza o problema dos softwares ruins são as stacks bugadas, milhões de linhas de código com receita pronta, deixou os programadores acomodados, a qualidade dos programadores caiu muito, temos muita oferta e pouca qualidade, e cai no que o video diz, se rodar meio lento é aceitavél. Antigamente o foco era entregar a melhor experiência, hoje é a maior quantidade de recursos ( duvidosos).
Uma vantagem do ecossistemas do MacOS, que muitos tratam como grande problema, é que ainda tem algum mercado para aplicativos pagos de qualidade. Hoje eu uso Reeder (cliente RSS), Pixelmator (editor de fotos) e até pouco tempo atrás o Tweetbot (cliente Twitter). Tem vários outros, mas que não uso porque só uso Mac em casa.
14:00 Lembrei do portal Metrópoles, do DF, que é o jornal mais emergente do país, e não tem nenhum paywall. Por outro lado, leva-se minutos para abrir uma notícia no site, dada a quantidade de anúncios!
Parabéns, realmente você têm sido bem preciso em trazer vídeos respondendo os temas atuais com uma boa didática e uma excelente explicação! Continue assim...
Cara, eu sempre pensei isso e seus argumentos me ajudaram muito a respeito! Assim como o grande capital influencia negativamente para vermos jogos cada vez piores (há exceções, claro), isso também invade a esfera dos desenvolvedores!
Acha que o ambiente PaaS ajuda nesse cenário ? alta rotatividade, equipes freelancers etc,
a parte final sobre o ciclo de não pagarem pelo app achei filosófica e simplista demais, até soou específico demais, deu vontade de perguntar se o autor do artigo estava bem e se já tinha se recuperado do app não baixado dele...
gostei da parte inicial do video, onde na minha visão resume bem. O mercado demanda velocidade na entrega de valor, e por consequência demanda mão de obra.
O próprio mercado consegue formar profissionais mais rapidamente em frameworks com altos níveis de abstração para suprir a "correria de features". Essa velocidade seria muito afetada se fosse formar só "devs doutores".
Então, tudo se resume a prioridades, se hoje bota mais dinheiro na mesa focar em features que o mercado vê mais valor, então essa será a entrega com o tradeoff de usar muita abstração e profissionais sem muito critério, isso inclui não reinventar a roda e usar muita coisa pronta também (libs e ferramentas open source).
Se o mercado, como antigamente, demandava um software otimizado para o hardware que era bem específico, aí sim isso se tornaria prioridade, mas não vejo mais isso acontecendo em PCs e Smartphones, onde a maior cobrança é funcionar com uma boa UX.
sem contar que quanto mais abstraído e mais "hypada" uma tecnologia for, mais facilmente achará profissionais para contratar, e achando fácil, o salário não é tão alto
e o salário não sendo tão alto, o dev também não precisou dedicar uma vida de estudos, ou seja, é win win, o dev iniciante fica feliz, a empresa pagando menos também
quanto mais DX, mais dev vai querer mexer no seu projeto.
cara, eu me lembro que em 2012 eu conseguia abrir umas 50 abas no firefox em um laptop modesto ja pra época dele que tinha um Pentium DualCore e 2GB de RAM.
esses dias eu fiz o mesmo teste em um laptop com 8GB de RAM, depois de um tempo as abas são "descartadas" da RAM e são recarregadas ao trocalas usando o ctrl+tab.
Minha opinião: hoje em dia falta o estudo da ciência da computação de fato. Poucos hoje em dia sabem o que é gerenciar a memória de forma manual para alocar e desalocar quando necessário. Claro que isso não é totalmente uma crítica porque a própria tecnologia nos oferece meios para não precisarmos mais fazer isso. Porém, a falta de conhecimento deste lado da ciência da computação faz com que automaticamente seja transferida a responsabilidade de certas tarefas para os frameworks, bibliotecas, plugins e etc... E, cá entre nós, hoje temos framework em cima de framework utilizando algum tipo de máquina virtual para interpretar um código que não é nativo, mas sim um bytecode. Resumo: é a tecnologia trazendo à tona alguns pontos por ela mesma, assim como ela sempre é o motivo de termos automatizações em certos pontos da indústria, por exemplo, ao mesmo tempo em que determinadas funções são ceifadas do mercado com o passar do tempo.
Acredito que a evolução é necessária, mas tras alguns problemas, como hoje o desenvolvimento é stack em cima de stack acaba que deixa a coisa mais pesada e sucetivel a bugs, é npm install pra la, npm install pra ca e por aí vai.
Anos atrás, minha primeira experiência com programação orientada ao objeto era com o C++.
Tinhamos a opção de adicionar os botões e ficava mais fácil de montar, no entanto tinha muita coisa inútil que ocupava espaço em memória e assim ficávamos lapidando.
Agora com os frameworks vejo que melhorou muito a vida de quem precisa cuidar de um programa ou portal, mas lapidar como era feito antigamente é impraticável.
Desisti disso, estou caminhando para segurança da informação.
Ótima reflexão!
Vender uma idea, programada com tanto esforço e carinho, é muito difícil!
O bloqueio de ADs só nasceu por causa dos ADs abusivos.
Se ninguem colocasse AD que pulasse na tela, tapasse todo conteudo, te tirasse de uma pagina e colocava em outra não seria necessario bloquea-los.
Os proprios ADs causaram o bloqueio deles.
Eu não tenho problema de um quadrado/retangulo no canto da tela mostrando algum produto.
Eu tenho problema em clicar na pagina e ser redirecionado pra um anuncio, um anuncio maior que a propria coisa que estou vendo, um anuncio inconsistente que fica atrapalhando rotineiramente o que vejo, etc...
Piores eu não diria, e sim com mais recursos, e muita coisa fútil que vai inchando os software, mas que na prática a maioria não usa todos recursos extras enfiados nos software, exemplo ache um Office 97, Office XP, e veja um Office 365 , antes eram MB agora são GB para aplicação de escritório,
Futil para quem parsa ?
@@DataEngineer-be5up Para a grande maioria esmagadora de usuários
@@kevinyoliveira68 sempre é bom enxergar além do umbigo ou além da bolha. como consultor desde os anos 90, acho que a minha amostragem é boa suficiente para classificar a tal "futilidade" como necessidade.
@@DataEngineer-be5up Fonte confia
@@DataEngineer-be5up Repito para a grande maioria esmagadora não precisa dessas "features" que tem nos softwares que só serve para deixar mais pesado
Gostei muito do vídeo! "Há mais pressão mesmo para mais recursos do que velocidade" - esse ponto me fez refletir sobre o que acontece.
Caramba, agora fiquei sem palavras. Sim tens toda razão, e ainda assim permaneces aqui firme a nos servir o teu tempo e disponiblidade! Me pareceu ser um desabafo pessoal muito didático e instrutivo. Adianta louvar o trabalho da empresa DioLinux, mas será que já cansa?!
Espero que não nos abandones mesmo que a temática seja um 'vira o disco e toca o mesmo' pois o ensino acaba por ser no fundo Retórica bem aplicada ou simplesmente estagnada.
Como podemos ajudar? Já vendes camisetas, canecas , etc, as video aulas, etc. Devem existir ainda mais soluções sem ter de recorrer ao que se menos gostaria de fazer.
Tem quem começou a construir em paralelo empresa de vendas de materiais para..., de suporte técnico, de isto ou daquilo. Só não desanimes, por vezes é assim mesmo, me recordo de à uns anos atrás falares que terias que tomar uma decisão quanto ao DioLinux, tomastes a decisão e não quebrastes a coluna-corsal (o espírito do canal) então de certo que sempre ades encontrar soluções viáveis.
Se não é disto que no fundo falas neste video, pois já te ouvi ou vi a lamuriar que por cortarmos os anúncios isso te tira receita, mas que ainda assim (ainda assim uma ova, tu tens ai material e contas para pagar) por tanto creio que seria uma ideia pedires ideias novas e talvez criar alternativas com a marca DioLinux.
Já agora, fora do Continente Sul Americano tem muitos Brasileiros e outros que falam e compreendem a nossa língua, que tal estender "" os tentáculos"" para outras terras e comunidades. Como e ou em que área? Pois... foi só uma sugestão, não sei dizer se resultaria, mas, outros já o fizeram de outros países e línguas. Se a ideia não for boa fico com pena disso, ao menos foi uma ideia bem intencionada.
Portuga se emocionou legal
ja vem um tempo que venho notado isso acontece muito com o jogos, por mais que os hardware evoluam os jogos parece que ficao mais pesados é claro tem alguns que realmente tem recurso novos e é ate entendível mas a maioria....
Real. "Rodou? Tá bom, próxima task"
Isso me lembra um vídeo e comparação entre cyberpunk e GTA San Andreas do canal toddyn
Jogos ultra realistas obviamente vão exigir absurdamente mais.
É impossível otimizar esse tipo de jogo o suficiente pra rodar num pc fraco/mediano.
E mesmo assim ainda tem vários jogos 2d sendo lançados que rodam tranquilamente na maioria dos pcs
@@trots4940 sim esses ate entendo mas esta saindo jogos que tipo não são inovadores em graficos e são absurdamente mau otimizados, e além disso mesmo jogos inovadores da pra pegar dois comparáveis de empresas diferentes e um é super otimizado enquanto outro parece que por mais que vc tenha um pc da naza parece que esta rodando em uma carroça
@@kadubull5334 Sim, tem algumas empresas que não sabem otimizar os jogos. Mas isso não significa que é a maioria.
Antigamente também tinha muito software ruim
Grande parte da culpa e do Windows, xp era superleve aí veio o vista... Hoje em dia o w11 consome boa parte do recurso de hardware
Eu sinto input lag no vscode. Sinto mesmo num Ryzen 2600. Se eu digitar em qualquer outro lugar, blz. Eu não consigo acreditar que ninguém mais sente isso.
Se tá louco Man, eu trampo no vscode dia inteiro no notebook da empresa que é um i5 de oitava com 4 nucleos a 3.2ghz e não sinto input lag isso que em casa eu tenho um ryzen 3600 não sinto diferença do i5 pro meu ryzen eu acho que isso é problema de USB no seu Pc visto que os ryzens já tem um histórico com bugs na USB.
@@negaogamer6864 não importa o pc que eu use. Parece que o dedo "pesa" pra letra sair.
Fico dividido sobre o assunto, pois acho impressionante que atualmente possamos usar ferramentas como o Figma e o VS Code na web, coisas que eram inimagináveis há pouco tempo. Agora estamos vivendo (para o bem ou para o mal) a ascensão dos Web Apps, que nos dispensam da necessidade de instalar um software para solucionar os problemas.
Por outro lado, isso também traz muitos prejuízos, sinto que algumas aplicações pequenas são muito pesadas e mal otimizadas, mas isso já nos leva para as reflexões já mencionadas no vídeo. Parabéns Dio.
Sim rodar web e não for web assembly já é um peso extremo, migrar muitas funções para rodar na nuvem deixa o equipamento local esperando e fazendo nada nesse meio tempo de requisitar e receber a resposta.
Eu percebi isso , os softwares estão cada vez mais ficando piores, bugs a todo momento , olha que eu não sou experte no assunto , mas eu percebi isso, o windows com estas mudanças nos decepcionou obrigando a trocar de máquina , mas eu descobri o Linux e estou muito contente , vou dá um tempo com a minha máquina antiga , depois eu troco por outra mais moderna , mas aviso vou continuar no Linux rsrsrs
Eu acho que estão piores sim, Antigamente eles lançavam jogos (Super Nintendo, Nintendo 64) sem bugs alguns, Hoje eles lançam tudo bugados e sem otimização que talvez corrigir com o tempo com patches. (Forspoken, Hogwarts Legacy, Calisto Protocol, GTA Trilogy definitive edition, entre outros)...
@@HearthbreackerMakemefeel Simples, antigamente o emulador não devia ser preciso então rodava rápido, hj em dia os emuladores são mais focados em precisão pra deixar praticamente igual ao Console logo exige muito mais recursos, olhe o Mesen e bsnes o quanto pesado são na parte da CPU, isso pq são emuladores de NES/SNES kkkkk
Tu realmente acha que é tão fácil lançar sem bugs um jogo 3d com gráficos absurdos quanto era pra lançar um jogo 8 bits?
Cara, primeiramente obrigado pelo conteúdo , qualidade e pelas explicações.
Uso pc á décadas e sempre krackendo tudo no meu pc, estava nível Pelé, Zico, Neimar ente outros, o fato é que hoje estou com a vida estável e venho pensando muito em pegar versões de tudo pago para deixar um pc 100% original mais ainda não deu para fazer isso nos jogos póis se fosse pagar eles valeriam mais do que o próprio pc rsrs, de qualquer forma já estou adquirindo um ou outro em promoções e não tenho me arrependido, é a forma que tenho de ajudar os desenvolvedores nas muitas décadas que eles me forneceram games e software que facilitaram e alegraram meu tempo.
Vale lembrar tb que desenvolvedores estão ainda aprendendo a conversar com o os clientes finais e filtrar o que é viável, necessário e vantajoso. Saber vender o produto e desenvolve-lo é uma pericia muito valiosa.
Vi o vídeo todo e não falou o principal. Os softwares eram feitos em c/c++ e por isso eram rápidos. Hoje em dia são feitos em Java, electron, C#, etc... E essas tecnologias são muito mais lentas que programas nativos.
esta ali porem não entrou nessa parte focado, isso é relacioado ao ponto de desenvolvedores ignorando otimização e focando em funcionalidades , como tudo hj é web e geral sabe front-end preferem usar tecnologias q acelerem o desenvolvimento um exemplo é o electron, porem o desempenho fica uma porcaria
espero q flutter e rust se popularize pra aplicativos desktop pra resolver esse problema
@ não acho que esteja relacionado. uma coisa é otimizar um software, outra coisa é decidir em qual arquitetura e tecnologia ele deverá ser construído.
@@LucasEdu4rdo nisso q discordo um pouco, me refiro a usar uma ferramenta otimizada. no meu ponto de vista ao escolher um ferramenta com produtividade e uma com performance nisso ja acho uma escolha de otimização, até pq as ferramentas de produtividade é muito mais dificil melhorar o desempenho
então ao meu ver, ao escolherem electron eles ja desistiram da parte de otimização, por isso acho q sim essa parte do video e a de produtividade está totalmente relacionado com a escolha de ferramentas
Nos testes que fizemos C e C++ deram resultados de 60 a 70x mais rápidos que python. E o consumo de memória 4x menor em C/C++.
Obviamente depende do tipo aplicação.
Mas em geral estas linguagens interpretadas são muito lentas e bebem muitoooo.
@@andreduartebueno exatamente.
Se preocupam muito com o visual, eu sempre optei por desempenho, alguém devia pensar nisso, dou sempre preferência a softwares antigos, por conta disso e só troco quando eles deixam de me atender em algo.
A verdadeira revolução do cloud computing foi poder trabalhar direto do HTTP, tenho um computador de 2010 com linux mint e pelo visto vou carregar ele até o fim da década.
Cara, esse paradigma é muito importante!!!! Muitos apps, principalmente via browser, vejo muito código em loop ou aquelas listas no garagem colector que só cresce na memória
Pra mim esta mais do que provado que os desenvolvedores foram ficando porcos, as APIs e normas foram ficando burras e relaxadas, e de maneira geral, ficou pior.
Acredito que foi aos poucos mas o pico começou com o jogo Crysis, seguido do GTA 4, dois grandes exemplos de optimização porca, mas que se vc olhar pra hoje em dia, vai ver isso em tudo ao redor.
Porque diabos o office 2019 consome 1GB de ram SOZINHO? Vc pega a poha do office 2007, ou o 2003, são softwares que fazem exatamente a mesma coisa.
Não tem um só culpado nisso, uma parte é das empresas desenvolvedoras que são financiadas por acionistas, que cobram resultados no menor tempo possivel, a pressão do relogio faz lançar merdas. Outra parte são essas "techs" da vida, que pra se aparecer pra acionista, contrata em massa qualquer pangaré que acabou de sair da microlins com um diploma de pyton, querem quantidade e não qualidade. Sites grandes como mercado livre, olx, shopee, são desenvolvidos de maneira tão porca e burra, que é inacreditavel como uma plataforma desse tamanho, arrisca segurança e funcionalidade só pra economizar no salario do seu pessoal. Dentro da microsoft, os funcionarios se canibalizam, pois a cultura da empresa é toxica, na visão do tio bill, cobra engolindo cobra, tras resultados mais rapidamente.
Programador de verdade, eram os caras que criavam demoscenes e jogos pro Amiga, C64, NES, SNES, Mega, e até MS-DOS. QUake é uma maravilha tecnologica, ele sozinho foi o responsavel pelo que conhecemos hoje de "placa de video" e "shaders", coisa que até então era apenas de nivel industrial, tipo Silicon Graphics.
Os websites hj em dia são cheios de viadagem grafica, usando essa poha desse CSS e HTML mal pensados, que o nagevador tem que compilar tudo em tempo real. Antigamente chrome tinha fama de ser pesado, mas a real é que qualquer navegador é assim hj em dia, graças a essas normas mal feitas. A quase 20 anos atras vc conseguia criar um site com os mesmos elementos graficos, efeitos de transição e afins, usando apenas o flash, com a vantagem de que tudo aquilo rodando em tempo real, rodava em uma maquina de 1ghz com 128mb de ram. Daqui a uns anos, vai ser preciso um processador quantico pra acessar o site de colorir a pepa pig, pq alguem burro vai ter inventado outra API de b0sta que é uma maquina de rube goldberg.
Concordo 100%. Na essencia a internet de hoje faz basicamente o mesmo que se via em 2008, 2010, só que usando muito mais processamento.
Pra quem se interessar, existe um jogo FPS muito bem desenvolvido chamado Kkrieger, que pesa só 96KB. Ele é a prova/conceito, de que é possivel optimizar e usar o computador de forma inteligente. As texturas são geradas do zero em tempo real, o proprio jogo cria elas na memória, e todos objetos tambem são modelados em tempo real a partir de objetos primitivos. E NÃO, não precisa do pc da nasa, um pentium 4 com 256mb de ram e GF4 roda ele a 60fps, tem graficos semelhantes a da era do ps3 (meados de 2006), que foi a data em que ele foi lançado.
Detalhe, quando vc chega perto de uma parede e olha a textura de perto, ela não fica embaçada, e não é por causa de filtros AF e AA, e sim, porque a engine gera a textura em maior resolução em tempo real conforme vc se aproxima.
Sinceramente, fora o 1gb de ram que o excel usa, eu queria saber o que diabos a aplicação fica fazendo usando 50% de CPU enquanto eu possuo planilhas que estão paradas e a aplicação minimizada, fora que agora como está tudo unificado, quando vc roda uma macro em uma planilha, todas as suas outras sesões abertas travam junto. Preciso ficar segurando alt quando subo pra o excel entender que são planihas diferentes e ao executar a macro em uma, não travar a outra.
Olha: Eu gosto imenso desses vídeos assim mais a deitar para aquilo a que eu chamaria de "Filosofia da Informática" que você vai fazendo ultimamente! Esse não é excepção!... Eu vou curtindo eles aqui de Portugal, muitos Parabéns!...
Dito isto: Tudo o que diz é certo, mas falta aí alguma coisa que eu vou tentar explicar aqui: Sinceramente acho que o próprio mercado se modificou e está demandando coisa diferente do que demandava vai uns anos para trás. Olha: Aí para o "povão", cada vez mais basta um browser e pouco mais instalado na máquina. Todo mundo acede a tudo por lá!... Tirando o editor de imagens para as fotos das férias e uma suite de office para algum documento mais complexo que não possa ser resolvido no "office" da Google "embutido" no browser, eu diria que já não uso apps terceiras vai para anos em PC, e mesmo no smartphone são cada vez menos as que uso!... Tudo que preciso está no browser!... Quem precisa de mais? Como disse e bem: Gamers, empresas, e eu diria profissionais altamente especializados em foto, imagem, som, saúde e por aí vai... Esse é o caminho que se vai seguindo! Ora: Esses usuários são também os que mais se dispõem para gastar mais dinheiro em hardware diferenciado... Eu; hoje em dia, tento gastar o mínimo possível em hardware, pois sei que apenas vou necessitar do básico para rodar minha vida tudo online. Não fosse a minha deficiência visual a pedir por um monitor mais a sério... E, gastaria ainda muito menos!... Agora, a grande organização onde trabalhei até à aposentadoria, ela necessita de grandes investimentos de x em x anos para estar atualizada em suas rotinas de trabalho altamente especializado... Esse é o caminho cada vez mais!... Goste-se ou não!... Abraço e tenha um bom dia!...
O desenvolvimento de diversas aplicações como um agrupado de diversas libs/frameworks prontas, que carregam muitas funcionalidades e códigos de terceiros, usando aplicações baseadas em WebApps, que precisam carregar um navegador a cada nova tela, com a ideia de ampla disponibilidade de hardware, faz com que o desenvolvedor não se preocupe . Isso tudo faz com que o computador vire uma carroça. O desenvolvedor abre usa o programa dele aberto e, em muitos casos, em uma máquina top. O usuário precisa lidar com um monte de tela e em um hardware bem abaixo do necessário. Isso tudo faz com que o resultado seja uma experiência de uso geralmente sofrível para que precise de programas que exijam um pouco mais da máquina.
excelente reflexão camarada. teu conteúdo como sempre é bastante provocativo e importante pra comundiade desenvolvedora. adicionaria alguns centavos aqui na pensação que é, somos muito pobres nesse país e mesmo a parcela da população que consegue ter acesso as TICs, continua sendo pobre e com acesso extremamente precarizado, essa gente, assim como eu, raramente terá oportunidade de pagar pra usar a internet, imagina um software ou app. e mesmo conscientizado sobre, sendo desenvolvedor também, eu não consigo custear as maravilhas que códigos me proporcionam. tô dizendo isso mais numa ideia da gente procurar ampliar a perspectiva desse assunto, considerando também que programar, não é uma ação popular, não são todas pessoas que sabem fazer, o que leva a produção de software pra uma elite de pessoas, mesmo que as exceções (pessoas não brancas, pobres e não graduadas) estejam aumentando, ainda assim, a lógica de produção de software é pelo lucro e como você falou, tem gente preocupada com qualidade sim, mas qualdiade nessa corrida não paga conta e a maioria das pessoas que usam programas pirateados não poderiam pagar por eles. é um beco com algumas poucas saídas pra essa situ, mas nenhuma delas está na mão dos programadores e programadoras e muito menos nos usuários e usuárias finais.
A maior culpa disso é dos próprios usuários que exigem cada vez mais . Todo editor de foto por mais básico que seja é imediatamente comparado ao Photoshop que sempre foi muito completo e muito pesado ,editores de vídeo também são comparados aos mais sofisticados .Isso também reflete até nos sistemas operacionais onde o usuário quer que o danado seja leve e que tenha efeitos e transparências como um Deepin ou um KDE qualquer aí a coisa complica .
Num mundo altamente frenético por entrega de demandas a otimização do tempo de trabalho, para conseguir por exemplo ter tempo de corrigir possíveis features lançados e implantar a funcionalidade no ambiente do cliente, passa a ser cara vez mais necessário você distribuir bem e de forma mais curta possível seu tempo de trabalho em cada uns dos processo do desenvolvimento do software, mesmo que essa otimização massiva sacrifique o potencial máximo que pode ser entregue numa feature. Como desenvolvedor eu falo que pelo menos existem softwares como Sonarqube que faz a verificação de fontes automaticamente quando você sobe na nuvem do Azure por exemplo, que verifica se o código está usando funções padrões que não demore tanto tempo para cumprir sua determina função e que não esteja desatualizado, porquê tudo isso respinga na velocidade do software quando estiver em produção.
Me lembro de ter lido em um livro que software é como o casco externo de um navio, ele sempre acaba acumulando muitos detritos e o resultado é sempre negativo.
E eu muito me engano acho que Doom (uma verdadeira obra de arte feita em C)é de 93?
Eu acredito que a otimização de software tornará a ter importância quando os computadores de mercado, em custo-benefício, estiverem com o processamento levado ao limite para dar conta de softwares simples. Acho que vai ser muito tardio, no caso.
Muito bom esses vídeos sobre o lado do desenvolvedores. No final, a questão do financiamento têm se mostrado um desafio para o desenvolvimento de programas, principalmente de códigos abertos e livres.
Uma coisa que digo a anos o cafezinho para virar a noite também tem seu custo
Muito boa reflexão, normalmente eu ia pela linha de quê meu hardware é que está ultrapassado mesmo e no caso de S.O eu mudaria pra uma versão menos pesada e tiraria os efeitos visuais até ficar no limite.
Nessa brincadeira eu vim parar no Linux
Bom dia @diolinux e equipe!
Que vídeo excelente! Mais do que uma reflexão! Uma aula!
Parabéns!!!
Só uma rápida observação, em 1996 os desktops tinham no máximo 32mb de RAM, digo isso pois foi nesta data que comprei meu primeiro computador por meio de uma colega de tinha ido para os estados unidos, atualmente eu tenho um notebook com 40gb de ram e mesmo assim ainda não é suficiente.
Ia comentar o mesmo. Comparar 16gb em 2023 com 256mb em 96 não tem sentido. 256mb em 96 seria o equivalente a ter 256gb hj se seguirmos na proporção. 256mb foi aparecer em desktops como algo mundano como 16gb hj em torno de 5 anos mais tarde em 2001...
Antigamente o programador aprendia só uma linguagem de programação e ficava nessa linguagem muito tempo, hoje em dia temos q aprender um punhado de linguagens, aprender vários framework para entregar um sistema que funcione em várias plataformas. Isso eu acho q impacta no tamanho do software, e olha q todas essas linguagens são interpretadas, antigamente maioria das linguagens eram compiladas.
Gostei da parte do gratuito. Realmente o povão pensa assim. Está ali, então tem direito de usar grátis. E se tem uma publicidade, ainda fica bravo! (confesso que no RUclips eu sou assim🤭). Me perdoem, mas depois disso, vou mudar meu conceito. Ótima matéria, parabéns.😎
Outro ponto que acho que faltou mencionar e que é diretamente relacionado ao desempenho dos softwares atuais é o fato de que atualmente a maior parte das linguagens de programação são JIT ("just-in-time compiled") ou rodam em VM (máquinas virtuais), além do fato que geralmente a gerência de memória é automática, onde o programador tem acesso limitado a gestão de memória. Exemplo disso, o "garbage collector" do Java. Além disso, quando se usa uma tecnologia de programação como estas, existe uma camada a mais entre o software programado e o sistema operacional, exigindo portanto mais recursos de hardware. Outro exemplo, páginas web rodam dentro dos navegadores, que por sua vez usam máquinas virtuais para processarem os diversos componentes presentes na página (camadas extras). Antigamente os jogos e outros softwares eram em maior parte desenvolvidos também com as chamadas linguagem de sistema, exemplo C ou C++, onde o software é feito (compilado) para rodar diretamente no sistema operacional ou mesmo no hardware ("bare metal").
Sobre uso de HD, o principal motivo que conheço que fazem os softwares ficarem cada vez mais pesados é a evolução dos hardwares, principalmente na hora de criar vídeos e imagens compatíveis como todas as resoluções possíveis. Ex.: se você criou um aplicativo pra rodar nos primeiros smartphones, precisava se preocupar com criar imagens/vídeos em no máximo 320p. O mesmo app hoje, teria que ter essas mesmas imagens/vídeos em resoluções de 320p até 4k. Criar elas em formatos e resoluções de todos os dispositivos lançados nesse período, para que a imagem não fique distorcida nem cortada. E independente se vai instalar no aparelho antigo ou novo, o aplicativo é o mesmo. E a cada nova adaptação (atualização), maior ele vai ficando.
Siim, hoje em dia tem que se pensar numa gama maior de varios tipos de usuarios e quais são os aparelhos que eles usam, tem apps que possui versão distinta para como vai funcionar no smarthphone(android e apple), macOs, windows, linux. Então vai acumulando muita coisa e acaba deixando ele mais inflando por isso também.
Esse vídeo mesmo que estamos vendo agora é um grande exemplo de como as mudanças são sempre necessárias mas também empurram os requisitos necessários.
Em 2006 quando a Google comprou o RUclips, provavelmente o máximo que existia no mercado eram vídeos 480p 30fps e a página em sí era extremamente simples.
Eu tenho uns vídeos no meu canal gravados no celular em 4k 60fps que basicamente nenhum PC em 2006 conseguiria rodar, fora que um monitor 4K que eu estou usando agora meio que era algo impensável na época.
Mas tem um certo tempo que as coisas deram uma estabilizada, como por exemplo a quantidade de RAM para um PC doméstico. Hoje em dia o ideal é partir de 16GB, mas com 8GB ainda dá conta de um uso cotidiano. E esses mesmos 8GB faz um bom tempo que era o recomendado.
No nosso bolso temos um celular com imagens de altíssima resolução, coisa impensavel uma década atrás por exemplo.
Até 2010 eu usava computador com 256MB de RAM, comprei em 2004. Comentando isso porque a thumbnail aponta essa quantidade de RAM pra 1996.
o principal problema de monetizar software é a falta de interação ente o dos concorrente. Whatsapp não conversa com concorrente, exemplo.
Imagine como seria as telecomunicações se vc só pudesse se conectar com outros clientes da mesma empresa. Isso desencoraja o cliente pq ele é prejudicado, aceitam produtos grátis com essas exigências justamente pq são grátis. Tem que existir motivo para o cliente desejar escolher o produto digital pago, enquanto for frustrante para o cliente a experiencia, maior será a percepção que pagar não vai melhorar em nada as coisas pra ele.
Diolinux, você poderia por favor me dar uma dica sobre o que devo fazer, sobre servidores e hospedagens ?
A duvida é o seguinte : O que devo fazer para hospedar um site de comunidade feito com o WORDPRESS, PLUGINS, API'S de terceiros entre outros recursos. levando um consideração que :
Os membro poderão fazer UPLOUD de imagens, vídeo e arquivos. poderão utilizar api´s como: Serviços da Open-ai, canva, motion graphics, e um criador de vídeo, text to speech Ai.
Com um trafego simultâneo de 5 a 10 k + e escalável se preciso for.
O servidor/hospedagem precisa ser facilmente escalável, pois o começo não necessitara de tanto poder, porém com a demanda aumentando sim.
E que não seja complexo e implementar. claro, se precisar de um profissional para isso, qual profissional faz isso tipo de serviço parabéns
Essa você olhar a quantidade de tranqueira "tecnologia" que vai junto com os programas quando você coloca um sistema em produção.
Veja o exemplo de donkey Kong, os caras tiveram que trabalhar duas, três vezes mais para fazer aqueles gráficos do que precisavam para fazer hoje por exemplo um Playstation 5.
Acho que se os sistemas operacionais mandassem um relatório de quanta energia cada aplicativo utiliza os usuários cobrariam mais dos desenvolvedores.
Otimização é uma arte criada a partir de várias ciências e práticas. Antigamente, tinhamos arquiteturas de 8, 16, 32 bits e cada byte precisava ser disputado a tapa. Era possível se dar ao luxo de usar frameworks? Não. Linguagens de alto nível? Não. Se você tem um binário alinhado em 32 bits, passar pra 64 cria duplicação potencial em alguns tipos de registradores. Registradores de 64 bits são 2x maiores do que 32. Isso consome mais memória. Mesmo assim esse aumento pode ser amortizado com estratégias de compactação. Entretanto, existe um assunto de fundo comumente negligenciado hoje: técnicas numéricas e algoritmicas. Doom antigo, devido a pouca memoria RAM da época, não poderia iniciar um ambiente 3D complexo sendo que a maioria dos PCs da epoca sequer tinham instruções SIMD (vetoriais, hoje feito pelas GPUs e núcleos gráficos de CPUs recentes). Doom fez uso de algoritmos de FISR e renderizado por Particionamento Binário de Espaço. Na época fazia sentido. Hoje, com a alta disponibilidade de memória, não é mais necessário. Na época a otimização era pra reduzir o consumo de RAM, sacrificando a CPU. Não existe algoritmo perfeito, todo estudante de computação descobre a relação entre Limitação por Espaço e Tempo de Execução.
Otimização hoje é um tabu claro. Nível de expertise e habilidades precisa ser alto. Mas temos que lembrar que otimizadores dos compiladores melhoraram (vide LLVM) em relação aos da década de 90. Mesmo assim, a galera ainda peca na escolha de frameworks e estruturas de dados, o que corrobora no prejuízo do desempenho. Exemplo: a classe String padrão em Java tem 90% de uso de algoritmos lineares e alguns até quadraticos. IndexOf, a exemplo, é O(n) fazendo um loop imbecil pra buscar um índice a partir de um caractere numa String. Eu vejo dezenas de devs usando chatAt, indexOf e etc que todos por padrão são horríveis. Mas devido ao hardware hoje ser bom, complexidade linear é bastante amortizada. Entretanto tudo muda quando se escala. Como pesquisar numa String gigante? Nem use String, ja precisa usar String Buferizado com Tree e técnicas de paginação indexada. Eu demorei muito pra aprender isso e difícil exigir esse conhecimento de todos sendo que são otimizações que os clientes não querem pagar pq eles não ficam com gerenciador de tarefas aberto vendo o desempenho do app.
mas a diferença de 64 bits e 32 bits é o range maximo e minimo de numero. o 64bit permite mais alocação de memoria inlusive, isso ai que tu falou foi nada a ver,, o resto eu concordo perfeitamente, muito bom o texto
Na real a parte de ser monetizado e culpa total da indústria. Pq se for oferecido produtos que realmente resolvam e melhorem a experiência do cliente, o cliente vai comprar o produto.
Olha o caso de software caro como autocad e outros. Muitas das vezes vc testa pirata, descobre problemas, mentiram por muito tempo que problemas aconteciam justamente por ser pirata, mas vc compra o produto e descobre que os problemas continuam lá. Enquanto não surgir realmente um modelo de negocio que funcione 100%, será difícil acostumar o cliente a pagar por algo que na maioria dos caso é só 10% melhor que o pago.
Otimização causa mais bug em alguns casos que solução além da tonelada de trabalho pra fazer essa função.
Quê?! 256MB?! Em 96?! Isso, por si só, já era fora da realidade. Um i486 rodava qualquer sistema decente da época com 8 MB, se tivesse interface gráfica, caso contrário, usava ainda menos memória.
Realmente, apesar de eu ser da área da TI, não entendo a explicação tecnica para esse fenomeno dos softwares queimarem tantos recursos da maquina. Eu tenho 16gb e uso para android studio (desenvolvimento mobile) e simultaneamente o chrome com poucas abas abertas, só isso. E meu consumo de Ram não fica a baixo de 11gb, em picos chega até 14gb. Seriamente pensando eu colocar 24gb.
Enfim, não vejo explicação plausivel para o navegador chrome sozinho comer 3gb de ram da minha maquina.
Meu 1º pc em 1994: 486 DX II-66 Mhz. 4 Mb RAM, HD 120 Mb rodando windows 3.11. Os jogos pesados eram os em DOS e por isso tínhamos que iniciar o PC somente no modo DOS, sem entrar no Win. Tempos depois comprei uma 3DFX e o vídeo bombou para jogos da época.
De lá pra cá muuuiiiita coisa mudou e evoluiu.
O desenvolvimento de sistemas, nem tanto. Aquele mesmo negócio de lançar algo já com data pra ficar velho. É indústria de hardware forçando as de desenvolvimento de software e sempre atualizarem suas versões para rodar nos equipamentos atuais e vice-versa. Ao mesmo tempo colocam um bom e rápido equipamento como obsoleto por não rodar mais uma versão atual de software. Mas não é. Até Linux, que rodava leve, passou a exigir uma máquina mais robusta.
Meu pc atual é um Dell XPS 8100, comprado em 2010. i5, 8 Gb RAM, video 1 Gb, HD 512 Gb. Atualizei no ano passado, colocando um i7, dobrando a memória e tb espaço em disco, mas com SSD. E video de 2Gb.
Como não sou gamer, jogo de vez em quando os jogos que eu rodava na época. Atualizei apenas o Win7 para Win10. E sem sombra de dúvidas o 7 rodava bem melhor.
Estou trabalhando a mente para não mais ficar refém de atualizar hardware sempre que lançam alguma coisa "nova".
Tenho ainda um outro Dell, um Dimension 4700, rodando Windows XP (por causa de alguns programas específicos) e procuro ficar longe dessa onda de jogos atuais, senão 15 mil vai embora fácil com PC novo.