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?
|