Tecnologia em Sistemas para Internet. O que acham desse curso?

Autor Mensagem
The Blue Special Guitar
Veterano
# nov/07
· votar


Izzy Dragon
Já tentei aprender C, mas nunca entendi direito o esquema dos templates... é igual Generics em java?

Em C++ sei que há implementações similares ao Generics, mas em C, cara, nunca vi nada parecido.

C, como não é orientado a objeto, tem dificuldade em estabelecer tipagens pouco rígidas...

Em Java os generics são uma mão na roda pra não ter que ficar dando cast toda hora, mas conheço muita gente que ainda prefere na usar. Eu, inclusive, uso moderadamente.

Bog
Veterano
# nov/07
· votar


Izzy Dragon
Na hora que entrar no mercado eles vão querer experiência e conhecimento em alguma coisa específica... ter "noção" de várias linguagens não adianta em nada.

Aí entra exatamente todo aquele papo que eu falei sobre generalistas e especialistas. Saber um pouco de várias linguagens não serve para você entrar no emprego direto, mas serve especialmente para você conhecer mais de uma forma de enxergar as coisas. Mas quem opta pelo caminho mais generalista, na hora de trabalhar sempre precisa passar por um bom tempo de aprendizado.

No caso do C, é bem simples. A idéia não é você sair por aí programando em C, necessariamente. A idéia é que C é o mais próximo que dá para chegar da máquina antes de cair para o baixo nível. A razão de se aprender C é principalmente aprender como o computador funciona. Um cara que não sabe o que é alocação de memória ou como é a estrutura de um vetor vai viajar quando olhar para essas coisas. Um cara que sabe não terá maiores problemas quando for usar uma classe de biblioteca padrão ou um garbage collection. É claro que saber C somente não é suficiente - senão acontecem aqueles atentados à orientação a objetos que eu já vi. Mas achar que o mundo é todo cheio de linguagens com garbage collection e classes abstratas é ignorar a raiz das coisas.

Fora que tem gente que realmente acaba programando em C. Quando eu programei DSP, era C e assembler - e C sem as bibliotecas padrão! Também usei muito C++. Hoje em dia, uso somente Java. Mas se um dia precisar alocar memória na unha, sei que isso existe. Se um dia precisar fazer uma mágica com ponteiros, sei que isso existe.

Como eu disse, tudo tem a ver com a pretensão do cara. Se você quer programar "normalmente", talvez nunca use C. Se for fazer sistemas mais básicos, módulos de kernell, firmware, drivers... C é a coisa mais alto nível que você vai encontrar.

Discutir qual é a melhor linguagem de programação em termos absolutos é totalmente sem sentido. Mas que C é uma *ótima* linguagem para aprender o que acontece em baixo dos panos, isso é!

Bog
Veterano
# nov/07
· votar


Aliás, já destaco que eu não sou programador, e o Java que eu uso raramente sai do "feijão-com-arroz". Para ver que às vezes nem é preciso saber muuuuuuuuuuuito bem uma ou outra linguagem. Para alguns casos, só a lógica está mais do que bom.

Izzy Dragon
Veterano
# nov/07
· votar


Discutir qual é a melhor linguagem de programação em termos absolutos é totalmente sem sentido. (2)


Bog

Concordo totalmente, cara.
Mas nunca programei em C (infelizmente) e sei como funcionam ponteiros, alocação de memória e etc.
Se eu tiver de me virar sem um Garbage Collector vai na boa.

The Blue Special Guitar

Em C++ sei que há implementações similares ao Generics, mas em C, cara, nunca vi nada parecido.


Era C++ Mesmo. Eu tinha confundido.

Bog
Veterano
# nov/07 · Editado por: Bog
· votar


Izzy Dragon
Se eu tiver de me virar sem um Garbage Collector vai na boa.

Ótimo! Até porque linguagens de programação são apenas um meio, e não um fim. Eu vejo C como uma ótima forma de dominar essa programação mais básica. Nada como muitos segmentation faults e mallocs para aprender na marra...

Linguagens de programação são um fim para quem FAZ linguagens de programação. Parece uma coisa muito remota? Pois já ouviu falar da linguagem Lua?

Izzy Dragon
Veterano
# nov/07
· votar


Bog
Não.

Mas ainda não fiz Compiladores na facul, quando fizer provavelmente vou ter que construir uma linguagem =/

Vi no wikipedia ali o esquema da LUA... legal einh?

Na UFSC tentaram fazer algo parecido... uma linguagem chamada Télis. Era uma linguagem intepretada por um interpretador implementado em java... já viu a porcaria, né?

Intepretada por uma linguagem intepretada... ou seja... mil anos pra rodar um Hello World

gsprs
Veterano
# nov/07
· votar


Izzy Dragon
Cara, o negócio do Java é que a comunidade de desenvolvedores é gigantesca... tem todo tipo de framework, e a maioria é super confiável e com um ótimo suporte por parte dos criadores.

To ligado... o/

Vamos ver se dou um "espraiada" nos meus conhecimentos hehehe

Bog
Veterano
# nov/07
· votar


Izzy Dragon

Hehehhe, cara, Lua é muito legal. Feita na PUC-RJ. Usada em coisa de gente grande, jogo pesado, adventures da Lucas Arts, Baldur's Gate II!

Acho que a gente acaba se acostumando a pensar pequeno, sabe, fica parecendo que fazer sisteminha para empresas é tudo o que existe. Mas agora eu vejo que os brasileiros não tem nada que os impeça de fazer coisas de "gente grande", sei lá, programar o sistema de injeção eletrônica de um F-1 ou alguma outra maluquice.

É como se eu sempre pensasse em ser mecânico e de repente percebesse que eu podia inventar o motor a álcool. Vim para o Japão achando que todo mundo era gênio... que nada! A graduação deles é mais fraca que a nossa, acredite ou não! O que tem aqui é INVE$TIMENTO, RECUR$O$, intere$$e das empresas...

Isso foi uma coisa que eu demorei para entender. Eu tb achava que a faculdade era muito geralzona, aprendia um monte de "coisa inútil", que era muito descolada da realidade. Mas o descolado da realidade era eu, que pensava em aprender a usar sistemas de bancos de dados sem me tocar que eu podia estar inventando eles!

Claro, a maior parte dos meus ex-colegas prefere trabalhar com coisas mais "pés no chão", e não tem nada de errado nisso, porque as duas coisas são importantes. Mas a dura realidade é que as empresas que criam tecnologias no Brasil são muito raras. Acho que um país só evolui se consegue controlar as duas pontas da cadeia: a criação de tecnologia e o seu uso. O Brasil é muito bom em aplicar tecnologia, mas no que diz respeito a criá-las, os computeiros precisam correr muito para chegar perto do Embrapa, por exemplo.

Enquanto existir esse abismo entre o mundo abstrato das idéias e a aplicação, vamos continuar felizes comprando Oracles e Visual Studios por aí. E quando aparecem brasileiros com boas idéias, acabam sendo assimilados... Tem um cara que era da UFRGS e agora tá no Google. Pena que o Brasil não dava oportunidade para ele...

Kensei
Veterano
# nov/07
· votar


Esse papo de vcs é muito louco, mas me entristece, dado que tentei e não consegui entender e fluir com essa parada de programação.

sithknight
Veterano
# nov/07
· votar


Uso óculos, sou metaleiro e cabeludo(2)
\m/
poxa...conheço mtos computeiros assim...

gsprs
Veterano
# nov/07
· votar


Bog
Verdade. Todo mundo tem a visão de se formar e fazer sisteminha comercial e algumas pequenas "loucuras", mas o mundo é grande, pena que não basta só ter vontade para tocar seus projetos a frente, por isso que conhecer as pessoas certas se torna essencial, como você disse anteriormente.

Dogs2
Veterano
# nov/07
· votar


alguém pode me explicar o que é C++, DCC++...?

gsprs
Veterano
# nov/07
· votar


Dogs2
Linguagens e suas "derivâncias" hehehe

thiaguinhu
Veterano
# nov/07
· votar


Dogs2
c++ é a evolução do C. Como o próprio nome diz é o incremento do C.

Já esse DCC++ não ouvi falar... imagino q seja a evolução de DCC :P

thiaguinhu
Veterano
# nov/07
· votar


Dogs2
c++ é a evolução do C. Como o próprio nome diz é o incremento do C.

Já esse DCC++ não ouvi falar... imagino q seja a evolução de DCC :P

Dogs2
Veterano
# nov/07
· votar


thiaguinhu
DCC++ é (ou era) o nome de um programa p2p que baixava por hubs

gsprs
Linguagens e suas "derivâncias" hehehe

pois é :P

The Blue Special Guitar
Veterano
# nov/07
· votar


Bog
Se um dia precisar fazer uma mágica com ponteiros, sei que isso existe.

haahahahaha

pointeiros comandam \m/

*( p + i / 2 ) = *( x + i );

( p + x )->ptr = ( struct linkedList * ) malloc( sizeof( struct linkedList ) );

\o

The Blue Special Guitar
Veterano
# nov/07
· votar


Ninguém mais a fim de falar sobre programação?

Enviar sua resposta para este assunto
        Tablatura   
Responder tópico na versão original
 

Tópicos relacionados a Tecnologia em Sistemas para Internet. O que acham desse curso?