Então, meu pai me comprou cinco livros sobre programação (C ++, Java, PHP, Javascript, Android) cerca de um mês atrás. Ele é arquiteto e não sabe NADA sobre programação. Ele me comprou porque eu disse que a programação era divertida e que eu queria aprender.
Como você deve saber, ser criança (tenho 14 anos) e receber instruções para aprender a programar com livros sem graça não é a coisa mais fácil. Estou sempre me distraindo. Eu disse a ele antes que não precisava comprar livros e que podia assistir a tutoriais on-line. Mas não, ele é tão antiquado. Ele está apenas me deixando usar os livros.
Recentemente, ele começou a me perguntar o que eu fiz com isso, e mostrei a ele um programa em C ++ que fiz que pega o que você digita e depois atribui valores a cada letra (A é a primeira letra do alfabeto, para obter o valor de 1) ... e assim por diante. Em seguida, soma todos os valores e informa. Portanto, a palavra "adicionar" teria um valor de 9.
^^ Isso não foi muito impressionante para ele. Ele gritou comigo e me disse que tudo o que tenho feito é brincar. Isso não é verdade. Ele é extremamente tradicional e teimoso e não escuta nada do que eu tenho a dizer. O que devo dizer a ele?
PS: Se você tiver alguma dica sobre zoneamento de um livro, me avise
EDIT: Muito obrigado a todos, você não tem idéia do quanto significa saber que existem algumas pessoas que entendem a minha situação. Eu li todos e considerarei a opinião de todos. Gracias!
Respostas:
Não sei o que você deve fazer com seu pai. Mas:
Se você fez isso sozinho, começando do zero, aprendendo com os livros, em um mês , é impressionante. E você fez isso em C ++, que é uma das linguagens de programação mais assustadoras existentes.
Existem muitas pessoas por aí fazendo entrevistas, tentando seriamente conseguir trabalhos de programação, que lutariam com isso. Veja esta história.
Só posso sugerir: continue fazendo o que você gosta. Ignore seu pai nesse contexto; ele não sabe do que está falando. Você tem talento em programação e vontade de aprender - os principais ingredientes para se tornar um grande programador.
fonte
Mostre a ele este post de Peter Norvig. Norvig é chefe de pesquisa e desenvolvimento do Google e ensina em Stanford, especificamente Artificial Intelligence, ele escreveu o livro introdutório padrão sobre IA. Há quanto tempo você trabalha nisso? Eu esperaria nada mais do que isso depois de um mês de trabalho de um novato sem nenhuma instrução adicional, particularmente com algo tão espinhoso quanto o C ++. Qualquer coisa que vale a pena aprender vale a pena aprender bem.
fonte
Lembre-se de que seu pai provavelmente pensa que você é o garoto mais inteligente do mundo, e ele está tentando ajudá-lo a aprender algo que você disse gostar.
Saiba que, embora seu pai esteja inquestionavelmente errado (cinco tópicos completamente diferentes são muito para discutir com uma criança de uma só vez), ele também está meio certo. Muitas pessoas tentam entender a programação imitando os "tutoriais" encontrados na Web. Isso nem sempre é uma coisa ruim, mas na OMI geralmente não leva a um entendimento sólido. O livro certo ensinará os fundamentos primeiro. Isso pode não ser tão divertido quanto os seguintes tutoriais, mas sua chance de sucesso a longo prazo aumenta e o número de perguntas que você precisa fazer no stackoverflow.com diminui.
Esqueça todos, exceto um dos livros, pelo menos por enquanto. Parece que você já começou com o C ++, então continue se quiser.
Você se sentirá desencorajado de tempos em tempos. Às vezes, parece que metade da programação está travada e a outra metade está travada. Desprender é uma habilidade valiosa, e quanto mais você praticar, melhor será. (Evitar ficar preso em primeiro lugar também é uma habilidade valiosa, então pratique isso também.)
Aprender sua primeira linguagem de computador é o desenvolvimento de software, o que aprender a desenhar é projetar um edifício. Pode não ser a parte mais interessante, mas é uma habilidade necessária.
Se você conseguir que ele escute, tente dividir todas as coisas que você teve que aprender para escrever seu pequeno programa. Leva algum tempo apenas para aprender a usar as ferramentas, e ele certamente não entende como tudo funciona.
Agora que você chegou ao ponto de ter um programa em execução simples e aparentemente aprendeu um pouco de C ++, que programas interessantes você pode escrever? Que tal uma calculadora de empréstimo que aceite taxa de juros, valor do empréstimo e prazo do empréstimo e imprima uma programação de pagamento? Ou uma calculadora que lê uma fórmula molecular como "H2SO4" ou "C6H12O6" e imprime o peso da molécula? Isso não é muito mais complicado do que o programa que você já escreveu.
fonte
"Pai, sua abordagem para isso está tornando o aprendizado do programa absolutamente divertido . Pare com isso."
fonte
Como arquiteto, ele deve certamente estar puxando sua perna ou ser rude.
Faça uma investigação sobre quando ele começou: pergunte se ele desenhou arranha-céus com planos detalhados de encanamento, calculou as forças e o estresse nos materiais e fez avaliações de risco de desastre (como ser atingido por um avião com cobras) depois de um mês gastando com livros quando ele era tão jovem quanto você. Talvez isso o acalme.
Ok, talvez não seja o melhor conselho que eu possa lhe dar, para responder aos seus pais. Eu posso entender que ter um pai, que penaliza o progresso em vez de encorajar, é um pouco cansativo quando criança, mas o leva como incentivo para fazer melhor. Ele pode ter um problema de atitude, mas isso não significa más intenções.
fonte
Gostaria de saber quais livros você está usando. Nem todos eles são realmente bons. Além disso, nem todo livro é apropriado para todos.
Você não especificou sua idade, portanto, assumirei que você tem menos de 18 anos. Comecei a aprender aos 8 anos.
Quando eu era criança, aproveitava muitos recursos ao aprender a programar. Eu tinha os manuais que acompanhavam minha TI 99 / 4A, que continham muitos programas divertidos para desenhar imagens e animar figuras. A internet não estava disponível para mim, mas havia até revistas de computador direcionadas para crianças, com programas nos quais eu podia digitar e obter feedback imediato e artigos sobre como resolver outros tipos de desafios. Eu gostava muito de uma série de romances de espionagem que me permitia digitar e depurar programas incluídos como parte da história. Infelizmente, acho que esse tipo de recurso ainda não existe, mas existem alguns livros de programação que visam pessoas mais jovens, como o livro Hello World sobre Python e Land of Lisp (embora isso seja divertido para adultos também).
Não sei você, mas houve um tempo em que comecei a escrever programas que fazem coisas muito semelhantes às que você acabou de descrever. Eventualmente, mudei para coisas mais avançadas. Escrevi alguns jogos medíocres, algumas demos que tocavam vários sons e animações em reação ao pressionamento de teclas e alguns auxílios de estudo. Quando eu tinha 10 ou 11 anos, escrevi um programa que me ajudou a memorizar a tabela periódica dos elementos, interrogando-me repetidamente. (Naquela época, minhas habilidades de memorização eram melhores do que são agora, por isso, quase digitei os dados da primeira vez que fiz o teste, mas o objetivo era progredir).
Seu pai pode não perceber, mas os livros são apenas parte do processo quando você está aprendendo a programar. Encontrar um pequeno problema e tentar descobrir como resolvê-lo é a outra metade da equação. Encontrar um livro que ensina um pouco de cada vez e permite que algo divertido aconteça na máquina é a outra metade. No meu caso, os livros que enfatizavam gráficos e animação foram os que me conquistaram.
Quando criança, meus olhos se arregalaram quando li livros sobre algoritmos de classificação e estruturas complexas de dados, até aprender o suficiente para ver como eles se aplicavam aos problemas com os quais realmente me importava. Nem todas as palavras dos livros que você ler serão fascinantes. Isso está ok. Você vai conseguir essas coisas quando precisar; algum problema que você queira resolver o lembrará da técnica que você não achou interessante três semanas, três meses ou três anos atrás, e você voltará a revisá-la e descobrirá.
Um mês não é muito tempo para aprender programação. Escrevo códigos de uma forma ou de outra há cerca de 30 anos, inclusive durante a infância, e ainda aprendo algo novo todos os dias. Tenho certeza de que no primeiro mês que tive meu primeiro computador, passei muito tempo jogando o Munch Man e um número muito menor de horas tentando entender os programas de amostra no meu livro de referência. Aprenda no ritmo que funciona para você. Não há pressão no momento, e isso é ótimo.
"Brincar" é o que você deve fazer quando estiver aprendendo a programar. Os hackers (do tipo Paul Graham) bisbilhotam, tentando entender como seu sistema funciona, como sua linguagem de programação funciona, como suas ferramentas funcionam. Você tenta algo, falha, raciocina o problema que está enfrentando e tenta outra coisa, até conseguir que algo funcione. Não se preocupe muito com isso.
A menos que seu pai esteja trabalhando nos mesmos livros, ele provavelmente não entende o quanto você aprendeu até agora. Eu não esperaria poder projetar uma casa ou um arranha-céu depois de ler um livro sobre arquitetura por um mês, especialmente quando adolescente.
Para colocar as coisas em perspectiva, nas últimas quatro semanas eu tenho trabalhado em alguns cantos esotéricos do recurso Engines da estrutura Ruby on Rails. A partir de hoje, finalmente tenho algo a mostrar do ponto de vista do usuário. Aprendi bastante nesse período e desenvolvi muitos códigos fundamentais fundamentais que funcionam muito bem, mas é o meu equivalente profissional de permitir que os usuários digitem algumas coisas e recuperem outra coisa: não é tão impressionante à primeira vista para um usuário casual , mas muito trabalho foi feito. Se alguém me dissesse que eu estava brincando há quatro semanas, ficaria muito desapontado, mas também saberia que eles têm apenas a menor compreensão do que é necessário para tornar as coisas tão "simples".
fonte
Parece que, nessa situação, seu pai não é alguém que lhe dá apoio e apoio positivos no que você está fazendo. Solução simples: não o use para isso.
Faça seus próprios projetos e faça-os porque são divertidos, não porque ele (ou qualquer outra pessoa) quer que você os faça. Escolha algo divertido para você. Você não precisa aprender todo o idioma / tecnologia de um livro. Em vez disso, comece a mexer nas coisas. Eventualmente, à medida que as coisas se tornarem fáceis, você procurará novos conceitos / desafios. E você vai querer ler os livros que hoje você acha chatos (ou pelo menos algumas seções).
Se você ficar parado e precisar de ajuda para codificar qualquer coisa, o stackexchange é um ótimo recurso, como você já descobriu.
fonte
Parece-me que seu pai tem uma tendência a expectativas irreais, ou talvez você tenha um histórico de começar as coisas e não seguir adiante, ou ambas. O importante a se perceber é que nada disso realmente importa aqui, tudo o que importa é que você goste do que está fazendo e melhore.
Eu tenho um tempo muito difícil com livros que não me divertem, eu sempre tenho. Aprendo melhor observando outras pessoas fazendo coisas, fazendo perguntas quando não entendo o objetivo de alguma coisa e depois lutando até descobrir. A luta nos fortalece e nos dá a propriedade de nossas realizações eventuais, talvez por isso seja tão difícil sair do útero.
Dito isto, uma das ferramentas mais nítidas da sua caixa de ferramentas será a capacidade de permanecer aberto, trabalhar produtivamente em meio a críticas e não descartar conselhos com base na fonte. Bons livros de programação tendem a agarrá-lo, inspirá-lo e esperar que você retorne a eles quando bater em uma parede. Sem eles, você estará fazendo muitas coisas incríveis sem entender inicialmente exatamente o que está fazendo. A programação é uma arte muito deliberada, por isso encorajo você a procurar livros que sejam escritos de uma maneira fácil de digerir.
Estou programando profissionalmente há um bom tempo e posso dizer que minha satisfação é realmente minha. Meu chefe não entende direito por que as coisas que escrevi são tão impressionantes, minha esposa adormece quando conto a ela sobre o meu dia e meus amigos se esforçam para evitar me perguntar sobre meu trabalho. Aprecio minhas vitórias e a oportunidade ocasional de compartilhá-las com meus colegas. Seu pai, nesse caso, não é um dos seus colegas.
Continue indo e continue melhorando. Acostume-se ao fato de que os não programadores precisam ver algo visualmente impressionante antes de ficarem impressionados. Por que não tentar escrever algo como um gerador de conjuntos Mandelbrot / Julia ? Isso pode mostrar a ele o tipo de progresso que ele está procurando, tirando-o do seu caso por um tempo. Em dez anos, você fará algo muito semelhante para tirar um gerente não técnico de suas costas, para que você possa realizar um trabalho real.
Lembre-se, você está fazendo isso porque gosta.
fonte
É difícil dizer se essa pergunta é melhor para o fórum dos pais ou o fórum de programação. Receio que meu conselho não esteja no alvo, porque sinto que o emaranhado nessa questão é potencialmente um monte de "problemas" de relacionamento pai-filho.
Dito isto, o que eu focalizaria seria a grande oportunidade que existe para você e seu pai se conectarem a um assunto pelo qual vocês possam compartilhar uma paixão de alguma maneira. Sendo eu mesmo pai e conhecendo meu próprio pai, sei com que desespero queremos que nossos filhos nos ouçam, sigam nossas instruções e aprendam conosco. Nossos filhos geralmente são levados a fazer o oposto. Portanto, o fato de vocês dois compartilharem esse interesse comum é maravilhoso.
Os pais podem ser teimosos, com certeza, mas ainda acho que há uma oportunidade para você flexionar sua própria individualidade e escolha através deste exercício. Não por um sentimento de desafio, mas por sua própria vontade e ambição de conhecer bem o assunto da programação. Pessoalmente, parece que seu pai jogou você no fundo do poço quando se trata de programação. Concedido que pode não ser o MIPS Assembly Language ou o LISP, mas ainda assim, C ++? Java? Caramba. Adoro programar, mas ler aqueles no início pode ter me deixado de fora. Brincando. :)
Então, o que eu perguntaria é: o que te inspira ? Que tipo de coisas você deseja construir? Responda a isso e procure seus próprios livros e tutoriais sobre esse assunto. Venha aqui e faça perguntas. Construa algo. Então mostre ao seu pai o que você construiu. Diga a ele o que você aprendeu. Agradeça a ele por estar tão envolvido com você e diga que o aprecia. Eu digo isso porque, no final, é disso que se trata. Ele quer compartilhar algo com você porque ele ama você. Às vezes, os pais têm dificuldade em expressar isso de maneiras tradicionais, por isso buscamos essas maneiras indiretas de dizer a mesma coisa. Às vezes somos péssimos em fazer isso mesmo. Mas não esqueça que em tudo isso existe um desejo de estar mais perto de você.
fonte
Parece que ninguém sugeriu isso ainda:
Se você pensar bem, esse programa não é muito impressionante para quem usa computadores e não sabe nada sobre programação.
Mostre ao seu pai como você conseguiu. Acompanhe-o pelo código fonte. Ele provavelmente (definitivamente) não entenderá, mas transmitirá quanto trabalho você dedicou e quanto você entende, e talvez ele tenha uma impressão mais positiva do quanto você realmente realizou.
fonte
Faça o que você quiser
É a sua vida. Tu podes fazer o que quiseres. Não deixe ninguém (nem mesmo seu pai) controlar sua vida.
Suponho que você goste de programar mais ou menos e queira se tornar um especialista de sucesso (e seu pai quer, todo mundo quer). Mas o problema é que você nunca terá sucesso a menos que saiba o que está fazendo e a menos que goste .
Dominar qualquer campo é difícil. Você não pode fazer isso apenas sob a influência de alguém. E ninguém sabe o que você deve fazer melhor do que você . Você quer descansar hoje e sentir vontade de jogar o dia todo? Essa é sua decisão e você é responsável por ela. Você deve aprender a ser responsável por suas decisões e sua vida. Ser responsável por suas decisões é obrigatório para todo especialista de sucesso.
Então, o que você faz nessa situação? Defenda sua posição, não ouça ninguém e faça o que lhe parecer útil.
fonte
Você solicitou livros. Honestamente, você resolverá melhor os problemas do que ler livros. Encontre um quebra-cabeça ou um problema pelo qual seja apaixonado. O Project Euler é uma ótima fonte, e o CodeGolf pode oferecer perguntas interessantes ocasionalmente. Meu primeiro projeto de programação foi um aplicativo C ++ que encontrou números primos. O livro que eu estava usando na época oferecia uma implementação simples como esta:
o que é massivamente ineficiente. Encontrei os primeiros 500 números primos com essa função antes de desistir de desgosto por sua lentidão. Papai e eu nos divertimos muito tentando otimizar acima, e mesmo sendo um aplicativo simples que nem sequer gravou sua saída em um arquivo, eu me diverti e o produto resultante foi legal.
Você aprenderá lendo livros? sim, mas não posso enfatizar o valor de apenas mexer com uma linguagem de programação e aprender por tentativa e erro.
Se você está aprendendo a programar para o seu pai, pare e descubra o seu próprio motivo. A minha ainda me persegue para construir para ele um sistema de negociação automatizado de alto volume. Eu falo sério quando digo que você precisa encontrar algo em que deseja trabalhar, porque, caso contrário, provavelmente abandonará a programação porque verá que é uma tarefa não um hobby ou um esporte.
Tente ler o livro de Linus Torvalds, "Just For Fun", no qual ele relata as origens do sistema operacional Linux. O título diz tudo.
A sério. Basta ir hackear algum problema. Quando preso, envolva o velho.
Se seu pai não aprecia seu trabalho, não é porque ele está decepcionado. Ele é arquiteto, não sabe o quão complexas são algumas coisas. Tente orientá-lo no seu código, mesmo que apenas na lógica, e faça-o apreciar o que é essa lógica que você aprendeu escrevendo-a.
TL; DR
fonte
Tente encontrar um livro que seja especificamente uma introdução à programação para iniciantes. Talvez algo como Hello World! Programação de computador para crianças e outros iniciantes por Warren Sande.
Você também deve ver o que sua biblioteca possui. A maioria das bibliotecas deve ter alguns livros para iniciantes.
fonte
Na minha opinião, você tem dois problemas:
NA MINHA HUMILDE OPINIÃO:
Para o seu primeiro problema, basta ir a sites como este e fazer perguntas como você fez. Encontre recursos como estes https://softwareengineering.stackexchange.com/questions/62224/how-to-become-a-professional-programmer/62263#62263 . Pense em algo que deseja criar (um jogo, lista de tarefas, sistema de gerenciamento de coleção de filmes, a próxima melhor plataforma social) e comece a codificar. Ou comece com a solução de quebra-cabeças Onde posso encontrar quebra-cabeças e desafios de programação?
Seu segundo problema é mais difícil, você precisa educar seu pai (enquanto ele não parece muito disposto). Enquanto aprende, ficará melhor explicando a ele o que é difícil de programar. Você pode tentar usar metáforas como a explicou O que é uma boa metáfora de programação? . Outra dica é que os não programadores em geral não conseguem as complexidades de um ótimo algoritmo, mas são facilmente testados por interfaces com boa aparência. Dependendo da plataforma escolhida, você pode gerar interfaces com aparência bastante fácil para impressionar seu pai. Use por exemplo:
Espero que isto ajude.
fonte
Eu apenas gostaria de acrescentar que eu estava em uma posição muito semelhante em uma época da minha vida, meu pai realmente não entendeu o que o reforço positivo significava. Mas, vendo que eu era persistente e resiliente em relação à sua desaprovação, às vezes dura, eu consegui manter isso. Cerca de vinte anos depois, o relacionamento com meu pai mudou muito, melhorou, mas as nuances sutis da época ainda estão lá.
Este é apenas um momento difícil da sua vida e o importante aqui é que você se diverte fazendo isso mais do que qualquer outra coisa.
fonte
Em relação à linguagem de programação, concordo que você deve se concentrar em apenas uma.
Na verdade, eu recomendo um que você ainda não tem: Python. Python é uma linguagem bastante fácil de aprender, mas também bastante poderosa. C ++, Java, PHP e Javascript são todos muito mais complexos.
Existem vários livros de Manning que ensinam programação usando Python. Eu consideraria fortemente "Olá, mundo!", Mesmo que seja voltado para uma população um pouco mais jovem.
Se você deseja continuar com o C ++, recomendo este livro:
Embora seja mais uma "referência" e menos um "tutorial". Não conheço um bom tutorial sobre C ++ - há muitos livros "ensine-se C ++ rápido" por aí, mas não acho que sejam muito úteis. (C ++ é uma linguagem bastante difícil de aprender primeiro; a maioria dos programadores de C ++ começou em uma linguagem mais fácil).
fonte
def string_add(a_string): \n\t sum = 0 \n\t for letter in a_string:\n\t\t sum += ord(letter) - ord('a')+1 \n\t return sum
(a \ n - nova linha \ t -tab) ou o uso de programação funcional mais avançada é um liner.string_add = lambda a_string: sum(map(lambda ch: ord(ch)-ord('a')+1, a_string))
Sobre C ++, Java, PHP, JavaScript e Android (para que você possa escolher entre eles, porque a tentativa de dominar tudo de uma vez provavelmente falhará):
Existem muitas bibliotecas e estruturas JavaScript por aí. Eu sugiro que você verifique nocaute e jQuery , bem como qooxdoo e ext.jsse você estiver procurando por algo completo. Além disso, para o desenvolvimento no servidor , você deve conferir o express.js .
Além disso, gostaria de salientar o CoffeeScript , uma linguagem que compila para JavaScript, mas tem alguns extras, que são úteis.
De qualquer forma, o que é realmente importante é que você ache isso agradável. Que você cria coisas, você acha legal. Isso resolve algumas de suas necessidades ou é divertido brincar. A programação é para quem gosta. Você precisa de um conjunto de ferramentas que permita criar aplicativos com poucas linhas de código. JavaScript / CoffeeScript pode ser um bom ponto de partida.
Pessoalmente, gostaria de indicá-lo para Ruby. Ele me ensinou muito sobre programação e me sinto infeliz por não saber disso quando comecei a programar. Basicamente, existem dois livros formidáveis (ambos disponíveis gratuitamente):
Junto com isso, sugiro que você verifique os sapatos . É uma ótima ferramenta com uma incrível ajuda integrada, incluindo referências, tutoriais e demos. Você terá suas primeiras coisas em funcionamento em poucos dias.
E, provavelmente para mais tarde, eu gostaria de apontá-lo para haXe . Eu acho que é um ótimo idioma (meu idioma preferido), e há um novo guia para iniciantes , lançado recentemente. No entanto, o haXe não possui ferramentas disponíveis, o que torna igualmente simples a criação de aplicativos como no JavaScript e Ruby. Portanto, você pode achar entediante ou até frustrante, o que derrota todo o propósito.
fonte
Isso é bastante para esperar em um mês. Em vez disso, você deve tentar se concentrar em aprender um idioma ou paradigma de cada vez, ou isso pode ser esmagador. Empurrar demais de uma só vez também é uma boa maneira de se desligar. Você pode aprender melhor trabalhando em um programa específico de seu interesse. Se o telefone com Android é o seu interesse, provavelmente é melhor usar Java em vez de C ++. Ele pode estar esperando alguma coisa da interface do usuário whiz-bang como um cliente típico, portanto, não desanime com sua decepção :)
Alguns livros do Head First podem ajudar a tornar o aprendizado um pouco menos seco, se você for forçado a ficar com os livros.
fonte
Eu acho que você deve guardar as coisas mais formais por enquanto e dar uma olhada no Scratch - http://scratch.mit.edu/ - permite lidar com a maioria das construções de programação de uma maneira mais fácil, enquanto ainda aprende as coisas você precisa de loops etc.
Ele também permite multithreading impecável, que talvez seja a parte mais difícil de fazer manualmente, e que é necessária para fornecer resultados interessantes no mundo de hoje.
Não o subestime porque ele usa cores e uma abordagem de programação semelhante a um lego brick. Você pode fazer muito com isso, sem se perder nos detalhes técnicos.
fonte
Pergunte ao seu pai se ele poderia projetar um edifício alto na sua idade. É isso que é programação. Leva tempo para aprender, porque há muito o que aprender. É como andar de bicicleta, apenas você tem mil pedais, marchas, manípulos, botões e não pode escolher qual deles usar a qualquer momento. É preciso prática.
Eu não duvido de você. Você se interessou pelo C ++ desde o início em seu objetivo de se tornar um programador. Isso é impressionante para mim .
Aguente firme e boa sorte com sua carreira como programador!
fonte
Eu sei que já existem muitas respostas. Mas não vejo esse conselho: tente ajudar seu pai. Tente escolher algo cabeludo no livro C ++, que você possa entender e peça para ele ajudar.
Dê a ele o livro e deixe-o rastrear em C ++. Tenho certeza de que isso o fará perceber como é difícil codificar.
fonte
Tente mudar essa situação para seu próprio bem. Apenas aceite que o que você realizou até agora não é suficiente e tente fazer melhor ... Você terá tempos difíceis o suficiente quando estará trabalhando para um chefe, se não começar a superar isso e melhorar a partir de agora .
Se eu trabalhasse duas vezes mais duro quando tinha a sua idade ...
fonte
A contribuição do seu pai não conduz ao seu processo de aprendizagem. Sim, existem várias maneiras de aprender programação como outras pessoas mencionaram. No entanto, você mostrou um progresso fenomenal em C ++ na minha opinião. Seu programa de adição teria sido algo que eu mal conseguia lidar depois do meu primeiro semestre em programação java.
Há duas coisas que você precisa resolver para continuar:
1) Lide com seu pai.
Olha, todo pai tem sonhos extravagantes para os filhos. No entanto, suas expectativas podem ser muito altas e, eventualmente, levarão a algo que nem é possível em alguns contos de fadas. Eu recomendo trazer alguém externo à situação para avaliar melhor seu progresso e trazer seu pai à terra. Você pode tentar conversar com familiares / amigos que você conhece com experiência em programação ou mesmo as pessoas desta comunidade podem enviar um e-mail para ele em nome de nossas próprias experiências e conhecimentos. Este é o passo mais importante de todos, porque se seu pai não se acalmar, você perderá o interesse todos juntos.
2) Encontre um foco.
Não é propício para aprender tudo de uma vez. Escolha um idioma e fique com ele. Enquanto você lê um livro em um idioma específico. Seguir os exemplos do livro literalmente não é o caminho a seguir. A regurgitação é um processo de aprendizado para alguns, mas não para todos (especialmente eu). É importante atacá-lo de todos os ângulos que você puder e que interessam. Livros de programação de autores diferentes no mesmo idioma, mas usos diferentes podem aumentar sua curiosidade sobre como você gostaria de usar o idioma e os conhecimentos para seu próprio desejo de programação (criar jogos? projetar aplicativos? testar? ect, ect). Você também pode ir em uma aventura pessoal para criar um programa. Descubra o que você quer fazer, independentemente do que você sabe no momento, e pesquise-o enquanto programa. Com o passar do tempo, você Eventualmente, quero experimentar outras linguagens de programação relacionadas ou não. Você também pode perceber que não deseja programar todos juntos.
Acima de tudo, lembre-se de que não é o resultado final que importa, é a jornada. Não se esqueça de se divertir!
fonte
Você recebeu bons comentários e conselhos sobre os aspectos de programação da sua situação. Mas eu quero adicionar algo de uma perspectiva diferente ...
Tenho a impressão de que você está tendo pensamentos negativos sobre seu pai - ele pressionou você e fez alguns comentários que lhe causaram algum pesar e preocupação - e que tiraram a diversão da programação. Isso é uma pena e acho que a maioria das pessoas aqui concorda que a programação é divertida - eu programa há mais de trinta anos e ainda acho divertido.
Mas acho que seu pai está realmente do seu lado. Ele fez o que achava certo, estava tentando ajudar, comprou os livros para você para começar bem. Mas ele entendeu errado (e eu falo como pai, às vezes entendemos errado!). Para ele, é provável que os livros tenham começado em sua carreira de arquitetura (presumo que isso tenha começado antes da Internet e do www estarem disponíveis, se é que existem). Então, para a mentalidade dele, os livros são onde você começa.
Então, supondo que seu pai esteja do seu lado (e tenho certeza de que ele está), o problema é que ele simplesmente não entende o quão difícil pode ser quando você começa a programar - então mostre a ele todas as respostas que ele tem postado aqui - Tenho certeza de que seu pai é um cara legal e ele entenderá e apoiará você.
E boa sorte com sua programação - parece que você está começando bem.
fonte
Uma coisa não mencionada nas outras respostas:
Você certamente precisa trabalhar nessa parte. A Internet é a ferramenta crucial de todo programador e você precisa trabalhar com ela.
Em primeiro lugar, a programação é sobre resolução de problemas. Quando você não sabe como executar o X no idioma XYZ, pesquise no Google e procure soluções. * Encontrar soluções rapidamente é tão importante para um programador quanto usar um teclado.
Em segundo lugar, outra habilidade crucial é usar a documentação . Os livros geralmente são como tutoriais - oferecem orientação, mas não oferecem conhecimento completo - e é aqui que a documentação é útil. Por exemplo: você está programando em C ++, tem um mês de experiência. Mais cedo ou mais tarde (eu diria que em breve) você precisará usar a biblioteca padrão ... ou talvez você já a tenha usado? Nesse caso, é um bom sinal, provavelmente o seu livro não é ruim nesse caso. De qualquer forma, será útil saber o que já está presente nas bibliotecas padrão C ++ e o que não está. Para isso, é útil manter uma referência como http://cplusplus.com/ aberta o tempo todo durante a programação.
A internet é crucial para a codificação e ainda mais crucial para aprender a codificar. Se seu pai não entende e espera que você aprenda a programar usando apenas os livros , a abordagem dele é contraproducente e faz com que você progrida mais lentamente (e possivelmente tenha maus hábitos).
fonte
Ele não tem idéia do processo de se inclinar para o programa. Você pode ler todos esses livros e ainda não conseguir escrever nada decente, porque o que leva mais tempo é o entendimento genuíno do que você pode fazer e como abordá-lo.
Você disse ao seu pai que gosta de programar - não deixe que ele estrague tudo para você. E certamente não tente aprender 5 linguagens de programação, pelo menos não agora. Atenha-se a um relativamente simples como o Java, que pode ser transferido para os outros depois que você o dominar.
No que diz respeito aos livros, a propósito, é o caminho certo para fazê-lo, porque você aprende sobre o idioma da maneira certa. Os seguintes tutoriais costumam levar a maus hábitos etc.
Boa sorte; e que ele saiba que você está fazendo isso corretamente, o progresso é lento, mas você está aprendendo muito enquanto está fazendo isso.
fonte
Eu acho que muitos programadores com idades entre 25 e 35 anos cresceram jogando Nintendo e Sega. Uma boa parte deles / nós fez a transição mental de por que jogar um jogo quando você pode fazer o seu próprio. É uma motivação muito egoísta que pode levá-lo a ser um programador melhor. É um começo. Mais tarde na vida, você pode passar da criação de videogames (problemas virtuais) para jogos com apostas mais altas (problemas do mundo real). Assim como esta prescrição para esse paciente não interagir negativamente com outro medicamento prescrito, esses caminhões podem fazer a maior quantidade de entregas com a menor quantidade de gás para reduzir a poluição, ou como posso garantir que a compra desse estoque comprará pelo preço que eu quero quando existem milhares de outros comprando ao mesmo tempo.
fonte
A arquitetura está enraizada no mundo físico, sobre o qual você está aprendendo desde que nasceu. Para um estudante universitário de arquitetura, brincar com legos seria uma perda de tempo. Seu pai assume que, como você sabe matemática, conhece os fundamentos e deve poder começar a produzir coisas. Bem, isso não é verdade. Ele não sabe nada sobre programação, porque nem percebe que não é um ramo da matemática .
A programação é um mundo novo. A melhor maneira de se tornar especialista nisso é aprendê-lo como você aprendeu no mundo físico: mergulhe e experimente. Em uma palavra, toque. É hora de lego.
Para comparação, considere os astronautas. Eles também têm um mundo novo para o qual estão totalmente despreparados. Eles precisam começar com o básico, como mover-se pela sala.
Como próximo passo, sugiro criar um jogo em que o computador escolha um número aleatório e tente adivinhar, e ele informa se você está adivinhando muito alto ou muito baixo.
Experimente também muitos idiomas diferentes! Não de uma só vez, mas talvez por uma semana de cada vez.
Quando você ganha experiência, criar um videogame completo é um dos maiores desafios que você pode enfrentar como programador de jornada. Os videogames tocam quase todos os cantos da nossa disciplina, e a criação de um é uma ótima maneira de desenvolver suas habilidades. É também um lugar perfeito para experimentar e aprender em níveis cada vez mais altos de habilidade.
fonte
Aproveite o seu tempo aprendendo linguagens de programação, quanto mais você pratica, mais você aprenderá a programar. Desta vez, você criou um programa muito simples, que é bastante divertido para iniciantes, mas à medida que avança, certifique-se de criar um bom programa que poderia ser usado pelo seu pai, bem, se você me perguntar, foi assim que ajudei meu pai no trabalho dele.
Apenas converse com seu pai e explique as coisas, e tenho certeza de que ele realmente entenderá e tenho certeza de que um dia você será um excelente desenvolvedor.
fonte
Eu estudo como engenheiro de software e o progresso da aprendizagem de programação na minha educação tem sido mais do que apenas ler livros.
Antes de tudo, recomendo que você aprenda C, porque é uma linguagem simples e muitas outras linguagens (como C ++, objetivo-c) são construídas sobre C. A maneira como fizemos foi comprar um micro chip ( no nosso caso, um Atmel Mega16 com um kit STK 500, que é apenas uma placa com LEDs e botões) e, em seguida, apenas brincamos com ele, programando programas para fazer bip e bop. Isso é mais divertido do que ler e escrever programas olá mundo IMO.
Quando C se tornar um passeio para você, vá para C ++ e programação orientada a objetos (OOP). OOP é o conceito-chave em muitas linguagens e maneiras de pensar em programação e, portanto, obrigatório se você é sério com sua programação. Certifique-se de entender a teoria por trás da OOP antes de mergulhar nela - caso contrário, pode ser um processo difícil :-)
Por último, mas não menos importante, recomendo que você estude diferentes tipos de dados, como pilhas, filas, pilhas etc., que são ótimos para entender quando você está programando e lendo sobre novas linguagens.
Boa sorte meu amigo!
fonte