Jump to content
Gonçalo Marques

Que linguagem escolher

Recommended Posts

Gonçalo Marques

Boas pessoal do P@P

Estou a fazer o meu primeiro tópico nesta comunidade para esclarecer algumas duvidas e puder arrancar com um projecto.

Trabalho numa empresa de Electricidade e desenvolvi um programa em VBA que atravez de uma folha excel tenho uma listagem de maquinas da empresa com que trabalhador andam manutenções a fazer etc, acontece que recentemente a empresa está a ser certificada e o inspector adorou o meu programa, apesar de básico, e quer que eu adicione muitas mais funções acontece que uma folha excel tem muitas limitações e como tal vou fazer tudo de novo e quero saber qual a melhor linguagem a escolher. Estou inclinado para VB.net com uma base de dados em mysql mas quero a vossa opinião.

Ponto de situação:

O que sei:

Programação em C

Programação em VBA

O que o programa deve ter:

Base de dados em crescimento constante

Cadastro de equipamentos e viaturas e gestão dos mesmos

Interface amigável

Controle de custos de manutenção

Multi-utilizador (opcional mas deve ser possível fazer no futuro)

Utilização da interface em qualquer PC da rede trabalhando todos na mesma base de dados (opcional mas deve ser possível fazer no futuro)

 

Conselhos da linguagem a escolher? VB.net?

Migrar de VBA para VB.net é uma tragédia?

Desde já obrigado a todos...

Share this post


Link to post
Share on other sites
apocsantos

Boa tarde,

Bem, VBA para VB.NET existem N diferenças! São linguagens completamente distintas!

Quanto a que linguagem escolher a questão seria mais: Estás confortável com com o paradigma da orientação a objectos ?

Caso estejas, sinceramente aconselharia C#, pela facilidade com que fazes o programa, e porque de certa forma, parece-me mais simples que vb.net.

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
Gnrtuga

Boas, aproveitando a pergunta do HappyHippyHippo  penso que com um site resolvias logo a parte dos multiutilizadores, e se os computadores estiverem todos na mesma rede é fácil o acesso e sem custos de hospedagem e sem problemas de segurança (atenção que falo assim por alto, não percebo nada de sites).

O meu conselho é procurares uma linguagem que te pareça fácil de aprender, e que tenha uma boa IDE, (para mim não há nada como o Visual Studio), dizem que o PHP  é fácil de aprender... (talvez a IDE Netbeans seja uma boa opção, salvo melhor opinião).

De resto a  força de vontade e dedicação são as ferramentas mais importantes.

Boa sorte!

  • Vote 1

Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Share this post


Link to post
Share on other sites
Gonçalo Marques

apocsantos sim estou familiarizado alias no VBA é assim que trabalho usando forms e botões com instruções especificas para cada um.

Em relação ao c# acha uma melhor opção em relação aquela dada pelo user  Gnrtuga? talvez mais fácil mas não tão completa?

 

HappyHippyHippo tenho algumas luzas de html sendo que não é de todo o meu forte. tenho noções de sintaxe mas nada muito aprofundado.

 

Gnrtuga os pcs estão realmente todos no mesmo sitio e o interesse é que seja só acedido pelos pcs da própria empresa conectados todos á rede sendo que se a net falhar o programa não falharia o que era óptimo.

 

Visual Studio 2015 dá então para programar um site multi-utilizador a questão agora é a linguagem mais simples a ser aprofundada sendo que pelo que conheço de HTML fazer algo deste género seria complicado PHP não conheço e IDE Netbeans tambem não. 

Uma linguagem WEB com programação orientada a objectos, ou seja botão1 faz isto, botão2 faz aquilo, e capacidade de trabalho com uma base de dados, existe?

Edited by Gonçalo Marques

Share this post


Link to post
Share on other sites
Knitter
4 minutos atrás, Gonçalo Marques disse:

Em relação ao c# acha uma melhor opção em relação aquela dada pelo user  Gnrtuga? talvez mais fácil mas não tão completa?

É bem capaz de ser a opção mais fácil e prática. Se tivesse de desenvolver algo nos moldes que indicaste, e com o pouco que deu para entender da cultura/objectivos do projecto na empresa, C# seria uma séria opção, embora pessoalmente (se dependesse apenas da preferência e não de questões técnicas) talvez fosse para PHP.

6 minutos atrás, Gonçalo Marques disse:

Gnrtuga os pcs estão realmente todos no mesmo sitio e o interesse é que seja só acedido pelos pcs da própria empresa conectados todos á rede sendo que se a net falhar o programa não falharia o que era óptimo.

Se a rede falhar, e se estás a pensar ter um programa feito para ser cliente-servidor, então sim falham. Ser "web" não é muito diferente de ser cliente-servidor em C#/VB.net/Java, se a rede local tiver problemas então nada comunica e ser baseado em tecnologias como HTML e PHP não significa que tenha de estar fora da tua rede ou até partilhado por várias máquinas. Como exemplo, sempre que tenho feito software para quiosques multimédia, estejam ou não ligados em rede, uso PHP+HTML+JavaScript por ser mais simples, rápido e fácil de controlar (para os meus objectivos naturalmente).

9 minutos atrás, Gonçalo Marques disse:

Visual Studio 2015 dá então para programar um site multi-utilizador a questão agora é a linguagem mais simples a ser aprofundada sendo que pelo que conheço de HTML fazer algo deste género seria complicado PHP não conheço e IDE Netbeans tambem não.

Qualquer dos dois IDE permite trabalhar com PHP ou com várias outras linguagens. O IDE não é um problema, sendo que se escolheres C# (ou qualquer baseada em .Net) o NetBeans IDE não é uma opção, não tem suporte.

 

11 minutos atrás, Gonçalo Marques disse:

Uma linguagem WEB com programação orientada a objectos, ou seja botão1 faz isto, botão2 faz aquilo, e capacidade de trabalho com uma base de dados, existe?

Essa não é a definição de programação orientada por objectos :D. Mas resumindo:

Com PHP, que é executadono servidor (que não precisa estar na rede, pode ser local), com boas frameworks e linguagem bastante permissiva (podes fazer umas asneiras valentes e enganar-te na sintaxe) e com bastante documentação e exemplos para acesso a MySQL, será fácil desenvolver um sistema como o que pretendes. Terás de usar HTML para fazer a componente gráfica, mas não tens que ir para coisas muito complexas. Não há evolução porque já tens tudo o que precisas para ser distribuído, se implementares controlo de acessos/utilizadores é multiutilizador. É também multiplataforma (Windows, Linux, etc)

C# pode ser mais familiar, será o mais parecido com uma aplicação instalada localmente e será o mais próximo do que tens. Se estás habituado a MS Windows, Visual Studio e se a empresa só trabalha com MS Windows, é uma boa opção. É mais simples e tens mais exemplos de funcionamento com MS SQL do que com MySQL. Ou o desenha de raiz para ser cliente-servidor ou terás de reescrever quando quiseres colocar a base de dados noutro local e teres acessos remotos.

Share this post


Link to post
Share on other sites
Gonçalo Marques

Knitter certo! parece então que escrevi uma valente besteira na parte de orientada a objectos :D

Então sendo pratico e tendo em conta que quero:

-fácil aprendizagem

-cadastro em base de dados 

-possível acesso em vários pcs no futuro

-possível evolução no futuro para multi-utilizadores

o que aconselhas é PHP ligado a uma base de dados mysql e com interface em HTML?

 

Share this post


Link to post
Share on other sites
Knitter
3 minutos atrás, Gonçalo Marques disse:

-fácil aprendizagem

-cadastro em base de dados 

-possível acesso em vários pcs no futuro

-possível evolução no futuro para multi-utilizadores

o que aconselhas é PHP ligado a uma base de dados mysql e com interface em HTML?

 

Fácil de aprender depende mais de ti do que da tecnologia/linguagem. Múltiplos utilizadores é algo que tens de programar. PHP dá-te de raiz a implementação cliente-servidor, não pelo PHP mas porque (à partida) estamos a falar de um servidor Apache/Nginx acedido por um browser e a parte de múltiplos PC fica resolvida só pelas tecnologias de suporte/base.

Pessoalmente, o que uso num destes casos, e ainda por cima para utilização interna na empresa, seria um tema de administração já feito (AdminLTE, Gentellela, Metis, SB Admin 2, Nice Admin, etc) que seja só adaptar, framework Yii2, UniformServer Zero para instalação local em sistemas MS Windows, NetBeans IDE para programação e caso seja necessário InnoSetup para criar o instalador que empacote tudo (esta parte é capaz de ser demais para o que precisas :D). Mas novamente, isto é um pouco preferência pessoal, e são ferramentas diferentes do que estás habituado a usar.

 

 

Share this post


Link to post
Share on other sites
brunuu

Alguma vez pensaste em considerar Pyhon?

É fácil de aprender como tu pedes, pode ter Base de dados obiviamente, é multi plataforma em vários sistemas operativos, pode se usar para criar aplicações no navegador também.

 

 

Share this post


Link to post
Share on other sites
Gonçalo Marques

Knitter seguindo eu pelo php iria utilizar um template que referiste e adapata-lo á minha maneira e com que programa edito estes templates? Já agora o programa não é para controlo de vendas como estes templates que referiste mas sim para cadastro de maquinas e viaturas mas calculo que consiga adaptar. E depois para este template/interface trabalhar não precisaria de uma base de dados ou ficariam as listagens de ferramentas e suas características directo na pagina web?

 

brunuu não achas a soluçao do colega acima mais completa e com mais possibilidade de evolução? 

Edited by Gonçalo Marques

Share this post


Link to post
Share on other sites
apocsantos

Boa tarde,

@Gonçalo Marques, em termos de IDE eu sou daqueles que gosta especialmente do VS, mas o plugin para PHP no VS é pago! O que pode ser um "big no, no, no" para muita gente.

Quando a fazeres a app em PHP, é uma ideia interessante, eu apesar de programar PHP fazer algum trabalho em PHP, de certa forma sou mais adepto de Python com web2py ou django. De qualquer das formas uma webapp é uma webapp, e tem as suas peculiaridades.

Se precisas de fazer rapidamente e estás particularmente familiarizado com VBA, produtos e tecnologias microsoft, pessoalmente apontaria-te no sentido de C#, com VS 2015 Community, e base de dados em SQL Server Express, que é gratuito. Podes fazer a BD no Access, e depois carregar para o VS, que no teu caso concreto crio que fosse muitíssimo mais fácil. Depois e apesar de não ser fã do uso de wizards nem das ferramentas visuais, por da MS para acesso a dados dentro do VS com C# podes "usar e abusar" dos databindings, que é quase "drag'n'drop" sem teres de andar esforçar-te com querys, connection strings, etc... etc... etc... basicamente "arrasta e larga" fica pronto, ao bom estilo do conceito "citizen developer" que a microsoft tanto quis que se tornasse regra.

Claro que a minha opinião se baseia no facto de estares super-familiar com Excell e WinForms dentro do Excell com VBA.

Quanto à questão do multi-utilizador podes facilmente fazer um login-form em C#, ligado à bd, e tens essa questão resolvida.

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
brunuu
10 horas atrás, Gonçalo Marques disse:

brunuu não achas a soluçao do colega acima mais completa e com mais possibilidade de evolução? 

Sim talvez, PHP não é uma má escolha mas sou muito cético no que toca à syntax do PHP

Share this post


Link to post
Share on other sites
Gonçalo Marques

apocsantos e seria facil daqui a um ano por exemplo adaptar esta mesma BD para ser acessada via WEB? 

Depois de tudo o que li estou então a pensar fazer o programa em C# pela familiaridade que já tenho com a MS e base de dados em MYSQLExpress. Quais as limitações de um sistema assim?

Desde já muito obrigado a todos realmente há aqui muita entreajuda :thumbsup:

Share this post


Link to post
Share on other sites
Knitter

Os templates são HTML, CSS e algum JavaScript, mas a editar vais trabalhar principalmente no HTML. Não interessa o objectivo inicial do template, o que interessa é que dá uma interface gráfica já feita que pode ser rapidamente alterada. Eu tenho um sistema de gestão de processos judiciais, que nada tem a ver com vendas ou produtos, e que é baseado em AdminLTE porque me poupou semanas de trabalho :)

E os templates podem ser usados com qualquer tecnologia WEB, não interessa se vais para PHP, Python ou, assumindo .Net, ASP.NET com C#.

Em 10/15/2016 às 03:44, Gonçalo Marques disse:

brunuu não achas a soluçao do colega acima mais completa e com mais possibilidade de evolução? 

Todas as soluções, ou mais opiniões :), que te deram são completas e permitem evolução. Isso nunca será um problema.

 

21 horas atrás, apocsantos disse:

Se precisas de fazer rapidamente e estás particularmente familiarizado com VBA, produtos e tecnologias microsoft, pessoalmente apontaria-te no sentido de C#, com VS 2015 Community, e base de dados em SQL Server Express, que é gratuito. Podes fazer a BD no Access, e depois carregar para o VS, que no teu caso concreto crio que fosse muitíssimo mais fácil. Depois e apesar de não ser fã do uso de wizards nem das ferramentas visuais, por da MS para acesso a dados dentro do VS com C# podes "usar e abusar" dos databindings, que é quase "drag'n'drop" sem teres de andar esforçar-te com querys, connection strings, etc... etc... etc... basicamente "arrasta e larga" fica pronto, ao bom estilo do conceito "citizen developer" que a microsoft tanto quis que se tornasse regra.

Acho que isto resume o mais importante. Cada um de nós tem a sua preferência, quer de linguagem quer de ferramentas. Eu prefiro PHP a Python (detesto a sintaxe do Pyhton, especialmente pode não gostar de que a indentação do código seja parte da sintaxe), estou mais familiarizado com Java do que com C# mas atualmente até uso mais C#, mesmo em sistemas não Windows, vem tanto das nossas preferências e experiência profissional como da parte técnica. Se, pelo que se entende, estás mais à vontade com sistemas VBA e Microsoft, então vai por esses. Parece-me que o teu objectivo é fazer um programa útil para a empresa que seja um pouco mais robusto que o que está em uso, não é preciso complicar e C# com MSSQL dá muito bem, mesmo para alterar mais tarde.

 

21 horas atrás, Gonçalo Marques disse:

apocsantos e seria facil daqui a um ano por exemplo adaptar esta mesma BD para ser acessada via WEB?

Neste caso seria, em grande parte, refazer o programa. A versão C#, se não for ASP.Net, não é uma versão WEB, mas não precisa ser. Neste momento acho que o melhor é começares a estudar um pouco sobre como funcionam estes acessos cliente-servidor a bases de dados (sem ligar muito à tecnologia).

Share this post


Link to post
Share on other sites
apocsantos

Bom dia,

Se usares MySQL tens algumas vantagens mais tarde em tornar a BD acessível para web, pelo facto do MySQL se comportar melhor em ambientes web do que o SQL-Server. No SQL-Server tens um limite de tamanho na versão express de 10GB por Base de dados. Ainda não sei se a versão para GNU/Linux terá essa mesma limitação, na edição Express, mas de qualquer das formas portar uma BD de MS-SQLServer para MySQL também não é nada do outro mundo e existem muito boas ferramentas gratuitas que fazem essa tarefa com meia dúzia de clics, acabando com essa limitação e podes na mesma usar todos os "assistentes" do VS para te facilitar a vida, enquanto não estás habituado a fazer as coisas "à la pata"!

Outra vantagem, partindo do pressuposto que estás a fazer tudo em Windows, será a possibilidade de usares os MSOfficeInterop, para integrares por exemplo o Excell na tua app.

Quanto a web, eu apesar de gostar de python e não gostar assim tanto de PHP, também existem coisas no python que desgosto, por exemplo da indentação ser parte da sintax. Mas opiniões são opiniões, e apesar de ainda programar PHP, não sou propriamente fã de php, coisa que pode mudar com o PHP7. Vamos a ver.

Neste momento se calhar seria mesmo bom começares a perceber como funcionam as coisas, experimentares algo pequeno, tipo um form simples em C#, para mostrar uma datagridview com dados vindos de uma BD, por exemplo.

O que já tens em excell, mais concretamente os dados, com um pouco de jeito podem ser transportados para uma nova base de dados.

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.