Ajuda para Programar, O que escolher? [RESOLVIDO]

1. Ajuda para Programar, O que escolher? [RESOLVIDO]

Nick Us
Nick-us

(usa Slackware)

Enviado em 12/05/2020 - 15:03h

Espero que tenham paciência para lerem e entenderem minha dificuldade. Fiz algumas escolhas a alguns anos atrás na linha de programação, mas agora não tenho mais certeza!

Eu já programei em Delphi na Época do Delphi 3 ao 7 quando eu usava Windows. E tudo funcionava 100% Pois as ferramentas eram boas. Porém com o tempo descobri que não importava o quanto eu soubesse de Delphi isso não fazia de mim um programador, visto que a IDE fazia um monte de coisas que eu nem fazia idéia que existiam! Então fui pra C++ mas eu usava a mesma IDE ou seja eu não programava, apenas brincava de desenhar na tela!

Isso me frustou bastante, então resolvi já usando o Linux estudar C puro. Acreditei que seria o melhor pra mim. AMEI aprender C porque ele me mostra um Mundo que eu não conhecia, onde nada existe, e pra existir EU tenho que criar! Esse aprendizado em C que eu ainda não conclui é importante, pois meu objetivo final é eu construir em C tudo o que eu for usar inclusive janelas, e sair da dependência de linguagens de Alto Nível. E mesmo que o Tempo não me deixe fazer isso, ainda assim esse aprendizado me faz compreender que por trás de uma Simples Janela alguém escreveu milhares de linhas de código e eu sabendo C, posso entender como elas foram criadas!

HOJE, eu preciso muito de um programa de Contatos onde cadastrarei pessoas que conheço. Preciso muito de um Programa de Dicas, onde eu cadastrarei tudo o que aprendo para rápida consulta! Não quero usar nada pronto de nenhuma empresa ou de outras pessoas, porque minha experiência com isso foi catastrófica! Perdi registros por causa de BUGS malucos que outros programadores fizeram! Até mesmo com a Google, o Google Contacts bagunçou a minha vida, pq é mau feito!

Motivo pelo qual, somente confio no que EU crio, pois tudo o que criei não se modifica sozinho, e pra dar problema somente EU que errarei, então se foi testado e funciona a anos, NUNCA dará problema do nada, sem explicação!

Acontece que estou muito perdido no que usar! Faço inúmeras perguntas aqui no Fórum, e recebo muitas respostas e essas respostas me colocam em dúvida no meu caminho! A Pouco o Paulo aqui do Fórum fez uma piada de C, C++ e eu presto atenção em tudo o que tentam me ensinar, e estudo a fundo pra entender!
E percebi que o que eu estava fazendo é meio sem noção!

Conheço 3 Bibliotecas de Janelas, wxWidgets, Gtk e QT.
Não gosto da QT, não quis perder meu tempo aprendendo QT para no futuro me arrepender por problemas de licenças se um dia eu precisar vender alguma coisa! E aprender Essas Bibliotecas é dedicar ANOS estudando elas! Escolher errado é perigoso!

Minha primeira impressão com Gtk, Glade não foi boa, Odiei o Auto-Sizer que eu nem sabia da existência, mas ainda assim ignorando o auto-sizer, Alguns Controles tem tamanhos estranhos, embora não fiz muitos testes, mas lembro do gFTP onde colocar a porta nele é horrível! Então em minha rápida passagem por Gtk desisti sem testar muito ou ir muito a fundo!

Escohi wxWidgets pq em comparação falavam bem de ser Multi-Plataforma, que as Janelas seriam melhores e talz... Bom, ainda assim, wxWidgets não é tudo o que falam, sua documentação é bagunçada, uma mistura de código velho com código novo, os Controles tem falhas que precisamos corrigir no código, ela parece um C onde vc precisa implementar o que não existe! Porém ainda assim ela é pior, pq vc inicialmente acredita que deveria funcionar, como era no Delphi entende?

Uma coisa boba que reflete tudo o que digo: O Hint dos TextCtrl não funcionam direito, necessitando códigos ridículos para corrigir seus defeitos, como Apagar um TextCtrl que nada tem a ver com o Hint e meche no Hint, ou mesmo Colocar uma Cor no TextCtrl e o Hint mudar a cor que vc definiu como padrão. O que não poderia acontecer NUNCA.

Quando se aprende na Internet é tudo muito confuso, pois as pessoas dão opiniões que não são 100% verdadeiras, perdi um enorme tempo aprendendo muito sobre Codeblocks e wxSmith, e eles não chegam a 20% do que eu esperava, foi uma enorme decepção! Código velho, Bugs e mais Bugs e chamam isso de Ótimo?

Falam do Eclipse que também não é essas coisas, Falam do Netbeans que também não é tudo isso... E OBS a culpa não é do Linux! Muito dos problemas de todas essas Ferramentas existem em todas as plataformas, onde HOJE me decepcionei com o GIMP bugando meus PNGs, e é BUG que existe a anos descoberto por um usuário do MAC. Onde eu sou obrigado a dar um Jeitinho pra ele não estragar meus PNGS. E LEMBRAR né? Sempre que for salvar nesta extensão.

Pra depois eu perceber que a única coisa confiável era um Editor de Texto vagabundo e o GDB do Debug. Quando programei em Delphi tudo funcionava. Não tinha que consertar nada, fazer gambiarras, o que era prometido funcionava!

Com uma das últimas respostas do Paulo, fiquei me perguntando? O que estou fazendo? Então fiquei na dúvida em tudo!
O que é melhor para eu escolher pra fazer meus 2 programas, então depois estudar separadamente as coisas sem problemas!

Então Pensei? No Momento usarei meu programa somente em Linux! Mas no futuro quero ele rodando em Windows, pq óbvio que preciso dele em outras plataformas!

Opção 1) Será que devo programar em C + Gtk? Pq acho que Gtk permite compilar em C.
Opção 2) Será que devo usar C++ + wxWidgets

Não quero usar outras linguagens pq saem do meu Foco que é Assembly. Eu estou andando na contra-mão da história, não quero subir de nível de linguagem, eu quero descer até o Assembly no Futuro, fazer um Banco de Dados em Assembly lá na frente se for possível! Quero aprender Assembly!

Não vou usar Windows pq ele é campeão de futucar! Eu deixo meu carro na garagem e o Windows troca, vende, bate, some, ou seja, qdo eu preciso nada está mais no lugar onde deixei! Gosto de Objetos que não pensam, não andam, e não fazem nada por conta própria. Então se eu coloquei meu carro na garagem, quero que ele esteja do mesmo jeito que eu deixei quando eu for usá-lo.

Por isso uso o Linux! Ele não futuca minhas coisas! O que fiz, fica pra sempre sem alteração! Então se funciona, NUNCA quebra!

Qualquer um que explique como programa, a ferramenta que usa, o porque de usar, vai me ajudar! São opiniões diferentes, ponto de vistas diferentes que poderei analisar que rumo eu devo tomar! Obrigado a todos que contribuirem!


  


2. MELHOR RESPOSTA

Paulo
paulo1205

(usa Ubuntu)

Enviado em 12/05/2020 - 23:43h

Estou morrendo de sono, então não li sua mensagem inteira. Vou responder apenas alguns pontos.


É ilusório pensar que o caminho vai ser mais fácil com Gtk+C, porque Gtk é em C apenas lá no fundo. C não é uma linguagem orientada a objetos, então como é que se implementa orientação a objetos requerida pelo Gtk?

Resposta: usando pesadamente macros e conversão de ponteiros para todo lado. O uso de macros é tão intenso que muitos trechos de código nem parecem muito com C, mas sim com uma outra linguagem. E isso ficou tão impregnado e feio que a própria galera de Gtk inventou uma linguagem nova, chamada Vala, para tentar limpar um pouco a cara dos programas em Gtk.

Ou seja: “como C++ é feio e bobo, nós puristas e sabichões de C vamos fazer tudo em C puro, até o dia em que não der mais para suportar as impurezas que teremos de criar para contornar as limitações do C, e nós criarmos uma linguagem nova para incorporar de novo os recursos que nós desprezávamos no C++.“

Realmente, coisa de gênio!

----

Tenho acompanhado algumas de suas postagens recentes. Parece-me que você está tentando fazer algumas coisas mais avançadas antes de aprender coisas mais básicas, e isso está sendo contraproducente. Se me permite, eu realmente recomendo uma pausa para aprender o essencial. E um livro que me parece interessante para tanto, tendo C++ como linguagem alvo, é Princípios e Práticas de Programação com C++ (“Programming: Principles and Practice using C++”, no original em Inglês), do Bjarne Stroustrup (que é ninguém menos do que o criador do C++). Não é muito barato, mas eu já li uns bons pedaços como e-book (brinde quando comprei um outro livro), e achei muito bom. Era o livro que ele usava com seus alunos quando lecionava programação na universidade Texas A&M.


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)

3. Re: Ajuda para Programar, O que escolher?

José
DeuRuimDotCom

(usa Linux Mint)

Enviado em 18/05/2020 - 02:12h

Nick-us escreveu:

Espero que tenham paciência para lerem e entenderem minha dificuldade. Fiz algumas escolhas a alguns anos atrás na linha de programação, mas agora não tenho mais certeza!

Eu já programei em Delphi na Época do Delphi 3 ao 7 quando eu usava Windows. E tudo funcionava 100% Pois as ferramentas eram boas. Porém com o tempo descobri que não importava o quanto eu soubesse de Delphi isso não fazia de mim um programador, visto que a IDE fazia um monte de coisas que eu nem fazia idéia que existiam! Então fui pra C++ mas eu usava a mesma IDE ou seja eu não programava, apenas brincava de desenhar na tela!

Isso me frustou bastante, então resolvi já usando o Linux estudar C puro. Acreditei que seria o melhor pra mim. AMEI aprender C porque ele me mostra um Mundo que eu não conhecia, onde nada existe, e pra existir EU tenho que criar! Esse aprendizado em C que eu ainda não conclui é importante, pois meu objetivo final é eu construir em C tudo o que eu for usar inclusive janelas, e sair da dependência de linguagens de Alto Nível. E mesmo que o Tempo não me deixe fazer isso, ainda assim esse aprendizado me faz compreender que por trás de uma Simples Janela alguém escreveu milhares de linhas de código e eu sabendo C, posso entender como elas foram criadas!

HOJE, eu preciso muito de um programa de Contatos onde cadastrarei pessoas que conheço. Preciso muito de um Programa de Dicas, onde eu cadastrarei tudo o que aprendo para rápida consulta! Não quero usar nada pronto de nenhuma empresa ou de outras pessoas, porque minha experiência com isso foi catastrófica! Perdi registros por causa de BUGS malucos que outros programadores fizeram! Até mesmo com a Google, o Google Contacts bagunçou a minha vida, pq é mau feito!

Motivo pelo qual, somente confio no que EU crio, pois tudo o que criei não se modifica sozinho, e pra dar problema somente EU que errarei, então se foi testado e funciona a anos, NUNCA dará problema do nada, sem explicação!

Acontece que estou muito perdido no que usar! Faço inúmeras perguntas aqui no Fórum, e recebo muitas respostas e essas respostas me colocam em dúvida no meu caminho! A Pouco o Paulo aqui do Fórum fez uma piada de C, C++ e eu presto atenção em tudo o que tentam me ensinar, e estudo a fundo pra entender!
E percebi que o que eu estava fazendo é meio sem noção!

Conheço 3 Bibliotecas de Janelas, wxWidgets, Gtk e QT.
Não gosto da QT, não quis perder meu tempo aprendendo QT para no futuro me arrepender por problemas de licenças se um dia eu precisar vender alguma coisa! E aprender Essas Bibliotecas é dedicar ANOS estudando elas! Escolher errado é perigoso!

Minha primeira impressão com Gtk, Glade não foi boa, Odiei o Auto-Sizer que eu nem sabia da existência, mas ainda assim ignorando o auto-sizer, Alguns Controles tem tamanhos estranhos, embora não fiz muitos testes, mas lembro do gFTP onde colocar a porta nele é horrível! Então em minha rápida passagem por Gtk desisti sem testar muito ou ir muito a fundo!

Escohi wxWidgets pq em comparação falavam bem de ser Multi-Plataforma, que as Janelas seriam melhores e talz... Bom, ainda assim, wxWidgets não é tudo o que falam, sua documentação é bagunçada, uma mistura de código velho com código novo, os Controles tem falhas que precisamos corrigir no código, ela parece um C onde vc precisa implementar o que não existe! Porém ainda assim ela é pior, pq vc inicialmente acredita que deveria funcionar, como era no Delphi entende?

Uma coisa boba que reflete tudo o que digo: O Hint dos TextCtrl não funcionam direito, necessitando códigos ridículos para corrigir seus defeitos, como Apagar um TextCtrl que nada tem a ver com o Hint e meche no Hint, ou mesmo Colocar uma Cor no TextCtrl e o Hint mudar a cor que vc definiu como padrão. O que não poderia acontecer NUNCA.

Quando se aprende na Internet é tudo muito confuso, pois as pessoas dão opiniões que não são 100% verdadeiras, perdi um enorme tempo aprendendo muito sobre Codeblocks e wxSmith, e eles não chegam a 20% do que eu esperava, foi uma enorme decepção! Código velho, Bugs e mais Bugs e chamam isso de Ótimo?

Falam do Eclipse que também não é essas coisas, Falam do Netbeans que também não é tudo isso... E OBS a culpa não é do Linux! Muito dos problemas de todas essas Ferramentas existem em todas as plataformas, onde HOJE me decepcionei com o GIMP bugando meus PNGs, e é BUG que existe a anos descoberto por um usuário do MAC. Onde eu sou obrigado a dar um Jeitinho pra ele não estragar meus PNGS. E LEMBRAR né? Sempre que for salvar nesta extensão.

Pra depois eu perceber que a única coisa confiável era um Editor de Texto vagabundo e o GDB do Debug. Quando programei em Delphi tudo funcionava. Não tinha que consertar nada, fazer gambiarras, o que era prometido funcionava!

Com uma das últimas respostas do Paulo, fiquei me perguntando? O que estou fazendo? Então fiquei na dúvida em tudo!
O que é melhor para eu escolher pra fazer meus 2 programas, então depois estudar separadamente as coisas sem problemas!

Então Pensei? No Momento usarei meu programa somente em Linux! Mas no futuro quero ele rodando em Windows, pq óbvio que preciso dele em outras plataformas!

Opção 1) Será que devo programar em C + Gtk? Pq acho que Gtk permite compilar em C.
Opção 2) Será que devo usar C++ + wxWidgets

Não quero usar outras linguagens pq saem do meu Foco que é Assembly. Eu estou andando na contra-mão da história, não quero subir de nível de linguagem, eu quero descer até o Assembly no Futuro, fazer um Banco de Dados em Assembly lá na frente se for possível! Quero aprender Assembly!

Não vou usar Windows pq ele é campeão de futucar! Eu deixo meu carro na garagem e o Windows troca, vende, bate, some, ou seja, qdo eu preciso nada está mais no lugar onde deixei! Gosto de Objetos que não pensam, não andam, e não fazem nada por conta própria. Então se eu coloquei meu carro na garagem, quero que ele esteja do mesmo jeito que eu deixei quando eu for usá-lo.

Por isso uso o Linux! Ele não futuca minhas coisas! O que fiz, fica pra sempre sem alteração! Então se funciona, NUNCA quebra!

Qualquer um que explique como programa, a ferramenta que usa, o porque de usar, vai me ajudar! São opiniões diferentes, ponto de vistas diferentes que poderei analisar que rumo eu devo tomar! Obrigado a todos que contribuirem!



Desculpe-me dizer, porém suspeito de que você não bate bem. Banco de dados em assembly? Por que não em binário duma vez? Ou cartões perfurados?
Se me permite uma sugestão, deveria tentar entender que nenhuma tecnologia é um fim em si mesmo, que a computação existe justamente para tornar, com a automatização, mais eficientes (fazer mais com menos esforço e com menos risco de erro) nossas tarefas.



4. Re: Ajuda para Programar, O que escolher?

Nick Us
Nick-us

(usa Slackware)

Enviado em 21/05/2020 - 12:40h

DeuRuimDotCom escreveu:Desculpe-me dizer, porém suspeito de que você não bate bem. Banco de dados em assembly? Por que não em binário duma vez? Ou cartões perfurados?
Se me permite uma sugestão, deveria tentar entender que nenhuma tecnologia é um fim em si mesmo, que a computação existe justamente para tornar, com a automatização, mais eficientes (fazer mais com menos esforço e com menos risco de erro) nossas tarefas.

Não se aprende com o produto pronto! Esse é o motivo! É enriqueçedor vermos como as coisas funcionavam. Uma pessoa que sabe assembly consegue compreender melhor como isso funciona! E apenas na teoria nunca é o suficiente, o melhor é fazer! Muitos que programam em linguagens prontas dificilmente sabe como elas sequer funcionam, porque já está lá tudo pronto! É a mesma coisa a diferença do Windows para o Linux. Quem usa Linux conhece um pouco mais de computador do que um usuário Windows que na maioria das vezes apenas sabe o que é mouse, teclado e monitor. Entender a evolução da Tecnologia é fascinante! Tive computadores antigos, tipo tk-85, cp400, cp500, XT, AT286, 386... Então depois foi super legal, meu primeiro computador decente com Windows 3.11 um 386 SX33, depois tive um 486 dx40, dx2-66 onde a sensação já era ser fodão, e sonhando com um dx4-100 que consegui...

Compreenda que essa experiência é fascinante... E não abro mão disso por nada. O Moderno hoje tá pronto! Mas a experiência dessa história é inesquecível...
Assembly é programação, também tem sua história... Conheci pessoas que programavam em Basic, Clipper... São histórias vividas fascinantes!

E Linux não é fácil, pois exige mais conhecimento qdo a proposta é aprender!

Por que não em binário duma vez?
Porque não existe
Ou cartões perfurados?
Seria ótimo se eu pudesse adquirir um desses, e se eu realmente um dia poder adquirir, com certeza tenho bastante interesse em ver como funcionavam!


5. Re: Ajuda para Programar, O que escolher? [RESOLVIDO]

José
DeuRuimDotCom

(usa Linux Mint)

Enviado em 21/05/2020 - 14:55h

Nick-us escreveu:

DeuRuimDotCom escreveu:Desculpe-me dizer, porém suspeito de que você não bate bem. Banco de dados em assembly? Por que não em binário duma vez? Ou cartões perfurados?
Se me permite uma sugestão, deveria tentar entender que nenhuma tecnologia é um fim em si mesmo, que a computação existe justamente para tornar, com a automatização, mais eficientes (fazer mais com menos esforço e com menos risco de erro) nossas tarefas.

Não se aprende com o produto pronto! Esse é o motivo! É enriqueçedor vermos como as coisas funcionavam. Uma pessoa que sabe assembly consegue compreender melhor como isso funciona! E apenas na teoria nunca é o suficiente, o melhor é fazer! Muitos que programam em linguagens prontas dificilmente sabe como elas sequer funcionam, porque já está lá tudo pronto! É a mesma coisa a diferença do Windows para o Linux. Quem usa Linux conhece um pouco mais de computador do que um usuário Windows que na maioria das vezes apenas sabe o que é mouse, teclado e monitor. Entender a evolução da Tecnologia é fascinante! Tive computadores antigos, tipo tk-85, cp400, cp500, XT, AT286, 386... Então depois foi super legal, meu primeiro computador decente com Windows 3.11 um 386 SX33, depois tive um 486 dx40, dx2-66 onde a sensação já era ser fodão, e sonhando com um dx4-100 que consegui...

Compreenda que essa experiência é fascinante... E não abro mão disso por nada. O Moderno hoje tá pronto! Mas a experiência dessa história é inesquecível...
Assembly é programação, também tem sua história... Conheci pessoas que programavam em Basic, Clipper... São histórias vividas fascinantes!

E Linux não é fácil, pois exige mais conhecimento qdo a proposta é aprender!

Por que não em binário duma vez?
Porque não existe
Ou cartões perfurados?
Seria ótimo se eu pudesse adquirir um desses, e se eu realmente um dia poder adquirir, com certeza tenho bastante interesse em ver como funcionavam!


Nick-us,
Respeitosamente, acho que me entendeu mal. Não o critiquei por querer dominar o assembly. Faz todo sentido aprendê-lo, mesmo porque é útil e necessário em muitos casos. Nunca disse que o assembly está ultrapassado! Isso não faria nenhum sentido.
Achei foi absurda sua idéia de utilizá-lo para construir um banco de dados. Agora que explicou melhor, isto é, que disse que quer dominá-lo por interesse na matéria em si, retiro o que disse em minha primeira intervenção.
Grande abraço e boa sorte!


6. Re: Ajuda para Programar, O que escolher? [RESOLVIDO]

Nick Us
Nick-us

(usa Slackware)

Enviado em 06/06/2020 - 07:11h

No Momento eu escolhi a Biblioteca FLTK https://www.fltk.org/
Estou de verdade muito empolgado com ela e os resultados que estou tendo. Considero ela muito superior a wxWidgets que só me causou decepção!

Meus motivos para usar a FLTK é ela ser estupidamente pequena, criar binários minúsculos, ser super rápida, e extremamente poderosa para criar ou modificar qualquer coisa! Realmente AMEI essa Biblioteca e espero que isso continue!

Ela não tem frescuras! Vem completa com Gui Designer, é tudo super simples e direto! E a partir do simples o Mundo é todo seu! E tudo Funciona!

Abaixo telas que fiz com ela, até o momento!


7. Re: Ajuda para Programar, O que escolher? [RESOLVIDO]

Nick Us
Nick-us

(usa Slackware)

Enviado em 06/06/2020 - 07:16h

paulo1205 escreveu:
um livro que me parece interessante para tanto, tendo C++ como linguagem alvo, é Princípios e Práticas de Programação com C++ (“Programming: Principles and Practice using C++”, no original em Inglês), do Bjarne Stroustrup (que é ninguém menos do que o criador do C++).

Adorei essa Indicação, eu consegui o Livro em Inglês, mas realmente achei ele excelente por vários motivos.
O Mais importante é que como ele foi feito pelo criador da Linguagem é garantido confiar no código escrito, pois está do jeito certo de se programar! E isso me fez buscar outros livros dele pelo mesmo motivo!

Essa indicação foi 10. E gostei ainda mais, qdo ele usa a FLTK, pq parece finalmente que estou no caminho certo dessa vez!








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts