collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Aprender uma nova linguagem de programação  (Lida 8580 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline MAntunes

  • Mini Robot
  • *
  • Mensagens: 75
Aprender uma nova linguagem de programação
« em: 22 de Fevereiro de 2016, 19:19 »
Boas pessoal, sou estudante de Eng. Electrotécnica de Computadores, e no curso apenas ensinam a programar em C/C++ e gostava de aprender mais alguma, para alargar o meu leque de conhecimentos. O que recomendam?
As linguagens Web são uma boa opção?
Cumprimentos!

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.947
  • NERD!
Re: Aprender uma nova linguagem de programação
« Responder #1 em: 22 de Fevereiro de 2016, 20:53 »
Eu recomendo Python. Excelente linguagem para "desenrrasques", e ao mesmo tempo poderosíssima.

Linguagens web é demasiado vago, PHP, Javascript, Ruby são algo diferentes. Mas se queres ir por essa via, não te esqueças de complementar com SQL.

Offline TheDeadLives

  • Mini Robot
  • *
  • Mensagens: 398
Re: Aprender uma nova linguagem de programação
« Responder #2 em: 22 de Fevereiro de 2016, 21:38 »
Boas pessoal, sou estudante de Eng. Electrotécnica de Computadores, e no curso apenas ensinam a programar em C/C++ e gostava de aprender mais alguma, para alargar o meu leque de conhecimentos. O que recomendam?
As linguagens Web são uma boa opção?
Cumprimentos!

O jm_araujo disse tudo o que eu ia referir. Python é utilizado para n funções e é uma das linguagens mais utilizadas (java também...).
As aplicações de c/c++ são diferentes das de web...mas se quiseres web aprende php e completa com sql (mysql) e javascript.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Aprender uma nova linguagem de programação
« Responder #3 em: 22 de Fevereiro de 2016, 21:51 »
Python é engraçado, mas tem um bocado a doença do Chrome, haja RAM lol.
Não sendo o melhor exemplo, a fazer plot de um fractal(Julia) com 1500x1500 a cores estava a usar sensivelmente 8GB de RAM, e não sabe lá muito bem o que é threads, que cola-me sempre só um core e os outros ficam a olhar.
Avr fanboy

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.947
  • NERD!
Re: Aprender uma nova linguagem de programação
« Responder #4 em: 22 de Fevereiro de 2016, 22:05 »
"horses for courses"
Queres fazer fractais, mete Cuda ao barulho com uma boa gráfica, é para isso que serve. E há uma lib PyCuda, descobri agora : https://developer.nvidia.com/pycuda. Mais uma vez a versatilidade do Python a exibir-se :D

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Aprender uma nova linguagem de programação
« Responder #5 em: 22 de Fevereiro de 2016, 22:16 »
A minha gráfica do portatil é do tempo da pedra, uma GT630M, Fermi com 96 shadders, mais depressa o processador dá conta do recado que a gráfica..
Não disse que era mau, mas como é interpretado nem tudo é perfeito, mas em meia duzia de linhas faz-se muuuuuuuuuuuuuuuuuita coisa.
Avr fanboy

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Aprender uma nova linguagem de programação
« Responder #6 em: 23 de Fevereiro de 2016, 00:21 »
python tb é uma boa escolha. Como já sabes C/C++, o que tu queres aprender a seguir é uma linguagem "canivete suiço", de desenvolvimento rápido, interpretada e preferencialmente independente da plataforma. E depois aprende uma biblioteca para GUIs, como Tk ou algo do género.

Não sendo o melhor exemplo, a fazer plot de um fractal(Julia) com 1500x1500 a cores estava a usar sensivelmente 8GB de RAM, (...)
Pá, se tavas a criar a imagem em memória, 1500 x 1500 x 3 bytes (RGB) dá logo ~6.5GB, e se internamente o gajo usar RGBT são 8.7GB.

Offline Kristey

  • Mini Robot
  • *
  • Mensagens: 783
Re: Aprender uma nova linguagem de programação
« Responder #7 em: 23 de Fevereiro de 2016, 00:29 »
ando a dar uns toques em pyton, e aquilo é interessante, embora como o Senso diz, precisa de ram.
Contudo aquilo parece quase pseudo codigo, e sempre dá para inventares umas coisas com o rapsberry.

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.947
  • NERD!
Re: Aprender uma nova linguagem de programação
« Responder #8 em: 23 de Fevereiro de 2016, 00:40 »
Pá, se tavas a criar a imagem em memória, 1500 x 1500 x 3 bytes (RGB) dá logo ~6.5GB, e se internamente o gajo usar RGBT são 8.7GB.
Saltaste 3 ordens de magnitude, com essas contas dão MB e não GB.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Aprender uma nova linguagem de programação
« Responder #9 em: 23 de Fevereiro de 2016, 00:52 »
São pixeis grandes  8)
Avr fanboy

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Aprender uma nova linguagem de programação
« Responder #10 em: 23 de Fevereiro de 2016, 01:23 »
[smiley-do-gajo-com-a-mão-na-cara] :)

São pixeis multicor, ou então voxels :p
« Última modificação: 23 de Fevereiro de 2016, 01:24 por Njay »

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.947
  • NERD!
Re: Aprender uma nova linguagem de programação
« Responder #11 em: 23 de Fevereiro de 2016, 11:39 »
===== OFFTOPIC =====
Python é engraçado, mas tem um bocado a doença do Chrome, haja RAM lol.
Não sendo o melhor exemplo, a fazer plot de um fractal(Julia) com 1500x1500 a cores estava a usar sensivelmente 8GB de RAM, e não sabe lá muito bem o que é threads, que cola-me sempre só um core e os outros ficam a olhar.
Partilha esse código :)
Estranhei esses valores, porque lembro-me de calcular fractais no PC quando um Giga era quase inimaginável (era tudo medido em MHz e MB), experimentei este exemplo: http://code.activestate.com/recipes/577120-julia-fractals/ (primeiro resultado do google), e ronda os 25MB de ocupação de memória durante a execução.

E aparentemente suporta threading: http://www.tutorialspoint.com/python/python_multithreading.htm , mas está nas mãos do programador (há outra maneira?)
« Última modificação: 23 de Fevereiro de 2016, 11:44 por jm_araujo »

Offline MAntunes

  • Mini Robot
  • *
  • Mensagens: 75
Re: Aprender uma nova linguagem de programação
« Responder #12 em: 24 de Fevereiro de 2016, 00:45 »
Obrigado a todos pela ajuda até agora!
Já tinha pensado em Python sim, já tive um primeiro contacto com a linguagem há uns tempos.. Fiz um twitter bot que tweetava a cada hora "São X horas.". Esteve ligado durante dias no meu RPi.

Eu sei que quando falei em linguagens web fui um pouco vago, mas também não percebo grande coisa do assunto. HTML, CSS, PHP, Javascript e ainda SQL é tanta coisa! Nem sei bem o que cada uma faz..
Cumprimentos!

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.947
  • NERD!
Re: Aprender uma nova linguagem de programação
« Responder #13 em: 24 de Fevereiro de 2016, 10:50 »
Obrigado a todos pela ajuda até agora!
Já tinha pensado em Python sim, já tive um primeiro contacto com a linguagem há uns tempos.. Fiz um twitter bot que tweetava a cada hora "São X horas.". Esteve ligado durante dias no meu RPi.

Eu sei que quando falei em linguagens web fui um pouco vago, mas também não percebo grande coisa do assunto. HTML, CSS, PHP, Javascript e ainda SQL é tanta coisa! Nem sei bem o que cada uma faz..
Cumprimentos!
HMTL - O "conteúdo" da página. Texto e links, indicações de formatação, botões, é onde está "tudo" o que vês numa página. NÃO é uma linguagem de programação, apesar de muitas vezes por ignorância ser indicada como tal.

CSS - Define o estilo dos componentes da página: Margens, cores, tamanho de texto, visibilidade, etc. No HTML cada elemento (texto, botão) leva uma "etiqueta" que depois podes definir o estilo por CSS. Não tem de ser um ficheiro separado, pode estar incluído no próprio ficheiro html.

PHP - Uma linguagem de programação interpretada, relativamente simples, que corre no servidor WEB e é normalmente usada para gerar HTML. Tipo abres um tópico de um fórum, o PHP vai às bases de dados e tira os textos, e gera o HTML com tudo direitinho para veres a página como deve ser. Serve de "barreira" entre o lado web e o armazenamento de informação.

Javascript - Linguagem de programação interpretada que corre no browser (por quem está a ver  a página). Permite dar interatividade às páginas Web sem teres de pedir uma nova página ao servidor. Muito poderoso quando bem usado, pode criar elementos dinamicamente nas páginas (aparecer ou desaparecer coisas conforme o que estiveres a fazer), e mais engraçado permite buscar ao servidor informação para mostrar ao utilizador sem ter de recarregar a página toda (isso é o AJAX que já deves ter ouvido)

SQL - É uma linguagem, mas não considero que seja de programação. É como interages com bases de dados. Adicionar elementos, consultar, pesquisas, ordenar, cruzar dados, permite fazer quase tudo que te possas lembrar e ainda mais. Tens normalmente um servidor de BD que fala SQL, com o que comunicas a partir de um programa. No caso da web essas chamadas (querys) são feitas nos programas que suportam o site, sempre do lado do servidor (quer dizer no PHP e  não no javascript). Se quiseres consultar do lado do Javascript (para conteúdos dinâmicos), tens de fazer a interface por um PHP no lado do servidor (para evitar ataques à BD, que mesmo assim podem ser possíveis se tiveres erros).


Mais dúvidas? :D
Se queres ver html, javascript e CSS (o que é usado no lado do cliente), usa o botão direito do rato numa página qualquer e clica no "inspecionar". Podes mexer à vontade, editar o que te apetecer, que se fizeres um refresh volta tudo ao normal. O que estás a ver está tudo no teu browser, não "estragas" nada no servidor.


Para brincares com PHP e SQL em ambiente web, instalas um AMP (Apache,MySQL,PHP) apropriado ao teu sistema (no windows uso o XAMP, há versão portable), metes-lhe uma aplicação web qualquer (por exemplo um fórum como o SMF), e podes explorar os seus ficheiros e ver o que fazem.
Se te parecer muito complicado, esta é uma área que não falta informação e tutorials na net, Google é o teu melhor amigo.



Offline samc

  • Mini Robot
  • *
  • Mensagens: 442
Re: Aprender uma nova linguagem de programação
« Responder #14 em: 24 de Fevereiro de 2016, 17:42 »
Seria comum neste tópico cada um dar o seu bitaite e aqui vai o meu. Bons conhecimentos de C e de uma linguagem orientada a objetos como C++ são essenciais como base para qualquer outra linguagem que vás aprender. Tudo depende das tuas necessidades, caso no futuro decidas entrar no mundo de desenvolvimento para a Web, posso dizer que as coisas estão muito diferentes e assim como os projetos aumentaram na sua complexidade, também aumentou a complexidade inicial do ambiente de desenvolvimento. O tempo do dreamweaver para criar a página HTML e uma IDE simples para escrever o código PHP, já acabou há vários anos.
O futuro está a passar pelo uso de ferramentas de automatização como preprocessors e a maioria corre em JavaScript (há scripts em Python e Ruby mas neste ambiente não estão a ganhar tanta relevância). Além disso, existe uma grande migração geral para as webapps. Se pesquisares encontras por exemplo, um grande investimento da Google em "frameworks" como o angularJS e o Polymer. Por isso se a tua meta é mais orientada para a Web, JavaScript é essencial.
Se a tua meta é o desenvolvimento de apps mobile, Java e swift serão as melhores escolhas.
No caso de um eng eletrotécnica que irá trabalhar bastante com microcontroladores, quanto mais conhecimentos de C avançados tiveres maior produtividade terás na tua profissão visto que mais facilmente poderás "atacar" qualquer plataforma de desenvolvimento.