Uma documentação bem escrita é uma razão suficientemente boa para aprender uma linguagem de programação? [fechadas]

14

Atualmente, estou aprendendo Python, que não fazia parte do meu currículo da faculdade. Em uma entrevista, perguntaram-me por que escolhi o Python e respondi que é fácil aprender e a documentação está muito bem escrita. O entrevistador não respondeu se era um motivo suficientemente bom. Ele parecia convencido, mas não tenho certeza.

Uma documentação bem escrita, juntamente com a facilidade de aprendizado, é um motivo suficientemente bom para escolher uma linguagem de script? Ou devo ter elaborado mais sobre a disponibilidade de bibliotecas Python e uma maior base de usuários do Python?

Apenas uma nota. Python não era necessário para o trabalho. A empresa trabalhou em Ruby-on-rail. Python estava no meu currículo e acho que o entrevistador só queria saber quais considerações eu fiz como mais atual ao escolher uma linguagem de programação.

Aseem Bansal
fonte
12
possivelmente não em entrevista, mas eu perguntaria se você precisa de um motivo para aprender algo diferente do que deseja.
jk.
2
@ jk eu só sei C até agora. Eu não sou um grande especialista, mas eu sei a sintaxe, pode implementar estruturas de dados e tal. Eu precisava de uma linguagem na qual pudesse implementar idéias mais rapidamente. Essa foi a razão pela qual escolhi uma linguagem de script. A documentação, a facilidade de uso e a base de usuários foram as principais vantagens quando comparadas ao Perl e ao Tcl. Nem todos os três se aplicaram às duas linguagens, mas até onde pude encontrar usando o Google Python era melhor do que esses em uma delas. Então, eu escolhi Python. Aprender porque eu quero é uma razão boa o suficiente, mas não era do Python que eu estava interessado. As idéias eram a principal coisa.
Aseem Bansal
1
[Fazer algo porque é fácil] não é tão impressionante quanto [fazer algo porque é difícil]. A menos que seja realmente difícil e você esteja apenas se exibindo. ;)
TimG 20/08/13
5
Como você é novo no Python, sugiro que você pare de se referir a ele e pense nele como "uma linguagem de script". É uma linguagem . As pessoas escrevem sites, aplicativos de desktop, pequenos scripts, grandes bibliotecas, controladores incorporados etc. Chamar isso de "uma linguagem de script" parece inapropriado para mim.
Chelonian
@Chelonian Point observou. Obrigado por apontar isso.
Aseem Bansal

Respostas:

20

Não, a documentação bem escrita não é uma razão suficientemente boa para aprender um idioma.

A documentação mal escrita é uma boa razão para não aprender uma.


Há quatro razões para aprender um idioma:

  1. Porque pode ser uma ferramenta útil em sua carreira

    A linguagem é uma ferramenta. Um usa uma linguagem em vez de outra por causa de seus benefícios em um determinado contexto. O fato de uma linguagem ter uma documentação de alta qualidade não a torna uma ferramenta melhor, ou apenas marginalmente¹.

    A escolha da linguagem prefere basear-se na experiência anterior, nos paradigmas (exemplo: programação funcional para Haskell), nas abordagens (exemplo: modo totalmente assíncrono para JavaScript como uma linguagem de programação no servidor com Node.js), na interoperabilidade ( exemplo: compatibilidade com quase todos os sistemas operacionais para Java) etc.

    Ser capaz de usar uma ferramenta em sua vida diária é uma das razões para aprender um idioma.

  2. Porque amplia sua cultura e conhecimento

    Outro motivo para aprender uma língua é aprender novos conceitos, paradigmas e maneiras de escrever código elegante (exemplo: Haskell). Aqui, novamente, a documentação ajuda, mas não é o único motivo para aprender um idioma.

  3. Porque requer um esforço mínimo para aprendê-lo

    Outro motivo para aprender uma linguagem é porque é simples de aprender (exemplo: PHP). Novamente, a documentação contribui muito, mas a própria linguagem ainda é mais importante. Além disso, eu evitaria dizer durante uma entrevista que aprendi um idioma simplesmente porque é fácil aprender.

  4. Porque é divertido.

    O último motivo para aprender um idioma é porque é simplesmente empolgante aprender um idioma bem projetado (exemplos: Haskell, Ruby) ou um idioma para geeks (exemplo: Brainfuck).

Em um caso de Python, o que você pode responder é:

  1. É uma linguagem dinâmica. As linguagens dinâmicas facilitam a criação de protótipos e o desenvolvimento mais rápido quando as circunstâncias tornam os tipos fortes não importantes.

  2. É elegante. Talvez não seja tão elegante quanto, digamos, Haskell, mas ainda é fácil fazer a comparação com linguagens orientadas para a Web, como o PHP.

  3. O uso de indentação significativa é interessante, uma vez que muitas linguagens convencionais tornam a indentação apenas um fardo que deveria ter sido gerenciado pelo IDE em primeiro lugar. O compilador e intérprete Haskell também dependem do recuo, a propósito.

  4. Python tem uma maneira elegante de trabalhar com listas. Compreensões de lista e expressões geradoras são conceitos interessantes para alguém que nunca usou a programação funcional antes.

  5. O Django facilita a criação rápida de aplicativos da Web, mantendo o código bastante limpo. Este é um grande benefício sobre muitas outras linguagens de programação.

  6. É rápido o suficiente e poderoso o suficiente para aplicativos da web em larga escala. Por exemplo, o Dropbox é escrito em Python. O YouTube depende muito do Python. O Reddit, se bem me lembro, também conta com o Python.


Documentation Uma documentação bem escrita ainda ajuda a fazer as coisas da maneira certa e rápida.

Arseni Mourzenko
fonte
Eu apenas conheço C. Aprendi Python porque queria implementar idéias mais rapidamente. Isso exclui o primeiro ponto. Eu só conheci o paradigma funcional por meio do Python, então o segundo ponto também está fora. Então, nessa situação, fico apenas com o terceiro ponto. Qual deveria ter sido a ênfase da minha resposta? Mais informações neste comentário à pergunta
Aseem Bansal
@AseemBansal: editei minha pergunta para mostrar o que você poderia ter respondido. Além disso, o fato de você "conhecer o paradigma funcional apenas por meio do Python" é exatamente do que estou falando: você aprendeu o Python e ajudou a descobrir o FP, que é exatamente o objetivo de aprender uma linguagem.
Arseni Mourzenko
1
Você pode usar o Dropbox como exemplo em vez do youtube e Reddit. É feito em Python completamente. Se bem me lembro, Guido ajudou o Dropbox a criar seu produto e ele recentemente se juntou a eles novamente.
Aseem Bansal
Há uma quarta razão pela qual acho que você pulou: porque o idioma parece divertido!
martiert
Um pouco na linha de martiert, mas e a diversão? Se você quer aprender um idioma específico, é mais do que uma razão boa o suficiente. Tudo não precisa ser motivado pelo progresso na carreira e estratégias para maximizar suas habilidades.
Gilles
7

Se você é como eu, você não usa um martelo simplesmente porque ele tem uma alça confortável. Você usar um martelo porque você precisa dele para conseguir algo feito martelado.

Então, não, enquanto boa documentação é certamente útil, não é uma razão em si mesmo para aprender uma linguagem de programação.

stakx
fonte
1
Eu adicionei coisas que eu queria fazer e estava usando Python, mas acho que deveria ter colocado mais ênfase em fazer as coisas do que em documentação.
Aseem Bansal
3
você usa um martelo porque precisa martelar algo ... muitas pessoas usam martelos quando uma chave de fenda é mais adequada.
precisa saber é o seguinte
@gbjbaanb: Exatamente! Obrigado por ser ainda mais preciso.
stakx
1

Aqui estão minhas principais razões pelas quais aprender um novo idioma:

  1. o resto da equipe com a qual você trabalha usa e você é o novo cara que se tornará parte da equipe.

  2. você deseja resolver um problema, e o idioma X ou bibliotecas / estruturas para o idioma X parecem fornecer o melhor suporte disponível para essa tarefa

  3. Você faz isso apenas para fins educacionais.

Freqüentemente, para a situação 2, há mais de um idioma ou estrutura adequada para resolver o problema. A documentação bem escrita pode ser um dos fatores a serem levados em consideração (mas também outros fatores). Para o ponto 3, uma boa documentação pode ser mais importante, mas honestamente, se você quiser aprender um novo idioma apenas para aprender, primeiro encontre o problema que deseja resolver, caso contrário, em breve perderá sua motivação, documentação escrita disponível ou não.

Doc Brown
fonte
1

Sim, porque não? Quanto mais idiomas você aprender, mais fácil será aprender o próximo idioma. Muitos conceitos de programação podem ser aprendidos em uma variedade de linguagens. Portanto, você pode começar com o que tem os melhores materiais disponíveis para o aprendizado.

Além disso, a maioria das tarefas pode ser realizada em uma variedade de idiomas. Geralmente, depois de um tempo, você domina os principais conceitos e ferramentas da linguagem, mas aprende a maioria das bibliotecas conforme necessário. É um argumento a favor de um idioma se as bibliotecas estiverem bem documentadas, para que você possa se atualizar rapidamente em um domínio de aplicativo específico.

Gilles 'SO- parar de ser mau'
fonte
0
  • Não, a documentação bem escrita não é uma razão suficientemente boa para aprender um idioma.

  • O entrevistador fez essa pergunta e você contou a ele algumas vantagens do python. Você deve comparar python e ruby.

Edward Shen
fonte