Os desenvolvedores do Python terão mais facilidade para aprender C (e vice-versa)? [duplicado]

4

Como o Python foi escrito na linguagem de programação C, significa que se eu conheço C, vou aprender e dominar o Python mais rápido do que seria necessário para aprendê-lo sem o conhecimento prévio de C?

Ou os codificadores Python acharão mais fácil aprender C que programadores de outras linguagens não relacionadas a C?

    
por curious 02.11.2011 / 04:04
fonte

4 respostas

17

A implementação de referência do Python, CPython foi realmente escrita em C, mas dizer que o Python é escrito em C é um simplificação excessiva:

  • Existem implementações escritas em outros idiomas, como Jython (escrito em Java), IronPython (escrito em C #), PyPy ( escrito em Python), CLPython (escrito em Common Lisp), Psyco (também escrito em C), Stackless Python (escrito em C e Python) e Swallow sem carga (escrito em C ++)
  • Embora o interpretador CPython esteja escrito em C, é possível escrever módulos para ele em C ++ ou Cython (não para ser confundido com CPython), bem como C
  • Em que idioma o intérprete de uma língua é escrito é importante apenas se você quiser escrever módulos / extensões para o próprio intérprete, não tem nada a ver com a linguagem

Várias linguagens (como Java, PHP, C # e outras) são referidas como pertencentes à família C, que não tem nada a ver com o que as ferramentas de linguagem (compiladores, intérpretes) para essas linguagens são escritas, mas significa que elas tem uma sintaxe muito similar a C. A sintaxe de Python é muito diferente de C, não só não pertence à família C, mas é bem diferente dela.

Além do interpretador CPython, a única outra relação que o Python tem com o C é que ambos são linguagens de programação multiprocessos e multi-paradigmas.

Qualquer um que você aprenda primeiro irá ajudá-lo muito a aprender o outro, e isso é verdade para toda linguagem de programação, pois o que você aprende primeiro irá apresentar conceitos de programação e modos de pensar que são comuns em todos os idiomas.

Python é geralmente considerado como uma linguagem de nível superior, enquanto C como uma linguagem de nível mais baixo, o que significa que o Python está mais próximo do que nós humanos consideramos amigável e mais próximo do que a máquina considera amigável, então o Python é um pouco mais fácil iniciantes para começar.

    
por 02.11.2011 / 04:59
fonte
12

A sintaxe do Python não é nada parecida com a do C. Portanto, ter conhecimento prévio do C realmente não tem nada a ver com o quão bem você aprenderá o Python. Só porque sob o capô há código C não significa que você vai aprender python mais rápido porque você sabe C. Como um programador python você está lidando com a sintaxe do python não C.

    
por 02.11.2011 / 04:17
fonte
2

Linguagens construídas sobre outras pessoas podem operar de maneiras fundamentalmente diferentes, introduzir novos conceitos. Só porque cada operação em Python deve ser traduzível para uma operação em C não significa que essa operação seja viável ou boa prática em C. normal. O tempo que você gasta aprendendo C não irá realmente ajudá-lo com Python, relativamente falando.

    
por 02.11.2011 / 04:16
fonte
2

O Python e o C discutivelmente compartilham muitos conceitos, então aprender uma dessas linguagens definitivamente irá ajudá-lo com a outra (eles pertencem à mesma categoria de linguagens imperativas, mesmo que eles diferem significativamente em alguns pontos). Aqui estão alguns conceitos comuns:

  • "Estruturas de controle": loops, testes
  • Chamadas de função e valores de retorno
  • As variáveis têm um tipo (os dois idiomas são strongmente tipados) e as operações devem respeitar esses tipos
  • Tipos de variáveis básicas: números inteiros, flutuantes, sequências, etc.

Dito isso, o Python é mais simples e muito mais expressivo que o C: os programas escritos em Python são geralmente 2-10 vezes menores que o código C equivalente, e o Python oferece estruturas de dados mais úteis que C (a saber: listas, dicionários, conjuntos , objetos,…).

Portanto, recomendo vivamente que aprenda primeiro o Python. C será muito mais fácil de aprender depois, porque o Python permitirá que você compreenda os conceitos corretos de programação muito mais rapidamente.

    
por 02.11.2011 / 11:28
fonte