paulo1205
(usa Ubuntu)
Enviado em 16/05/2017 - 11:47h
viniciusalopes escreveu:
ANTES DE MAIS NADA: Já é a segunda vez que interpretam mal minha vaquinha... ISSO NÃO É um ataque pessoal.
É apenas a minha assinatura do VOL. Está no final de todos os meus posts.
Acontece que pessoas que costumam opinar geralmente se incomodam com a minha frase de assinatura... mas nunca foi nada pessoal contra ninguém. É SIMPLESMENTE O QUE EU PENSO!
Ninguém disse que é pessoal. Eu mantive essa parte da sua mensagem na minha resposta porque ela funciona como um símbolo daquilo que você fez, dar a resposta de bandeja -- algo que a comunidade “C / C++” do VoL historicamente repudia, como você poderá facilmente constatar pelo histórico do fórum.
Também muito interessante do ponto de vista simbólico é a citação de si mesmo, num contexto totalmente relacionado ao que você tinha acabado de fazer.
paulo1205 escreveu:
Nunca vi voce por aqui, então imagino que você seja relativamente novo na área.
R: Se ao dizer 'área', se refere à GNU/Linux, sim, sou novo, afinal comecei a utilizar a partir do ano de 2009.
Se ao dizer 'área', se refere ao VOL, aí já não sou tão novo na área assim... ao menos tenho mais tempo de cadastro que você. Quando você se cadastrou (24/02/2012) eu já estava aqui há exatos 2 anos, pois me cadastrei em 14/02/2010.
Não. Eu me referia à comunidade “C / C++” do VoL, na qual você nunca havia postado anteriormente.
Mas você também parece ser relativamente novo no Fórum do VoL em geral. Mesmo tendo uma conta criada em 2010, todas as 81 postagens no fórum do VoL (até as 09:50 de hoje) listadas pelo seu perfil público são do ano de 2017. E dessas 81 postagens, havia apenas duas na comunidade “C / C++”: exatamente as duas deste tópico.
R: Vocês não incentivam a entrega de respostas prontas, e eu respeito isso. Mas sinto lhe informar que você não fala por todos, visto que eu também faço parte da comunidade, e não compartilho da mesma postura.
Eu falo como moderador da comunidade “C / C++”, de comum acordo com outros moderadores da comunidade, e num espírito compartilhado pela maioria dos membros de longa data. E esse princípio está expresso claramente no texto descritivo da comunidade, nos seguintes termos (com grifos meus).
Atenção ao fato de que a comunidade repudia práticas ilegais e antiéticas, tais como pirataria, invasão não-autorizada de sistemas ou atendimento de pedidos de respostas prontas a trabalhos, testes e exercícios escolares.
Então, meu caro, eu não estou inventando nada novo contra você.
EU, posto respostas prontas, para que a pessoa entenda como se faz, a partir do código. O entendimento do funcionamento do código pronto também é uma técnica didática, próxima do que chamamos de ENGENHARIA REVERSA.
Engenharia reversa é outra coisa, praticada por quem necessariamente conhece as ferramentas e técnicas básicas, a fim de compreender o funcionamento de um mecanismo específico. Não é o contexto de um novato, que está enrolado com as próprias ferramentas básicas.
Aprendi muito lendo e entendendo códigos prontos.
Idem. Mas o caso é de
linguagem. Assim como se aprendem as línguas naturais (Português, Inglês, Mandarim ou qualquer outro idioma) por imitação e prática, o mesmo é verdadeiro com linguagens de programação.
Outro ponto relevante, particularmente no caso de programação, e possivelmente com um grau de importância um pouco diferente do que nas linguagens naturais, é que a linguagem em si não é tão importante quanto aquilo que se está tentando expressar, isto é, os passos individuais a serem tomados para construir um algoritmo, o qual, depois de pronto, pode ser expresso em qualquer linguagem, natural ou de máquina.
A organização mental para saber arrumar essas coisas não se adquire por engenharia reversa, mas muito mais por ensino, orientação bem dada, pela prática, pela apresentação de alternativas, com o estudo de vantagens e desvantagens de cada uma, e ainda conta com um componente importante, ainda que não-essencial, do talento e da afinidade para esse tipo de atividade.
Ou seja, não concordo com a maioria, e espero que respeitem minha postura.
As regras desta comunidade já estavam dadas antes de você participar dela. Você diz que respeita, mas exige o direito de fazer diferente daquilo que a maioria espera que todos façam, em nome da boa convivência no longo prazo.
O tipo de acordo que se tem nesta comunidade específica não é diferente do que você vai encontrar em outro locais da Internet: a maioria dos fóruns de programação não vê com bons olhos os pedidos e a entrega de respostas prontas, preferindo apontar caminhos em lugar de resolver problemas, para estimular o crescimento que pode fazer a diferença entre o programador hábil e um que copia e cola código alheio.
Experimente chegar no Stack Overflow -- para falar de um fórum de programação famoso -- e comece a entregar respostas prontas. E experimente ainda exigir o direito de se manter fazendo assim. Se o fizer, certamente vai tomar reprimendas públicas e duras, vai ser mal avaliado, e vai acabar sofrendo banimento.
R: Disseste bem: velho cliché(...)batido. As pessoas da época atual buscam soluções rápidas e fáceis.
Por “batido”, eu quis dizer simplesmente que é antigo. Mas não é ultrapassado, e muito menos falso. Como eu disse, é “mais verdadeiro que nunca”.
Quanto a todo mundo querer soluções rápidas e fáceis, eu mesmo disse isso. Mas eu critico esse imediatismo, principalmente quando ele é usado pela simples preguiça de estudar ou de pensar.
EU, apresento soluções. Não pretendo ensinar nada, mas sim resolver problemas, assim como a IOT.
Isso entra em tensão com o que você escreveu acima, quando disse que posta soluções “para que as pessoas entendam como se faz”, defendendo que seria uma “técnica didática”. Fazer entender por meio de didática soa muito parecido com ensinar.
R: Notei sim, mas minha experiência profissional é de que o melhor é entregar ao cliente mais do que foi pedido. Surpreendê-lo!
A academia não é o mercado.
Eu fui bem claro quando falei que existem professores que exigem que faça o que foi pedido. E eu falei e falo tanto por experiência própria quanto pelo que já ouvi de terceiros em fóruns como este. Por exemplo, eu tive professor cabeça-dura que me tirou ponto na prova porque eu não dispus visualmente o código em Pascal do jeito como ele o teria disposto, mesmo funcionando de modo 100% correto. No mesmo semestre, meu monitor de Prog. I simplesmente não sabia programar (repetiu Prog. II enquanto era meu monitor de Prog. I, e depois, quando fez Prog. II junto comigo, estava se afundando de novo). Como eram os monitores que “corrigiam” os trabalhos feitos no laboratório, ele tirava pontos dos programas que não entendia (e eu suspeito que, nos últimos programas do semestre, ele simplesmente atribuía notas aleatórias, independentes inclusive de se os programas produziam resultados corretos ou não).
Pelo que várias pessoas relatam aqui e alhures, esse meu professor e o monitor não são raridades.
Profissionais que se atém apenas ao enunciado, são profissionais limitados.
Eu não sugeri que o
profissional se ativesse ao enunciado. Até porque um profissional analista de sistemas não é um mero programador, que codifica aquilo que o cliente pede. O bom analista compreende o negócio do seu cliente, e o ajuda a refinar seus processos. Em vez de codificar a ineficiência do cliente, a fim de que ele produza mais ineficiência de modo informatizado, o bom analista elimina as ineficiências no sistema que vai entregar, melhorando os processos do cliente. E cobra por isso.
Eu sugeri que um
aluno talvez não deva querer divergir do professor. Depois de lançada a nota, aí, sim, ele é livre. Antes, depende de alguém, que pode ser muito menos capaz do que ele próprio, para determinar seu progresso rumo ao futuro.
Os profissionais de verdade se destacarão pela capacidade de pensar e entregar soluções melhores que as solicitadas, de forma rápida, fácil, eficaz e eficiente.
O que você chama de “profissionais de verdade”? Aqueles de carne e osso, ou aqueles do mundo ideal?
Mesmo no mercado, você tem de ser realista. Não sei que tipo de profissional você é ou em qual empresa trabalha. Talvez você seja dono do seu próprio negócio e seja um profissional com a rara habilidade de nunca se enrolar com prazos apertados, orçamentos estourados, equipes inconstantes.
Se você não for tão diferente da maioria, entregar mais do que o cliente pediu pode ser simplesmente trabalhar de graça.
R: Modular seria OUTRA solução. mas para quem está aprendendo seria mais complicado entender o funcionamento de um código cheio de PPRs, PPVs, funções, métodos, etc.
Concordo. E será mais complicado se o aprendiz não aprender a, desde cedo, dividir bem tarefas distintas. Se ele já tiver uma mente que sabe compartimentalizar, a modularização será mais fácil de assimilar. E a orientação a objetos será mais fácil de assimilar. E programação funcional será mais fácil de assimilar. E a programação orientada a eventos será mais fácil de assimilar.
E não há nenhuma originalidade nisso, nem é uma questão de opinião. Basta olhar para a história das técnicas e linguagens de programação.