Quais linguagens de programação devo aprender para me tornar um desenvolvedor Ubuntu? [fechadas]

22

Embora eu tenha usado o NetBeans uma vez para um projeto, quais idiomas eu preciso aprender para me tornar um desenvolvedor completo do Ubuntu?

Meu projeto no NetBeans (somente Java) foi projetar uma calculadora (relativamente fácil). Além disso, como aprendemos a criar visualizadores de imagens, navegadores etc.?

Além disso, qual seria o melhor idioma para determinadas aplicações?

fffdf
fonte
3
É bastante subjetivo ... Exemplo: perl pode ser um substituto para python e
vice
Se você puder ser mais específico sobre o que deseja escrever, talvez possamos responder melhor, mas bash então ..., é provável que você tenha muitas opiniões diferentes e talvez seja melhor perguntar isso nos Fóruns do Ubuntu: Desenvolvimento e programação
Warren Hill

Respostas:

31

A resposta é simples e não é realmente útil. Seja qual for o idioma necessário. O Ubuntu é uma tonelada de software, alguns escritos em C, alguns em C ++, alguns em Python, Perl, bash ... e outros. Você definitivamente deve aprender scripts com o bash, e deve escolher uma linguagem como Perl ou Python, possivelmente a última. Além disso, aprender C à moda antiga nunca prejudica ninguém - você aprende mais sobre como os programas funcionam, o que são bibliotecas, muitas coisas em outras ferramentas.

Caso contrário - primeiro encontre uma tarefa, um nicho, algo que precise ser trabalhado ou algo que esteja faltando ou algo que seja fascinante e que você gostaria de trabalhar nisso. E então descubra qual idioma será bom para esse fim.

janeiro
fonte
5
Simples, mas preciso;) Qualquer que seja o idioma necessário para realizar o trabalho da maneira mais eficiente.
Rinzwind
3
Como o OP menciona que ele tem experiência em Java, vale a pena mencionar que o Java também roda bem no Ubuntu. Você nem precisa recompilar (ao portar de outro sistema operacional)
BlueRaja - Danny Pflughoeft
@ BlueRaja-DannyPflughoeft A menos que você esteja desenvolvendo um aplicativo que exija chamadas de sistema de baixo nível. Freqüentemente, você verá aplicativos fornecendo bibliotecas específicas da plataforma para esses recursos. Mas geralmente sim, você está certo.
Dennis Eichhorn
Ofc que qualquer coisa que pode ser compilada para uma certa arquitetura de CPU pode fazer o trabalho. Existem aspectos mais importantes a serem considerados quando alguém deseja desenvolver para uma plataforma específica. Como quanto tempo essa pessoa precisa para começar, quer lidar com o gerenciamento de memória, quer fazer programas em várias plataformas, que tipo de programas ele deseja criar, sabe trabalhar em equipe , que ele quer tornar os computadores que servem sanduíches de bacon enquanto massageia os usuários ou um sistema de ar condicionado móvel, o céu é o limite dizem alguns, etc ...
userDepth
7

Se você pretende escrever aplicativos para o Ubuntu que possam ser executados em vários dispositivos e formatos (desktop, telefone, tablet, TV ...), recomendo aprender QML e JavaScript . Essencialmente:

  • Use QML para escrever aplicativos convergentes do Ubuntu que executam dispositivos e fatores de forma
  • Use JavaScript para complementar a QML ao escrever aplicativos Ubuntu e escrever aplicativos da web do Ubuntu
David Planella
fonte
Você pode dar um pouco mais de detalhes sobre por que esses dois são adequados?
don.joey
Feito, espero que fornece orientação clara :)
David Planella
5

Você deveria aprender:

  • JavaScript: como a maioria das estruturas de interface do usuário / env. são / serão baseados em JavaScript; você precisará de qualquer maneira algum dia ou outro.

Então, para todo o resto, você precisará de outra coisa:

  • C ++ / C
    • profissionais: incrivelmente rápido, acesso a recursos de baixo nível
    • contras: muito tempo para aprender a escrever algo estável, comunidade horrível
  • Rubi:
    • profissionais: fácil de aprender, realmente agradável de escrever, ótima comunidade
    • contras: pode ser lento para alguma tarefa (realmente)
  • Python:
    • profissionais: muitos pacotes estão em python, ótima comunidade, rápido, etc.
    • contras: python 3 (apenas digitando)

Porém, ainda existem muitas outras linguagens, como Java etc., no entanto, o mencionado acima pode ser mais fácil para começar, exceto C / C ++, mas que vale a pena aprender, pois você poderá usá-lo com muitas outras linguagens (por exemplo, estender python, ruby ​​etc.)

avetis.kazarian
fonte
1

O trabalho de programação consiste no código real e no modelo mental abaixo dele.

Ensinar a si mesmo uma linguagem de programação é fácil, desde que você tenha os conceitos básicos de como os computadores funcionam; no entanto, para fazer contribuições úteis a um projeto, você também precisa entender o design por trás dele.

Minha sugestão é, portanto, ingressar em um projeto no qual você tenha interesse pessoal e usa com frequência e, em seguida, comece com um trabalho de garantia de qualidade:

  • se houver um relatório de bug um tanto vago, tente replicar o problema e melhorar a descrição. Pontos de bônus para um teste automatizado.
  • se houver um bug antigo que não receba atenção há algum tempo, tente ver se ele ainda existe e atualize o relatório de bug
  • se houver falhas no testinguite, tente descobrir o que está acontecendo para que o teste falhe

Isso permitirá que você aprenda sobre a parte conceitual e difícil do projeto em uma curva de aprendizado gerenciável, mantendo seu interesse (por ser um projeto de seu interesse) e dando acesso à comunidade em torno do projeto. A linguagem de programação real (o que for usada no projeto) é algo que você pode aprender rapidamente.

Para um exemplo de uma entrada um pouco gradual, veja minhas contribuições para o projeto Beignet . O conhecimento da linguagem de programação (C / C ++ nesse caso) certamente não é o fator limitante aqui.

Simon Richter
fonte
0

Você deve aprender ... todos eles! Ou melhor, meta- aprenda todas as línguas. Quando você conhece dois ou três idiomas, pode aprender rapidamente qualquer novo idioma semelhante a esses. Se você conhece idiomas suficientes, "virtualmente" conhece todos eles e, mais importante, entende o que faz parte da linguagem e o que pertence à programação independentemente da linguagem. Por fim, idiomas específicos são irrelevantes.

Portanto, você pode querer aprender Java, C, Scheme, OCaml, Assembly (pelo menos duas arquiteturas), Forth e um pouco de Prolog, não necessariamente nessa ordem. A segunda língua será a mais difícil, porque você terá que aprender novos conceitos e esquecer os conceitos que aprendeu com a primeira língua, mas que acabou por estar errado. Depois é fácil e só se torna mais fácil.

Em seguida, ao lidar com uma tarefa de desenvolvimento específica, use a linguagem mais adaptada com base na disponibilidade e suporte de compiladores e bibliotecas, conhecimento de colegas de trabalho, restrições de política do gerenciamento e assim por diante. A flexibilidade da mente é a chave. Conhecer muitos idiomas concede essa flexibilidade.

Thomas Pornin
fonte
Todos eles? Sério? Veja aqui o clássico programa "HelloWorld" em alguns. A maioria dos programadores conhece apenas alguns idiomas. É apenas importante conhecer os que você precisa.
21713 Warren Hill