C ou Visual Basic?

danimaia

Membro
Olá a todos!

Estou a dar aulas pela primeira vez no ensino profissional e estou indecisa quanto à linguagem de programação em que hei-de iniciar os alunos. O visual basic é sem dúvida mais simples, mas por outro lado o C é mais poderoso. Tenho também que ter em atenção que nos próximos anos terei que falar em apontadores, listas e etc. Que conselho me dão? E já agora, se me aconselharem o C, em que ambiente me aconselham a trabalhar? O visual studio é uma boa opção?

Muito Obrigada
 
Olá a todos!

Estou a dar aulas pela primeira vez no ensino profissional e estou indecisa quanto à linguagem de programação em que hei-de iniciar os alunos. O visual basic é sem dúvida mais simples, mas por outro lado o C é mais poderoso. Tenho também que ter em atenção que nos próximos anos terei que falar em apontadores, listas e etc. Que conselho me dão? E já agora, se me aconselharem o C, em que ambiente me aconselham a trabalhar? O visual studio é uma boa opção?

Muito Obrigada

Na minha opinião, acho que a escolha ideal recaia, sobre o c# com a plataforma Visual Studio .NET
 
Como estamos a falar de uma disciplina de programação aconselho C, se fosse apenas para os miudos terem uma noção das coisas aí o vb podia entrar, mas mesmo assim.. se fosse eu acabaria por escolher outra que não o vb.

Aconselho C num ambiente GNU/Linux a usar um editor de texto com highlight e obrigar os putos a compilarem/correrem num terminal.
Penso que desta forma eles aprendiam muito mais do que em Windows com um IDE que "faz tudo" e acabavam por ganhar experiência noutros sistemas operativos.
 
Como estamos a falar de uma disciplina de programação aconselho C, se fosse apenas para os miudos terem uma noção das coisas aí o vb podia entrar, mas mesmo assim.. se fosse eu acabaria por escolher outra que não o vb.

Aconselho C num ambiente GNU/Linux a usar um editor de texto com highlight e obrigar os putos a compilarem/correrem num terminal.
Penso que desta forma eles aprendiam muito mais do que em Windows com um IDE que "faz tudo" e acabavam por ganhar experiência noutros sistemas operativos.

Eu também acho que era o melhor... pelo menos uma introdução com um editor de texto simples e logo a seguir arranjar um IDE jeitoso.
 
só porque C é feio para se começar

E Scheme? ninguém fala de DrScheme? Abstracção de dados, abstracção procedimental, recursão, pensamento positivo, os lambdas, variáveis mudas, tipos de dados poderosos e de tamanho variável, e o facto da linguagem ser funcional e obrigar a um pensamento mais matemático. São tudo conceitos inerentes a esta poderosa linguagem. Foi a primeira que aprendi na vida.

Eu adoro a linguagem C. No entanto reconheço que contém demasiados pormenores de baixo nível que não interessam numa disciplina introdutória que pretende, provavelmente, focar-se nos paradigmas da programação actual. No entanto fica mais uma opinião que é o que conta :)


Cumprimentos
 
Eu também acho que era o melhor... pelo menos uma introdução com um editor de texto simples e logo a seguir arranjar um IDE jeitoso.

Eu não concordo com esse sistema, temos de ver as coisas para o mercado de trabalho...


Eu dei muito C nessas plataformas... Dei Java num editor de texto etc etc...
Isso serviu-me para alguma coisa no mercado de trabalho? Absolutamente nada...

A meu ver é simples... Um dia se quiserem entrar numa empresa de programação... Vão é pedir-lhes c# para cima em maior parte dos casos... É muito mais raro pedirem C, pascal, java etc etc O VB6 ainda é capaz de existir mais empresas mas já começam a ser poucas... Isto está sempre a evoluir.



Para um aluno que queira seguir essa área, o melhor, é dar-lhe algoritmia para cima, muita mesmo, é completamente essencial, são as bases de tudo.
E depois espetar-lhe com uma linguagem moderna, na minha opinião algo na plataforma .NET. A minha preferia é o C#.
Se houver tempo, ensinar também a fazer ligações entre o C# e base de dados.
 
Última edição:
Ansatsu:

Eu também trabalho diariamente com o C# e gosto bastante, mas nestas idades o melhor que se pode ensinar são as bases. Como disseste e muito bem, algoritmia...
Um programador pode ser muito bom em C#, mas sem bases torna-se pouco flexível.

Não faz mal a ninguém andar a bater com a cabeça com o gcc... têm muito tempo tempo pela frente para aprender plataformas empresariais que, por acaso, estão sempre a mudar.

Penso que nenhuma empresa espera que um aluno saia do professional a saber C# e ASP.NET.. têm é de ter capacidade de aprender.

E Scheme? ninguém fala de DrScheme? Abstracção de dados, abstracção procedimental, recursão, pensamento positivo, os lambdas, variáveis mudas, tipos de dados poderosos e de tamanho variável, e o facto da linguagem ser funcional e obrigar a um pensamento mais matemático. São tudo conceitos inerentes a esta poderosa linguagem. Foi a primeira que aprendi na vida.

Eu adoro a linguagem C. No entanto reconheço que contém demasiados pormenores de baixo nível que não interessam numa disciplina introdutória que pretende, provavelmente, focar-se nos paradigmas da programação actual. No entanto fica mais uma opinião que é o que conta :)


Cumprimentos

Acorda para a vida jovem malato... esquece o Scheme :002:...

PS:Também tás de férias?
 
Última edição:
E Scheme? ninguém fala de DrScheme? Abstracção de dados, abstracção procedimental, recursão, pensamento positivo, os lambdas, variáveis mudas, tipos de dados poderosos e de tamanho variável, e o facto da linguagem ser funcional e obrigar a um pensamento mais matemático. São tudo conceitos inerentes a esta poderosa linguagem. Foi a primeira que aprendi na vida.

Eu adoro a linguagem C. No entanto reconheço que contém demasiados pormenores de baixo nível que não interessam numa disciplina introdutória que pretende, provavelmente, focar-se nos paradigmas da programação actual. No entanto fica mais uma opinião que é o que conta :)


Cumprimentos
A ideia é iniciar os putos e dar-lhes algum incentivo..., não aterrorizá-los para todo o sempre para a Programação.

Visto que a autora da thread apenas dá duas alternativas, julgo que o melhor é mesmo o C visto que é uma linguagem inline, é mais fácil de compreender como funciona, não tem eventos paralelos e afins (o que ajuda a baralhar os iniciantes).

Se aceitarem outras alternativas, python seria uma excelente aposta visto que além de ser extremamente simples e poderoso, dá excelentes bases para quem está a iniciar-se, isto para não falar de obrigar a programar de forma estruturada e indentada.
 
O que mais me cansa mesmo é a quantidade de linguagens que existem. Ironicamente adorei "C de linux" onde a única coisa que aquilo dizia era "Segmentation Fault". Não gramei nada da mesma maneira que não gostei dos erros de Oracle 10g quando tive que levar uma injecção de Oracle...
Estamos tão evoluídos com tanta coisa e com IDEs bons e estáveis e tudo mais... mas para quê?
Tive colegas meus (no superior) que nem sequer sabiam onde deviam usar um ciclo For e um While...

Acho que, independentemente da linguagem, é a base que interessa. A "seca" de saber algoritmos e coisas básicas levam a que um programador seja melhor ou pior! É isso que faz a diferença. Velocidades de compilação? De execução? Acho que isso é pouco relevante até porque se não soubermos o "como fazer" ou o "como contornar" de nada valerá saber uma linguagem!

Acima de tudo dar-lhe algo que o deixe "preocupado" e interessado em descobrir uma a solução mas que não deixe o aluno, e passo a expressão, de pés e mãos atados, de modo a que a sua evolução não seja contida por esse mesmo factor, penso seja a melhor solução.

Eu comecei com pascal, embora de mais alto nível, mas um bom C nunca fez mal a ninguém! No caso de IDEs com base em .NET apontava o C#. O código é mais "áspero" do que o do VB e temos sempre o problema das terminações de linha -> ; <- (aquelas meias horas em que não percebemos o porquê de dar estoiro!)

Fica a minha opinião! :D
1abraço
 
A questão de ter apontado C é exactamente essa, para algoritmia não há melhor na minha opinião. Conceitos de baixo nivel tambem nunca fizeram mal a ninguem! Eu sei bem que se não fosse C no inicio da minha vida na programação eu neste momento não tinha a flexibilidade que tenho agora para qualquer tipo de linguagem, plataforma ou IDE (embora não goste da maior parte).

O que interessa é ensinar os miudos a conseguirem entender o que são linguagens de programação, processos de compilação + linkagem. Algoritmia, e nada melhor que C para isso, na minha opinião. Existem pessoas que são boas num IDE qualquer, lembro-me por exemplo daqueles de ASP .NET, aquilo é configurarar chega ao ponto de ser mais uma "linguagem de configuração" do que programação e acho que isso não interessa
a ninguem. O que mais estou farto de ver são trolhas que são bons nuns IDE ou então que conseguem
plantar umas batatas numa linguagem e depois quem vai pegar naquilo fica desesperado. Além do mais
os IDE mudam por isso para que fazer alguem dependente de uma coisa?
A maneira old school é a melhor maneira! Chega de maus profissionais que tiram
o lugar aos bons porque estes levam menos dinheiro, já estou como alguns
"se é para fazer mal mais vale não fazer".

Por estas e por outras é que aconselho C, em Linux era o ideal mas se for em Windows tambem
ninguem morre desde que eles entendam o processo todo e numa fase inicial que até usem a linha
de comandos. Se é para formar maus profissionais mais vale não dar aulas :].
 
Seja como for, dá-lhes uma programação orientada a objectos, visto isso ser o futuro.

Não concordo. A parte de ser o futuro pode ser discutivel e depende sempre do objectivo, seja como for é essencial saber OOP, isso é obvio e concordo contigo. Não concordo é que se deva dar isso numa fase inicial, porque se o problema em C podem ser pointers, memória dinâmica e por aí fora... em OOP com polimorfismo, namespaces, interfaces, excepções e por aí fora não fica muito mais facil de compreender! Além do mais acho de todo vantajoso ter background mais low level para entender realmente o que se passa na maquina, mesmo quando se esta a aprofundar em Java é necessário saber o que são heaps, stacks e por ai fora de forma a entender a JVM e a forma como trata os dados. Claro que isto se aplica se não for C++, porque aí tem todas as vantagens do C mais as de OOP.

Mas para não complicar aconselho C, vb não faz sentido.
 
Não concordo. A parte de ser o futuro pode ser discutivel e depende sempre do objectivo, seja como for é essencial saber OOP, isso é obvio e concordo contigo. Não concordo é que se deva dar isso numa fase inicial, porque se o problema em C podem ser pointers, memória dinâmica e por aí fora... em OOP com polimorfismo, namespaces, interfaces, excepções e por aí fora não fica muito mais facil de compreender! Além do mais acho de todo vantajoso ter background mais low level para entender realmente o que se passa na maquina, mesmo quando se esta a aprofundar em Java é necessário saber o que são heaps, stacks e por ai fora de forma a entender a JVM e a forma como trata os dados. Claro que isto se aplica se não for C++, porque aí tem todas as vantagens do C mais as de OOP.

Mas para não complicar aconselho C, vb não faz sentido.

Podes ter razão...

Eu no 1º ano de faculdade, tive uma cadeira de algoritmia e outra cadeira de vb6. depois tinhas cadeiras de Informática etc etc.

No 2º tive duas cadeiras de c++, e uma cadeira de Base de dados.

No 3º ano tive mais duas cadeiras de c++, e tive uma cadeira de Java.

No 4º ano, tive duas cadeiras de c#, duas cadeiras de base de Dados, uma de SQL e outra de Lotus(que porcaria de cadeira), e tive ASP .NET.

Depois tive o meu estágio, onde estive numa empresa de programação onde a linguagem usada era o C#.



Visto bem as coisas até acho que tive boas cadeiras para evoluir bem...

Mas o meu curso entretanto foi remodelado, e todas as cadeiras de programação agora lá são c#. Têm as cadeiras de algoritmia também para aprenderem as bases, mas depois é c# para cima. Mudou para isso quando veio o processo de bolonha.
 
Última edição:
Obrigada

Antes de mais, muito obrigada a todos pelas respostas. Para eu poder a escolher a linguagem a dar, tenho k ter em conta o programa da disciplina nos anos posteriores, e isso envolve, apontadores, listas, criação de novos tipos de dados e manipulação de ficheiros. Tenho ideia que o vb não engloba muitas destas coisas, infelismente. Por outro lado também não acredito que futuramente eles vão desenvolver aplicações de gestão em C. Podem continuar a dar as vossas opiniões que serão bem vindas.

Muito Obrigada
 
ok... scheme não pode ser

Acorda para a vida jovem malato... esquece o Scheme :002:...
PS:Também tás de férias?

Grande Rasteiro...
Pronto ok... entre VB e C... acho que não há muito a dizer não é?
resposta: C.

Mas tenho uma coisa a dizer. O objectivo é aprender conceitos e aprender a aprender. A cadeira onde compreendi mais as linguagens de programação foi compiladores. Acho que antes de ter tido essa cadeira a minha ideia em relação às linguagens era mt confusa. Acredito que não devemos escolher uma técnologia/linguagem qq pra introdução só por ela ter futuro ou ser largamente usada no mercado.

Cumprimentos

PS: não estou de férias... ainda estou em Albufeira (volto quinta a Lisboa mas por pouco tempo)
 
Por outro lado também não acredito que futuramente eles vão desenvolver aplicações de gestão em C.

Se calhar nos dias de hoje tens razão, mas como professor deves saber que o que interessa é preparar os alunos para aprenderem a programar e não para aprenderem uma linguagem em especifico.. isso qualquer um faz! Agora saber programar nem todos sabem, daí eu achar que o C seja a melhor linguagem nesse campo já que engloba imensas coisas e exercita a algoritmia. O C é uma linguagem de programador, o VB já não acho
que o seja, isto porque na minha opinião e pela experiência que tenho em relação as pessoas que conheço,
o vb nunca ensinou ninguem a programar, bem pelo contrário.. deu maus habitos! Tenho que pegar em código
de outras pessoas e nem sequer é em VB no entanto algumas dessas pessoas têm o background em VB e tenho a certeza
que essas mesmas pessoas não sabem o que é realmente programar.. embora façam programas! É o mesmo que
alguem mudar um pneu e até mudar o filtro do carro e não o fazer mecânico. A questão é essa...
 
Eu diria python. Das duas indicadas no post C seria sempre uma melhor escolha. Visual Basic é uma linguagem com cada vez menos expressão e normalmente substituída pelo Java.
 
Então e digam-me: o visual studio trabalha bem com C? ou é preferível outro?

Muito Obrigada mais uma vez :)

O Visual Studio é um IDE avançado da Microsoft que nos permite desenvolver em VB, C#, C++, e J#. Para desenvolver em C podemos criar projectos em C++ e ignorar as extensões do C++ (classes, templates, namespaces, entre outras features desta linguagem multi-paradigma).

No entanto eu não aconselho a utilização deste IDE empresarial da Microsoft para se utilizar numa cadeira ou disciplina de iniciação à programação. Isto porque o IDE contém um conjunto de automatismos que faz com que o aluno não compreenda a forma como se constrói um projecto e como se desenvolve o processo de compilação, linkagem entre outros.

Para mim para se programar em C é necessário 2 coisas:

- Um editor com syntax hiliter (as corezinhas nas keywords da linguagem): notepad++ pode ser uma escolha razoável por ser software livre e de fácil utilização.

- O compilador gcc. Que existe para windows e para Linux. A utilização da linha de comandos para compilar ou a utilização das famosas makefiles ou batchfiles será possível e aconselhado. O gcc tem vários parâmetros que nos permite criar ficheiros .o para linkar ou compilar directamente e linkar automaticamente. Esta distinção pode ser importante para se mostrar os processos de construção do código máquina a partir de uma linguagem. Depende do que se pretende ensinar.

Se optarem pelo VS aconselho o Visual Studio Express Edition que é de livre utilização e bastante mais leve.


Cumprimentos
 
Back
Topo