Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0
Tiago James

Qual linguagem escolho? Por favor me ajudem! Muito obrigado

Pergunta

Olá pessoal, boa tarde, tudo bem?

 

Há alguns anos fiz cursos presenciais de HTML básico, lógica da programação com introdução ao Java Script, Scrum, UX, CSS XHTML Tableless.

 

Agora preciso desenvolver do zero um software responsivo que rode online à partir de um browser para o segmento imobiliário. No meu ponto de vista será um sofware complexo, com banco de dados, inúmeros imóveis cadastrados, interface privada para os funcionários e interface pública para pesquisa de imóveis na internet. Não será "apenas um site" para divulgar os imóveis e sim, um ERP para serem cadastrados compradores, inquilinos, proprietários, imóveis, gerenciar negócios, etc e os diferenciais que preciso que não existem no mercado, por isso, eu mesmo vou por a mão na massa e fazer. Esse software será mais complexo que qualquer sistema para imobiliárias que existe, pois já testei vários e não possuem essas funções e as empresas especialistas não se interessam por fazer esses diferenciais.

 

Minha preocupação são as seguintes:

- ouvi falar que alguns sistemas foram desenvolvidos sob determinadas linguagens de programação que possuem certas limitações para funções mais avançadas, incompatibilidades com servidores de hospedagem mais robustos, limitações com o número de informações armazenadas no banco de dados, etc.  Aí a empresa cresce, o sistema se torna muito "requisitado" e a empresa passa por grandes dificuldades para "mudar" para uma linguagem mais abrangente;

- não sei nenhuma linguagem de programação;

- atualmente não tenho dinheiro para fazer cursos presenciais ou pagos, nem fazer faculdade, quero ir direto ao foco de uma forma auto-ditada e fazendo cursos gratuitos online;

 

Perguntas:

  1. O que é mais rápido e produtivo? Aprender linguagens de programação mais simples (mesmo que eu não programe o meu sistema nelas) para que elas sejam apenas um degrau de aprendizagem para eu subir de nível e depois aprender linguagens mais complexas e aí nelas desenvolver meu software? Ou é provável que uma pessoa sem experiência nas linguagens mais básicas seja capaz de ir direto para um aprendizado de uma linguagem complexa e nela simultaneamente ir aprendendo enquanto desenvolvo o software?
  2. Tendo esse objetivo de programar em uma linguagem que será a definitiva, que linguagens devo aprender para já programar nelas?
  3. Quais as ferramentas que devo usar para iniciar a programação? Já ouvi falar do github, e aonde vou "digitar", "testar" e "rodar" a versão de testes? Já vou precisar pagar um serviço de hospedagem enquanto desenvolvo o software?
  4. É preciso saber com antecedência aonde pretenderei hospedar o software para ele seja programado de acordo com o serviço de hospedagem? (p.e. Amazon, Google, etc?)
  5. Aonde vocês recomendam a hospedagem? Amazon, Google ou outros?
  6. Nessa fase de aprendizagem, programação e testes, quais poderão ser meus custos p.e. software para fazer software, licenças para uso das linguagens, etc...(fora o computador windows 10 e internet banda larga?)
  7. Pensando no futuro qual linguagem será mais fácil de dar manutenção e qual será mais fácil encontrar profissionais que saibam mantê-la?

 

Sei que a jornada poderá ser difícil, mas estou disposto a fazer o que for necessário!

 

Muito obrigado mesmo! Um abraço!!!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

2 respostas a esta questão

Recommended Posts

A resposta para todas as suas pergunts é: "isso depende". Mas por que isso? Pelo simples fato de tudo ter seus prós e contras.

 

 

1 hora atrás, Thiago Concórdio disse:

O que é mais rápido e produtivo? Aprender linguagens de programação mais simples (mesmo que eu não programe o meu sistema nelas) para que elas sejam apenas um degrau de aprendizagem para eu subir de nível e depois aprender linguagens mais complexas e aí nelas desenvolver meu software? Ou é provável que uma pessoa sem experiência nas linguagens mais básicas seja capaz de ir direto para um aprendizado de uma linguagem complexa e nela simultaneamente ir aprendendo enquanto desenvolvo o software?

 

 

Para web, existem algumas linguagens que você pode focar, por motivos de desenvolvimento, robustes, escalabilidade, performance e/ou facilidade. Eu posso elencar as seguintes:

  • JavaScript;
  • PHP;
  • Java;
  • .NET (C# / asp.net);
  • Ruby;
  • Python.

E não é incomum utilizar mais de uma delas, principalmente qualquer "casamento" entre JavaScript e qualquer outra linguagem (vide aplicações baseadas em REST ou sockets).

 

Indifirente a linguagem de programação que for escolher, é preciso seguir uma linha de aprendizado, pois, senão, o futuro pode ser tenebroso. É importante sempre iniciar com a lógica de programação, para então entrar na programação em si.

 

Visto que deseja um software robusto, deve-se pensar em orientação à objetos também, que seria o degrau após aprender a linguagem de programação.

 

Outro detalhe importante é a curva de aprendizado de cada linguagem. Tanto JavaScript quando PHP possuem uma curva de aprendizado extretamemnte baixa, ainda mais quando se compara a linguagens como Java e .NET, que eu considero as mais altas da lista.

 

Eu não conheço Ruby e Python a fundo, mas, da lista, você praticamente pode escolher qualquer linguagem + JavaScript.

 

1 hora atrás, Thiago Concórdio disse:

Tendo esse objetivo de programar em uma linguagem que será a definitiva, que linguagens devo aprender para já programar nelas?

 

Se você estudar a fundos os conceitos principais (HTTP, programação orientada à objetos, Middleware, padrões de arquitetura, padrões de projeto, etc...) fica fácil aprender qualquer linguagem de programação acima citada. Mas não pense que isso se aprende da noite para o dia, levam-se anos.

 

1 hora atrás, Thiago Concórdio disse:

Quais as ferramentas que devo usar para iniciar a programação? Já ouvi falar do github, e aonde vou "digitar", "testar" e "rodar" a versão de testes?

 

github é uma plataforma que possui um versionador GIT. Para projetos públics ela é gratuita, mas projetos privados ela é paga. Eu recomendo a plataforma BitBucket, pois, também possui o GIT como versionador e permite projetos privados de forma gratuita para times pequenos (até 5 pessoas).

 

De qualquer forma, o que você precisa é o seguinte:

- Ambiente de desenvolvimento Windows para .NET ou Linux para as demais (facilita ser em Linux, mas não é determinante);

- Uma boa IDE para desenvolvimento. Para cada linguagem de programação, existe uma em específico;

- Versionador. Pode ser GIT ou HG (Mercurial), tanto faz, ambos são muito bons. Apenas o GIT tem um fatia muito maior de usuários.

 

1 hora atrás, Thiago Concórdio disse:

Já vou precisar pagar um serviço de hospedagem enquanto desenvolvo o software?

 

A não ser que você queira algo muito em específico, não é necessário. Apenas utilize um servidor próprio, que pode ser sua própria máquina de desenvolvimento.

 

1 hora atrás, Thiago Concórdio disse:

É preciso saber com antecedência aonde pretenderei hospedar o software para ele seja programado de acordo com o serviço de hospedagem? (p.e. Amazon, Google, etc?)

 

Não. Mas, em alguns casos, é necessário saber para qual plataforma/servidor você irá desenvolver (ex.: apache, IIS, nginx, GlassFish, TomCat, etc..), pois, as vezes é necessário fazer desenvolvimento a nível de servidor (o caso mais comum é o .htaccess do Apache). Mas isso não é determinante também.

 

1 hora atrás, Thiago Concórdio disse:

Aonde vocês recomendam a hospedagem? Amazon, Google ou outros?

 

Eu trabalho com servidores privados, logo, não tenho experiência com todos.

 

1 hora atrás, Thiago Concórdio disse:

Nessa fase de aprendizagem, programação e testes, quais poderão ser meus custos p.e. software para fazer software, licenças para uso das linguagens, etc...(fora o computador windows 10 e internet banda larga?)

 

Vai depender da linguagem de programação e do propósito. .NET, por exemplo, para estudos, você pode utilizar o Visual Studio Community que é gratuito para estudo. Já para o desenvolvimento de software pagos, você pode utilizar o Visua Studio Express, que é gratuito, mas limitado, ou adquirir a licença do Visual Studio Professional. Para as demais linguagens de programação não são necessárias licenças, mas existem IDE's pagas e gratuitas.

 

1 hora atrás, Thiago Concórdio disse:

Pensando no futuro qual linguagem será mais fácil de dar manutenção e qual será mais fácil encontrar profissionais que saibam mantê-la?

 

A facilidade de manutenção está muito mais atrelada a qualidade do código em si do que da linguagem de programação. PHP, por exemplo, foi por muitos anos (alguns ainda a consideram)  uma linguagem de gambiarras e de difícil manutenção. Mas isso não era porque a linguagem era ruim e sim por causa dos programadores que trabalhavam com ela (e algumas outras limitações).

 

No Brasil, é muito mais fácil encontrar programadores PHP. Mas quando você entra no campo de programadores de "qualidade", todas estão no mesmo patamar.

 

Inclusive, na minha trajetória profissional, programadores Java e .NET tendem a ter um nível de conhecimento maior visto a alta curva de aprendizagem da linguagem. Entretanto, alguns dos melhores programadores que eu conheci vieram do PHP.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.