Vasco Posted November 4, 2019 at 09:49 AM Report Share #616505 Posted November 4, 2019 at 09:49 AM Bom dia Eu gostaria que partilhassem as vossas opiniões acerca de um assunto. Acham realista ser um muito bom programador estudando sozinho? Tenho bases de C/C++, mas nada de extraordinário. O que recomendam a aprender primeiro de forma a ser o melhor programador possível? Gostaria também que recomendassem sítios para aprender que eu possa não conhecer. Obrigado. Link to comment Share on other sites More sharing options...
M6 Posted November 4, 2019 at 02:38 PM Report Share #616506 Posted November 4, 2019 at 02:38 PM Viva 🙂 A tua questão lava a uma dissertação filosófica sem fim, pelo que vou tentar abstrair-me dessa questão e apenas referir apenas a minha experiência e necessidade enquanto profissional na área de TI. Conheci ao longo do tempo vários tipos de programadores, desde aqueles que só o eram de nome até super vedetas idolatradas pelas empresas. Se em relação aos primeiros compreendi rapidamente que não é o tipo de profissional que quero ao meu lado, quando ao segundo, bom, depende. Depende não das características técnicas mas sim de outros fatores como sejam a comunicação, documentação, relação interpessoal, interação social, etc. (uma vez que tecnicamente dificilmente haveria algo a apontar). Entre estes dois extremos está, obviamente, o "resto do mundo", onde eu, aliás, me considero incluído. Se pensares bem no que é programar, não é mais do que pensar, encontrar uma solução para um problema e um passar essa solução do pensamento lógico/algorítmico para uma determinada linguagem de máquina. Este processo é, para mim, o mais importante. Muito mais importante do que conseguir apresentar a solução numa única linha de Perl contra um código de 45 linhas em VB, C, Java ou noutra qualquer linguagem. Uma coisa que aprendi há muito - e que ficou claro ao ler artigos do Joel Spolksy há muitos anos atrás - é que quem quero ao meu lado a programar deverá ser (palavras do Joel): Smart Get Things Done Not a Jerk Ou seja, alguém que sabe pensar, que sabe fazer/concretizar/executar e que não é um parvalhão. Para mim, e reitero que isto é apenas a minha opinião pessoal, um bom programador é alguém que cumpre com esses três requisitos. Todos sabemos que qualquer um dos requisitos tem graus de variação e cada um de nós será diferente, mas é fácil de compreender que há um limite mínimo que é aceitável e os parâmetros não têm todos o mesmo peso. Por exemplo, alguém que é muito boa pessoa mas é incapaz de resolver um problema - para mim - não serve, alguém que é excelente a pensar e a executar mas é um perfeito imbecil - dificilmente serve. Assim, a tua questão vai ter tantas respostas diferentes quantas as pessoas que responderem. Para mim, é isto, haverá certamente outros que usam outros parâmetros (por exemplo a malta dos RH tem por hábito medir outras coisas). Espero ter ajudado mais do que ter complicado 😄 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Vasco Posted November 4, 2019 at 02:56 PM Author Report Share #616507 Posted November 4, 2019 at 02:56 PM Obrigado pelo seu comentário. Entendo perfeitamente o que quer dizer. Tenho imensa vontade de aprender (ou voltar a aprender) e apesar de ser novo queria começar o mais rápido possível, mas no entanto acho que me falta um certo encaminhamento. Não sei bem por onde começar e qual será o caminho certo para seguir nesta fase inicial, e abri este tópico para ter o vosso testemunho pois vários membros já terão certamente uma vasta experiência. Link to comment Share on other sites More sharing options...
Ricardo_sa Posted November 5, 2019 at 11:07 PM Report Share #616517 Posted November 5, 2019 at 11:07 PM Olá, Boa noite Vi a questão do Vasco e estou com o mesmo "problema"..... Fiz uma licenciatura em eng de sistemas informáticos mas acabei por nunca exercer qq função nesta área…… A licenciatura já lá vai à 5 anos, A minha questão é, se quiser tentar uma oportunidade de trabalho nas TI vou ter de me agarrar em casa, mas que linguagem/plataforma será mais acertadas estudar para estar minimamente preparado ?? Agradeço desde já a Vossa opinião. Cpts Ricardo Link to comment Share on other sites More sharing options...
M6 Posted November 6, 2019 at 10:13 AM Report Share #616519 Posted November 6, 2019 at 10:13 AM Viva. Não há respostas certas à questão da linguagem. Reparem, o Cobol tem morte anunciada à décadas e, no entanto, todos os anos se escrevem milhões de linhas de código em novos programas e em manutenção dos já existentes. Mais do que a linguagem é saber corretamente o paradigma em que se está a trabalhar. Por exemplo, saber como se desenvolve de forma procedimental ou orientado a objetos, é, para mim, mais importante do que as linguagens em si. Porquê? Porque o conhecimento do paradigma permite-me pensar a solução de forma adequada, e a sua transição para código é uma questão de sintaxe, quem escreve C escreve o mesmo programa em Pascal, ou quem escreve em C# escreve o mesmo programa em Java. Obviamente há nuances aqui decorrentes das próprias linguagens, por exemplo, tenho mais facilidade em "enforcar-me" a escrever um programa em C do que em Pascal por ter menos experiência em C e pelo facto do C me "dar acesso mais fácil a toda a corda que eu quiser usar para a forca". ( 😄 Creio que percebem o que quero dizer. ) A verdade é que o conhecimento vem muito da parte prática, pelos erros que cometemos, pelos bugs que criamos e corrigimos, quando nos deparamos com problemas que temos de resolver e temos de repensar e testar estratégias diferentes, isso vai-nos fazendo explorar mais a linguagem e levá-la a fazer coisas que nunca tinhamos pensado fazer de uma determinada forma. Voltando à questão das oportunidades, podem olhar para os anúncios de emprego para terem uma ideia sobre as necessidades do mercado. Tenham em atenção que a maior procura quer dizer também uma maior oferta e, por isso, mais concorrência. Há certas coisas que considero que qualquer um devia saber, pelo menos ao nível de não se atrapalhar, são aquilo que chamo de "canivete suíço", como é o caso da combinação do PHP com o MySQL. Tenho, no entanto, de fazer dois alertas caso usem os anúncios como fonte de pesquisa. 1. Cuidado com os recrutadores que procuram "5 anos de experiência" (esta expressão é muito comum) de malta "recém-licenciada" (ou termo idêntico). Parece parvo não é? Pois, é mesmo parvo. Essa é uma de muitas formas de dizer "quero pessoas boas mas vou pagar ao nível de um estagiário", pelo que devem pensar bem se esse é o tipo de empresa/cultura em que querem trabalhar (não estou a dizer para o fazerem ou não fazerem, apenas alerto para que o façam em consciência). 2. Cuidado que a quantidade de ofertas reais é bastante inferior aos anúncios existentes. É normal haver 3, 4, 6 anúncios de várias entidades distintas para uma mesma vaga. A razão é simples, quem realmente tem a vaga contacta empresas de RH ou consultoras para lhe arranjarem uma pessoa, cada uma delas coloca um anúncio e, muitas vezes, elas próprias contactam outras empresas para saber se têm alguém para sub-sub-contratação, originando mais procura para uma única vaga real. Espero ter ajudado. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Vasco Posted November 7, 2019 at 12:10 AM Author Report Share #616537 Posted November 7, 2019 at 12:10 AM Obrigado pela resposta. Eu ainda estou no meu 1o ano de faculdade (licenciatura em Engenharia Informatica) mas queria começar a aprender sozinho, para nao ir "às escuras", porque como disse eu ja tenho bases de C e também tive de java, cheguei ate a falar de orientado a objetos, mas sinceramente ja nao me recordo de muita coisa Link to comment Share on other sites More sharing options...
PsySc0rpi0n Posted November 9, 2019 at 10:38 PM Report Share #616557 Posted November 9, 2019 at 10:38 PM (edited) Boas. Só mais uma opinião de alguém que apesar de gostar muito de programar, infelizmente a vida ainda não me proporcionou um trajecto profissional nessa área. No entanto, e até a mim devia aplicar isto, acho que o primeiro passo será perguntar a nós mesmos em que área queremos programar. Queres desenvolver aplicações móveis? Queres ir para Web development? Deep leaerning? Machine learning? Sistemas embebidos? Robótica? Scripting? Há muitas áreas. Acho mesmo que o primeiro passo é escolher uma area. Para escolher uma área, talvez devesses pesquisar um pouco sobre as linguagens de programação mais usadas em cada área e veres se alguma se enquadra mais numa primeira avaliação mais superficial tua. Depois disso acho que o rumo estrá mais traçado e poderás então dedicares-te mais objectivamente a uma linguagem da área que escolheste. No meu caso, eu identifiquei-me bastante com sistemas embebidos porque junta dois mundos que eu gosto. Electrónica e programação. Depois, já mais numa óptica mais técnica, acho que ler muito, especialmente os manuais "oficiais" de cada linguagem será sempre uma mais valia relativamente a ler sobre as linguagens pela net fora. Há sempre muita coisa que muitas vezes não está bem descrito ou é usado de uma forma redundante ou secundária e isso pode levar a maus entendimentos da linguagem. Eu farto-me de ouvir "RTFM". lol. É verdade. Quando peço ajuda sobre determinadas dúvidas, acabo por ouvir aquilo, precisamente porque caio na tentação muitas vezes de seguir exemplos que se vêem na net em vez de tentar ler primeiro os docs. No caso de C, o meu livro de referência é o "The C programming Language" de Dennis Ritchie & Brian Kernighan que são só os criadores da Linguagem C baseada na linguagem B, muitas vezes também apelidado de "K&R". cUMPs Psy Edited November 9, 2019 at 10:41 PM by PsySc0rpi0n Kurt Cobain - Grunge misses you Nissan GT-R - beast killer Link to comment Share on other sites More sharing options...
Vasco Posted November 9, 2019 at 10:43 PM Author Report Share #616558 Posted November 9, 2019 at 10:43 PM A área que sinceramente neste momento tenho mais interesse seria o web development Link to comment Share on other sites More sharing options...
PsySc0rpi0n Posted November 9, 2019 at 11:14 PM Report Share #616559 Posted November 9, 2019 at 11:14 PM Em 09/11/2019 às 23:43, Vasco disse: A área que sinceramente neste momento tenho mais interesse seria o web development Então acho que tens meio caminho andado. Agora é pesquisar sobre as linguagens disponíveis e ver qual te chama mais à atenção e começar a dedicares-te a ela/elas. E C não eve ser o caso. Kurt Cobain - Grunge misses you Nissan GT-R - beast killer Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now