Jump to content
vastri

1ª Linguagem de iniciação

Recommended Posts

vastri

Qual a melhor linguagem para me iniciar na programação? Sei que o assunto já está discutido no fórum mas depois de ler penso que quase todos os posts a este respeito surgiu a duvida???!!! explico.

À cerca de 1 ano interessei-me pela programação, sem muitas pesquisas pareceu-me que o VB.NET seria uma boa linguagem para me iniciar (tinha também suporte de alguém experiente que poderia contribuir com umas dicas), fiz algumas brincadeiras para desktop, para a Web entre o C# e o VB.NET pareceu-me bem também continuar com o VB.NET e lá continuei contente e feliz da vida a brincar com esta linguagem (quase se tornou um vicio).

Agora com algumas duvidas pesquisando sobre o assunto, principalmente no fórum encontrei algo do tipo "mas alguém começa por VB.NET !!!???" ou " VB.NET o que é isso??!!!" ou "iniciaste por VB.NET lol" fiquei confuso mas afinal isto é uma linguagem fraca da treta pouco acreditada linguagem para totós, sinceramente não consegui perceber se a consideravam uma linguagem "avançada" ou puro lixo.

Alguém que explique p.f.

Share this post


Link to post
Share on other sites
scorch

Sem discutir se essa linguagem é boa para iniciar na programação ou não, quem diz coisas dessas é que são os "totós". C# é uma das linguagens com mais procura no mercado, e a framework por detrás é a mesma (praticamente só muda a sintaxe e uns pormenores). também não é um linguagem avançada, é uma linguagem poderosa principalmente para fazer aplicações "comuns", nada de extraordinário. É óbvio que se quiseres, podes fazer quase qualquer coisa com qualquer linguagem, por assim dizer.

Ou seja, se gostas da linguagem, não te preocupes, pois na minha opinião é uma linguagem bastante boa, tanto para iniciantes como para programadores mais experientes. :)


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
nelsonr

Se começaste por VB.NET, ignora esses comentários e continua. O que interessa é programares bastante.

Share this post


Link to post
Share on other sites
vastri

obrigado scorch e nelsonr, era o que queria ouvir, estou mais descansado parece que não foi tempo perdido.

Quando decidi pelo VB.NET foi porque me pareceu bastante versátil, poderia criar aplicações para Windows, Web, Mobile, etc... se a linguagem é boa (ao contrario do que tinha percebido nos posts) siga, vou continuar.

Obrigado. :thumbsup:

Share this post


Link to post
Share on other sites
thoga31

Quero só deixar claro o porquê desses comentários.

VB.NET não é vista pela maioria dos programadores como uma boa linguagem para iniciação, gerando alguns maus hábitos de programação e regularmente uma falsa ideia de "eu já sei programar". Por exemplo, conheci uma vez uma pessoa que conseguiu fazer uma aplicação em VB.NET que mexia com redes sociais de forma automática, mas quando passou para a aplicação de algoritmos básicos como o Bubble sort simplesmente espalhou-se ao comprido pois não conseguia implementar o conceito - na essência mais básica, são dois ciclos for encadeados com um if lá dentro.

Eu sou das pessoas que não recomenda VB.NET como 1ª linguagem por diversas razões, mas não concordo com quem faz os comentários mais extremistas. Possivelmente já os terei feito em tempos, mas como em tudo na vida, crescemos, aprendemos e ganhamos maturidade nas palavras e acções até morrer.

Desta feita, já é possível concluir que não concordo com o @scorch quando diz que é uma boa LP de iniciação. São opiniões, e eu afirmo firmemente a minha, compreendendo as opiniões contrárias. :)

O meu conselho é entretanto veres outras LP's, tendo em vista a programação em GNU/Linux. Não fiques preso ao .NET, avança e descobre outras ruas, a cidade não tem só uma ;)

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites
anolsi

VB.NET não é vista pela maioria dos programadores como uma boa linguagem para iniciação, gerando alguns maus hábitos de programação e regularmente uma falsa ideia de "eu já sei programar". Por exemplo, conheci uma vez uma pessoa que conseguiu fazer uma aplicação em VB.NET que mexia com redes sociais de forma automática, mas quando passou para a aplicação de algoritmos básicos como o Bubble sort simplesmente espalhou-se ao comprido pois não conseguia implementar o conceito - na essência mais básica, são dois ciclos for encadeados com um if lá dentro.

Também podes implementar algoritmos como o Bubble sort em VB.Net, com um grau de dificuldade idêntico ao de outras linguagens (se estivermos a falar ao nível mais cru, como neste algoritmo). Nesse caso o problema não foi da linguagem, e sim da estrutura de aprendizagem. Se não começares por aprender o que é um if, qual o conceito subjacente e assim por diante, então sim é uma má aprendizagem. Mas nada relacionado com a linguagem.

Agora é claro que há linguagens cuja semântica foi feita mais expressamente para provocar a aprendizagem ajudando inclusive a definir conceitos (caso exemplar do Pascal) como variáveis, inícios e fins dos corpos de código... Mas se fores a ver nesse aspecto VB.Net apesar de não ser tão "bom" quanto linguagens como Pascal, é melhor do que muitas que outros pseudo-programadores se iniciam, quer seja C, quer seja php, perl ou outras.

Também concordo que não deve ficar preso ao VB.Net, mas isso não o impede de começar por aí no meu ponto de vista...


"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Share this post


Link to post
Share on other sites
thoga31

Também podes implementar algoritmos como o Bubble sort em VB.Net, com um grau de dificuldade idêntico ao de outras linguagens (se estivermos a falar ao nível mais cru, como neste algoritmo). Nesse caso o problema não foi da linguagem, e sim da estrutura de aprendizagem. Se não começares por aprender o que é um if, qual o conceito subjacente e assim por diante, então sim é uma má aprendizagem. Mas nada relacionado com a linguagem.

Atenção, eu não disse que não se pode implementar com o mesmo nível de dificuldade, eu mesmo já o cheguei a fazer. A questão é que os novatos têm a tendência natural de procurar fazer aplicações todas "catitas" depressa, e VB.NET é uma auto-estrada sem limite de velocidade para isso mesmo, tendo como resultado, em várias ocasiões, situações como a que referi.

Iniciar com VB.NET, enquanto 1ª LP, é para novatos que têm juízo na cabeça por natureza e não têm a pressa de fazer coisas bonitas para impressionar os colegas de escola em detrimento de uma verdadeira aprendizagem de programação. ;)

Também concordo que não deve ficar preso ao VB.Net, mas isso não o impede de começar por aí no meu ponto de vista...

O @vastri já começou na plataforma .NET há 1 ano, a meu ver é a altura de começar a explorar outras LP's :D

Em suma, esta é sempre uma questão que traz algum debate à mesa, é inegável.


Knowledge is free!

Share this post


Link to post
Share on other sites
nelsonr

Um dos grandes problemas do VB.NET é ter a parte do VB no nome.

O VB6 sempre foi visto como uma linguagem para "amadores" e nunca foi bem aceite no CV de alguem a candidatar-se como programador (se nao tiver la mais linguagens).

No entanto volto a frisar, o importante é programares bastante, independentemente da linguagem.

Share this post


Link to post
Share on other sites
vastri

Obrigado a todos, já vi que isto é uma questão que faz sempre correr muita tinta, penso que depende muito da formação (bases) de cada um e não é de todo censo comum, aparte dos adeptos das chamadas open source e até alguns "anti-Microsoft" que também já vi por ai noutros posts, vocês já me fizeram entender que poderão existir até outras LP's mais indicadas para iniciação mas o VB.NET também é bom e como diz o scorch para aplicações "comuns" serve bem para aprender.

Ao contrario do que diz o thoga31 (acredito que muitos novatos o façam sim), a minha intenção não é de forma alguma fazer aplicações "catitas" para mostrar na escola, o que tenho feito é para meu uso pessoal e alguns casos nem isso aumento o grau de dificuldade e faço só para tentar perceber se as consigo desenvolver descobrindo os métodos (masoquismo :confused: ).

Quando a começar a explorar outras LP's ainda acho que tenho aqui "muito mato para desbravar" como não tenho bases penso que nunca chegarei a um nível "avançado", agora estou na fase de melhorar o que sei, ou seja fazer acontecer até é fácil mas fazer acontecer da forma correta já é outra conversa a questão das "melhores praticas", é isso que agora tento melhorar e penso que me levará a um nível acima e facilitará a compreender o que é isto da programação.

Por outro lado aprender novas LP's penso que vai acontecendo naturalmente ex. se programas qualquer coisa para a Web tens que ter noções de HTML, CSS, etc... quanto a linguagens (base) vou seguir o conselho do thoga31 dar corda aos sapatos e explorar novas ruas da cidade, só espero não me enfiar por muitos becos sem saída :cheesygrin:

Resumindo, como diz o nelsonr parece que o importante é programar bastante

Share this post


Link to post
Share on other sites
Warrior

Eu li este tópico quando não tinha nenhuma resposta e na altura pensei "esta é uma pergunta complicada, preciso de mais tempo para uma resposta decente".

Quanto mais pensei nisto mais me apercebi que a minha opinião depende demasiado dos objectivos da pessoa, um pouco como o que já foram dizendo pelo tópico.

Por exemplo, se é alguém que está no ensino básico não teria problemas em dizer "se gostas, vai em frente" porque nessa idade ainda nos faltam muitas bases de matemática e lógica para termos prazer em linguagens com menos eye-candy e menos reforço positivo.

Se é alguém que está no secundário ou universidade mas que não tem como objectivo fazer da informática o seu ganha pão, então a minha opinião é a mesma. VB.net é uma linguagem divertida para quem está a começar e conseguimos fazer coisas relativamente complexas sem muitas dificuldades.

Por outro lado, se essa pessoa pretende fazer disto vida, então não me parece que seja a linguagem mais adequada. Para investirmos no nosso futuro por vezes temos de pôr o divertimento de lado para obtermos os melhores resultados e eu acho que este é um desses casos.

Portanto, vastri, quem és tu?

Edited by Warrior

Share this post


Link to post
Share on other sites
vastri

obrigado Warrior, acabei agora e secundário a caminho de biologia marinha portanto nada a ver com informática, mas como em qualquer área pode ajudar, quando inicie foi por mera curiosidade, para fazer aplicações que me pudessem ajudar na manutenção da minha informação (que tenciono disponibilizar a outros) e quem sabe mais tarde fazer aplicações mais complexas para gerir variados cenários.

Não tenciono fazer vida da programação no entanto conhecendo-me bem não que me meto no que quer que seja para "brincar" aconteceu no inicio mas agora tenho intenção de aprofundar a coisa até onde me for possível, dai a duvida que lancei.

Pelo teu texto irás dizer-me para continuar com o VB.NET mas considerando que quero melhorar fico curioso por saber o que aconselharias se fosse alguém que pretendesse fazer vida da programação.

Share this post


Link to post
Share on other sites
thoga31

Ao contrario do que diz o thoga31 (acredito que muitos novatos o façam sim), a minha intenção não é de forma alguma fazer aplicações "catitas" para mostrar na escola, o que tenho feito é para meu uso pessoal e alguns casos nem isso aumento o grau de dificuldade e faço só para tentar perceber se as consigo desenvolver descobrindo os métodos (masoquismo :confused: ).

Isso não é masoquismo, é curiosidade e vontade de explorar, o que eu acho ser crucial numa boa aprendizagem da programação. ;)

Eu não disse que tu tinhas essa intenção, deduzo que percebeste isso xD Mas de facto há muitos novatos que pegam no VB.NET pela pressa em fazer programas todos bonitos. É bom saber que não andas no VB.NET por esse motivo, e espero que continues assim - as aplicações todas bonitas e profissionais vêm com o tempo e não com a pressa.

Quando a começar a explorar outras LP's ainda acho que tenho aqui "muito mato para desbravar" como não tenho bases penso que nunca chegarei a um nível "avançado", agora estou na fase de melhorar o que sei, ou seja fazer acontecer até é fácil mas fazer acontecer da forma correta já é outra conversa a questão das "melhores praticas", é isso que agora tento melhorar e penso que me levará a um nível acima e facilitará a compreender o que é isto da programação.

Por outro lado aprender novas LP's penso que vai acontecendo naturalmente ex. se programas qualquer coisa para a Web tens que ter noções de HTML, CSS, etc... quanto a linguagens (base) vou seguir o conselho do thoga31 dar corda aos sapatos e explorar novas ruas da cidade, só espero não me enfiar por muitos becos sem saída :cheesygrin:

Vou-te dar o mesmo conselho que alguém me deu uma vez, em tempos: não fiques preso a tentar ficar "pro" numa linguagem, parte de ser "pro" é ter conhecimento, e ter conhecimento é abordar outras paragens - linguagens, paradigmas, etc. E para ter conhecimento, não fiques à espera que ele venha ter contigo nem esperes pelo momento em que precises dele - procura-o com antecipação. Assim, quando chegar o momento, já sabes o que tens de fazer, e só terás de aprimorar o que sabes.

Continua com o VB.NET, mas em paralelo vai vendo outras linguagens diferentes. O meu conselho volta a focar-se na programação com linguagens que não sejam tão direccionadas por natureza a fazer aplicações GUI em ambiente RAD.

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites
vastri

thoga31, sim percebi a tua a intenção das aplicações "catitas" até o menos presunçoso gosta de mostrar o que sabe, no caso dos novatos o que não sabe :cheesygrin:, como é o meu caso tento não mostrar muito, em tempos já disponibilizei uma aplicação a amigos que tinham interesse na informação para perceber o estado daquilo mas a opinião foi a mesma "é pá isso tá muita bom..." falsos do caraças aquilo estava um mer..., não dá para contar com os amigos :) .

Quanto ao ficar preso a tentar ficar "pro", já tinha pensado nisso, posso perder demasiado tempo nunca irei ficar pro e limito as novas "descobertas", mas também quando disse que comecei à 1 ano foi como hobby não é o mesmo de alguém que se dedica à programação pelo mesmo período, nesta linguagem ainda há muitas coisas (básicas) que tenho que aprofundar também na manipulação de bases de dados estou um pouco "verde" não me parece complexo mas ainda não dediquei o tempo necessário, há também algumas coisa que vejo aplicadas (que já deveria perceber) e que não chego lá, como foi o caso deste post que criei http://www.portugal-a-programar.pt/topic/61424-carregar-dados-da-bd-sql-parcialmente/ passem por lá, apesar do

o nelsonr que também anda por aqui já ter desvendado a duvida.

No entanto ao contrario do que estava a pensar até aqui, vou seguir o teu conselho e explorar outras paragens não há duvida que será mais fácil adquirir conhecimento (no global) praticando varias linguagens que ficar preso ao VB.NET tentando o "sabe-tudo" o que nunca irá acontecer.

Estou tão "verde" que tive que ir à net ver o que querias dizer com GUI e RAD :) .

Share this post


Link to post
Share on other sites
thoga31

Eu também não ando nisto profissionalmente mas ando a ver linguagens diferentes ao mesmo tempo. O tempo não quer dizer nada, o ser hobbie ou profissional não quer dizer nada, esta é uma ideia que deves tirar da tua cabeça.

Tu podes continuar a ver VB.NET e tudo o que ela tem ao mesmo tempo que vês outras. Nada te impede de ver mais do que uma LP ao mesmo tempo, antes pelo contrário.

Por exemplo, neste momento ando a ver C e Haskell, e a verdade é que com Haskell consegui inadvertidamente melhorar a minha programação em Object Pascal, que nada tem a ver.

Ver várias LP's não faz mal nenhum, só faz é bem. Não tens de saber tudo a fundo, uma de cada vez. O melhor, a meu ver, é, no teu caso (como no meu), ir vendo o que existe no mundo da programação, descobrir livremente e tirar proveito desse conhecimento variado.

Tens 1 ano verdinho em VB.NET. Good. Agora é hora de veres outras coisas diferentes ao mesmo tempo que vês DB's (Databases ou Bases de Dados) e outras coisas em VB.NET.

Moral da história: os novatos prendem-se demasiado à ideia de aprender bem uma coisa de cada vez.

Eu desliguei-me dessa ideia e foi aí que finalmente comecei a desprender-me a sério na programação. Enquanto estive agarrado ao Pascal (e depois Object Pascal) e tentava perceber mais a fundo, perdi imenso tempo. Quando mudei de onda é que percebi que não andava a perceber o que devia de perceber, e que estava séculos atrasado no tempo. Num ano aprendi mais do que em três pegado a ir ao fundo do Object Pascal.

O meu conselho é experimentares o mesmo. Só faz bem à saúde do conhecimento e do raciocínio :)


Knowledge is free!

Share this post


Link to post
Share on other sites
Warrior

Em primeiro lugar, tu seguindo biologia marinha não podes querer ter os mesmos conhecimentos dedicando 1 ou 2 horas por dia à programação de alguém que dedica 10 ou 12 horas do seu dia e assiste a aulas/tem acesso a material já digerido por bons professores.

Mais importante ainda, tu NÃO QUERES ter os mesmos conhecimentos, porque tu acima de tudo queres usar a programação como uma ferramenta para TI e como algo divertido. Há imensas coisas extremamente aborrecidas que são importantes para quem faz desenvolvimento a tempo inteiro, ou investigação, que para ti nunca serão minimamente relevantes.

Cada pessoa é um caso e só tu sabes o que te motiva. Há muitas pessoas que gostam de ter um objectivo e depois procuram aprender as tecnologias necessárias para atingirem esse objectivo. Outras gostam de arranjar listas de problemas e resolver um problema por dia, aprendendo no processo, mas sem nunca ter algo palpável a crescer.

Não te preocupes em aprender várias linguagens, preocupa-te sim em aprender a linguagem mais adequada para o objectivo que queres cumprir. Não tentes usar VB.net para fazer coisas para as quais VB.net não é a linguagem mais adequada: não tentes desenvolver para a web, não tentes estudar algoritmia muito aprofundadamente, não tentes criar estruturas de dados complexas, não tentes trabalhar em IA, não tentes fazer coisas em 3D... VB.net é limitado, assim como o são todas as linguagens. Claro que se o teu objectivo for "gostava de ver como funciona uma linguagem funcional", então tens uma motivação forte para mexer numa linguagem nova só por si.

Acima de tudo, não caias no ditado "quando só se tem um martelo, tudo parece um prego". Aprende a usar novas ferramentas, mas também não queiras a todo o custo aprender a usar uma chave de fendas quando o que tens é um prego à tua frente.

Share this post


Link to post
Share on other sites
nelsonr
Não tentes usar VB.net para fazer coisas para as quais VB.net não é a linguagem mais adequada: não tentes desenvolver para a web,

Sinceramente não vejo o mal nisto. O que não faltam são sites feitos em ASP.NET usando o VB.NET como linguagem de servidor.

Share this post


Link to post
Share on other sites
Warrior

Ser possível não significa que seja o mais adequado. VB.net não foi feito para isso e há poucos motivos para ser usado para esse fim.

Share this post


Link to post
Share on other sites
vastri

thoga31, obrigado pelos teus sábios conselhos, irei segui-los, sendo que não andas nisto profissionalmente é provável que tenhas aprendido da mesma forma que eu, assim melhor que ninguém estás na posição para aconselhar casos como o meu. Talvez tenhas iniciado da forma mais apropriada pelo lado "estrutura" e isso te tenha facilitado a vida na compreensão e capacidade para desenvolver as tais aplicações GUI em RAD (já sei o que é) :) eu fiz o contrario mas ainda chego lá...

Warrior, sei que provavelmente não atingirei os conhecimentos de alguém que se dedica a isto a 100%, seria praticamente impossível, como dizes por agora limito-me a divertir-me e a adquirir conhecimentos no imediato necessários para o que estou a desenvolver, mas como disse também não sei onde isto me vai levar dependerá muito do tamanho da minha curiosidade e necessidade que me parece tende a aumentar de acordo com a possibilidade/conhecimento (se tiveres um mini a tua ideia de viagem são alguns quilómetros se tiveres uma avião são largas milhas :) ). Mas é isso, acho que a motivação é o motor para tudo.

O bom da programação é que com tanta informação disponível isto tornou-se um "livro aberto" penso que uma boa quantidade de neurónios a funcionar e a tal motivação que é essencial, todos lá podem chegar...

Não limitas em demasia o VB.NET? Como diz o nelsonr o que mais se vê por ai são sites ASP.NET e alguns bastante complexos (segundo meu prisma é claro), podem ser feitos em VB ou C# mas a framework é a mesma e a linguagem idêntica! Digo-te que na altura o facto de ver tantos sites em ASP.NET foi um dos aspetos que me levou a optar por o VB.NET para alem de com esta linguagem poder também construir outro tipo de aplicação.

É verdade que quando só se tem um martelo todos os problemas parecem ser os pregos, mas a ideia aqui é começar a usar os parafusos e ao contrario do ditado, o problema é não ter chave de fendas :)

Share this post


Link to post
Share on other sites
pikax

Penso que o problema nao seja o que o VB.Net pode fazer, mas se e' indicado fazer... por exemplo o C++ da' para fazer quase tudo, mas porque que muita gente usa outras?

E' devido ao que necessitam,imagina que queres fazer um programita para ver o tempo, se nao precisas de ter muito "horse power" e queres algo que seja simples e rapido para se fazer, iras quase decerteza para Java,C#,VB.net, etc.

Eu por acaso nao gosto do VB.Net, mas uso C# profissionalmente e em alguns projectos pessoais, mesmo a saber que a framework e' a mesma, nao programo em VB.Net, deve ser devido a achar a sintax demasiado verbosa, mas isto sou eu.


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
vastri

mesmo a saber que a framework e' a mesma, nao programo em VB.Net, deve ser devido a achar a sintax demasiado verbosa, mas isto sou eu.

Esta fez-me rir (de mim próprio), quando me lembrei de experimentar a fazer qualquer coisa para Web sabes porque optei por o VB.NET ao C#? Fiz a pergunta a mim mesmo porque é o que C# tem no código tanto [ ] ; abre { e fecha } que parece nunca mais acabar, quando a sintaxe parece igual ao VB.NET e não tem nada disto, respondi "isto só pode estar aqui para dificultar a vida ao pessoal" e siga com o VB.NET, conclusão sábia.... :cheesygrin:.

Edited by vastri

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.